From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9098 invoked by alias); 19 May 2011 12:31:58 -0000 Received: (qmail 9085 invoked by uid 22791); 19 May 2011 12:31:56 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 19 May 2011 12:31:36 +0000 Received: (qmail 10882 invoked from network); 19 May 2011 12:31:35 -0000 Received: from unknown (HELO ?84.152.168.214?) (bernds@127.0.0.2) by mail.codesourcery.com with ESMTPA; 19 May 2011 12:31:35 -0000 Message-ID: <4DD50DA5.108@codesourcery.com> Date: Thu, 19 May 2011 13:06:00 -0000 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b3pre Thunderbird/3.1.10 MIME-Version: 1.0 To: Andrew Stubbs CC: Richard Earnshaw , gcc-patches@gcc.gnu.org Subject: Re: [patch][combine] Fix 16-bit -> 64-bit multiply and accumulate References: <4D01018F.3020108@codesourcery.com> <1296153619.9738.16.camel@e102346-lin.cambridge.arm.com> <4D42955C.1060707@codesourcery.com> <1296223929.9738.30.camel@e102346-lin.cambridge.arm.com> <4D42DD32.7020404@codesourcery.com> <1296228038.9738.48.camel@e102346-lin.cambridge.arm.com> <4D8CC0A9.5080504@codesourcery.com> <4DA823F1.2040907@codesourcery.com> <4DBFC5D8.1090009@codesourcery.com> <4DD3B39A.4090905@codesourcery.com> In-Reply-To: <4DD3B39A.4090905@codesourcery.com> Content-Type: text/plain; charset=windows-1252 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: 2011-05/txt/msg01370.txt.bz2 On 05/18/2011 11:55 AM, Andrew Stubbs wrote: > > case SIGN_EXTEND: > + op = make_compound_operation (op, SET); > + I would have expected that bit to go into the MULT case (doing it for both operands), so that the effect is limited to just making widening multiplies more obvious. Also, using make_compound_operation unchanged is probably not safe - it calls SUBST which I think is only valid during combine. I think you may have to break out the non-recursive part into a make_compound_operation_1 (probably to be placed into simplify-rtx.c). Bernd