https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94573
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Known to fail| |9.3.1 Known to work| |10.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- I see C00001F93: .LFB0: .cfi_startproc movslq %edi, %rdi leaq (%rdi,%rdi,2), %rax salq $4, %rax movq $0, C000016DD(%rax) movq $0, C000016DD+8(%rax) movq $0, C000016DD+16(%rax) movq $0, C000016DD+24(%rax) ret with GCC 10. Confirmed it uses 4 byte moves with GCC 9. Fixed in GCC 10 thus.