From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11520 invoked by alias); 28 Apr 2016 12:31:00 -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 11455 invoked by uid 89); 28 Apr 2016 12:30:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy= X-HELO: mailrelay6.public.one.com Received: from mailrelay6.public.one.com (HELO mailrelay6.public.one.com) (91.198.169.200) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 28 Apr 2016 12:30:49 +0000 X-HalOne-Cookie: 8cc7f6de196ffe1002f7f900d06e9820b929b7fb X-HalOne-ID: 07a8bc6d-0d3d-11e6-9f8d-b82a72d06996 Received: from localhost.localdomain (unknown [91.135.11.213]) by smtpfilter3.public.one.com (Halon Mail Gateway) with ESMTPSA; Thu, 28 Apr 2016 12:30:44 +0000 (UTC) Subject: Re: [PATCH 6/6] [ARC] Various instruction pattern fixes To: Claudiu Zissulescu , Claudiu Zissulescu , gcc-patches@gcc.gnu.org References: <1460990028-5718-1-git-send-email-claziss@synopsys.com> <1460990028-5718-7-git-send-email-claziss@synopsys.com> <571526B2.7010502@gmail.com> Cc: Francois.Bedard@synopsys.com, jeremy.bennett@embecosm.com From: Joern Wolfgang Rennecke Message-ID: <57220274.3000607@amylaar.uk> Date: Thu, 28 Apr 2016 12:31:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <571526B2.7010502@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-04/txt/msg01814.txt.bz2 On 18/04/16 19:25, Claudiu Zissulescu wrote: > Forgot to add the reload cases. Here it is the updated patch. > > //Claudiu > > > gcc/ > 2016-04-18 Claudiu Zissulescu > > * config/arc/arc.md (mulsidi3): Change operand 0 predicate to > register_operand. > (umulsidi3): Likewise. > (indirect_jump): Fix jump instruction assembly patterns. > (arcset): Change operand 1 predicate to nonmemory_operand. > (arcsetltu, arcsetgeu): Likewise. ChangeLog omission: You are also adding an r/n/r alternative. > (arcsethi, arcsetls): Fix pattern. Otherwise this is OK. If the constant / register comparisons come from an expander, in general the expander should be fixed to swap the operands and use the swapped comparison code, to get canonical rtl. OTOH, constant re-materialization during register allocation can change a reg-reg into a constant-reg comparison, and at that stage, canonicalization would not be expected.