------- 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