[Bug middle-end/94497] Branchless clamp in the general case gets a branch in a particular case ?

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Apr 6 13:33:53 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94497

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-04-06
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is that our GIMPLE level if-conversion does not do the min/max
replacement because our MIN/MAX_EXPR IL elements are not IEEE conforming
with respect to NaN behavior.  There _is_ now FMIN/FMAX internal functions
which targets can support (not sure if x86 does support that named patterns)
which if-conversion could use (but it doesn't).  There's a bug about exactly
that I think.  PR88540 might be a close fit.

I do have a not working patch to address this, queued for GCC 11.


More information about the Gcc-bugs mailing list