From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23128 invoked by alias); 3 Feb 2011 13:54:25 -0000 Received: (qmail 23118 invoked by uid 22791); 3 Feb 2011 13:54:25 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 03 Feb 2011 13:54:21 +0000 From: "law at redhat dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/47521] Unnecessary usage of edx register X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Keywords: missed-optimization, ra X-Bugzilla-Severity: minor X-Bugzilla-Who: law at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.4.6 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Thu, 03 Feb 2011 13:54:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-02/txt/msg00500.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47521 --- Comment #4 from Jeffrey A. Law 2011-02-03 13:54:16 UTC --- I'd hoped it would be possible to define a set of conditions under which combine could combine the conditional move with the subsequent move into a hard register. Without special casing the instruction patterns, reading the constraints and the like, I doubt that's going to be possible. The other approach I see is to have copyrename avoid coalescing the temporaries with "a". That in turn prevents "a" from being live throughout the entire function and we get the desired register allocations and code.