From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5991 invoked by alias); 11 Jan 2019 12:26:24 -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 5973 invoked by uid 89); 11 Jan 2019 12:26:23 -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 autolearn=no version=3.3.2 spammy=52813, H*f:sk:DB7PR07, H*f:sk:AM6PR07, H*f:sk:87lg3vi X-HELO: gate.crashing.org Received: from gate.crashing.org (HELO gate.crashing.org) (63.228.1.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 11 Jan 2019 12:26:22 +0000 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id x0BCQ8pE013063; Fri, 11 Jan 2019 06:26:09 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id x0BCQ5tZ013057; Fri, 11 Jan 2019 06:26:05 -0600 Date: Fri, 11 Jan 2019 12:26:00 -0000 From: Segher Boessenkool To: Jakub Jelinek , Bernd Edlinger , Dimitar Dimitrov , Christophe Lyon , Thomas Preudhomme , "gcc-patches@gcc.gnu.org" , richard.sandiford@arm.com Subject: Re: [PATCH] [RFC] PR target/52813 and target/11807 Message-ID: <20190111122604.GH14180@gate.crashing.org> References: <85840089.MtehzfUrTt@tpdeb> <20190107092337.GM30353@tucnak> <87lg3vicg5.fsf@arm.com> <20190110132111.GZ14180@gate.crashing.org> <87zhs84374.fsf@arm.com> <20190110212629.GZ30353@tucnak> <8736q041o3.fsf@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8736q041o3.fsf@arm.com> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg00624.txt.bz2 On Thu, Jan 10, 2019 at 09:56:28PM +0000, Richard Sandiford wrote: > Jakub Jelinek writes: > > On Thu, Jan 10, 2019 at 09:23:27PM +0000, Richard Sandiford wrote: > >> > "noreturn"... What would that mean, *exactly*? It cannot execute any > >> > code the compiler can see, so such asm is better off as real asm anyway > >> > (not inline asm). > >> > >> "Exactly" is a strong word, and this wasn't my proposal, but... > >> I think it would act like a noreturn call to an unknown function. > >> Output operands wouldn't make sense, and arguably clobbers wouldn't > >> either. > > > > "noreturn" asm can be done already now, just use > > asm volatile ("..." ...); > > __builtin_unreachable (); > > > > I think there is no need to add a new syntax for that. Ah yes, the volatile makes this work. Cool. And as Richard says such asm shouldn't have outputs anyway, so it will always be volatile. > ISTR the point was that the PowerPC ABI places requirements on functions > with noreturn calls I don't think any of our ABIs do that? Is this about the back chain? > and the attribute would help GCC do the right thing > in those circumstances. So "noreturn" would imply a call that doesn't > return, rather than just an infinite loop. Segher