http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53176
--- Comment #15 from Uros Bizjak <ubizjak at gmail dot com> 2012-05-03 16:19:04
UTC ---
32bit x86 regressed (-O2 -mmovbe) with following testcase:
void
foo (long long i)
{
x = __builtin_bswap64 (i);
}
from:
foo:
movbe 4(%esp), %eax
movbe 8(%esp), %edx
movl %eax, x+4
movl %edx, x
ret
to:
foo:
pushl %ebx
movl 8(%esp), %eax
movl 12(%esp), %edx
movl %eax, %ebx
movl %edx, %ecx
bswap %ebx
bswap %ecx
movl %ebx, x+4
movl %ecx, x
popl %ebx
