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.