From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31998 invoked by alias); 19 Nov 2004 22:24:35 -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 31980 invoked from network); 19 Nov 2004 22:24:29 -0000 Received: from unknown (HELO mail.libertysurf.net) (213.36.80.90) by sourceware.org with SMTP; 19 Nov 2004 22:24:29 -0000 Received: from dyn-83-152-124-187.ppp.tiscali.fr (83.152.124.187) by mail.libertysurf.net (6.5.036) id 419D74FD002A60A2; Fri, 19 Nov 2004 23:24:15 +0100 From: Eric Botcazou To: Richard Henderson Subject: Re: [cft] subreg validation round 2 Date: Fri, 19 Nov 2004 22:43:00 -0000 User-Agent: KMail/1.6.1 Cc: gcc@gcc.gnu.org References: <20041117184009.GA12257@redhat.com> <200411172021.21297.ebotcazou@libertysurf.fr> <20041119210240.GA18341@redhat.com> In-Reply-To: <20041119210240.GA18341@redhat.com> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200411192323.54912.ebotcazou@libertysurf.fr> Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-SW-Source: 2004-11/txt/msg00702.txt.bz2 > > How did you address the problem with SPARC splitters? > > @@ -3674,14 +3676,15 @@ simplify_subreg (enum machine_mode outer > && subreg_offset_representable_p (REGNO (op), innermode, > byte, outermode)) > { > - rtx tem = gen_rtx_SUBREG (outermode, op, byte); > - int final_regno = subreg_hard_regno (tem, 0); > + unsigned int regno = REGNO (op); > + unsigned int final_regno > + = regno + subreg_regno_offset (regno, innermode, byte, outermode); Ouch! Pretty deeply buried in the subreg handling stuff. Would you see any advantage in manually building the hard regs within the splitters? -- Eric Botcazou