https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37710
--- Comment #4 from Andrew Pinski ---
and yes we get code that looks like:
xorl%eax, %eax
cmpl$-34, %edi
jb .L1
negl%edi
cmpl$34, %edi
ja .L3
jmp *.L5(,%rdi,8)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37710
--- Comment #3 from Andrew Pinski ---
Here is a new testcase:
extern void abort (void);
extern char *name1;
extern char *name2;
int stab_xcoff_builtin_type (int typenum) __attribute__((noclone,noinline));
int stab_xcoff_builtin_type (int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37710
--- Comment #2 from Andrew Pinski ---
Note we almost optimize out the testcase now to just:
[local count: 1073741819]:
typenum.0_1 = (unsigned int) typenum_4(D);
_2 = typenum.0_1 + 34;
if (_2 > 33)
goto ; [34.00%]
else
goto ;
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-10-02 11:08 ---
This basically boils down to moving optimizing case labels earlier (we do
so after going out-of-ssa).
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added