https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113180
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Component|target |middle-end Target|mips |mips aarch64*-*-* Status|UNCONFIRMED |NEW Keywords| |missed-optimization Last reconfirmed| |2023-12-31 Summary|MIPS: bitops on an long |MIPS: bitops on an long |long struct uses ins |long struct uses ins |instead dins |instead dins (or with | |-mstrict-align on aarch64) --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The same issue happens on aarch64 with -mstrict-align though it is not as bad as mips but the underlying issue is the same: ``` sub sp, sp, #32 .cfi_def_cfa_offset 32 str x0, [sp, 8] lsr x0, x0, 32 bfi w0, w1, 28, 4 str w0, [sp, 12] ldr x0, [sp, 8] add sp, sp, 32 ret ``` Confirmed. there might be other bug reports which are very similar too.