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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reproduced with the trunk too.  The problem is that during cross-jumping (the
"jump2" pass), this isn't cheaply cross-jumpable, as the simple_return just
using earlier computed %eax comes before the bb with setting %eax to -1 and
doing simple_return (so in that case it would be replacement of simple_return
with conditional jump, where the conditional jump is larger).  It is only in
the basic block reordering pass that this is swapped, but that is too late, we
don't have any further crossjumping pass.

Reply via email to