avr-gcc-list
[Top][All Lists]
Advanced

[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

Attachment: archive.zip
Description: archive.zip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]