This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/18560] better optimalization of EOR/MOV block.
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Dec 2004 15:16:35 -0000
- Subject: [Bug rtl-optimization/18560] better optimalization of EOR/MOV block.
- References: <20041119081318.18560.pluto@pld-linux.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rearnsha at gcc dot gnu dot org 2004-12-14 15:16 -------
As Andrew pointed out, the merge of the eor and the rotate is now done on
mainline in 4.0. The initial redundant MOV is a register allocation artifact.
This particular testcase compiles optimally with the new register allocator:
reverse:
eor r3, r0, r0, ror #16
bic r3, r3, #16711680
mov r3, r3, lsr #8
eor r0, r3, r0, ror #8
bx lr
but for other reasons, I wouldn't recommend you use that option (too many other
bugs).
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560