From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omggw7015-vm1.mail.djm.yahoo.co.jp (omggw7015-vm1.mail.djm.yahoo.co.jp [183.79.54.237]) by sourceware.org (Postfix) with ESMTPS id AA59E3857355 for ; Thu, 1 Jun 2023 15:36:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AA59E3857355 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=yahoo.co.jp Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.co.jp X-YMail-OSG: tADR8DUVM1lVcYpzT1DKsiGDsMj1T4xpvRvBXpKn2bGWKQUomdTImD2qf7ornR4 3BzulufzbsmWLaAhw2zw3.hHsQA.OqlmT4kXx4zschIZ.jBcLLHJm1IFccl4069taVKuZTpKCqjr vv04SbIZahgFuBLMnyNaI5NLxKEL6.JRfz8J9e59RdAi3s.PFR2OLodVUHMt85WLakNqovSefu9e 5Li8e3L40eRDYZNQaz7S4YfPgYXEJeNwza8y0mCLu7q9j6NxMXWe71CPZRMYFVVlnCeA_KgOMbrD vUuELfq8Bt5sCvwNfKMgmbSnb.5Iff9ldcpZYz4biyEjVE5hKzp37sIbiB24sFFZ7sciVyqnbbJw acVLUf.ko3nRt_NVrEegwHRxSnDPVJkT5WXzksY4zS18DI.5IVQAa0odG6tL_JVBPQv01KFn3.MA DK8Q5MDspJhm9h.i6cgp3qXMjbL_A3u36l3DzOEPsPe9KtcWYADNd9xGCfSxMHNFC22KFUBc5p3W AiPnFnMYy1bIvVkfbGccr7xEnLgoTvePV92SYIBv0ntEsH946SrvmvvMz7tMqCNdab4x4Xp5XTnA fajw7ePpag6dtbEUCDuddBGAs88d6gugG8CYHDx7pPiWx79vfYG4Il0uR7Rh4gbQlHc2WGTQZpgN 6LmInQkOOH7ClMvS9z.gjIt.taPPqylNi6cEiP5wtr2pTfHl6yGkN.cqZs2ntqr5b6PZf1P1x2AT ClQTIQctjsh4GubwPnWG5EtFJN2BDr.XB1mW88yyI.IyCD_fqoxn.5usVkO_M0at0TJRIK9KHezL RBuJC7xrq9OlftBrafhwxLwxAxvD86yi1Ajrsf5JHNYSZ9.ltAjDpsnwSezV72uGv2c_lYUwOKqV mZukHs8g65wEjXyfJCAGl_vYw6PmgI07ueZPMTHXvgFGr82r5z9y7Uji5isqSIDuwdpY91XOVeO1 BNfqKWY_nHNp2t.nli5A2K7Lm1zkGeBaKUdVlzd_SOWahmvyCVSRjRMAWoqUPZdUCO6M- Received: from sonicgw.mail.yahoo.co.jp by sonicconh5002.mail.kks.yahoo.co.jp with HTTP; Thu, 1 Jun 2023 15:36:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1685633784; s=yj20110701; d=yahoo.co.jp; h=Message-ID:Date:MIME-Version:Subject:To:References:Cc:From:In-Reply-To:Content-Type:Content-Transfer-Encoding; bh=ubScGARKKmPkm2WrRAVjM4a6NXntLf4u/TIzWSb6xTc=; b=vFXuCOjaktkypbI2a8dIiMehagxVpTQtBhCi+XKxltTMHKFqmMihEu0hhDJ9kfbo otFsRf17u0AP6y68cOr1KOZpPokdz2mHyfojqbqfZIXzHw75I6fll4HiPhsvQpMBiJf N6zh+gMJK+UR6xIZCjDM8QQ/dMJTNz9lPDPhyQEI= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=yj20110701; d=yahoo.co.jp; h=Message-ID:Date:MIME-Version:References:Cc:From:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=Sk6SHS+kBBMis98X0O7BVyfQyYVZ83gaQJCxjZUfr2FkH3fEu4YKv9XPhAh5YZ7s VRu/wWkaYqIfLGRqgNlYmMlo9DA6Z9/DMmv43VqR8IJmU9nqZ9fTsw75bHDTxu+RDrv O7ejFVPaxFzHNiLas9FZ9QiilY2Y99XYBqIMaFj8=; Received: by smtphe5004.mail.kks.ynwp.yahoo.co.jp (YJ Hermes SMTP Server) with ESMTPA ID b02ed8312715c55dc4389dba2e10c7c2; Fri, 02 Jun 2023 00:36:23 +0900 (JST) Message-ID: <10fa53ac-8de7-b998-661b-c92f3e725c8a@yahoo.co.jp> Date: Fri, 2 Jun 2023 00:36:20 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Subject: Re: [PATCH 2/3 v3] xtensa: Add 'adddi3' and 'subdi3' insn patterns To: Max Filippov References: <95b8b130-caef-12c8-b247-25ec7dbf0ac3.ref@yahoo.co.jp> <95b8b130-caef-12c8-b247-25ec7dbf0ac3@yahoo.co.jp> <931ab50b-8b5a-4979-b442-f193896a1a4f@yahoo.co.jp> Cc: GCC Patches From: Takayuki 'January June' Suwa In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,KAM_DMARC_STATUS,NICE_REPLY_A,NML_ADSP_CUSTOM_MED,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2023/06/01 23:20, Max Filippov wrote: > On Wed, May 31, 2023 at 11:01 PM Takayuki 'January June' Suwa > wrote: >> More optimized than the default RTL generation. >> >> gcc/ChangeLog: >> >> * config/xtensa/xtensa.md (adddi3, subdi3): >> New RTL generation patterns implemented according to the instruc- >> tion idioms described in the Xtensa ISA reference manual (p. 600). >> --- >> gcc/config/xtensa/xtensa.md | 52 +++++++++++++++++++++++++++++++++++++ >> 1 file changed, 52 insertions(+) >> >> diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md >> index eda1353894b..21afa747e89 100644 >> --- a/gcc/config/xtensa/xtensa.md >> +++ b/gcc/config/xtensa/xtensa.md >> @@ -190,6 +190,35 @@ >> (set_attr "mode" "SI") >> (set_attr "length" "3")]) >> >> +(define_expand "adddi3" >> + [(set (match_operand:DI 0 "register_operand") >> + (plus:DI (match_operand:DI 1 "register_operand") >> + (match_operand:DI 2 "register_operand")))] >> + "" >> +{ >> + rtx lo_dest, hi_dest, lo_op0, hi_op0, lo_op1, hi_op1; >> + rtx_code_label *label; >> + if (rtx_equal_p (operands[0], operands[1]) >> + || rtx_equal_p (operands[0], operands[2]) > >> + || ! REG_P (operands[1]) || ! REG_P (operands[2])) > > I wonder if these additional conditions are necessary, given that > the operands have the "register_operand" predicates? > See register_operand() in gcc/recog.cc. In fact, I've encountered several operands that satisfy the register_operand predicate but result in REG_P() being false.