Activate -mrecip with -ffast-math?

Bradley Lucier lucier@math.purdue.edu
Mon Jun 18 19:26:00 GMT 2007


On Jun 18, 2007, at 2:27 PM, Bradley Lucier wrote:

>> But even if sqrt is corrected for 0.0 * inf, there would still be  
>> a lot of problems with the combinations of NR-enhanced rsqrt and  
>> rcp. Consider for example:
>>
>> 1.0/sqrt(a/b) alias rsqrt(a/b)
>>
>> Having a=0, b != 0, the result is inf.
>
> As already stated, -ffast-math turns on -ffinite-math-only, which  
> allows the compiler to assume that a result of inf cannot happen,  
> so gcc is allowed to ignore this possiblity.  Producing NaN instead  
> of inf seems to be allowed.

Let me restate this.

If -ffinite-math-only is specified, then producing NaN instead of inf  
should be allowed.

If -fno-finite-math-only is specified, then the generated code should  
"do the right thing" if an argument or result is inf or NaN.

In any case, I would consider it an error if the argument is finite,  
the result is supposed to be finite, and inf or NaN is produced.

Brad



More information about the Gcc mailing list