From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4352 invoked by alias); 30 Jun 2010 18:04:04 -0000 Received: (qmail 4293 invoked by uid 22791); 30 Jun 2010 18:04:03 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 30 Jun 2010 18:03:58 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o5UI3nDo001057 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 30 Jun 2010 14:03:49 -0400 Received: from stone.twiddle.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o5UI3mEI019443; Wed, 30 Jun 2010 14:03:49 -0400 Message-ID: <4C2B86EF.6020900@redhat.com> Date: Wed, 30 Jun 2010 18:45:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Thunderbird/3.0.5 MIME-Version: 1.0 To: Jie Zhang CC: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Provide a hook for target to disable register renaming for some instructions References: <4C2B84B7.2000506@codesourcery.com> In-Reply-To: <4C2B84B7.2000506@codesourcery.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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: 2010-06/txt/msg03173.txt.bz2 On 06/30/2010 10:53 AM, Jie Zhang wrote: > When compiler an application for ARM, the GAS issued a warning: > > Warning: register range not in ascending order > > for the instruction > > push {ip, r3, r4, lr} > > Before regrename pass, this instruction looked like > > push {r0, r3, r4, lr} Doesn't it work just as well to simply remove the register constraint from the push_multi instruction? Without that the regrename pass won't get a register class for the operand and will leave it alone. r~