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.