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).

Reply via email to