This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/53176] [4.8 Regression] gcc.target/i386/movbe-2.c and gcc.dg/lower-subreg-1.c
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 03 May 2012 16:19:04 +0000
- Subject: [Bug rtl-optimization/53176] [4.8 Regression] gcc.target/i386/movbe-2.c and gcc.dg/lower-subreg-1.c
- Auto-submitted: auto-generated
- References: <bug-53176-4@http.gcc.gnu.org/bugzilla/>
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