From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1316 invoked by alias); 4 Sep 2008 16:14:37 -0000 Received: (qmail 32343 invoked by uid 48); 4 Sep 2008 16:13:15 -0000 Date: Thu, 04 Sep 2008 16:14:00 -0000 Message-ID: <20080904161315.32342.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/37364] [4.4 Regression] IRA generates ineffient code In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl dot tools at gmail dot com" 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: 2008-09/txt/msg00547.txt.bz2 ------- Comment #2 from hjl dot tools at gmail dot com 2008-09-04 16:13 ------- (In reply to comment #1) > "-O2 -march=core2 -fno-ira -fno-regmove" generates > > movq x(%rip), %mm0 > paddd y(%rip), %mm0 > movq %mm0, -8(%rsp) > movq -8(%rsp), %rax > > It seems that regmove isn't effective for IRA. > regmove is turned off for IRA. Revert the regmove.c change in revision 139590 * regmove.c (regmove_optimize): Don't do replacement of output for IRA. fixes this regression. Vladimir, IRA should either deal with replacement of output or let regmove handle it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37364