From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) by sourceware.org (Postfix) with ESMTPS id 7D8AE3858D33 for ; Sun, 10 Sep 2023 14:07:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D8AE3858D33 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: bizesmtp71t1694354833t9bbsbpv Received: from rios-cad122.hadoop.rioslab.org ( [58.60.1.26]) by bizesmtp.qq.com (ESMTP) with id ; Sun, 10 Sep 2023 22:07:12 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: CR3LFp2JE4n1H/y+htxK/nx7yOwb8u9dCI8kcpGCLkDvKKO9BHUFaf35ql7x9 fVIAl5Gb08Az/Q1oanAVgX2/iBSvrO08JsvcS4hLCGk+/nAIrRhnmIrUI+KZrwfDo8518TZ 4ej8JwcgWzk+CqIy9Y8+ZcDH99qVOwgcwdbuJUKlOjkfAx4AYzXIZYOCM0u1Mf7CLsvyppm 9yS7ZNKbo3I9A5T/pDzFsfconhollqTmmOjvxYc6W5J0iRr1HgZ8P8qve/GwdSzx7fuwh6t bJ0eo3RdNk6DLP2PZCtRUPvyRDjNX1f5FCLTpvV70YN61KWMguODaMTG+bUwvX9WuRgyPAd JWNMrRB0XkhqVa4B1VfmbhQ6i79EhLfd6BgWTfeE9T615nNZqa6y2Qiw4D2km/udTh1vzVf avbT59Xmo/0= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 1288007278807360229 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: [PATCH V2] RISC-V: Avoid unnecessary slideup in compress pattern of vec_perm Date: Sun, 10 Sep 2023 22:07:10 +0800 Message-Id: <20230910140710.2167538-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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_HELO_PASS,SPF_PASS,TXREP 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: gcc/ChangeLog: * config/riscv/riscv-v.cc (shuffle_compress_patterns): Avoid unnecessary slideup. --- gcc/config/riscv/riscv-v.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index bee60de1d26..3cd1f61de0e 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -2647,7 +2647,8 @@ shuffle_compress_patterns (struct expand_vec_perm_d *d) For index = { 0, 2, 5, 6}, we need to slide op1 up before we apply compress approach. */ - bool need_slideup_p = maybe_ne (d->perm[vlen - 1], 2 * vec_len - 1); + bool need_slideup_p = maybe_ne (d->perm[vlen - 1], 2 * vec_len - 1) + && !const_vec_duplicate_p (d->op1); /* If we leave it directly be handled by general gather, the code sequence will be: -- 2.36.3