FP negation optimization

Chris Lattner sabre@nondot.org
Sun Feb 1 22:45:00 GMT 2004


On Sun, 1 Feb 2004, Richard Henderson wrote:

> On Sun, Feb 01, 2004 at 02:50:31AM -0600, Chris Lattner wrote:
> > Is '-0.0 - X' always guaranteed to be the same as '-X' with IEEE math?
>
> No.  X == +0.0 differs.

Are you sure?  It seems to work for me, at least on X86:

void test(double X) {
  printf("%f %f\n", -0.0 - X, -X);
}
int main() {
  test(+0.0);
  test(-0.0);
}

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/



More information about the Gcc mailing list