From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 98383 invoked by alias); 22 Sep 2015 19:32:50 -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 98373 invoked by uid 89); 22 Sep 2015 19:32:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_40,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 22 Sep 2015 19:32:49 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 83662461D7; Tue, 22 Sep 2015 19:32:48 +0000 (UTC) Received: from localhost.localdomain (ovpn-113-92.phx2.redhat.com [10.3.113.92]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t8MJWlIq006663; Tue, 22 Sep 2015 15:32:47 -0400 Subject: Re: [PATCH] Explicit register earlyclobber fix To: Richard Henderson , Andrew Jenner , GCC Patches References: <56017AA6.20709@codesourcery.com> <5601A2DD.5090408@redhat.com> <5601A82C.7060307@redhat.com> <5601A8EF.4050803@redhat.com> <5601A978.9040107@redhat.com> <5601A9FD.3020302@redhat.com> From: Jeff Law Message-ID: <5601ACDF.4000308@redhat.com> Date: Tue, 22 Sep 2015 19:56:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <5601A9FD.3020302@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-09/txt/msg01691.txt.bz2 On 09/22/2015 01:20 PM, Richard Henderson wrote: > On 09/22/2015 12:18 PM, Jeff Law wrote: >> On 09/22/2015 01:15 PM, Richard Henderson wrote: >>>> And doesn't it have to be =& and always at the start for an asm constraint? >>>> For operands in patterns, we have to consider operand alternatives, but that's >>>> not on issue here. >>> >>> Technically we do support alternatives on asms. Not usefully except for CISC, >>> since all alternatives have to use the same output pattern, but one can write >>> things like >>> >>> asm("add %0,%1" : "=r,m"(x) : "rim,ri"(y)) >> Wow, learn something every day. In that case, I think we do have to search a >> little harder than just peeking at the first two letters of the constraint :( > > We wouldn't be. He's adding this check at the beginning of each alternative. > So why would we want to search the entire rest of the string now? If he's walking down each alternative (I didn't look), then just checking the start of each alternative would obviously be OK. I made the assumption he was searching the entire constraint string. Jeff