From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108966 invoked by alias); 2 Jun 2017 16:25:42 -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 106160 invoked by uid 89); 2 Jun 2017 16:25:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 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; Fri, 02 Jun 2017 16:25:39 +0000 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.13.8) with ESMTP id v52GPcs7013468; Fri, 2 Jun 2017 11:25:38 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id v52GPWtW013460; Fri, 2 Jun 2017 11:25:32 -0500 Date: Fri, 02 Jun 2017 16:25:00 -0000 From: Segher Boessenkool To: Eric Botcazou Cc: gcc-patches@gcc.gnu.org Subject: Re: [rs6000] Fix ICE with -fstack-limit-register and large frames Message-ID: <20170602162531.GZ19687@gate.crashing.org> References: <1944532.Kj3BqOocuy@polaris> <20170526131836.GE19687@gate.crashing.org> <41568560.kqil6v8Xzx@polaris> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <41568560.kqil6v8Xzx@polaris> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg00146.txt.bz2 On Fri, Jun 02, 2017 at 10:27:33AM +0200, Eric Botcazou wrote: > > Could you make the expander handle it, instead? It's as simple as (after > > the double-reg thing) add "if operands[1] is reg 0, force_reg operands[2]". > > I'll do it if you prefer. > > Probably, because I'm not sure how this can work, as you cannot create new > pseudos here. Because you cannot during reload, or another reason? We always use LRA on powerpc nowadays, and LRA can deal with this. > > [ the patch is broken here ] > > It applies just fine for me though. But it could probably use add_operand > instead of satisfies_constraint_I in the condition. Only the first hunk (rs6000.md) applies, the rest is ignored (there is a blank line here instead of a diff header). add_operand would be better, yeah. > > > /* { dg-do compile } */ > > > /* { dg-options "-fstack-limit-register=r2" } */ > > > > Please use a different register, r2 already has different functions in > > most ABIs. It *probably* will compile anyway, but :-) > > It's a straight copy of gcc.target/powerpc/pr48344-1.c though. I see. We'll fix it :-) Segher