This is the mail archive of the
mailing list for the GCC project.
Re: [Patch,AVR]: Fix PR27663
- From: Denis Chertykov <chertykov at gmail dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: gcc-patches at gcc dot gnu dot org, Anatoly Sokolov <aesok at post dot ru>, Eric Weddington <eric dot weddington at atmel dot com>
- Date: Mon, 2 May 2011 19:17:49 +0400
- Subject: Re: [Patch,AVR]: Fix PR27663
- References: <4DBEC003.email@example.com>
2011/5/2 Georg-Johann Lay <firstname.lastname@example.org>:
> 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.
> 2011-05-02 ÂGeorg-Johann Lay Â<email@example.com>
> Â Â Â Â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.