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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-02-04
     Ever confirmed|0                           |1
            Summary|-freorder-blocks-and-partit |switch (jump) tables don't
                   |ion emits bogus asm         |get along with
                   |directives on aarch64       |-freorder-blocks-and-partit
                   |                            |ion on non-x86
             Status|UNCONFIRMED                 |NEW

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
x86 works via using .long:
.long   .L13-.L4

For x86 we get:
(jump_table_data 18 17 19 (addr_diff_vec:SI (label_ref:DI 17)

While on aarch64 we get incorrectly:

(jump_table_data 12 11 13 (addr_diff_vec:QI (label_ref:DI 11)

The shortening pass turns it into QI.

But that is not the only issue.

Reply via email to