From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4195 invoked by alias); 19 Aug 2011 12:27:25 -0000 Received: (qmail 4185 invoked by uid 22791); 19 Aug 2011 12:27:23 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,MSGID_FROM_MTA_HEADER,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mtagate1.uk.ibm.com (HELO mtagate1.uk.ibm.com) (194.196.100.161) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 19 Aug 2011 12:27:08 +0000 Received: from d06nrmr1307.portsmouth.uk.ibm.com (d06nrmr1307.portsmouth.uk.ibm.com [9.149.38.129]) by mtagate1.uk.ibm.com (8.13.1/8.13.1) with ESMTP id p7JCR7gI016677 for ; Fri, 19 Aug 2011 12:27:07 GMT Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by d06nrmr1307.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p7JCR6I12203816 for ; Fri, 19 Aug 2011 13:27:06 +0100 Received: from d06av02.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p7JCR6eR025031 for ; Fri, 19 Aug 2011 06:27:06 -0600 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with SMTP id p7JCR5Ku024868; Fri, 19 Aug 2011 06:27:05 -0600 Message-Id: <201108191227.p7JCR5Ku024868@d06av02.portsmouth.uk.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Fri, 19 Aug 2011 14:27:05 +0200 Subject: Re: [commit, spu] Improve address generation for large stack frames To: rth@redhat.com (Richard Henderson) Date: Fri, 19 Aug 2011 12:51:00 -0000 From: "Ulrich Weigand" Cc: gcc-patches@gcc.gnu.org In-Reply-To: <4E4D9849.8070201@redhat.com> from "Richard Henderson" at Aug 18, 2011 03:55:05 PM MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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-08/txt/msg01564.txt.bz2 Richard Henderson wrote: > On 08/16/2011 11:35 AM, Ulrich Weigand wrote: > > + /* Reload the displacement. */ > > + push_reload (XEXP (ad, 1), NULL_RTX, &XEXP (ad, 1), NULL, > > + BASE_REG_CLASS, GET_MODE (ad), VOIDmode, 0, 0, > > + opnum, (enum reload_type) type); > > Are you sure you want to reload it this way, and not > > (plus (plus base const-large) const-small) > > ? If you push that inner reload, it seems like it would be > sharable/cse-able with other variable references within the block. Well, yes, but I don't have an instruction to implement the inner plus (SPU add immediate is restricted to +/- 512), so I'd still have to reload the large constant as well and would get another instruction. This results in actually worse code if no sharing ends up possible, so I'm not sure if it's worth it overall ... Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com