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: "pluto at pld-linux dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Feb 2005 10:47:13 -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 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.
> Your code snippet shows that the rotate and the EOR are being merged,
> which is what this PR was about.
The PR is about initial eor/mov opt., not eor/rotate ;-)
At this moment the comercial IAR compiler generates good code.
The GCC should be good too :)
reverse:
0x00000D04 E0201860 EOR R1, R0, R0, ROR #16
0x00000D08 E3C118FF BIC R1, R1, #0xFF0000
0x00000D0C E1A01421 MOV R1, R1, LSR #8
0x00000D10 E0210460 EOR R0, R1, R0, ROR #8
0x00000D14 E12FFF1E BX LR
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18560