From patchwork Tue Dec 5 08:22:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Xu X-Patchwork-Id: 173792 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp3283701vqy; Tue, 5 Dec 2023 00:23:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IFlKumTT9KbUlpNsmJVWyCtiCzqMVvmzpEeJTuVEsC5gBAgCXORtrn1IEKTziTqT+f7dLrc X-Received: by 2002:a05:620a:31c:b0:77e:fba3:4f43 with SMTP id s28-20020a05620a031c00b0077efba34f43mr896915qkm.153.1701764635546; Tue, 05 Dec 2023 00:23:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701764635; cv=pass; d=google.com; s=arc-20160816; b=T0zS1+kPjgJTufurfKfjT2vq5xFWFOAJ0rG5NmxSE/EcvsEYoKfrb1ig62PJLzMUJI hGTOJg9qn7+wpEVVPeuTVSpqaAxcPlN6PPbmpR7ocZr8NcJVA4W8moNOOKZciNEN3Jq1 qd+1cJIXeWkFYxQdGe2b+5UfIDlRGgqnSFmXu5Q1tgQ9dKK4uuxy0v3p5vbprkJ4lHf/ APtAulb1YmFkmVgtkuQNTvQl6/Nop/WEd/OLaAnvWB4uBAnhCI+TnkZn39fjGcwJmkhx KkN2OvZxmNiRg535j3Ix7L9peOoBThyVc2xTtneu0f9pgAjQVRrK16FKl7REpQcLRk0q bLIA== 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=gdqqrKlql3pyIEHSqFGOVp9QuHe5TKZ0ULZgxjOWlMQ=; fh=Qb/t3bub0qUevN32JfR0ksI5uuULifWToHOJuO7VEBY=; b=XDdtj1QVJgKyhXG6fObLcF8xVrYAqMi5P9wB5Nh6SOP+DHaiVYxTY5dZ3CRD43PSkH gacc0gFC7dfecek+MwedOxXp19OP54AxwP0XgZgzzf/ZO4yI5wrJ5GIroV9/tZjP5eeI xKU+05ZCjvNqLYS91Hr/fB3N/y6NNAoCf+42yY78hFcELVkh6igFi0wPP79hTpnev0V4 UbyXt1oBd2uyAmhiNEQBHo6eJuwY8DjhIIJsi81kG6qNLxnjrVRt7xDPHab+nT610Bph 3SZpJGiOGajp7wqUujz8LI/fNrgmemzY+d5r6TCFUOnN6myNmZ3nmQE2rqb3PTc/tzWx B7vg== 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 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id i5-20020a05620a248500b0077dcd9b09cesi11628562qkn.522.2023.12.05.00.23.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 00:23:55 -0800 (PST) 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; arc=pass (i=1); 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 4FEA4384F999 for ; Tue, 5 Dec 2023 08:23:55 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from zg8tndyumtaxlji0oc4xnzya.icoremail.net (zg8tndyumtaxlji0oc4xnzya.icoremail.net [46.101.248.176]) by sourceware.org (Postfix) with ESMTP id 4B2E93858403 for ; Tue, 5 Dec 2023 08:23:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4B2E93858403 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 4B2E93858403 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=46.101.248.176 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701764606; cv=none; b=gYXgAcaqu5ynfCthJ5i7KJlye+Suf1x8UOrjwAr5iC0vSby+/kb047X+Tiqd/pdTyD/6qklCCPwcryYrrKv51dhvGYZslfXDbmDklgqb07wpdkXjiXkKXbj8kw1SnCzUVHYozPAmwvsg9y3lP1MWK+g2XdgbVG/QETq2Uj8YgjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701764606; c=relaxed/simple; bh=TUJERS8K41bFA6F4evFmC1dtr4WWUCawHejXlyZpxgE=; h=From:To:Subject:Date:Message-Id; b=nj+/2CRc9GWNW/TxtgyKSMzROAIaMmdyLatDQfKNAiCOF+NfmD0ynLMnRV1asLEq/gMX4TvaKayp3wZAJ5PeURj4TDtvcPz2F9hFsE5P9Yedy9WFq+mzVEVoVi6OpgCO8ZN7VV6lcpgEXvJ9Oj6XG+fmQAzExtrySAHyi3JII5w= 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 TQJkCgD3hdS33W5lwEgAAA--.4031S4; Tue, 05 Dec 2023 16:22:16 +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] RISC-V: FAIL:g++.dg/torture/vshuf-v[2|4]di.C -Os (execution test) on RV32 Date: Tue, 5 Dec 2023 08:22:37 +0000 Message-Id: <20231205082237.16713-1-xuli1@eswincomputing.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: TQJkCgD3hdS33W5lwEgAAA--.4031S4 X-Coremail-Antispam: 1UD129KBjvJXoW7uF18uFWxCw4rAFW8tw1fWFg_yoW8Wr1UpF yDtr13t3y5AasIq3W2gFyfW3y3AayfZr4FqF1kJFWDAa95GrW5tF1qyry0vrWYqa15ZrZ3 CrW3KFyIyw4UAa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUk214x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lc2xSY4AK6svPMxAI w28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr 4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxG rwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8Jw CI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2 z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjfUF9a9DUUUU X-CM-SenderInfo: 50xoxi46hv4xpqfrz1xxwl0woofrz/ X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_NUMSUBJECT, RCVD_IN_MSPIKE_H2, 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.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: 1784429554531337385 X-GMAIL-MSGID: 1784429554531337385 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 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 588c127343e..16ab05c40bb 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -1728,7 +1728,13 @@ 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 (!TARGET_64BIT + && 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};