From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28748 invoked by alias); 13 May 2003 01:04:41 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 28547 invoked from network); 13 May 2003 01:04:40 -0000 Received: from unknown (HELO cygnus.equallogic.com) (65.170.102.10) by sources.redhat.com with SMTP; 13 May 2003 01:04:40 -0000 Received: from cygnus.equallogic.com (localhost.localdomain [127.0.0.1]) by cygnus.equallogic.com (8.11.6/8.11.6) with ESMTP id h4D14dt21640 for ; Mon, 12 May 2003 21:04:39 -0400 Received: from deneb.dev.equallogic.com (deneb.dev.equallogic.com [172.16.1.99]) by cygnus.equallogic.com (8.11.6/8.11.6) with ESMTP id h4D14dr21631; Mon, 12 May 2003 21:04:39 -0400 Received: from PKONING.equallogic.com (localhost.localdomain [127.0.0.1]) by deneb.dev.equallogic.com (8.11.6/8.11.6) with ESMTP id h4D14WR26455; Mon, 12 May 2003 21:04:36 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16064.17565.490000.448351@gargle.gargle.HOWL> Date: Tue, 13 May 2003 01:04:00 -0000 From: Paul Koning To: dj@redhat.com Cc: rth@redhat.com, gcc@gcc.gnu.org Subject: Re: alignment: store_one_arg vs emit_push_insn References: <200305092334.h49NYa422781@greed.delorie.com> <20030510000312.GN23973@redhat.com> <200305100027.h4A0Ru724325@greed.delorie.com> <20030512035157.GF15866@redhat.com> <200305121816.h4CIGnm24209@greed.delorie.com> <20030512193827.GA7445@redhat.com> <200305122247.h4CMlDY07985@greed.delorie.com> X-SW-Source: 2003-05/txt/msg01261.txt.bz2 > > On Mon, May 12, 2003 at 02:16:49PM -0400, DJ Delorie wrote: > > > Would it be sufficient if it just > > > chose the minimum of the available alignment? If so, then most of the > > > "reorg" would just be commenting the new semantics. > > > > Yes, that would be fine. > > How does this look? The tests are still running, but so far no regressions. Doesn't that do the *maximum* of the alignments? I would think minimum, as you said, is what you'd want instead. paul > 2003-05-12 DJ Delorie > > * expr.c (move_by_pieces): Honor the alignment inherent in the > source and destination if available. > > Index: expr.c > =================================================================== > RCS file: /cvs/uberbaum/gcc/expr.c,v > retrieving revision 1.538 > diff -p -2 -r1.538 expr.c > *** expr.c 9 May 2003 06:37:18 -0000 1.538 > --- expr.c 12 May 2003 22:43:24 -0000 > *************** convert_modes (mode, oldmode, x, unsigne > *** 1464,1468 **** > used to push FROM to the stack. > > ! ALIGN is maximum alignment we can assume. */ > > void > --- 1464,1468 ---- > used to push FROM to the stack. > > ! ALIGN is maximum stack alignment we can assume. */ > > void > *************** move_by_pieces (to, from, len, align) > *** 1477,1480 **** > --- 1477,1485 ---- > enum machine_mode mode = VOIDmode, tmode; > enum insn_code icode; > + > + if (to && MEM_ALIGN (to) > 0) > + align = MEM_ALIGN (to); > + if (align < MEM_ALIGN (from) && MEM_ALIGN (from) > 0) > + align = MEM_ALIGN (from); > > data.offset = 0; >