From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14514 invoked by alias); 2 May 2011 15:18:25 -0000 Received: (qmail 14502 invoked by uid 22791); 2 May 2011 15:18:25 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-ey0-f175.google.com (HELO mail-ey0-f175.google.com) (209.85.215.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 02 May 2011 15:18:11 +0000 Received: by eye27 with SMTP id 27so2047037eye.20 for ; Mon, 02 May 2011 08:18:09 -0700 (PDT) Received: by 10.14.10.18 with SMTP id 18mr3516472eeu.172.1304349489428; Mon, 02 May 2011 08:18:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.14.127.77 with HTTP; Mon, 2 May 2011 08:17:49 -0700 (PDT) In-Reply-To: <4DBEC003.4050300@gjlay.de> References: <4DBEC003.4050300@gjlay.de> From: Denis Chertykov Date: Mon, 02 May 2011 15:18:00 -0000 Message-ID: Subject: Re: [Patch,AVR]: Fix PR27663 To: Georg-Johann Lay Cc: gcc-patches@gcc.gnu.org, Anatoly Sokolov , Eric Weddington Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-05/txt/msg00081.txt.bz2 2011/5/2 Georg-Johann Lay : > 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 =C2=A0Georg-Johann Lay =C2=A0 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0PR target/27663 > =C2=A0 =C2=A0 =C2=A0 =C2=A0* config/avr/predicates.md (const_8_16_24_oper= and): New predicate. > =C2=A0 =C2=A0 =C2=A0 =C2=A0* config/avr/avr.md ("*iorqi.byte0", > =C2=A0 =C2=A0 =C2=A0 =C2=A0"*iorqi.byte1-3"): New define_insn_and_s= plit 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.