From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10724 invoked by alias); 6 Apr 2010 19:05:59 -0000 Received: (qmail 10221 invoked by uid 22791); 6 Apr 2010 19:05:50 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,SPF_FAIL X-Spam-Check-By: sourceware.org Received: from mx20.gnu.org (HELO mx20.gnu.org) (199.232.41.8) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 06 Apr 2010 19:05:45 +0000 Received: from mail.codesourcery.com ([38.113.113.100]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NzE5n-0001eK-0C for gcc@gcc.gnu.org; Tue, 06 Apr 2010 15:05:43 -0400 Received: (qmail 26590 invoked from network); 6 Apr 2010 19:05:41 -0000 Received: from unknown (HELO localhost) (froydnj@127.0.0.2) by mail.codesourcery.com with ESMTPA; 6 Apr 2010 19:05:41 -0000 Date: Tue, 06 Apr 2010 19:05:00 -0000 From: Nathan Froyd To: Ian Lance Taylor Cc: roy rosen , gcc@gcc.gnu.org Subject: Re: lower subreg optimization Message-ID: <20100406190541.GM540@codesourcery.com> References: <20100406171245.GK540@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17+20080114 (2008-01-14) X-detected-operating-system: by mx20.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2010-04/txt/msg00099.txt.bz2 On Tue, Apr 06, 2010 at 11:55:01AM -0700, Ian Lance Taylor wrote: > Nathan Froyd writes: > > Compiling anything that uses doubles on powerpc e500v2 produces awful > > code due in part to lower-subregs (the register allocator doesn't help, > > either, but that's a different story). > > I doubt that a target hook is required to avoid this. Perhaps > simple_move_operand should reject a mode changing subreg when the two > modes are !MODE_TIEABLE_P. Ah, thanks for the pointer. I'll try poking at that. > This code is sort of weird, though; why the conversion from DImode to > DFmode? Welcome to the wonderful world of e500, which has floating-point instructions operating on the general purpose registers. -Nathan