https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114319
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |11.4.0
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>But compiling it for 32-bit x86 via "gcc -m32 -O2" produces not so optimized
>code:
I get that code generation for GCC 11.4.0 and before.
For GCC 12.1.0 and above I get:
```
movl 8(%esp), %ecx
bswap %ecx
movl %ecx, %eax
movl 4(%esp), %ecx
bswap %ecx
movl %ecx, %edx
movl 12(%esp), %ecx
movl %eax, (%ecx)
movl %edx, 4(%ecx)
ret
```
Which just has a few extra moves.
But adding -mno-sse, GCC 12 produces worse code.