This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch,AVR]: Fix PR27663


2011/5/2 Georg-Johann Lay <avr@gjlay.de>:
> This is a fix for an optimization flaw when a long value is composed
> from byte values.
>
> For -fsplit-wide-types (which is still default for avr) the code is
> worse than with -fno-split-wide-types. The code for the test case is
> better in either situations, i.e. compared to code without the patch,
> but it is still not optimal.
>
> Fixing this by some combine patterns is the only thing the BE can do.
> I did not write more complex patterns because things get too complex
> with little performance gain.
>
> Tested without regressions.
>
> Johann
>
> 2011-05-02 ÂGeorg-Johann Lay Â<avr@gjlay.de>
>
> Â Â Â ÂPR target/27663
> Â Â Â Â* config/avr/predicates.md (const_8_16_24_operand): New predicate.
> Â Â Â Â* config/avr/avr.md ("*ior<mode>qi.byte0",
> Â Â Â Â"*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
>

I'm sorry, but I dot'n like to have a both combiner related patches in
port because code improvement isn't much and your patterns are
difficult to understand and maintain.

May be somebody else have a different oppinion ?
I'm open to discussion.

Denis.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]