From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21241 invoked by alias); 28 Jul 2014 22:41:07 -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 21224 invoked by uid 89); 28 Jul 2014 22:41:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: limegreensocks.com Received: from limegreensocks.com (HELO limegreensocks.com) (207.118.20.56) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (DES-CBC3-SHA encrypted) ESMTPS; Mon, 28 Jul 2014 22:41:05 +0000 Received: from [192.168.1.44] ([192.168.1.44]) by limegreensocks.com via TCP with ESMTPSA; Mon, 28 Jul 2014 15:39:09 -0700 Message-ID: <53D6D107.3030404@LimeGreenSocks.com> Date: Mon, 28 Jul 2014 22:56:00 -0000 From: David Wohlferd User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Jeff Law , "gcc-patches@gcc.gnu.org" Subject: Re: [Patch] PR 61692 - Fix for inline asm ICE References: <53D4A9A2.2050402@LimeGreenSocks.com> <53D6A79E.8060300@redhat.com> In-Reply-To: <53D6A79E.8060300@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-07/txt/msg01936.txt.bz2 On 7/28/2014 12:42 PM, Jeff Law wrote: > On 07/27/14 01:26, David Wohlferd wrote: >> I'm not sure which maintainer to cc for inline asm stuff? >> >> I have a release on file with the FSF, but don't have SVN write access. >> >> Problem: >> extract_insn() in recog.c will ICE if (noperands > MAX_RECOG_OPERANDS). >> Normally this isn't a problem since expand_asm_operands() in cfgexpand.c >> catches and reports a proper error for this condition. However, >> expand_asm_operands() only checks (ninputs + noutputs) instead of >> (ninputs + noutputs + nlabels), so you can get the ICE when using "asm >> goto." See the bugzilla entry for sample code. >> >> ChangeLog: >> 2014-07-27 David Wohlferd >> >> PR target/61692 >> * cfgexpand.c (expand_asm_operands): Count all inline asm >> parameters. > You should also include 'nclobbers'. Reading thru asm_noperands (which is what extract_insn uses to count operands), I would have thought you were right. But while making this fail with nLabels was easy, I wasn't able to get this to ICE at all using clobbers (30 labels + 11 clobbers still didn't ICE). And I'm reluctant to propose that change unless I can see it fail. dw