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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |rtl-optimization
      Known to fail|                            |13.1.0
      Known to work|                            |12.3.0
            Summary|missed optimization: cmove  |[13/14 Regression] missed
                   |not used with multiple      |optimization: cmove not
                   |returns                     |used with multiple returns
   Target Milestone|---                         |13.3

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The difference between GCC 12 and GCC 13 is:

GCC 13:
```
IF-THEN-JOIN block found, pass 1, test 2, then 3, join 4
```
GCC 12 and before:
```
IF-THEN-ELSE-JOIN block found, pass 1, test 2, then 3, else 4, join 5
```

Someone will have to debug ifcvt.cc to see why it fails on x86_64 but works on
aarch64.  Note there are some new changes to ifcvt.cc in review which might
improve this, though I am not sure.

Reply via email to