From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18266 invoked by alias); 10 Nov 2019 06:39:02 -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 18255 invoked by uid 89); 10 Nov 2019 06:39:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= 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; Sun, 10 Nov 2019 06:39:00 +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 xAA6cwfL030950; Sun, 10 Nov 2019 00:38:58 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id xAA6cvCS030949; Sun, 10 Nov 2019 00:38:57 -0600 Date: Sun, 10 Nov 2019 07:01:00 -0000 From: Segher Boessenkool To: Michael Meissner , gcc-patches@gcc.gnu.org, dje.gcc@gmail.com Subject: Re: [PATCH] V6, #4 of 17: Add prefixed instruction support to stack protect insns Message-ID: <20191110063856.GM16031@gate.crashing.org> References: <20191016125100.GA31255@ibm-toto.the-meissners.org> <20191016134741.GD4483@ibm-toto.the-meissners.org> <20191102032203.GH28442@gate.crashing.org> <20191110063229.GA12252@ibm-tinman.the-meissners.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191110063229.GA12252@ibm-tinman.the-meissners.org> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg00681.txt.bz2 On Sun, Nov 10, 2019 at 01:32:29AM -0500, Michael Meissner wrote: > On Fri, Nov 01, 2019 at 10:22:03PM -0500, Segher Boessenkool wrote: > > On Wed, Oct 16, 2019 at 09:47:41AM -0400, Michael Meissner wrote: > > We could make %pN mean 'p' for prefixed, for memory as operands[N]? Are > > there more places than this that could use that? How about inline asm? > > Right now, the only two places that do this are the two stack protect insns. > Everything else that I'm aware of that generates multiple loads or stores will > do a split before final. How about inline asm? > > > + if (which_alternative == 0) > > > + output_asm_insn ("xor. %3,%3,%4", operands); > > > + else > > > + output_asm_insn ("cmpld %0,%3,%4\;li %3,0", operands); > > > > That doesn't work: the backslash is treated like the escape character, in > > a C block. I think doubling it will work? Check the generated insn-output.c, > > it should be translated to \t\n in there. > > Yes it does work. I just checked. It emits a literal ';' into the assembler code. Segher