From patchwork Tue Jul 4 00:57:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takayuki 'January June' Suwa X-Patchwork-Id: 115529 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp887698vqx; Mon, 3 Jul 2023 17:58:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlH5cqQmXh48J/1w3RvIK1NH5Gi1OQ8A+hTvb+x+RTaW58++vgqIB7yluwMRgWGrb3PfSkXt X-Received: by 2002:a05:6512:3994:b0:4f6:47a2:7bb4 with SMTP id j20-20020a056512399400b004f647a27bb4mr9891656lfu.60.1688432284200; Mon, 03 Jul 2023 17:58:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688432284; cv=none; d=google.com; s=arc-20160816; b=DtuHXsdJOA5TCFmBSQxHXA/5+3LUZ7hzpshFXumrEFO+oRumsUVkvojLMVWydmuPE8 vJzlX8jHMYcNvxGw+J/vp/38/nkLbfRHM8/1b6gMFJeDSo/d85m1VPuGYdOJAE9rUMDw X0h2UKmydYvrVMVMt120V2RIHwhBNmT81rxfLorxoeCzL5NGl3B0uRpynCDaT7oMaMgz 4k+g5RzMHtH9e36nxryL5CrRuHc5ciHLcdL4x3/Ee0m0w/8K4RY1EsOUiTjloWjACrRI 2Kdg8QPI3ZGc3zwUcDlrd/uALNIeT4TAkllAcNXZHANHRVh91YdiojBDZausawHIyr0G Nc0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:references :content-transfer-encoding:subject:cc:to:user-agent:mime-version :date:message-id:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=oTdul/YjwxV2a7GQwgp4zu7Q6ENFER4458FNCjhTTF4=; fh=+wxo5kSZvN52p1ooJTAJy9Qs8TLl6DV0i/eYMLN37Pc=; b=pQOB7AzXcm8iBwgJ8OMYOJflK6IqPiPbYs8WgbXZjQz+ZOoamrX5TEr29oG8gvEf39 PbR7mIl6iTxcbsiYqvMKz8NZleOzat55rGs/PWc5pyKZUBN2Od+FOAzw//LlktDUYT9S Tdqz+EAo95c/teVBXWAPUsRTUWJQ4R8vq/VkHRrfhW6ia24z5Q3HtC831/RRtKmwkP5q SiNgTtmW3ltMGY8tD92dbNvPgjWDGhatnrE4iUI7giA/3qETY1WOmtXLO4nrs2xuI+oH hNPV63h2DGHokzmZB/nfrdZ6tVeKIQWtQtVXOgd4m7GbYlg207czPJWib4AFhdvdrbFw I1gA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=Exy0wkP0; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id y6-20020a50e606000000b0051db0dfbf96si8610785edm.401.2023.07.03.17.58.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 17:58:04 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=Exy0wkP0; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D526E385771A for ; Tue, 4 Jul 2023 00:58:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D526E385771A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1688432282; bh=oTdul/YjwxV2a7GQwgp4zu7Q6ENFER4458FNCjhTTF4=; h=Date:To:Cc:Subject:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Exy0wkP02ZP7KB26AWEzn1CEaYEfdECYW6NrMkPUauEfqbO2NB8wJk+U22gLwSU5m 65bhPgo2YpLNIa9/Q8zQ9GTKKt5N1TkEAMSwRHvaxxj9JPqdmSK7Z/DJbrt4K0muNT m+aPe1S1+CK3T8/yvGVYwSce7QZWfA1MosrJJ8J8= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from omggw0010.mail.otm.yahoo.co.jp (omggw0010.mail.otm.yahoo.co.jp [182.22.18.22]) by sourceware.org (Postfix) with ESMTPS id 4813C3858C30 for ; Tue, 4 Jul 2023 00:57:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4813C3858C30 X-YMail-OSG: dRVe2XsVM1lwpC_4uZlQLn7XXjoL8UJj.NvibtbXkTwvrdXzACRoXRJrhqbQEYy AHVIzJz2_lv9uzK1HOFEYY07OB38ApxsKLgMIRU1kx390ov.dHoxtXuFdUZxTOZ7m7FwCejgal37 S5vALcIhHy_89xYqmooYJ40TSV.hbY18ldEq1h1EbOkY7R_yQPj9UopTncE6U_MYmn7qJaAxEsL6 N.4ObUKG6gDY77HhzG51xmKDqeM.3cewXe7SoJEdhzmeo3Acrx5RjgKztViinI7YXXOqN9ddU8Lp aIWumrKQeTk7hb44HRiAjqb0009RO7ELDTTt5ci12w2PrYXh.xuS1J4X9HgwG0kUZbp5BuswVbQE qaXL9PMvZ69rC5sw_w0VIOBMeMG1lLzTHQA2a_R.ZJzDr1uriOkfSmW.mFYd72c_606vqExHOZ8R yagT5vIzsLWeVyfIezWBDbbdc50CnHAPcpj433Cz3hDLuyQF6sTP846REfKHZon.w7jH20ZUhvap Jw3nGumE42Umtl.uPq4TWYAAl4AUDIdPMDqBxEg3yAlevMkaj9jKQXGJyyuUwHWn5B0NHW4eiBRo JqnfUtYKNWZo3nX1qM30G5ZCKFHHNmuzxGGUDJIyqxyBJY4IOdy7n7fxLDslsVBuI70k9nbF5pbF La_pWCCaxCvosKuoCz.gRqz8b1Z0ALpj3qz.gFp5aSN_2yEYX7UbweYF1Q6zNKVRuyefzE3YkvP6 H0KkNF3qZ8fwwiMEez3D4fmvziNhgUpr2.Xr3rRytWRJnWTr6Cvp4gHEmM.EO6oUqsJE0FSQq9Za p1S306ezuDti_ZsYUXxDdAQqcjobeyu8tfFs5cbm4048Wooort0LS9LEXlXBkSD48IjEF8u_kgp9 ksPCrty8fdKt2y4NlBTvaxNkxBbgeDx..7p509WZabIosWqznzJD_L6dLEstntOczWJG5OCkm2Pp fwpnJqoCIzXGYJPhpfhj8rlkHllA2pQ4LgAka537RgoGo3wrATBaw.8MjWPp4IxyEpg-- Received: from sonicgw.mail.yahoo.co.jp by sonicconh6003.mail.ssk.yahoo.co.jp with HTTP; Tue, 4 Jul 2023 00:57:08 +0000 Received: by smtphe6001.mail.ssk.ynwp.yahoo.co.jp (YJ Hermes SMTP Server) with ESMTPA ID c295ce91c972eab17de4bf4b1d9d4884; Tue, 04 Jul 2023 09:57:04 +0900 (JST) Message-ID: <932ef16c-ce43-30a1-d1c0-a4d3af3918e8@yahoo.co.jp> Date: Tue, 4 Jul 2023 09:57:03 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 To: GCC Patches Cc: Max Filippov Subject: [PATCH] xtensa: Use HARD_REG_SET instead of bare integer References: <932ef16c-ce43-30a1-d1c0-a4d3af3918e8.ref@yahoo.co.jp> X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Takayuki 'January June' Suwa via Gcc-patches From: Takayuki 'January June' Suwa Reply-To: Takayuki 'January June' Suwa Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770449571159049380?= X-GMAIL-MSGID: =?utf-8?q?1770449571159049380?= gcc/ChangeLog: * config/xtensa/xtensa.cc (machine_function, xtensa_expand_prologue): Change to use HARD_REG_BIT and its macros. * config/xtensa/xtensa.md (peephole2: regmove elimination during DFmode input reload): Likewise. --- gcc/config/xtensa/xtensa.cc | 9 +++++---- gcc/config/xtensa/xtensa.md | 13 ++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index 3298d53493c..992e80d824d 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -107,7 +107,7 @@ struct GTY(()) machine_function bool epilogue_done; bool inhibit_logues_a1_adjusts; rtx last_logues_a9_content; - HOST_WIDE_INT eliminated_callee_saved_bmp; + HARD_REG_SET eliminated_callee_saved; }; static void xtensa_option_override (void); @@ -3586,7 +3586,8 @@ xtensa_expand_prologue (void) df_insn_rescan (insnS); SET_SRC (PATTERN (insnR)) = copy_rtx (mem); df_insn_rescan (insnR); - cfun->machine->eliminated_callee_saved_bmp |= 1 << regno; + SET_HARD_REG_BIT (cfun->machine->eliminated_callee_saved, + regno); } else { @@ -3690,8 +3691,8 @@ xtensa_expand_epilogue (bool sibcall_p) for (regno = 0; regno < FIRST_PSEUDO_REGISTER; ++regno) if (xtensa_call_save_reg(regno)) { - if (! (cfun->machine->eliminated_callee_saved_bmp - & (1 << regno))) + if (! TEST_HARD_REG_BIT (cfun->machine->eliminated_callee_saved, + regno)) { rtx x = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset)); diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md index 664424f1239..5386e45b51d 100644 --- a/gcc/config/xtensa/xtensa.md +++ b/gcc/config/xtensa/xtensa.md @@ -3240,15 +3240,14 @@ (set (match_dup 3) (match_dup 7))] { - uint32_t check = 0; + HARD_REG_SET regs; int i; + CLEAR_HARD_REG_SET (regs); for (i = 0; i <= 3; ++i) - { - uint32_t mask = (uint32_t)1 << REGNO (operands[i]); - if (check & mask) - FAIL; - check |= mask; - } + if (TEST_HARD_REG_BIT (regs, REGNO (operands[i]))) + FAIL; + else + SET_HARD_REG_BIT (regs, REGNO (operands[i])); operands[6] = gen_rtx_MEM (SFmode, XEXP (operands[6], 0)); operands[7] = gen_rtx_MEM (SFmode, XEXP (operands[7], 0)); })