[Bug tree-optimization/102224] Incorrect compile on `x * copysign(1.0, x)`

2021-09-06 Thread gabravier at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102224 --- Comment #3 from Gabriel Ravier --- Also seems like this might be unique to x86 as this compiles fine on Aarch64 (though while it doesn't try to do anything stupid like xoring the result with itself, it does still not optimize the XOR_SIGN

[Bug tree-optimization/102224] Incorrect compile on `x * copysign(1.0, x)`

2021-09-06 Thread gabravier at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102224 --- Comment #2 from Gabriel Ravier --- (PS: by "x and y" I mean "the two arguments". If they're the same, GCC should obviously just optimize this to an abs as that's what it ends up being)

[Bug tree-optimization/102224] Incorrect compile on `x * copysign(1.0, x)`

2021-09-06 Thread gabravier at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102224 --- Comment #1 from Gabriel Ravier --- (Note: this is a miscompile because it compiles as equivalent to `return 0;` as that's what `xorps xmm0, xmm0` will do)