From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19225 invoked by alias); 17 Aug 2012 14:22:58 -0000 Received: (qmail 19201 invoked by uid 22791); 17 Aug 2012 14:22:53 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 17 Aug 2012 14:22:40 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1T2NRe-0004uE-Qm from Andrew_Stubbs@mentor.com ; Fri, 17 Aug 2012 07:22:38 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Fri, 17 Aug 2012 07:22:38 -0700 Received: from [172.30.6.101] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.1.289.1; Fri, 17 Aug 2012 15:22:35 +0100 Message-ID: <502E53A7.406@codesourcery.com> Date: Fri, 17 Aug 2012 14:22:00 -0000 From: Andrew Stubbs User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 MIME-Version: 1.0 To: Richard Earnshaw CC: , Richard Sandiford Subject: Re: [patch, tree-ssa] PR54295 Incorrect value extension in widening multiply-accumulate References: <502E4F54.9040309@arm.com> In-Reply-To: <502E4F54.9040309@arm.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit 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 X-SW-Source: 2012-08/txt/msg01173.txt.bz2 On 17/08/12 15:04, Richard Earnshaw wrote: > The fix is to make is_widening_mult_p note that it has been called with > a WIDEN_MULT_EXPR and rather than decompose the operands again, to > simply extract the existing operands, which have already been formulated > correctly for a widening multiply operation. As long as the existing test cases work, I think the only problem with this idea is if some architecture has a wider range of widening multiply-and-accumulate than it does plain widening multiply. If no such architecture exists then this is fine with me, for whatever that's worth. IIRC, ARM is one of only two architectures (in GCC) with widening multiplies that widen more than twice the width, and, last I looked, the only one that has the patterns to use this code, so it's probably safe. Andrew