On Fri, 2004-06-25 at 13:49, Tim Blechmann wrote: > > I have a denormal fix without a branch but you probably don't want to > > see it ;-) > > It's pretty simple, just OR the bits of the exponent together which > > gives either > > 0 (denormal) or 1, typecast that to float, and then multiply the > > original float by that (0.0 or 1.0). Voila, no branch, but it is > > messy looking ;-) > > there is one problem ... if you multiply the denormal number with the 1 > or 0, you will probably have one denormal operation on the cpu instead > of a branch ... i don't know, that's worse ... > but definitely, some benchmarks would be useful for any denormal > flushing algorithm... >
The definition of denormal is that the exponent is 0 so you will never multiply a denormal by 1, only by 0. I'm not sure whether that would be a denormal operation or not. It depends on the compiler. Jan