[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-gcc-list] Improved loop patch
From: |
HutchinsonAndy |
Subject: |
[avr-gcc-list] Improved loop patch |
Date: |
Mon, 28 Feb 2005 18:39:17 -0500 |
As promised,
Attached zip contains patch file to change avr.md, avr.h and avr-protos.h
The loop change allows the SBRx instrcution to be use to skip over 1,2 or 3
word instructions -previously it would only skip 1 word instructions. So you
will less SBRx Rx,n; RJMP nnnn combinations.
The same improvement is applied also to SBIx instructions.
In addition, the pattern now does not get used for backward jumping sign tests.
So a simple loop ending with a sign test (e.g. >=0) will now use the more
efficient BRPL etc.
The savings are modest, but it allow tighter loops to be created without
resorting to assembler.
This patch includes the movemem patch that I am waiting on to be submitted into
gcc. (PR18251 et al reload issues)
Lastly I have included an experimental patch that will pass all memory-memory
moves through r0.
There is a chance that the patches may have problem. They all ran the gcc
testsuite with the same result as gcc head. However, that is not totally
conclusive.
Please feedback any problems you may have or how much of a benfit or otherwise
the change makes.
--
Andy Hutchinson
__________________________________________________________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register
Netscape. Just the Net You Need.
New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp
archive.zip
Description: archive.zip
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [avr-gcc-list] Improved loop patch,
HutchinsonAndy <=