From patchwork Fri Jul 7 08:22:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Xu X-Patchwork-Id: 117037 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp3106841vqx; Fri, 7 Jul 2023 01:23:50 -0700 (PDT) X-Google-Smtp-Source: APBJJlF5+CD+ajhZpBBAfqWmHdtKx+AHjv5z+FqYudssSu/qv2nAlij5+nfT6M1R9IUeJ5gGAXmE X-Received: by 2002:a17:907:779a:b0:992:1005:928d with SMTP id ky26-20020a170907779a00b009921005928dmr4099241ejc.8.1688718230774; Fri, 07 Jul 2023 01:23:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688718230; cv=none; d=google.com; s=arc-20160816; b=Do3OSGaQVA3WtlaTlMAEZ0zfeYsA9K54BtL+B9DWJQfFUpDViGSY8s/FGH7TOeVPgC 0smIdAUUAwkLomH7q1SnWLNd1duWZ9zMcuE/0gUSt3PFOvUeSLd/ml4cfk2yZm2FkpfV iC0oh3BB1zytcZ0l6kifNkMNjHEhmqR5NIcoicD14pWzstTl+2MuovRtMIYXwwjA+P6n IgzE3yMhCnJAgY9PGR3GQlbP2WqjJMPOsfXAyKR7kf7aB71TNhrPxEKDAOLQoxLZ+EII swaq7EHC9TpHhoyZZcDsKlyK05S0mLg9VxYpvQwAZqKIfLndayW1OG1n3Z+0Pz9jcg3r 8Sjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:message-id:date:subject:cc:to :from:dmarc-filter:delivered-to; bh=1DBj6Xbm0BMp8o3g4RutqQmJEKfO6xphErb/AIz45cw=; fh=xRHlSzSCMKNvIa74G8PWph6y8tCVr5A8o/USmyJG9Zw=; b=ZeqlgiiW8FeLUwZvDe1cgFOA8oV6MXTIq0Uy2OuP0G9rflLeD5rWRbLVA5sCPrrtWi KAm9AOTsoH3I9i5vaKaunQqXiG8fpoPzhqCaoBXlJlO2MODcXrvPP0rra5pkfns2yvpo nUg76bdY6rCJRV7axlUwfASdO66qHtL/ub2WwxOS752/FYbOiiDBhRZSbUOta9QNzRhV d9hD4gXTG6iSTR5yL6lEFRuGHSLeTNiwNQsxCk8RG1zEjokbOgS4aVDaSWQY0OKCk5IL MTzKihDS40IpuUAbmbWC5w6yIRvZpOEX85eAkY/y0HFLL94a618IuI3BZb9L44IjrtkY 3fHA== ARC-Authentication-Results: i=1; mx.google.com; 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" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id x15-20020a170906134f00b0099207b3bc48si1949221ejb.224.2023.07.07.01.23.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jul 2023 01:23:50 -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; 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" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ED498386D631 for ; Fri, 7 Jul 2023 08:23:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from zg8tmtyylji0my4xnjqumte4.icoremail.net (zg8tmtyylji0my4xnjqumte4.icoremail.net [162.243.164.118]) by sourceware.org (Postfix) with ESMTP id D44A53854153 for ; Fri, 7 Jul 2023 08:22:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D44A53854153 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=eswincomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=eswincomputing.com Received: from host014-ubuntu-1804.lxd (unknown [10.12.130.31]) by app2 (Coremail) with SMTP id EggMCgCn7pRIy6dkchwvAA--.14318S4; Fri, 07 Jul 2023 16:22:32 +0800 (CST) From: Li Xu To: gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com, juzhe.zhong@rivai.ai, zhengyu@eswincomputing.com, Li Xu Subject: [PATCH] RISCV: Fix local_eliminate_vsetvl_insn bug in VSETVL PASS[PR110560] Date: Fri, 7 Jul 2023 08:22:31 +0000 Message-Id: <20230707082231.27703-1-xuli1@eswincomputing.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: EggMCgCn7pRIy6dkchwvAA--.14318S4 X-Coremail-Antispam: 1UD129KBjvdXoW7JF18uFy5ZryDtw17Zw1fWFg_yoWfKwcE93 48JFZI9rWUCay0kF1DAryF9Fy5tFZ5Jas2g3yxGr129Fy7W347Z34kCF1DGFy5u3s7A3Z7 GF97Wr9ayw12gjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb7AFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j 6rxdM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s 0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxkIecxEwVCm-wCF04k2 0xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI 8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41l IxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIx AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2 jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: 50xoxi46hv4xpqfrz1xxwl0woofrz/ X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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: , 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?1770749407553949661?= X-GMAIL-MSGID: =?utf-8?q?1770749407553949661?= This patch fixes this issue happens on GCC-13. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110560 This patch should be backported to GCC-13. GCC-14 has rewritten this function, so there is no issue. PR target/110560 gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): Fix bug. --- gcc/config/riscv/riscv-vsetvl.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc index 35403b5679c..3355ca4e3fb 100644 --- a/gcc/config/riscv/riscv-vsetvl.cc +++ b/gcc/config/riscv/riscv-vsetvl.cc @@ -1078,6 +1078,10 @@ local_eliminate_vsetvl_insn (const vector_insn_info &dem) if (has_vtype_op (i->rtl ())) { + if (!PREV_INSN (i->rtl ())) + return; + if (!NONJUMP_INSN_P (PREV_INSN (i->rtl ()))) + return; if (!vsetvl_discard_result_insn_p (PREV_INSN (i->rtl ()))) return; rtx avl = get_avl (i->rtl ());