From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 60782 invoked by alias); 17 Dec 2018 13:42:37 -0000 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 Received: (qmail 60726 invoked by uid 89); 17 Dec 2018 13:42:34 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=BAYES_00,KAM_MANYTO,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=U*christophe.lyon, christophelyonlinaroorg, christophe.lyon@linaro.org, H*Ad:D*eu X-HELO: mail-vs1-f65.google.com Received: from mail-vs1-f65.google.com (HELO mail-vs1-f65.google.com) (209.85.217.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Dec 2018 13:42:32 +0000 Received: by mail-vs1-f65.google.com with SMTP id h18so7696775vsj.4 for ; Mon, 17 Dec 2018 05:42:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=1bSTI9S9Ua5mdLuoeSHS9q2IkWwPAFnRCMY381gsDQA=; b=kxzbJHNchUvkestbK984d6HURGnaRq6uEf16qoWptJ+tBM3QnHj7iWsqa+eB0Jz8r2 aMpPPE8RDq2uQAkGUMLL5mFKGuYMtlG6YhG2VOeHVIQjdIN9T4gA+wmnAOTeoNmU/ioH GFp9cbKJPoNL9z6yO1rN8zMnpECe7uGeQIvHY= MIME-Version: 1.0 References: <85840089.MtehzfUrTt@tpdeb> <87woo84boh.fsf@arm.com> <87lg4o46oj.fsf@arm.com> In-Reply-To: <87lg4o46oj.fsf@arm.com> From: Christophe Lyon Date: Mon, 17 Dec 2018 13:42:00 -0000 Message-ID: Subject: Re: [PATCH] [RFC] PR target/52813 and target/11807 To: Christophe Lyon , Dimitar Dimitrov , Bernd Edlinger , Segher Boessenkool , Thomas Preudhomme , "gcc-patches@gcc.gnu.org" , Richard Sandiford Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-12/txt/msg01214.txt.bz2 On Mon, 17 Dec 2018 at 14:35, Richard Sandiford wrote: > > Christophe Lyon writes: > > On Mon, 17 Dec 2018 at 12:47, Richard Sandiford > > wrote: > >> > >> Dimitar Dimitrov writes: > >> > On Sun, Dec 16 2018 at 14:36:26 EET Bernd Edlinger wrote: > >> >> Hi, > >> >> > >> >> if I understood that right, then clobbering sp is and has always been > >> >> ignored. > >> > >> PR77904 was about the clobber not being ignored, so the behaviour > >> hasn't been consistent. > >> > >> I'm also not sure it was always ignored in recent sources. The clobber > >> does get added to the associated rtl insn, and it'd be surprising if > >> that never had an effect. > >> > >> >> If that is right, then I would much prefer a warning, that says exactly > >> >> that, because that would also help to understand why removing that clobber > >> >> statement is safe even for old gcc versions. > >> > >> If the asm does leave sp with a different value, then it's never been safe, > >> regardless of the gcc version. That's why an error seems more appropriate. > >> > >> > Thank you. Looks like general consensus is to have a warning. See attached > >> > patch that switches the error to a warning. > >> > >> I don't think there's a good reason to treat this differently from the > >> preexisting PIC register error. If the argument for making it a warning > >> rather than an error is that the asm might happen to work by accident, > >> then the same is true for the PIC register. > >> > > > > If we leave the error, maybe a more explanatory message would be helpful? > > (along the lines of what I posted earlier in this thread, which may be > > too verbose) > > The message in that patch suggested removing the clobber and hoping for > the best, which IMO is bad advice. If the current message doesn't make > it clear enough that changing the sp is not allowed, how about: > > inline % statements must not change the value of the stack pointer > > ? > My understanding is that in some cases, some users still want to deliberately change SP, so "must not" may be confusing in such cases? > Thanks, > Richard > >