From patchwork Fri Sep 22 08:30:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 143259 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp5408037vqi; Fri, 22 Sep 2023 01:32:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcbYE4MIsPq2seHRVudUqHP06UInUt9jY47HnsH5n19SCoha9S7wHozxCSykTpllPakJaV X-Received: by 2002:aa7:c38d:0:b0:522:cef7:83c3 with SMTP id k13-20020aa7c38d000000b00522cef783c3mr7726590edq.8.1695371520374; Fri, 22 Sep 2023 01:32:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695371520; cv=none; d=google.com; s=arc-20160816; b=uZccRwc9n5hutt+S3v1kFxlIV+CNNsG97PxU+9jN50ag4lpxJp0RrEBeaskfbm9rL8 wldFULFHYN8ogv4lGnaKdzwl7d2Jc6H80+ClQjHW8rCATUtFLsflmRIhyvsjS3cKKDZW dfsJEFVOqzeHWgC6a4VRhlMgCn80+Foq4bALQZqBI3pEVwEhdUr0GvqiZsroMbJBBRvy VsWh+YC+3VezlaCZlhGTV8I5be6/5IV6iUwmC6KLrnHL+4jbP3PrRE5QdVc6lMnlPtb2 iDGOFY3DPE6OLACn87kPdHv+zJwkU/DteyDQdzaXLZOfy++NNFcovPu7b4d0rSDG3EFr huqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dmarc-filter:delivered-to; bh=CeX7unmuv7mKfzArzUE0FL7xj5Vdym3DtCshd9X45PI=; fh=12MRPJmZ1mgDpHqWoogMKqnaGRGM2b7lcuJroqfjJiw=; b=Sxp93HZU/XxGpjGpWp315C8zqgSoefqcyj8MMBlLEJ0Y6IwbwVwgtD1f1R2Na/GsQg e5LYfzLj2FK3/0HDvL4NT4sbQQ5ayTF5PGQFt0TMam6KgkRamaWUvprLSd/jUWf/7sXI QU2ReCXpUGi/H7vysCVa9pzBccjL67213NRm/01cbnrk/IqWpA6jErSB44VerVsNjKMZ 2x0out2/qsFJ53H5WYzX35qgfauUUg1DqMTe3biwsHpSWC8KAQbCQNSnsTqJYKJDoYuT hG7tSz+MJeU/RJ1UIhjVvc2AXu5cDTxZozq2Sumt5ubcoLK3jc3oCZfL0jeeQLvXkKVo X/DQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id l18-20020aa7c3d2000000b005234f288f57si2964582edr.75.2023.09.22.01.32.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 01:32:00 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 333F6385773A for ; Fri, 22 Sep 2023 08:31:59 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 0A9983858D37 for ; Fri, 22 Sep 2023 08:31:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0A9983858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp84t1695371460tpwodajg Received: from rios-cad122.hadoop.rioslab.org ( [58.60.1.26]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 22 Sep 2023 16:30:59 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: Pbidb3+knnFzzI+Qvh/2ZqsBktCHRq6fiMCnLzSd10UN0CUosRlXaUaWcGAXZ Dj4N9fuB8UyzzvKLNWILTsDRu4ANZVs1C4mHPTADlb4dc1AuO0Qs8PvsdGd+fIp0IYlvoAl ISRBnRqy7DqGXYpCKveBsPLt1SBK8AAwk1y5Bz/7gX1qUFDo6C/Wl82a/6JtasCZzNJq7rb iDhw/F4N6tzlNNhXsP92HaFk7npaEl0wfGcV0r9tKwiT89AuVyCLGQ50Wr3JR36gY4OlZbx wlvm6dowIZ2adVEU0LYtHN4pwCjus+hGBagk7mEf4H+PwzJ3MhMyhLja5rFI03vUto3Jt/L Mf7P6pUqzOtcPfJk2ry7dtllVmItNjqXnPF9uSP5FoPkFc6veuWa3KwbqDq109KPlW+WEBs X-QQ-GoodBg: 2 X-BIZMAIL-ID: 13164166101183890659 From: Juzhe-Zhong To: gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, kito.cheng@sifive.com, jeffreyalaw@gmail.com, rdapp.gcc@gmail.com, Juzhe-Zhong Subject: [Committed] RISC-V: Remove @ of vec_duplicate pattern Date: Fri, 22 Sep 2023 16:30:57 +0800 Message-Id: <20230922083057.980029-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_PASS, TXREP, T_SPF_HELO_TEMPERROR 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.30 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777725887475266621 X-GMAIL-MSGID: 1777725887475266621 It's obvious the @ of vec_duplicate pattern is duplicate. Regression passed. Committed. gcc/ChangeLog: * config/riscv/riscv-v.cc (gen_const_vector_dup): Use global expand function. * config/riscv/vector.md (@vec_duplicate): Remove @. (vec_duplicate): Ditto. --- gcc/config/riscv/riscv-v.cc | 4 +--- gcc/config/riscv/vector.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index a3672bad521..4d0e1d8d1a9 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -696,9 +696,7 @@ gen_const_vector_dup (machine_mode mode, poly_int64 val) { /* When VAL is const_poly_int value, we need to explicitly broadcast it into a vector using RVV broadcast instruction. */ - rtx dup = gen_reg_rtx (mode); - emit_insn (gen_vec_duplicate (mode, dup, c)); - return dup; + return expand_vector_broadcast (mode, c); } return gen_const_vec_duplicate (mode, c); } diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md index 73f90dea36b..d5300a33946 100644 --- a/gcc/config/riscv/vector.md +++ b/gcc/config/riscv/vector.md @@ -1371,7 +1371,7 @@ ;; This pattern only handles duplicates of non-constant inputs. ;; Constant vectors go through the movm pattern instead. ;; So "direct_broadcast_operand" can only be mem or reg, no CONSTANT. -(define_insn_and_split "@vec_duplicate" +(define_insn_and_split "vec_duplicate" [(set (match_operand:V_VLS 0 "register_operand") (vec_duplicate:V_VLS (match_operand: 1 "direct_broadcast_operand")))]