--- Comment #7 from rask at gcc dot gnu dot org 2007-11-09 20:40 ---
This has been fixed for more than a year:
reverse:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
eor r3, r0, r0, ror
--
What|Removed |Added
Target Milestone|4.0.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560
--
What|Removed |Added
Status|REOPENED|NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560
--- Additional Comments From rearnsha at gcc dot gnu dot org 2005-02-11
11:13 ---
I've linked this to the register-allocator meta-bug
--
What|Removed |Added
BugsThisDepends
--- Additional Comments From pluto at pld-linux dot org 2005-02-11 10:47
---
(In reply to comment #4)
> The new register allocator (new-ra) has been removed because it was buggy and
> there were no plans to fix it.
> I was using it to show that the initial MOV was an unrelated issue.
> Y
--- Additional Comments From rearnsha at gcc dot gnu dot org 2005-02-11
10:15 ---
The new register allocator (new-ra) has been removed because it was buggy and
there were no plans to fix it. I was using it to show that the initial MOV was
an unrelated issue.
Your code snippet shows tha
--- Additional Comments From pluto at pld-linux dot org 2005-02-10 20:17
---
(In reply to comment #2)
> As Andrew pointed out, the merge of the eor and the rotate is now done on
> mainline in 4.0.
Hmm, it doesn't work on my gcc.
# arm-pld-linux-gcc reversing_the_bytes_in_word.c -
--- 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
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-19
14:50 ---
Confirmed, the mainline produces better code already:
mov r3, r0
eor r0, r0, r0, ror #16
bic r0, r0, #16711680
mov r0, r0, lsr #8
eor r0, r0, r3, r