From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33928 invoked by alias); 22 Nov 2017 10:09:59 -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 33915 invoked by uid 89); 22 Nov 2017 10:09:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=BAYES_00,KB_WAM_FROM_NAME_SINGLEWORD,SPF_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy= X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Nov 2017 10:09:57 +0000 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 0A264AAC3; Wed, 22 Nov 2017 10:09:55 +0000 (UTC) Date: Wed, 22 Nov 2017 10:16:00 -0000 From: Richard Biener To: Jakub Jelinek cc: Richard Sandiford , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Fix mult expansion ICE (PR middle-end/82875) In-Reply-To: <20171122095523.GK14653@tucnak> Message-ID: References: <20171122091718.GH14653@tucnak> <20171122095523.GK14653@tucnak> User-Agent: Alpine 2.20 (LSU 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-SW-Source: 2017-11/txt/msg01998.txt.bz2 On Wed, 22 Nov 2017, Jakub Jelinek wrote: > On Wed, Nov 22, 2017 at 10:41:19AM +0100, Richard Biener wrote: > > How much churn would it be to pass down a mode alongside the operands > > in expand_binop? Can't find it right now but didn't we introduce > > some rtx_with_mode pair-like stuff somewhen? > > We have rtx_mode_t for that. But there are 240+ calls to expand_binop, > and even if we add an overload that will transform it, unless we forcefully > inline it wouldn't that slow down all the spots a little bit? > The thing is, for the vast majority of binary ops we don't need the operand > modes, it is mainly comparisons, second arg of shifts/rotates and this > widening case. Ok, so maybe split expand_binop then to the class of cases where we do need the mode and a class where we don't then? We don't have to use rtx_mode_t we can just pass two arguments. Not sure what is more convenient to use. Anyway, this doesn't have to happen in stage3, just as a general note on how I believe we changed things in other places. Richard S. may remember more here. Richard.