https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60879
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |12.0 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Keywords| |missed-optimization --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Fixed on the trunk: movdqu (%rdi), %xmm0 movups %xmm0, (%rsi) movq 15(%rdi), %rax movq %rax, 15(%rsi) ret While GCC 11 produced: movdqu (%rdi), %xmm0 movups %xmm0, (%rsi) movl 16(%rdi), %eax movl %eax, 16(%rsi) movzwl 20(%rdi), %eax movw %ax, 20(%rsi) movzbl 22(%rdi), %eax movb %al, 22(%rsi) ret