[Bug target/70341] [4.9/5/6/7 Regression] Code size increase due to earlier switch case lowering.
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jul 31 02:18:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70341
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|tree-optimization |target
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> Possibly caused by performing switch lowering in GIMPLE switch conversion.
It can't be because the resulting assembly still uses a case table.
The problem is the add happens on each of the cases rather than before.
14: 4408 add r0, r1
...
1c: 4408 add r0, r1
...
24: 4408 add r0, r1
...
2c: 4408 add r0, r1
The correct thing happens on aarch64-linux-gnu (that is the add does not show
up in all of the cases but hoisted before the switch).
More information about the Gcc-bugs
mailing list