From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24271 invoked by alias); 28 Feb 2011 16:30:28 -0000 Received: (qmail 24259 invoked by uid 22791); 28 Feb 2011 16:30:25 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 28 Feb 2011 16:30:17 +0000 Received: (qmail 12620 invoked from network); 28 Feb 2011 16:30:15 -0000 Received: from unknown (HELO tp.orcam.me.uk) (macro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 28 Feb 2011 16:30:15 -0000 Date: Mon, 28 Feb 2011 16:30:00 -0000 From: "Maciej W. Rozycki" To: Richard Sandiford cc: binutils@sourceware.org Subject: Re: [PATCH] MIPS/GAS: Disable branch relaxation for BPOSGE32/64 In-Reply-To: <87hbbrqgog.fsf@firetop.home> Message-ID: References: <87hbbrqgog.fsf@firetop.home> User-Agent: Alpine 1.10 (DEB 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00407.txt.bz2 On Sat, 26 Feb 2011, Richard Sandiford wrote: > > 2011-02-21 Maciej W. Rozycki > > > > gas/ > > * config/tc-mips.c (append_insn): Disable branch relaxation for > > DSP instructions. > > > > gas/testsuite/ > > * gas/mips/relax-bposge.l: New test for DSP branch relaxation. > > * gas/mips/relax-bposge.s: Source for the new test. > > * gas/mips/mips.exp: Run the new test. > > OK. Checked in, thanks. > For the record, I wasn't sure at first whether keying off ISA_DSP* was > conceptually a good idea, because there doesn't seem to be anything > inherent in the DSP extensions that would prevent complementing branches > from being defined in DSPr3. Of course, if that happened, the change is > still conservatively correct. We'd just lack a potential feature for > those branches. But I was wondering whether it would be better to have > a separate flag for branches without complements. I've been somewhat conservative about new flag consumption through the course of recent development. Long-term I think it may make sense to add a flag for these branches though, for two reasons. First is this issue and second is the DSP_VOLA flag -- it disables reordering of the affected instructions into delay slots of any branches even though only these two have a data dependency. It looks to me two flags will be needed though and I don't plan to investigate it any further now. > I agree that that's probably overkill as things stand though. > If we ever need to use the condition elsewhere, or if more branches > of this kind are added, then we can add a separate flag at that stage. Indeed, I don't think a specific flag for branches with no complements is really needed now (as opposed to one for DSP braches) -- these two are an exception rather than the rule and I gather only because of the asymmetrical nature of DSP programming specifics. I wouldn't expect more such branches to be added and certainly not outside some future revision of the DSP ASE. And if complements are indeed added, then we can relax this restriction. Maciej