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.

Reply via email to