https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101311
Andrew Pinski changed:
What|Removed |Added
Resolution|--- |DUPLICATE
Status|NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101311
--- Comment #3 from Richard Biener ---
float func(float a)
{
union { float f; unsigned u; } u;
u.f = a;
u.u ^= 0x8000;
return u.f;
}
is the example w/o TBAA issue and down to the point WRT refusing negate via
XOR.
movd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101311
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Severity|normal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101311
--- Comment #1 from Josh Nave ---
Additionally, other instructions could have been used (such as `pxor`) which
are less float-centric (and maybe faster?).