|
From: | E. Weddington |
Subject: | Re: AW: [avr-libc-dev] Additional instruction patterns for or more efficient code using mixed QI/HI/SI expressions |
Date: | Tue, 07 Dec 2004 15:51:45 -0700 |
User-agent: | Mozilla Thunderbird 0.7.3 (Windows/20040803) |
Björn Haase wrote:
SimulAVR comes with WinAVR, so you can grab it from there. Alternatively I could build simulavr under Cygwin for you.Hi, I have been adding some specialized instruction patterns for dealing with expresions that mix QI,HI and SI objects. (Tedious work.) In addition to a bunch of specialized "combined" patterns, I would like to suggest to change the "copy_to_mode_reg" within the movsi and movhi "define_expand"s. We could copy const_int values that could fit into 8 or 16 bit in QI or HI registers instead and use the appropriate extension operations for promoting the values to the HI/SI target modes on the fly. In my opinion the main possible benefit of the suggested changes in the machine description is that less registers are required. Yours, Björn P.S.: Could anyone give me an advice on how to write automized scripts for checking compilation result on a simulator? I have tried to use simulavr. I, however, did not succeed to build it under cygwin.
P.P.S.: implementing at least plus:DI and minus:DI operations would be so easy. Any reason, not to extend the existing %Ax ... %Dx templates to the %Ax ... %Hx range and add the corresponding plus:DI and minus:DI patterns in the machine description?
I have forwarded this to both of the AVR GCC maintainers, Marek Michalkiewicz and Denis Chertykov as they are probably more capable and more familiar with this section of the AVR port.
Eric
[Prev in Thread] | Current Thread | [Next in Thread] |