[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AW: [avr-libc-dev] Additional instruction patterns for or more effic
From: |
Denis Chertykov |
Subject: |
Re: AW: [avr-libc-dev] Additional instruction patterns for or more efficient code using mixed QI/HI/SI expressions |
Date: |
11 Dec 2004 14:55:10 +0300 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Björn Haase <address@hidden> writes:
> 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.
Are you have a signed FSF COPYING ASSIGNMENT FOR GCC ?
If not then I can't apply your patch to FSF's GCC CVS tree.
Some your new patterns are right some are wrong. I suggest to produce
the work step by step with small changes.
Your code must satisfy GNU coding standards !
> 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.
You must learn DEJAGNU.
>
>
> 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 havn't such reasons. (Except my opinion in PS)
I think that implementing of movdi pattern most important.
Denis.
PS: Righ now I think that better to rewrite many insns for
HI,SI,DI modes as splitters to QI mode (naitive AVR) insns.
If you want to help then better to concentrate on this.
[avr-libc-dev] AW: Register allocator / -fnew-ra issue, Björn Haase, 2004/12/07
RE: [avr-libc-dev] Improved optimizer for mixed 32 / 16 / 8 bitexpressions, Bernard Fouché, 2004/12/02