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: "Greta.Yorsh at arm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 03 May 2012 13:28:42 +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
Greta Yorsh <Greta.Yorsh at arm dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ramana.radhakrishnan at arm
| |dot com
--- Comment #14 from Greta Yorsh <Greta.Yorsh at arm dot com> 2012-05-03 13:28:42 UTC ---
This test fails because splitting doesn't happen any more after r187015 patch.
Without splitting, better code is generated in this case.
The test
long long test (long long a, long long b) { return a | b; }
previously compiled into
orr r2, r2, r0
orr r3, r3, r1
mov r0, r2
mov r1, r3
now compiles into a better sequence, avoiding the moves:
orr r0, r0, r2
orr r1, r1, r3
I haven't yet come across an example where the patch makes things worse on arm.
Do you have any such examples?
Thanks,
Greta