This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Activate -mrecip with -ffast-math?



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]