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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
             Target|                            |alpha
      Known to work|                            |7.3.1
   Target Milestone|---                         |9.0
            Summary|Unordered comparisons are   |[9 Regression] Unordered
                   |expanded with branchless    |comparisons are expanded
                   |code                        |with branchless code
      Known to fail|                            |9.0

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
What about GCC 8?

Note that the middle-end thinks only SNaNs can cause UNGE_EXPR to trap
which I belive is correct.

It looks like this goes wrong somewhere in expansion which seems to expand
this as UNORDERED || GE w/o protecting the GE properly.  It looks like we
do not have optabs for UNGE, but only unord_optab.

I guess you need to trace expansion to see where it goes wrong (maybe
it's just a bug in if-conversion...)

Reply via email to