[Bug target/57057] Bad optimization on x86 for minps and maxps
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 25 08:14:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57057
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Target| |x86_64-*-*, i?86-*-*
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-04-25
Ever Confirmed|0 |1
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-25 08:14:23 UTC ---
That it's "fixed" with -O1 is because the different MINPS invocations are
CSEd and only the first one is carried out.
The issue here is that MINPS is not commutative, but the SMIN RTX code
is specified as being commutative. Which means with !flag_finite_math_only
the x86 backend has to use an UNSPEC to expand __builtin_ia32_minps and
friends.
More information about the Gcc-bugs
mailing list