From patchwork Tue Dec 5 08:38:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Xu X-Patchwork-Id: 173805 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp3289210vqy; Tue, 5 Dec 2023 00:39:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IHae6xY49USBFzLgwGE0IROppk+jjDqdnOWD/4KQiZZhVM7vCyEm7rKEMaNjl14kVshz9gZ X-Received: by 2002:a05:620a:27c6:b0:77d:a0a3:f830 with SMTP id i6-20020a05620a27c600b0077da0a3f830mr1038157qkp.36.1701765574014; Tue, 05 Dec 2023 00:39:34 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701765574; cv=pass; d=google.com; s=arc-20160816; b=d9LQyl3Q0zttRDkxGWBnPt8vhL3nrnpDr3U/GlEa11399rUxpYfMx0ODhE+2tJ2nx0 CyeUekLHmJ402QOsolgVvo6BYS+ng7s/NWOvz+UAxXYWRaPR4s1vRlRopkrlzTU9sjJq TSSantU3aP77Q4xSy8bctKrOHdHSZBw+dyJg5RXQJVnimgl81bpOaZk/V9HQtIdkm7xg F+Hy+zPcPQo2/mouey0T4u2sNNP21mJN1h7P/jjXJiiNSy2JfloAiiPXF3KK0yHAyJ56 e8c8o1oS3SfkNU+TPUXBvu/i24ZcRtoG0vAoqIDcfBpT6OpmJ3oRE+aGRFx6b7TC5XYE Tfzw== ARC-Message-Signature: i=2; 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:message-id:date:subject:cc:to :from:arc-filter:dmarc-filter:delivered-to; bh=VlqeX8sSMc1gPg20vxprnO4vDUaQa6SsY1GpBHugavY=; fh=Qb/t3bub0qUevN32JfR0ksI5uuULifWToHOJuO7VEBY=; b=N2NpXIC8rvs8CaxD2qFgTibUtYmRnUW7dOf4Q2Vf0h4rexOEQTTq14nNPe5YlUttpP OFoB4pJtCq74FnlwM/mStl6tE/GjMRI1ujFAOYfAHLuhSy7lbHM1YLmkU+ML3R40QR/3 9bvBQe/Jz27z8nnCYwvjRN9C85YrKyiMCop9gGgFKUmMNn9RMGF1Bxc6qXbYej1fh5MM GT8aiv74UWApBXQDFXuNOiWow2oXxe63P3SAzCMNWNZw7FeUuxn8fCH2ACTA6kSulMs7 KV9kKSgmBnrXR7pSLh7xZy4+XIDv49rQAXjXU9XRPjJYKwUuOGJAgmHuSmku6KW2J5ra H1ag== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); 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 c2-20020a05620a268200b007742d72f2d0si11787130qkp.12.2023.12.05.00.39.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 00:39:33 -0800 (PST) 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; arc=pass (i=1); 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 C60AF385DC03 for ; Tue, 5 Dec 2023 08:39:33 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from eswincomputing.com (unknown [114.243.134.46]) by sourceware.org (Postfix) with ESMTP id 799343858403 for ; Tue, 5 Dec 2023 08:38:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 799343858403 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=eswincomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=eswincomputing.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 799343858403 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.243.134.46 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701765536; cv=none; b=u/xSvYVqTdj8CABFr5bsvQuMRfOjYt/w2Lgz/xLnaOPs3AdSflsRcOC9hgEXjWkjsJSTrtszuvFV1cXPsbLNfoSAF2mxw9FUF3lwPHZQo0yFqssTMZifHAKTFIrbeP4t7DLbBxLVmUfXGp3ODknfb3Dx47gnx9BBA25J2ICXl7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701765536; c=relaxed/simple; bh=qnFN0p736I+GuCu+uclUo3L7VcCgh3yUdV5zq3sdfgs=; h=From:To:Subject:Date:Message-Id; b=P8AITeTGMazMUZ2lOYuwD0vu/DU/cEgfeLOOKL2vtBwmScT/Q6DcT4tbW0vM8k1kO77n/dn0iSjoXWWoaLgD7j2w3vDdgLNZLBV1ICBsMc5zG4DllYYLERzNRHti5XztSSGwQFjWrdaBNU3Wy82pvDAFSaAE9iYmpmvdOTqUXAo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from host014-ubuntu-1804.lxd (unknown [10.12.130.31]) by app2 (Coremail) with SMTP id TQJkCgB3BdRW4W5lU0kAAA--.2180S4; Tue, 05 Dec 2023 16:37:43 +0800 (CST) From: Li Xu To: gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com, juzhe.zhong@rivai.ai, xuli Subject: [PATCH v2] RISC-V: FAIL:g++.dg/torture/vshuf-v[2|4]di.C -Os (execution test) on RV32 Date: Tue, 5 Dec 2023 08:38:04 +0000 Message-Id: <20231205083804.27652-1-xuli1@eswincomputing.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: TQJkCgB3BdRW4W5lU0kAAA--.2180S4 X-Coremail-Antispam: 1UD129KBjvJXoW7uF18uFWxCw4rAFW8tw1fWFg_yoW8Xw1rpF yDtr13X3y5AasIq3W2qFyfW3y3Aayfur4FvF1kGF4DAa95GrWYyF1qyry0qrWYqa15ZrZ3 CFW3KryFyw4UJa7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUva14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lc7CjxVAaw2AFwI0_ JF0_Jw1lc2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI 8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AK xVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI 8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280 aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyT uYvjfUYCJmUUUUU X-CM-SenderInfo: 50xoxi46hv4xpqfrz1xxwl0woofrz/ X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_NUMSUBJECT, SPF_HELO_PASS, 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.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: 1784430538279475091 X-GMAIL-MSGID: 1784430538279475091 From: xuli This patch fixs the issue of g++.dg/torture/vshuf-v2di.C and g++.dg/torture/vshuf-v4di.C -Os execution failure with -march=rv32gcv -mabi=ilp32d. Consider the following code: typedef unsigned long long V __attribute__((vector_size(16))); .LC0: 0xc1c2c3c4c5c6c7c8 before this patch: lui a5,%hi(.LC0) addi a5,a5,%lo(.LC0) lw a6,4(a5)//0xc1c2c3c4 lw a5,0(a5)//0xc5c6c7c8 vsetivli zero,2,e64,m1,ta,mu vmv.v.x v2,a5//v2 is {0xffffffffc5c6c7c8, 0xffffffffc5c6c7c8} after this patch: lui a5,%hi(.LC0) addi a5,a5,%lo(.LC0) vsetivli zero,2,e64,m1,ta,mu vlse64.v v2,0(a5),zero//v2 is {0xc1c2c3c4c5c6c7c8, 0xc1c2c3c4c5c6c7c8} gcc/ChangeLog: * config/riscv/riscv-v.cc (sew64_scalar_helper): Bugfix. --- gcc/config/riscv/riscv-v.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 588c127343e..2799a216a0b 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -1728,7 +1728,12 @@ sew64_scalar_helper (rtx *operands, rtx *scalar_op, rtx vl, } if (CONST_INT_P (*scalar_op)) - *scalar_op = force_reg (scalar_mode, *scalar_op); + { + if (maybe_gt (GET_MODE_SIZE (scalar_mode), GET_MODE_SIZE (Pmode))) + *scalar_op = force_const_mem (scalar_mode, *scalar_op); + else + *scalar_op = force_reg (scalar_mode, *scalar_op); + } rtx tmp = gen_reg_rtx (vector_mode); rtx ops[] = {tmp, *scalar_op};