http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55152
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> 2012-10-31 21:27:27 UTC --- Actually, looking at the doc of MAX_EXPR in tree.def (nothing in generic.texi), we don't even need to ignore signed zeros to turn MAX_EXPR into ABS_EXPR: /* Minimum and maximum values. When used with floating point, if both operands are zeros, or if either operand is NaN, then it is unspecified which of the two operands is returned as the result. */