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

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2024-05-19
     Ever confirmed|0                           |1

--- Comment #3 from Oleg Endo <olegendo at gcc dot gnu.org> ---
In your attached libcanberra_la-read-vorbis.s I can spot the following
suspicious code:


.LBB70:
        .loc 1 44 9 is_stmt 0
        mova    .L52,r0
.LVL48:
        mov.b   @(r0,r2),r1
        extu.b  r1,r1
.LVL49:
        braf    r1
        nop

        .....

.L82:
        .long   ca_vorbis_get_nchannels@PLT-(.LPCS10+2-.)
.L86:
        .long   free@PLT-(.LPCS9+2-.)
.L87:
        .long   ov_clear@PLT-(.LPCS11+2-.)
        .align 2
.L52:
        .byte   .L54-.L53
        .byte   .L54-.L53
        .byte   .L51-.L53
        .align 1                     <<<< (1)
.L54:
.LBE70:
.LBE72:                              <<<< (2)
        .loc 1 61 24
        bra     .L50
        mov     #-7,r9


In (1) a lookup table of 3 bytes is emitted.  Because of the following ".align
1" directive, the following code at (2) will be misaligned.

Can you please try to compile with -fverbose-asm .... maybe it will give a
first hint as to where the problematic code comes from.

Reply via email to