From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259558; cv=none; d=zohomail.com; s=zohoarc; b=F9MhlYWrQGRIXkNQmIBIvKPNU2rv1KCVTlH5s2isKyO+Lt306C86cCbp/GxeeEyyFVJYWJza07acHIMmdKqwHPO5v8/Fn7EbwTnu9EIsqea1qem4M0OwEFWNGs/wR45iv/69OMuGrj/ikE9xU6lPodYoLTO+j+yWvLFfM7kv/lg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259558; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UDy/waYHc2WMJ63eIScaA3Qlr2ckg0rO6MTqODUDDkU=; b=dHbBC10hXF85mDFi9Dys5ZFbyGzdSt8bsv5bk9w7P42FGao/r4Y7jn6Se23LfFL9LGOQsQmQR4d7+g0Avxgbw7j0Rp5mCl2ZkpXb72ZjiPicVay12bPymnaLwWtRePiZ/ZD4sNt+3IfqqjL6DcZ++nbryQVdaUMLOg2D61IKFGo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259558152613.749759762514; Sat, 29 Mar 2025 07:45:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXQk-0007u1-OU; Sat, 29 Mar 2025 10:45:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQi-0007sl-Bc for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:00 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQg-0004Dx-9B for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:00 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-227b650504fso67154825ad.0 for ; Sat, 29 Mar 2025 07:44:57 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.44.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:44:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259496; x=1743864296; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UDy/waYHc2WMJ63eIScaA3Qlr2ckg0rO6MTqODUDDkU=; b=RW4NN7UBzlMOUitdYaxFZFpE8y4bLL0P22GBsdM1rjxJIQA14tBRfjdL9AZfMk0wZY CYdgi7KNfdN6r4J2CMS690HIQ5oT+MJm3D2uSidPGThyQPUaWWcAksfBXi0dL2RyqpP/ 878wuukeDXOrUfwF72YPHtlPPbffl8vIBycQWJ2vJO1avFZUZT38q2RSeEsyO8mgf0bj 2y9YsSDRu857/ZJjX04hgcl/Ld9iPEMHK5BcUy0dUeHXdzfoFwRpMOO4WyfkIBMCa1sw 5UNabhsl64BG6K+Of4TUUHIRRxYRvkNCkVzj/3sIiQBwKQelumAxWE3WqwIrkMInUmFH GHeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259496; x=1743864296; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UDy/waYHc2WMJ63eIScaA3Qlr2ckg0rO6MTqODUDDkU=; b=uYmYb/pRcOFN4aKyPmDkWx/Rrv8en2eVoo4yvNXiPt8EzUx87grQPILtPOZBkXl8Gv XGI7Cl9FRoX/Vw9xr8V9chAOFZhmmZmvl+g8QjoRkqkU/+OXA7fZjtz+O1V3iAXvCI3e 2kwUFIrUPv66iHa/i2WKMMjp7TWDoj6W4qixmBG65Ln69O2g2kG7qW2XqeQBos8qIdVw ebJuLmF/BErDEGswU6IICfdzEtujHQXFPnyUUI7dO79AnmRVpJ1Vldzg48X3iGj6218U Nf+H/EW8GCX5cGLPW/Pg7Ebpyi/pHLPG2D2xwAe3hq80hOMik6pRNRdZsZOFzNfpS2lr FV8w== X-Gm-Message-State: AOJu0YyxbsqU1HKANri3iS0G7tRycMLGGQxkJcLwdGyAynkadlMomLXK N13xdMtfHEdmUjHPmfVLaUpIUz9rLMr6AI6Itlsd1dk8iRLZSHtRhjQAMCR5B6e5k3koTakvmbu ozrdk4UflRdjFVbRk4B0o/HWFdPwEiACkF+Elb19CIMC8M5Ew+hzwpr18eK6oUx/DhlGjJ8Y3I/ +DpjjrXPiktSiMDMl74DfGdR8nxvh7PQS2VQyO6Q== X-Gm-Gg: ASbGncuUzFsbgJuPHW+bl3C0scI1ySQrG9UQ11RASUwt97gGgYIxm2LITMLgBem0npF 3JW7FWR90Rz4F7ca51K6T7KXSwI0a25h0Ivb91nzAKFbLU1+Fnqlwv+K5yF6NxelNp5bCPzG0kF UuUTxTVRf3inkpg57Y3sKfg/1xg8MiSAn4v0Ue5W0CNyEORPy9eGOtzK0T+49xvzLltZYey6rsX bhCAMUZsHSqv8u5arxUbyRFuRryf+j6SNhXJc+42lTSbthxVTu2/maNditiVa+zvbV/LiC3N3JW cXviSmeomFSibWZHhUGpyYlPghxy8ylKvAVNn5yaMJuuesD192tQlsMjp4wK12aLr+6SUfu4or1 cPuLGz40RdO8n9Q== X-Google-Smtp-Source: AGHT+IH8AGx1KdBpp9voT/jagfzcUlMBvZwqK19LQi7VTLIGcf5HEdnNHddf0PkH1ynihlEPMoD/0Q== X-Received: by 2002:a17:902:e94d:b0:215:b1a3:4701 with SMTP id d9443c01a7336-2292f9557a6mr46671665ad.13.1743259496439; Sat, 29 Mar 2025 07:44:56 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 01/12] target/riscv: rvv: Source vector registers cannot overlap mask register Date: Sat, 29 Mar 2025 22:44:35 +0800 Message-ID: <20250329144446.2619306-2-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62c; envelope-from=max.chou@sifive.com; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259562341019100 Content-Type: text/plain; charset="utf-8" From: Anton Blanchard Add the relevant ISA paragraphs explaining why source (and destination) registers cannot overlap the mask register. Signed-off-by: Anton Blanchard Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 29 ++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index b9883a5d323..20b1cb127b4 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -100,10 +100,33 @@ static bool require_scale_rvfmin(DisasContext *s) } } =20 -/* Destination vector register group cannot overlap source mask register. = */ -static bool require_vm(int vm, int vd) +/* + * Source and destination vector register groups cannot overlap source mask + * register: + * + * A vector register cannot be used to provide source operands with more t= han + * one EEW for a single instruction. A mask register source is considered = to + * have EEW=3D1 for this constraint. An encoding that would result in the = same + * vector register being read with two or more different EEWs, including w= hen + * the vector register appears at different positions within two or more v= ector + * register groups, is reserved. + * (Section 5.2) + * + * A destination vector register group can overlap a source vector + * register group only if one of the following holds: + * 1. The destination EEW equals the source EEW. + * 2. The destination EEW is smaller than the source EEW and the overlap + * is in the lowest-numbered part of the source register group. + * 3. The destination EEW is greater than the source EEW, the source EMUL + * is at least 1, and the overlap is in the highest-numbered part of + * the destination register group. + * For the purpose of determining register group overlap constraints, mask + * elements have EEW=3D1. + * (Section 5.2) + */ +static bool require_vm(int vm, int v) { - return (vm !=3D 0 || vd !=3D 0); + return (vm !=3D 0 || v !=3D 0); } =20 static bool require_nf(int vd, int nf, int lmul) --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259774; cv=none; d=zohomail.com; s=zohoarc; b=f78V0ys2V26qv4XjQhDCtOAZ3w/oZJjQhmzZ3DnL8fACMAPM17tOqBtUd5hCMR0erKVPO0mE5C/KHR+wpQDoUFH6CiTvtDRKNSNnE+BhBrV9+wrySQMVFe+DLjba9CVr6VfHzCS/oYXq07ymHnpoAB0l28O6WjMr8farCs1EYcY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259774; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xtSo8S5OEBT4DMRlalXCu7rqXrD21r5pPZJo/XU9Y9s=; b=FRjT/plhC4PY4cSBDOOq6J41GRm3M551/jJJQ8ikwUMcdL2VEGcFwHXdf3+leO2FdCjLfaX1oqGjqePL50moSSlpNv5z+KdN9fpOcRBKRQZwnBs/bcvsNDFVow4ZnLq5Sk2tDqotOWjIlazes//WJCWc82RDw1uPOaIFe8DTTAw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259774141913.3335322547891; Sat, 29 Mar 2025 07:49:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXQx-0007z8-3L; Sat, 29 Mar 2025 10:45:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQl-0007uX-VO for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:06 -0400 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQk-0004EW-30 for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:03 -0400 Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-301d6cbbd5bso5099618a91.3 for ; Sat, 29 Mar 2025 07:45:01 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259500; x=1743864300; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xtSo8S5OEBT4DMRlalXCu7rqXrD21r5pPZJo/XU9Y9s=; b=S7/ett0nxXThRZ511gpWet+GPl0EH9IYf7Svni1OCDkJqjVzlaRgdjmb+9z1+CJCdp C/bX6jdf6KBqX6Fj/e8d6Nuu5qfqanNPwGmmtmXNhqBt0/tmFz1Cy9Mi93sImGxmarlK 8G+Nz3c91RKWUuJGui8ZZM+U+uUv3nHMpOdr0a5nzoXQsxGrCvampPtJAWTlHbh/vUoN kijMQPLHDWwmKxliotjR7rhamkU81CJVuGuH8/C5gUHc4siwZvkGmcivY+hGLnHh8rnO NA7527c2ZoyJQzPnfl2tSuAfCWVQktv6Ud6XSRnnFRcPaC72SiS3JzzhEFsjPQwKTL21 YsiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259500; x=1743864300; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xtSo8S5OEBT4DMRlalXCu7rqXrD21r5pPZJo/XU9Y9s=; b=e/2tTLK0vfs2Uam6UI/rnFGe/Xv616D0OkhPyHtfCDqbiLWdfUxQz3jxSw62b//Pdh MBaj0XCwWnwnr1vZ/Xnt8btcjdq0H6RgnLHBwJG4aNihteMAIkOmz1W4x3+VBfi+Sz6k FTtKOqKGEh5Svoh6HEalgK8zFLPS749op+QqZEiV/Q0Tr+NLlc1LA0tFkuFevtwTxQH2 4OyXjoTthbXt2UcHME9D9BmG+qgUNPK6k0XwPMBH00r+F+Kd95YCr9FIDctdemWY7+lu xrPBRBzYQmU/pjG6RY/ED4YlMeW0zElN397BKqtVuTNnw4SuKxAeKa4FGJXWCTirqBGF II6Q== X-Gm-Message-State: AOJu0Yx6yhC+nrWvZBqgEOyY/va209uW0M3PkG87yUWb6RCdmOS4c9To e6tDrzDciOJQut6lTb6dj+Ubfvuq1CDwkZaMmZMZ00OVUG6bFHv1LL+sefh9XNmUnmUHhk47oe4 3ZKUaDdfT9C5yZwV61omq/ExXdQcjalJLzkmo/JGrr1AUvNmiOpwuf1Bl7Wsl4gHE90BNXIag4L +JCe5dTUH8aOXj3lKzQi373/jv6gvB0/hheK9RIg== X-Gm-Gg: ASbGncuyGt16UE9YT0877YOmG4waJwg7IraXFHafc13simLWb4Uv59O7TQ7W4M3V3qO FpbPrafEyWdomxKYhF6JplhDoddZkyAIsiDxh0zPFcTDpqjlzOAxPbmjLnoz9Md1pQ93qgUQ22x rr0HrgrWz6VArmiE6eq0399kV/SXA+Q8pk//KOyLqTmJgiTYjc/x+VcLbZ9eriL0dV9r/Yc3All WR2QSDKSaP1KIL3WZD2rHdX/E6XPdH0msK1W8qarKlX3fHk5AwyECkLX3OjjUA9XJCPy/bPTelC QsbWIXSR6kTDtnabwvr1EGh7DptmyhdCoRL6cH6ru8/LE5vp+57pDhcNBC3NrUxmosla46KWj7Z fJhUmvjvh1eiNkw== X-Google-Smtp-Source: AGHT+IGhMkJTmTKVty3lDI0HZVYQlybcZIK0+t+SGMbZYc8kAdoU+OBLajVmCqeIOk+Myg5KCKNk2g== X-Received: by 2002:a17:90b:56cb:b0:2ee:9e06:7db0 with SMTP id 98e67ed59e1d1-30531f94677mr5273778a91.11.1743259500126; Sat, 29 Mar 2025 07:45:00 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 02/12] target/riscv: rvv: Add CHECK arg to GEN_OPFVF_WIDEN_TRANS Date: Sat, 29 Mar 2025 22:44:36 +0800 Message-ID: <20250329144446.2619306-3-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1030; envelope-from=max.chou@sifive.com; helo=mail-pj1-x1030.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259775146019100 Content-Type: text/plain; charset="utf-8" From: Anton Blanchard Signed-off-by: Anton Blanchard Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 20b1cb127b4..e630f8661e1 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2403,10 +2403,10 @@ static bool opfvf_widen_check(DisasContext *s, arg_= rmrr *a) } =20 /* OPFVF with WIDEN */ -#define GEN_OPFVF_WIDEN_TRANS(NAME) \ +#define GEN_OPFVF_WIDEN_TRANS(NAME, CHECK) \ static bool trans_##NAME(DisasContext *s, arg_rmrr *a) \ { \ - if (opfvf_widen_check(s, a)) { \ + if (CHECK(s, a)) { \ uint32_t data =3D 0; \ static gen_helper_opfvf *const fns[2] =3D { \ gen_helper_##NAME##_h, gen_helper_##NAME##_w, \ @@ -2422,8 +2422,8 @@ static bool trans_##NAME(DisasContext *s, arg_rmrr *a= ) \ return false; \ } =20 -GEN_OPFVF_WIDEN_TRANS(vfwadd_vf) -GEN_OPFVF_WIDEN_TRANS(vfwsub_vf) +GEN_OPFVF_WIDEN_TRANS(vfwadd_vf, opfvf_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwsub_vf, opfvf_widen_check) =20 static bool opfwv_widen_check(DisasContext *s, arg_rmrr *a) { @@ -2505,7 +2505,7 @@ GEN_OPFVF_TRANS(vfrdiv_vf, opfvf_check) =20 /* Vector Widening Floating-Point Multiply */ GEN_OPFVV_WIDEN_TRANS(vfwmul_vv, opfvv_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwmul_vf) +GEN_OPFVF_WIDEN_TRANS(vfwmul_vf, opfvf_widen_check) =20 /* Vector Single-Width Floating-Point Fused Multiply-Add Instructions */ GEN_OPFVV_TRANS(vfmacc_vv, opfvv_check) @@ -2530,10 +2530,10 @@ GEN_OPFVV_WIDEN_TRANS(vfwmacc_vv, opfvv_widen_check) GEN_OPFVV_WIDEN_TRANS(vfwnmacc_vv, opfvv_widen_check) GEN_OPFVV_WIDEN_TRANS(vfwmsac_vv, opfvv_widen_check) GEN_OPFVV_WIDEN_TRANS(vfwnmsac_vv, opfvv_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwmacc_vf) -GEN_OPFVF_WIDEN_TRANS(vfwnmacc_vf) -GEN_OPFVF_WIDEN_TRANS(vfwmsac_vf) -GEN_OPFVF_WIDEN_TRANS(vfwnmsac_vf) +GEN_OPFVF_WIDEN_TRANS(vfwmacc_vf, opfvf_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwnmacc_vf, opfvf_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwmsac_vf, opfvf_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwnmsac_vf, opfvf_widen_check) =20 /* Vector Floating-Point Square-Root Instruction */ =20 --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259633; cv=none; d=zohomail.com; s=zohoarc; b=DpYAMp29BYUQPrvXZ7WE7GRBdi03jJJc/SOcVuKgMMoVzIiWPNu5hhizHBm8MyX0PtwGwOR7IGJMt3BUAt9mzB5Zhu5htcdAR475bx/Xohky4ghFFUByqxtoLchM++BCwqy8cFpsIt4BbYVCGO4SR53lV9u70Zy3jrg+vIH+dE0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259633; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7yiRTyvv8HDyh7DkIPVVEzeV4GFr++tl7EjdhkATDMY=; b=SQNfsIYBtI50dV8ZRayNlgH4dkf3Hsvb4iTb9QYMxsmK4dbQMScIjNLesmMixR8sFY8xBIn/r8jgqnPtdpvbYE9WSZhtvjUhtmzZ4cb3AelotwJYzj2Qaur4Az5Dov/xGV4MwJ4RBxC2suLkGT5iUWQdjZFeLH+DjRytwPS9QSM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259633561174.4250500787715; Sat, 29 Mar 2025 07:47:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXR2-00082B-Sf; Sat, 29 Mar 2025 10:45:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQr-0007uv-0u for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:12 -0400 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQo-0004LW-5x for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:08 -0400 Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-2ff64550991so3961576a91.0 for ; Sat, 29 Mar 2025 07:45:04 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259503; x=1743864303; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7yiRTyvv8HDyh7DkIPVVEzeV4GFr++tl7EjdhkATDMY=; b=bSnQdckHBZ5kAITd14vRQdKRs2MVVDE35j/eOsLba6/OHYM23m3YZDwGujwwMrVqr2 R0S5qVEgCW0Z/8zkoCVkeMSSW+4Iq0n1Cn321alJBBZVmYH/pDxfa7hgxPawqWWXaYyZ SaLCgjpjvhTBLpoHam8dWisVr4cj9vhsV4f/1pxvr5OtfPdnan5Svki1VfBDffgTYjvU 0ZoAyzRQ3zriGSM39hVzsBJ6oUwFMtneV1Ef3ahufOXj/GKxyCweFEkcPwkJTb9t+22Q my6GCJatB546qYk9qhs8J3JyFNa89jN72SBS5bYv82QqEh7hVR2mOUBfp5+Az62P7dxs +Egg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259503; x=1743864303; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7yiRTyvv8HDyh7DkIPVVEzeV4GFr++tl7EjdhkATDMY=; b=YDNP5wn8hDNoehEsBTdl0UuJyrKRaut3aLbwkDAKWad1yeRKkL4y7cNNNhRKv1ES9c ajjNmo1MJqBRnBxI7ENoLZW5HlZTsCHJvii8fEXQ6rxk+wXHs/wJhcwGIH3YLjx3iXba /TkV+2RIkNBaG3+5AVXFzUDnoN/2kusJInQcr0MjC56uCU8VylqEufjpDmd0UuTe7y08 oI+9MYAcxvBOb/ZYkHxHHzTSrCeinUXCXOdeIL0Ww9NroMo/Jpp6BohI2uIGHXHrNP2p pFiktXXd2nDPxk5bqv6N5+/ieer/SFxKNZo7gLMXrIOc8FWFBL2U1K3Ry/XQb70NlmkA jMlw== X-Gm-Message-State: AOJu0YzwNVFi3iinpS0U27ghZHDp9wFfj3akBPSkDcbdcjopyRKcnTqA zwt8i1hCxzCNPNNDw3WWcDUAxIHFUEHLEir0FiDd7t3iYngVdmJi4Bxes6ExXucrV4UcBFrZ26p GaT9fI8oroaE2bdPbuGzMve6NcR+KX9nCZTc3SjuwYInkg3BBczqZTQ2wiLgpz3Y8xSoTJ362JT 6bzLs1JKy7rDx6d7Y7iNV6vdFXYUgtxckryEC4Dw== X-Gm-Gg: ASbGnct10q29ro1jLVQ1fmp6GrEVRYhRsBm+qZkJQd1J+nA9fmywAdgR4EPNybiyLGz vPXlrOWsFIEyOmWnKIIaDE52dv9u7EDsX8NBa4yUUn9K3zAsPDmtOcVS5w7P6jkbYPfb11Gg/CC fQaKtT0KMmVN1xDhPLDF/dxO6ZR9AKrX2odSmI3UMhKtjJ1MuxwGllml5hNfIfmyFsrgY48s2VY VYnGFNQhsqE2h9aNBujVqwSf7JLvrlKUlpHwmONVpCfNmVROwg3vIeUR89xSzO8d/5k+sWCHuU+ JGy2uv347ODsY1IOeSozElFv9pNAFnlwRrPxOYsY+6mOV5dzve9hvQzCiq4BRiPmKo8vl9mlDAi CRgNEtOgVsrQJCw== X-Google-Smtp-Source: AGHT+IGw+c4PFPemW8vVY9tNVQnFmnXdaN4ec9dlSXyp4/t2qx3uZ+7KYOOODn1UXd3GMF9zkxbdxw== X-Received: by 2002:a17:90b:2744:b0:2f1:2fa5:1924 with SMTP id 98e67ed59e1d1-30532147029mr3653314a91.26.1743259503031; Sat, 29 Mar 2025 07:45:03 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 03/12] target/riscv: Add vext_check_input_eew to check mismatched input EEWs encoding constraint Date: Sat, 29 Mar 2025 22:44:37 +0800 Message-ID: <20250329144446.2619306-4-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1030; envelope-from=max.chou@sifive.com; helo=mail-pj1-x1030.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259634861019100 Content-Type: text/plain; charset="utf-8" According to the v spec, a vector register cannot be used to provide source operands with more than one EEW for a single instruction. Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index e630f8661e1..70c19c49ae4 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -379,6 +379,35 @@ static bool vext_check_ld_index(DisasContext *s, int v= d, int vs2, return ret; } =20 +/* + * Check whether a vector register is used to provide source operands with + * more than one EEW for the vector instruction. + * Returns true if the instruction has valid encoding + * Returns false if encoding violates the mismatched input EEWs constraint + */ +static bool vext_check_input_eew(DisasContext *s, int vs1, uint8_t eew_vs1, + int vs2, uint8_t eew_vs2, int vm) +{ + bool is_valid =3D true; + int8_t emul_vs1 =3D eew_vs1 - s->sew + s->lmul; + int8_t emul_vs2 =3D eew_vs2 - s->sew + s->lmul; + + /* When vm is 0, vs1 & vs2(EEW!=3D1) group can't overlap v0 (EEW=3D1) = */ + if ((vs1 !=3D -1 && !require_vm(vm, vs1)) || + (vs2 !=3D -1 && !require_vm(vm, vs2))) { + is_valid =3D false; + } + + /* When eew_vs1 !=3D eew_vs2, check whether vs1 and vs2 are overlapped= */ + if ((vs1 !=3D -1 && vs2 !=3D -1) && (eew_vs1 !=3D eew_vs2) && + is_overlapped(vs1, 1 << MAX(emul_vs1, 0), + vs2, 1 << MAX(emul_vs2, 0))) { + is_valid =3D false; + } + + return is_valid; +} + static bool vext_check_ss(DisasContext *s, int vd, int vs, int vm) { return require_vm(vm, vd) && --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259641; cv=none; d=zohomail.com; s=zohoarc; b=P+zIqvVcbuvk0y0Xl3I/+R045lJyMMl9lrB6a99S2I4VfCjitWN4dNUIBQxWm7OpV2qyRGMMAeqAFMRY1ZC2JYU/SLbelt//TkBasvr89O3J00e7ulXgoM8lr5aS10GVlsbGQKZmno7U/8zXl/oh3A6PYN0W9YS0C2rYdIGYMJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259641; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zJ/gCap1AeI74yWY6W4cGphoViTS/8uzBKN9k5Sz4tQ=; b=oHxuan+GiSwP4xBMEsw85W7eMVPEUV097mtUZjpOOCDgjTnmapfeiN2iDpVO4RjQUqFdfToRX01GMFjfpwDDelyovdqj0h+0O6rEgCTEg9I/Ow78sEbyD9lKvyajb7ZqTadlsmkg+T0o3DRM/Kl/vErKXd80Bg5aU3kU+Iqco6M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259641860396.27690817154166; Sat, 29 Mar 2025 07:47:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXR7-000851-Go; Sat, 29 Mar 2025 10:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQr-0007vE-Nh for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:13 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQp-0004QA-Td for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:09 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-303a66af07eso4431155a91.2 for ; Sat, 29 Mar 2025 07:45:07 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259506; x=1743864306; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zJ/gCap1AeI74yWY6W4cGphoViTS/8uzBKN9k5Sz4tQ=; b=fo8rj4ewtTzdlBIt69nq27N//6Zyb5xKGwmpX8Fd5wl2+2mVhc6+OeR3iweo6PFLHc y8JImc+dM51z0C2FA/qLAGUNSyeyZ8GjBVsvc1VBW7HOz1HMZzCl36HI/2VAI8ifhG9e N3awxKG7aS9K6b9IuVpENBeDnJuZt74J4eMeBlu6ZnH46bRuNC4ioY9K/ziLxeAXbMpo uD1Sa8xLOSf/aOPl4VOxs2jZMyl0j66gi8oUOVaEoa2wGvT5l0vK9KGG9cSMoBvF2wxz 0SQ9oJeWSZ4UW3952x0Un46FW1iWiH/kgkAJH0ffGl2sX4QiKMA0bLOYiCrzInlYAJUU WPmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259506; x=1743864306; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zJ/gCap1AeI74yWY6W4cGphoViTS/8uzBKN9k5Sz4tQ=; b=IqvpQBlRLAXADM5qu6YKyu8yGPFjo+SlymzN7o7axm1qk8Aqd1HPKMtuHKhFew/Qpa rTqbvOkhpwArX345J/Osa/dHdaTxJPRs+FhldqzmH+3l4Y8DcLOuCiEUeRTgd7vaCUdZ 1bVaWcI0gagXWeEXEAciHuIOOFZD/tFie2bsTGvX36YXKkynPM78FSaquZOqL3tPcPIG 9ZDkK3P7U61SMnCryMtLWRaQLjNg0tZ+6GHLq7HMJ+EXcjBj/kECyZAFU4rva9Etr4NA +fyHbp1e8zf6dsNCs5wtsraygUD2TYkvgT8RgnkbWDLD9xpvJjiqj/X13CdC3Fn5pUfa aAqw== X-Gm-Message-State: AOJu0YzqSOqoFgiT52FfaO1d5q/YSrgiieLreataENOuPaw6selRDnfR mlSKg6RmifRdKEXhgDZnhnXfB3aqvRM5hFVfw+UQvpb5tI/NTPX8TPCTV8XPFrQqUMPyFFXQXUV qCOMqCIoffAm1o88sbzgzMO9F8Bsbx5MB4pWCGObL03XqUSHcKFvjkmhMvj/qw0mk8Tr+DH0OXq NONBvtsqGDsC5x2/yn9YJkZ/g53mK62WL5TD17NA== X-Gm-Gg: ASbGncv7uYhNtU/c8aGoipVFtTPpKGoVMpEeUrEQbSUc2C09WzY6u9XSvAxitQszpGi 1Emy+E3ZM0Ej/YOXi5hhslEHGn9YmMeIaV3Xq/TQaSBe7b2T8O4IE33x2incE7ariX3eEx8M/N5 NhX81IntyfPWqLJGUDKnYPMyJaF9bzMICkAuI9jnLbGayWYvmmttPfgpjqjAwBGaf6TpVB3nGhq lEkWJkVKWwJCNJgF9w+R2YeVx+2nf9gJW7dO/UjB/+zZ4kKDtW6oFzmGustZDA/gUcT9nPIZfcE gnXw25Qb/aQ81jVkgOsGBqJK9ZZrnMc4jmh0A2GJ77c5i/xqGa7srI5SOZvqhte8LFTRs6IcPsR D1uMO8Jx5LMxLqg== X-Google-Smtp-Source: AGHT+IG4B3/d28bcXvXr8RnwM5+Aaf708a9yRJosrpJDUltHJfSKGjdCLFKzV89V02oXWQg6s8m4Fg== X-Received: by 2002:a17:90b:2641:b0:2ee:90a1:5d42 with SMTP id 98e67ed59e1d1-30531e8873emr5979072a91.0.1743259505950; Sat, 29 Mar 2025 07:45:05 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 04/12] target/riscv: rvv: Apply vext_check_input_eew to vector register gather instructions Date: Sat, 29 Mar 2025 22:44:38 +0800 Message-ID: <20250329144446.2619306-5-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=max.chou@sifive.com; helo=mail-pj1-x1035.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259644768019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. The vs1 EEW of vrgatherei16.vv is 16. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 70c19c49ae4..4a0c9fbeff3 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -3478,6 +3478,7 @@ static bool vrgather_vv_check(DisasContext *s, arg_rm= rr *a) { return require_rvv(s) && vext_check_isa_ill(s) && + vext_check_input_eew(s, a->rs1, s->sew, a->rs2, s->sew, a->vm) = && require_align(a->rd, s->lmul) && require_align(a->rs1, s->lmul) && require_align(a->rs2, s->lmul) && @@ -3490,6 +3491,7 @@ static bool vrgatherei16_vv_check(DisasContext *s, ar= g_rmrr *a) int8_t emul =3D MO_16 - s->sew + s->lmul; return require_rvv(s) && vext_check_isa_ill(s) && + vext_check_input_eew(s, a->rs1, MO_16, a->rs2, s->sew, a->vm) && (emul >=3D -3 && emul <=3D 3) && require_align(a->rd, s->lmul) && require_align(a->rs1, emul) && @@ -3509,6 +3511,7 @@ static bool vrgather_vx_check(DisasContext *s, arg_rm= rr *a) { return require_rvv(s) && vext_check_isa_ill(s) && + vext_check_input_eew(s, -1, MO_64, a->rs2, s->sew, a->vm) && require_align(a->rd, s->lmul) && require_align(a->rs2, s->lmul) && (a->rd !=3D a->rs2) && --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259607; cv=none; d=zohomail.com; s=zohoarc; b=OsOI77WcMzKxEkLL///PIQkVZJ96JaCl3/RHE1cfv7OJarEr1WT7m26GG+nY5Vxxg4RiHhUBYqUQgmmYp51lSOYz8rUiej6wGC4fXa1+WXhoyCk8UDjdcREN90KlV+O17iHLDkycyLQNj2e6GaCyPdL5yLKEeOIaPrY4s2LHINw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259607; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=c5JU9bzTfuCe3JCqpsVwAv8DXEG/Oah/zXXLHIR0A80=; b=nTV9GuDY+N6NCPiPHXdOAz66MnwZEnQKSyko7Js5ijMuCymB3+kO3TqsGEgY50pXtus8wvmnmOKHXHPs4rTdVf2/4eEA3eOrr8NpS/bd/U+pRbObrjBUupMLqfPQVYUb+15ZxDf41pfQRCYZe44FQXl1+f8h0oeCo3Da0hQTkqU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259607905866.3002246400393; Sat, 29 Mar 2025 07:46:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXR7-00085b-QJ; Sat, 29 Mar 2025 10:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQy-00080a-OE for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:16 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQu-0004R5-Fh for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:16 -0400 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-2ff69365e1dso4128703a91.3 for ; Sat, 29 Mar 2025 07:45:10 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259509; x=1743864309; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c5JU9bzTfuCe3JCqpsVwAv8DXEG/Oah/zXXLHIR0A80=; b=Cl1wlRFAnLdnS4hMtONnqTuDPd3dgAQaAcHMcBDPg1QIwB2P2xu6RqyMepfJoNkAGm XPrHtCJsekNNyGHA1i7r32njzVoHsm17D1cwUl9CVoaasuog8DK3qmIVxAaObqbPtd3K KT9wDyMMJqrRneIQ6ergvbqMUf9wzA477S0+/SvCnYKEKxKNcMT9EZJ6g7yQq6KMLEtl Mtcj0TlTKtZ7rjXSgagYYWOyGfdikoY+N+GJY3AN/Z0wumE2e6Liacyq6KoQMkCUjD5G DuN+C6LPCpMU4385wJnZ/oGRWrVTH7JaLvz7NxmisPOaL3uuK2lNUdBAOOQBINaFKhY+ iQhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259509; x=1743864309; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c5JU9bzTfuCe3JCqpsVwAv8DXEG/Oah/zXXLHIR0A80=; b=c0GBAct+B89pTdvgS5TxHpo4iHEtnzlwMap4j/Y1fudSi38GW/reoRQEv4cmpfvnRt KSuIrmI6PtnUxuRw6AhYqBdWCA3CgcpelvSXfbv/NYrE3PNULTVSZ9JDwnnk/Q7hn71Q gVvFWxlAUuZ3HmLEWCorPcy/gCQtA1NUO+olOechUQrcc+EFU2Tu2vhXA9IJRPR2z6pO 16diWQ+GFqUVyi78W3ytaO6TK7zgukm4bcBRmjft+L6Xw6FcN9hRe9Z+jrD7ES1UEDd4 FimTjuwsQYnuqvCCsvIjTq3PDgwAhweAorjoTq1rCVBl3tHtmd7RxW6Zo0aVCZ6R/sdW b0Zg== X-Gm-Message-State: AOJu0YzbShcZP2/39KJUg4nzXGggiRL+VuhzmO2zokcaYzU/AZbu7gur HpNa7Tkhvt1IKprIE41RISqO03+6ZwZVg5sJuw1kelRcEBcugKbU/bAUDaI6Sm/BCF2pjQ4bba/ DoGEL1MeK2yeFu/VzSp06cBCAzrkqxWyAXyxuZ28cSfGqhU+pdhpUmN9irWVAjwp/izvF7pMBfz UTog+bFktFj3GppRLJwGHCqMxxPVT7bAPRVkrnDQ== X-Gm-Gg: ASbGncuJuLSDwzJNev3zY6FMv/6CW+EkTngCRu1+UIEuGlT80SB0fRlobREebUnc+39 71wO3CdZCQar9F9XhVZYRwAJP2MlEenbE0nanpfkgfnQiAoodFpanWQ/NTGBAieobiBbWMmYM58 jL1KqirOYPay00ooELOxGBn/6f6W04mSlSdE5l4wHsLGre8nET0SpRb4tHtzxg6ffPb0pOt8wXm FauvplbgMqUS1V8YNQHjf+PjQgXGAvUfjI17PtHYbjJ2oejHZlK/jPTU92n6xKQ+r9Uo4D9Sdbc LNn5zbfS/X1ed1Yv8iFrMLWhg8T+CrUd0OvZD7Ue2PsBfhSvGx/sxrmF8U3yav/agavSZR3DRoG k3Ml26Stl9pVMDv0/8IP9EHWo X-Google-Smtp-Source: AGHT+IEk2Bqqm2dIRxdjJzsOKbKLV+jFCsZo3jvFw975u6TXTDT/qsbeNpLp8c+pGe17hGYKlwRZyw== X-Received: by 2002:a17:90b:17c3:b0:2fa:e9b:33b3 with SMTP id 98e67ed59e1d1-30531f7e2eamr3929769a91.6.1743259509086; Sat, 29 Mar 2025 07:45:09 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 05/12] target/riscv: rvv: Apply vext_check_input_eew to OPIVI/OPIVX/OPFVF(vext_check_ss) instructions Date: Sat, 29 Mar 2025 22:44:39 +0800 Message-ID: <20250329144446.2619306-6-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=max.chou@sifive.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259608714019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 4a0c9fbeff3..3d02a2f9ec8 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -412,7 +412,9 @@ static bool vext_check_ss(DisasContext *s, int vd, int = vs, int vm) { return require_vm(vm, vd) && require_align(vd, s->lmul) && - require_align(vs, s->lmul); + require_align(vs, s->lmul) && + vext_check_input_eew(s, vs, s->sew, -1, s->sew, vm); + } =20 /* --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259687; cv=none; d=zohomail.com; s=zohoarc; b=MIHKnOkHz+aOsUNm3sESS69+4NsjjWsAiKrZpwowbzDHO4MBUuGmRaLFExEbGdF37aKxwIO0pN1gFpYjLbgtXm+0IgSY/tcjU/4rCELyhCm9CWEqyANS5yAhkTQ3okQp2qZZumkDFb0XcJwzNL/FwdcsDN3TuP8ITU6lKOscYVs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259687; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wI3WGjdzB/nV7QTfWxa/O65tEI33+q/RVQcoNGfCbIw=; b=AZZFmlOvOBFDedIF4+mHnvUp6qIKOL0o6aQr2eXuLa5uX5kZ/tGW2cNd+IZCafTHcwYAdGi7lVIrNIJu6lg+nc6jmI/pzbFatrYpomJ+hMMPPCTX5VFK5J76ow+Efq6fEd2re83rnn93IY4j2KVzl1Wx7UNIFvyODDOvC53itEM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259687928285.6013167109255; Sat, 29 Mar 2025 07:48:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXR7-00085a-Ot; Sat, 29 Mar 2025 10:45:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXQz-00082H-WB for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:20 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQw-0004RL-VI for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:17 -0400 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-3031354f134so4171126a91.3 for ; Sat, 29 Mar 2025 07:45:13 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259512; x=1743864312; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wI3WGjdzB/nV7QTfWxa/O65tEI33+q/RVQcoNGfCbIw=; b=njUgTFGdt1AqsIktZdUMPz17xLOtJwR9TDlE39BHK0MT8sm0CnEaTfsNp0nYJMCEUl iT2CyFf5ZfmIligxzaZSn+0XV7wCfpBU5EkHeV9Yz2muDKcJXc9EAhaMD21aavO80pZy /uWVeAjtIT8X9w2/DueaFcKPS2XrfAaREE//knyVUEgN9DSCLz8moGllpPbr+yfZC+Kc prbKopAy/Tven4n1BabfMxra0GiuRVDLfMiHrTmzQou6fcyHzDp90ILOADkfFfuY6emR MBSCR9nG8gBKezjxBYT94WQPv8jp8TY07HhMT0Q2AE633Gp2l2LFtz6Kn6+CZB6B2M5b EwaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259512; x=1743864312; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wI3WGjdzB/nV7QTfWxa/O65tEI33+q/RVQcoNGfCbIw=; b=sJKJH8DD8AOnLktI3+L1tWmuKRCzTJkTsD7IKYpuvWpLS5YXnXHzGeEVSUl+nZk3tE oRV88pobGIyS8NGDHaZ5JHEGcyZjyB98uviIf5pySFKjACypTMxq1c5tHUj/tagy7B2r alytuqtoeB0kyo4LFgI1kWBlVgleg7HDCWUmrDCv/pkekRplE9PwrZeBHCgP/fMVKPzE qRJbz3r8K5w1N/TkcfqAedWbS6tXSIQapKpsvVyipr2yuFDnCOWLyWXUIpUZI4yM0wN5 8v3IOnqcBz4TFmprYsxz4V9OvYShVq9astaIGGIg6NgUlKat5/SaDahnBcjyj+cXhfih UsOg== X-Gm-Message-State: AOJu0YwSWOnm4BAz4Az8ljHgzJyDUu57mz+MueIGh61eLJQQ6Z439AHS +6mxQDNAGUWSxT8AeB26pSL0RLpLMkYC4FHYj0cJvRCTyuRR0s6hYxUPGHBK9wLgXbcqTTxMI6P iW2ZtgnIGeRjMyIcYaQJ+czIz2LdleyCvqaQ3ZI0Stw1/xVvOGJA+d/A3yZKz3aplRqXgKNomN/ A27FIyrnOc+QK4ytueG92HbszBau9CLZ9KVKTJeA== X-Gm-Gg: ASbGncsBYIezfeAPpIouYHkDZA4StCmTl4EV+DSQR9pvYeYMgyc8l2c6PScdDug88Om KNEQq6mMukk9cgS5GMsEGG9mVtk9bv+VlY+xYHy92c5dEHqTGutCRZN3Vo+vmcC9aOnNcpUJnX6 zeKHIS+lT3uRsCgrIo9XIvPLCxSw/q2rhQCqtst967zi1Lcx0W2KbyBFNYN0v0tWvqJuHEouT/q g71wYkGvtjTSuQ5H3Z/SUIl+TgO7JK+ImtV7dvDj634vw5Yg/e/9soWRP0GHoHJYzKlV+j6UuWn zb52lrjcCOf+xV2bfjmMLxod94I9tG4ctZdgcyxS9FS5T8UcsXB5umR4+d48+7NoqdgWRn41/Ce aqTO3Db4V7AKscA== X-Google-Smtp-Source: AGHT+IFBaJ60tN0FxEOjZUj5m2tHwisPIt8QEytWikW/Lf0mLEBZSEhWf9Rji9JNXkn6Rn748s09yw== X-Received: by 2002:a17:90a:d2ce:b0:2ff:5a9d:9390 with SMTP id 98e67ed59e1d1-30531f957a3mr5213753a91.8.1743259512130; Sat, 29 Mar 2025 07:45:12 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 06/12] target/riscv: rvv: Apply vext_check_input_eew to OPIVV/OPFVV(vext_check_sss) instructions Date: Sat, 29 Mar 2025 22:44:40 +0800 Message-ID: <20250329144446.2619306-7-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=max.chou@sifive.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259688934019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 3d02a2f9ec8..2282b89801c 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -433,6 +433,7 @@ static bool vext_check_ss(DisasContext *s, int vd, int = vs, int vm) static bool vext_check_sss(DisasContext *s, int vd, int vs1, int vs2, int = vm) { return vext_check_ss(s, vd, vs2, vm) && + vext_check_input_eew(s, vs1, s->sew, vs2, s->sew, vm) && require_align(vs1, s->lmul); } =20 --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259584; cv=none; d=zohomail.com; s=zohoarc; b=f80H/tbUofGsKn6czO+F7SwXYNERjdxuc1XiW6gfM0EXu6PgjEG63EQbAMT/DqM7zwksaZ1ZgxeMQ+8wqrxQTvcT2cU4LeiLh3n1Qnh19VBq6XW9SqdjFURhGHv0CvRUs6V9d1/vYW8RgKJY3xBrNkqMl56ozVmYkEnxEbEszx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259584; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gkbRCb6rMo+FRkmwvN4Cwi5OUmxu8ym9SMSTXIcZ3bc=; b=f7OfhO8UxfV+t+hhVdvClSRBI7Nn8i5SlVbHgUssFyVbam62jjEr8QOWyQt8RJXqm8dbezCbBXFRMGmH+AzaUXraVkNDg03naQG6fZ7W0MTa+KWJGNtSKKgvpeJ0xCJEQ5U6Ot0SJx8AktyhfMfV6KLPpHIZGBuOVJMOmZk5lU4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259584067121.32440382624156; Sat, 29 Mar 2025 07:46:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXR9-00086W-1W; Sat, 29 Mar 2025 10:45:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXR1-00082q-6c for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:20 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXQz-0004Rg-8N for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:18 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-22435603572so62038025ad.1 for ; Sat, 29 Mar 2025 07:45:16 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259515; x=1743864315; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gkbRCb6rMo+FRkmwvN4Cwi5OUmxu8ym9SMSTXIcZ3bc=; b=F3If+k8B0r2M1DAFm4tAzpEgXvSFpI5obsWgDD+3JVt6xB4K+lC9qUuuV9r+UWKb1W XMH5JO2RH6DwZXyFW9L31TWIS8GsO3rRgvMut6ZJaZVPHIb83mEJ2XLY8FB0ZqgGzCXP sy9vQs8L5dgQd1yIhBvVqfvMPy7PjiTWoeYehcGOEZ+pV+Iudeg+yFPSibQqCajCRM40 O98HX7vaxhjxa4ZpVbUsqy37cf/m1zRymO13+kN54iH75zyUeVIgrFXdk/kILnOQ34OZ r/9UaQU2JbT1StWYf4K3Nkh6wyRVIv6bXJCFRx5WmSH8PJJ2NK1NhR4ix0sft93oZsvp 0uOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259515; x=1743864315; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gkbRCb6rMo+FRkmwvN4Cwi5OUmxu8ym9SMSTXIcZ3bc=; b=Z+L2p+pwABSWvldc8a5NZXjNSx+8pZud3qqMAk2PBeKO+oX1phR+lrbgntKtk5VZHW ogUDrnFerAQOvbQC5krRm2Qe1aoy8L0tZxplxv382uCtoTUQeIlZPq/TrsLJZs36rJfL Fu2+q8m2CkTtY8Bq8nQCBH+Nb1CtfDgz8N+8szJ/Hx+2Tq8pIEFdLs+sXIYchc+JvILt vVua0r4gNdxkLDXE7HwmEUWEe33tkwCHu7ogGWCQj33uoceF7iyixuFDOkmNzxWmVWXo DrFd/K3mOjBnYQmBVBaAApDZjkrZSVHyqnzTRqaFdydhf4rLKPXscX4Tw/RNTLcsLmPc luMg== X-Gm-Message-State: AOJu0YxUbQL04WSAUD7HhZ/msoZWwwHsaTAbKoW4+WRLSV2rhISRTc3H YNF3xRBpY/HMCTHC5E7KBWfA4/RY5X/eAcnLaLbf/pmDvz9dmzgum8o41LZ5dyqU9qCnOI/38as OJyqhlheOVkY9r52uLEQLAmqQ8gIroQAaz/YgmxY3vMmW0udeIDdAZI99+lf6V/YIUZbfwhGU0a 19RgqKzT4i7iwk9yF7U/Rmol0zGG8gerKgQ+5fjA== X-Gm-Gg: ASbGncvqk8a1N4xqrw3bzHlj+EZaixPXcBu8YiJ9jBoI/HYXT5K4o/H3P+baCqhYAWA cpDkoEed7q4x7jzyepyWvAJp2lr3c9gGrhXQ7ZzclRwFX4yk9Z9/GC1rTAAe503RN5yoStsf5ca xwvMc2MF0+zmJDSWXyBXOzVPxCnZmdefeF9xmNRGs7anDUB1A6V0GiES+piRKD6tajtrTiyPI+w F7DY6xOnO0TOgclOclgzV2z/L+2z3JpX5LgkMsicIMdijKcS+63zxZlAcaoBKypuhnABW45Ia9u S3fsmsynIgWDd5AXbVzJrST20lszzXb3wN6PvZnstL8e7lwkowWsJ9GgRyHNRSzDCBOzaKDl2QM vvo/ILZ4Y6mQyVA== X-Google-Smtp-Source: AGHT+IEDXl5TGEAia+5YpR5IRKpJl7Bmh8MBv7E7A/Knq9PyBrHJvzyS669LJ1jY0fJEIsn5QCW3Pw== X-Received: by 2002:a17:90b:2e4e:b0:2ee:44ec:e524 with SMTP id 98e67ed59e1d1-3053215b4c4mr4718266a91.35.1743259515025; Sat, 29 Mar 2025 07:45:15 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 07/12] target/riscv: rvv: Apply vext_check_input_eew to vector slide instructions(OPIVI/OPIVX) Date: Sat, 29 Mar 2025 22:44:41 +0800 Message-ID: <20250329144446.2619306-8-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::630; envelope-from=max.chou@sifive.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259587667019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 2282b89801c..f397ae46446 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -639,7 +639,9 @@ static bool vext_check_slide(DisasContext *s, int vd, i= nt vs2, { bool ret =3D require_align(vs2, s->lmul) && require_align(vd, s->lmul) && - require_vm(vm, vd); + require_vm(vm, vd) && + vext_check_input_eew(s, -1, 0, vs2, s->sew, vm); + if (is_over) { ret &=3D (vd !=3D vs2); } --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259765; cv=none; d=zohomail.com; s=zohoarc; b=mksFioC1lyy5CH03UmMhzCt0jMlWh+m1ULULgf4IoK8yz2CNsN0GPs6fh/OssSNnrd5r0TzVpYNNTfWWbOgtBUn4DvC0ijsu/Kam+kBgkUBCqibPfQEkNMgO9gsGLpO71y3hhlWuS2pA+7suNsgtq0dGJGLpGBYt4Bpe5jeaTNU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259765; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wJYDev/cZ7hbKldzMhzdvTYiCgJzdwhs4Kyy76l5wE0=; b=IaSZjlMyLMVTRsAybDUGWP2Owc7PH0Z37EwZtO/Ei+o2Kn1I+b38YC8vdF6wUmnQHGXh2jshe+MAw6vgMNuWqAO/dOaut74MZ6bIuVFDcV+CeOeoJ/fHhZEcmixeKxWUCV6suAIofZUaw+FZPbzrQUP4Bcn3P5BVS0B4K8vwjgE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259765969509.06953476866784; Sat, 29 Mar 2025 07:49:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXRA-00087f-I3; Sat, 29 Mar 2025 10:45:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXR3-000846-DV for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:22 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXR1-0004SI-Mv for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:21 -0400 Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-2ff797f8f1bso4918857a91.3 for ; Sat, 29 Mar 2025 07:45:19 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259518; x=1743864318; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wJYDev/cZ7hbKldzMhzdvTYiCgJzdwhs4Kyy76l5wE0=; b=ODa12ZPj96Xei0+eLDkY/jCLcArqKNmTHLV8WUPK66PBJauNfe5vfzCtF7IQ/AofMy PoP5OGEVDzPtgUcUV6osoFILgx0iJjU7pxQXsOaZSwhkvM2JjzA71wrVLpXw667tEw5j /nWhyDe4zv/W6rtgWiMgitr1yMX3KafDhlsSTTeP980/XIIJaYiIlWhBHtv8v3uzP4ze Z81KreW7Y0v6//gP80iou7yg7W18l5D9LxyeKPMcGZnGvvJos73DZuYH6yvZOc8MaOiR t1T4rbmvgko3ZJoiYU8x2VnLJeCagOnPk5d1k6xIzfkivlg58z2tb50VGKWINR8CjkA2 eMDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259518; x=1743864318; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wJYDev/cZ7hbKldzMhzdvTYiCgJzdwhs4Kyy76l5wE0=; b=YCOZNWiTMLYBDcQBgUqHcWms9RVpb6DhmhtiPAwWBHBJ2eplhFwniEK5SJ5LI1kiiD IrUK+aXoBMHRAqFHXeX8z+PjpiZqUayTqIuZOyBbntMeG4u02Pj+qT0THae+ewHoHvQR 4umKM84A05Ymp4yADmD47EX1mults77AQpbF/W4M7+u+XAQ2qjIn/RERY0Ky+Oj+cv6T xi/3T+JCJmZNqwATKwlQ3SWuLZaPz1P1Yx9TpJW53gSd/U4IN4t7MEIFjBHC1vbo+147 wjFfCQoiZph+xg8Jb9X09U1PUR6RHHHPTMS5Fn/ZxvVS7/38t0w7aCZ8Hpb3cZJ5fDL9 N5wg== X-Gm-Message-State: AOJu0YwCoC0Ky0PYfduwKZpDjg+4QHPhuD3EOQ/NCm0g0oY8UboXS7KA J35gkXeqcbxeai9y6fT2xa2WZwfUTFOIcoewfn2idZjMEpA4IkNLcEI2dxCtmQ1bso/TPt0BOAB XMVtENF7/EfFu5urRo3WOzk57gwtHCaUuvF8eC2EiVmcjm5hZZDGiUGj/KN/WJSyA2/d8KyFg+r wKE20TiaRqOKMCJmOez8XrsPJPgE1RgKPBx6x21Q== X-Gm-Gg: ASbGncsAs3sGjar4SjQ50hMmS35WyqilMu2aRts9qrkSHOOC+L/fKEc1sT2YMQuDprM zGoiE81TwhkCwOtp4X7XoyrO8Ii7erJYq5fufyGj2KfhjvqmHLPHNRi/CfRFC0Ba3ggl/Mxq8Pm a4ZeTNFtB3vC95IAkLQjdZ/BPL2WxFRP+nr/JEzNuPu2qr80j6qDAJW55LFrgOgfxvBljKuuE9B efAeZMyC9i97/8Ot6TBmpxr96krnyaW9pIMXTcaYlxLGW1Y634NzqrR1EIEQC1UGwf186OUE1ZD VAUbOGnNxOHxFhpMifJ+SxYzupYiFEL5u/VfqtsihohsyhxE8mPO2sTShB3BzbcBM5aahC/jECT 3mrwjc2bRhApznQ== X-Google-Smtp-Source: AGHT+IGijYcF1tFClTlA4fzA9XD+7M0sYy7HpdV/xJSug/U7OzJEG67obK2mRRJdrFrdseXZBFuotQ== X-Received: by 2002:a17:90b:534b:b0:2fe:afa7:eaf8 with SMTP id 98e67ed59e1d1-30531fa4f38mr4604712a91.13.1743259517942; Sat, 29 Mar 2025 07:45:17 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 08/12] target/riscv: rvv: Apply vext_check_input_eew to vector integer extension instructions(OPMVV) Date: Sat, 29 Mar 2025 22:44:42 +0800 Message-ID: <20250329144446.2619306-9-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=max.chou@sifive.com; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259767321019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index f397ae46446..728912fc1f2 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -3660,7 +3660,9 @@ static bool int_ext_check(DisasContext *s, arg_rmr *a= , uint8_t div) require_align(a->rd, s->lmul) && require_align(a->rs2, s->lmul - div) && require_vm(a->vm, a->rd) && - require_noover(a->rd, s->lmul, a->rs2, s->lmul - div); + require_noover(a->rd, s->lmul, a->rs2, s->lmul - div) && + vext_check_input_eew(s, -1, 0, a->rs2, s->sew, a->vm); + return ret; } =20 --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259591; cv=none; d=zohomail.com; s=zohoarc; b=C2PG2uk+BoZuS9Os1lJlgVloAO0ENJFL4gwTBr3LgqDmnTH8VLXiQhAY42dGdiSQruFzCfqYSPEd4daTUXa57vBwsFa2om5YIfzzGdMeKPgGSVMuRtVYs1kwAfQjsAcUOmPCY56b9YKB7F14CFYZ8qEBpNSjUOxBE7R0MTTgdYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259591; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6tIlPjmiVXJ11RniASEfA9pzU1FEFazuJvw0YnA23RU=; b=W5a5VjD4gUeSsRo0oAWjhFvHAK/BF7SQi+tHo4CjlTFve6Za+rX6o4iA2LBG9hYog5dhH5GrLPrK2Tj6zzfMw27vuNnc6s4638C/s9hiyIcjAFEqmBuluri9ax2lEXu2P89rzu3XaG4epoYNu1YgL7j6MlCQPK7D+1+zE3Q6lh8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259591688351.3768910856868; Sat, 29 Mar 2025 07:46:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXRB-00088P-Hv; Sat, 29 Mar 2025 10:45:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXR6-00084w-SA for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:24 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXR4-0004Sl-Lx for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:24 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2240b4de12bso29627625ad.2 for ; Sat, 29 Mar 2025 07:45:22 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259521; x=1743864321; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6tIlPjmiVXJ11RniASEfA9pzU1FEFazuJvw0YnA23RU=; b=TAR8VprRG6WjvM87ukWBP9Z9PjLVlPCJn2P1YEYlHgEc0MefqAzUhoKYZklsp1il0V kyxGa1RqVP+x1p4Mh5fJTLWm/NRALCFMNxmAgf/O2JYvLItmO0NOGIF46Bs9MG1Wg8kB tyj6xMEhQ1i4WIXN/z3GaNTZrBlcX6lT8gA+N9FFJxn4/1tfYXUBVrurBuV9hzoURfa3 UaCfDHSAE+KHMER2CCCPCGIbDj/vj5/hyd0Enjlel+xsw6NJ5ims0E3s3iRmV2FCOPQm TsDAru9k8/stCNpAUNtga53K+C+J+ssCNvo85hTEcKBsbvTDZYtWc890gTP1mPNKBssF ZnZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259521; x=1743864321; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6tIlPjmiVXJ11RniASEfA9pzU1FEFazuJvw0YnA23RU=; b=cjDPQXgc05EYtHVQ1cNqabcnzPVA4pvW2VmdkIOz2TJL3bk9Zuw/6mt0JOn/VXrUBr aZ10BaVX9XR/936twS3mk3guDgtNr/2eRkwHLtL8g8f8lNgsgiC2o2OGnrMUBYMjgJc4 Lpy3TQPguSDdneVgExrV2YkBuk9X2yhQ0zUCOdrWvGdEOOupvlW8/LbkLFwkimQHYUf4 BF9a6q5dMoh/cMHj1pcv8w+BBPyqaaKJVv62ZaWpa4IWF+krBHTeKIKtFjC4ps9P6329 Q4gxwUXHVjNHY2vK03k2332Tx3lhxms15sQ3M17mvdUsCYVEtrElkZmPWa6SsBMJqLfo R7hw== X-Gm-Message-State: AOJu0Yz5h5pK9DUU0AwgPfafUPtaagOwdzS/xcC/HqsKAZ6ddaFahAi5 ND2dTYizcgsZcVqULYcNsmKzdq+q9XGTFPaknOHFCYKLjgakgGWnqfAAIHOtWk8e5GSclIP3Bz1 w+GQqW1xP2PtGynU4WDnd97cOAWtvFOFVV3aAuOVZ0bChsi9PIZ9xNgQP75BJRVeJe/czGfD6vP AwJ9Wh5T38yTYhtPQx+vFgUmerJcJmXF7NZTudKw== X-Gm-Gg: ASbGncvAEIBAMvc+QLOrmgftkcYyJBvIEK1+JZ91qypjB+gpoVteNAj6L5wSSfOHlN6 uVnrYW3JOQzfYxi90f0yn/I/nkfqUW2wN4N1dwz0H8MvY05dU0ZlibaNAkTq0Ygs2iYcSukQgr1 lQIM77eAA2tSdD5Gg9EZMXTypFpNsq/tb1/fySUP9FsLdM/gggyLNBumQqI7OFcROCm6qN8z5kH hOqyI6dQtUch3IbUUI98JbL6cCEAOYcbYECkkXYewvZqfoLyxcoGqdCdyVeQ259cHHpR/gXhBXx xQgoLnm5QejK3jN3dCwE9wn2CBpt4pZiJiR/EqVfsxmDycpWCgxzN1iFtlEEd1aya65fFbMXSuu IJvQ0v5AqCHE5Vw== X-Google-Smtp-Source: AGHT+IFwDr3CoMhIab+lG3j3En+kQTFnJfqVKmVbP4Agw2cnWlrBX3duEpbrNdyZnkAUsQEyEfRRdA== X-Received: by 2002:a17:903:228a:b0:223:f9a4:3fb6 with SMTP id d9443c01a7336-2292f9423e1mr50580785ad.11.1743259520712; Sat, 29 Mar 2025 07:45:20 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 09/12] target/riscv: rvv: Apply vext_check_input_eew to vector widen instructions(OPMVV/OPMVX/etc.) Date: Sat, 29 Mar 2025 22:44:43 +0800 Message-ID: <20250329144446.2619306-10-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=max.chou@sifive.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259592805019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. The vd of vector widening mul-add instructions is one of the input operands. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvbf16.c.inc | 9 ++- target/riscv/insn_trans/trans_rvv.c.inc | 73 +++++++++++++++++----- 2 files changed, 65 insertions(+), 17 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvbf16.c.inc b/target/riscv/insn= _trans/trans_rvbf16.c.inc index 0a9cd1ec315..066dc364c5b 100644 --- a/target/riscv/insn_trans/trans_rvbf16.c.inc +++ b/target/riscv/insn_trans/trans_rvbf16.c.inc @@ -119,8 +119,11 @@ static bool trans_vfwmaccbf16_vv(DisasContext *ctx, ar= g_vfwmaccbf16_vv *a) REQUIRE_FPU; REQUIRE_ZVFBFWMA(ctx); =20 + uint8_t sew =3D ctx->sew; if (require_rvv(ctx) && vext_check_isa_ill(ctx) && (ctx->sew =3D=3D MO= _16) && - vext_check_dss(ctx, a->rd, a->rs1, a->rs2, a->vm)) { + vext_check_dss(ctx, a->rd, a->rs1, a->rs2, a->vm) && + vext_check_input_eew(ctx, a->rd, sew + 1, a->rs1, sew, a->vm) && + vext_check_input_eew(ctx, a->rd, sew + 1, a->rs2, sew, a->vm)) { uint32_t data =3D 0; =20 gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); @@ -146,8 +149,10 @@ static bool trans_vfwmaccbf16_vf(DisasContext *ctx, ar= g_vfwmaccbf16_vf *a) REQUIRE_FPU; REQUIRE_ZVFBFWMA(ctx); =20 + uint8_t sew =3D ctx->sew; if (require_rvv(ctx) && (ctx->sew =3D=3D MO_16) && vext_check_isa_ill(= ctx) && - vext_check_ds(ctx, a->rd, a->rs2, a->vm)) { + vext_check_ds(ctx, a->rd, a->rs2, a->vm) && + vext_check_input_eew(ctx, a->rd, sew + 1, a->rs2, sew, a->vm)) { uint32_t data =3D 0; =20 gen_set_rm(ctx, RISCV_FRM_DYN); diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 728912fc1f2..f30157939b8 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -529,6 +529,7 @@ static bool vext_narrow_check_common(DisasContext *s, i= nt vd, int vs2, static bool vext_check_ds(DisasContext *s, int vd, int vs, int vm) { return vext_wide_check_common(s, vd, vm) && + vext_check_input_eew(s, vs, s->sew, -1, 0, vm) && require_align(vs, s->lmul) && require_noover(vd, s->lmul + 1, vs, s->lmul); } @@ -536,6 +537,7 @@ static bool vext_check_ds(DisasContext *s, int vd, int = vs, int vm) static bool vext_check_dd(DisasContext *s, int vd, int vs, int vm) { return vext_wide_check_common(s, vd, vm) && + vext_check_input_eew(s, vs, s->sew + 1, -1, 0, vm) && require_align(vs, s->lmul + 1); } =20 @@ -554,6 +556,7 @@ static bool vext_check_dd(DisasContext *s, int vd, int = vs, int vm) static bool vext_check_dss(DisasContext *s, int vd, int vs1, int vs2, int = vm) { return vext_check_ds(s, vd, vs2, vm) && + vext_check_input_eew(s, vs1, s->sew, vs2, s->sew, vm) && require_align(vs1, s->lmul) && require_noover(vd, s->lmul + 1, vs1, s->lmul); } @@ -576,6 +579,7 @@ static bool vext_check_dss(DisasContext *s, int vd, int= vs1, int vs2, int vm) static bool vext_check_dds(DisasContext *s, int vd, int vs1, int vs2, int = vm) { return vext_check_ds(s, vd, vs1, vm) && + vext_check_input_eew(s, vs1, s->sew, vs2, s->sew + 1, vm) && require_align(vs2, s->lmul + 1); } =20 @@ -1532,6 +1536,16 @@ static bool opivv_widen_check(DisasContext *s, arg_r= mrr *a) vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm); } =20 +/* OPIVV with overwrite and WIDEN */ +static bool opivv_overwrite_widen_check(DisasContext *s, arg_rmrr *a) +{ + return require_rvv(s) && + vext_check_isa_ill(s) && + vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs1, s->sew, a->v= m) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs2, s->sew, a->v= m); +} + static bool do_opivv_widen(DisasContext *s, arg_rmrr *a, gen_helper_gvec_4_ptr *fn, bool (*checkfn)(DisasContext *, arg_rmrr *)) @@ -1579,6 +1593,14 @@ static bool opivx_widen_check(DisasContext *s, arg_r= mrr *a) vext_check_ds(s, a->rd, a->rs2, a->vm); } =20 +static bool opivx_overwrite_widen_check(DisasContext *s, arg_rmrr *a) +{ + return require_rvv(s) && + vext_check_isa_ill(s) && + vext_check_ds(s, a->rd, a->rs2, a->vm) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs2, s->sew, a->v= m); +} + #define GEN_OPIVX_WIDEN_TRANS(NAME, CHECK) \ static bool trans_##NAME(DisasContext *s, arg_rmrr *a) \ { \ @@ -2050,13 +2072,13 @@ GEN_OPIVX_TRANS(vmadd_vx, opivx_check) GEN_OPIVX_TRANS(vnmsub_vx, opivx_check) =20 /* Vector Widening Integer Multiply-Add Instructions */ -GEN_OPIVV_WIDEN_TRANS(vwmaccu_vv, opivv_widen_check) -GEN_OPIVV_WIDEN_TRANS(vwmacc_vv, opivv_widen_check) -GEN_OPIVV_WIDEN_TRANS(vwmaccsu_vv, opivv_widen_check) -GEN_OPIVX_WIDEN_TRANS(vwmaccu_vx, opivx_widen_check) -GEN_OPIVX_WIDEN_TRANS(vwmacc_vx, opivx_widen_check) -GEN_OPIVX_WIDEN_TRANS(vwmaccsu_vx, opivx_widen_check) -GEN_OPIVX_WIDEN_TRANS(vwmaccus_vx, opivx_widen_check) +GEN_OPIVV_WIDEN_TRANS(vwmaccu_vv, opivv_overwrite_widen_check) +GEN_OPIVV_WIDEN_TRANS(vwmacc_vv, opivv_overwrite_widen_check) +GEN_OPIVV_WIDEN_TRANS(vwmaccsu_vv, opivv_overwrite_widen_check) +GEN_OPIVX_WIDEN_TRANS(vwmaccu_vx, opivx_overwrite_widen_check) +GEN_OPIVX_WIDEN_TRANS(vwmacc_vx, opivx_overwrite_widen_check) +GEN_OPIVX_WIDEN_TRANS(vwmaccsu_vx, opivx_overwrite_widen_check) +GEN_OPIVX_WIDEN_TRANS(vwmaccus_vx, opivx_overwrite_widen_check) =20 /* Vector Integer Merge and Move Instructions */ static bool trans_vmv_v_v(DisasContext *s, arg_vmv_v_v *a) @@ -2397,6 +2419,17 @@ static bool opfvv_widen_check(DisasContext *s, arg_r= mrr *a) vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm); } =20 +static bool opfvv_overwrite_widen_check(DisasContext *s, arg_rmrr *a) +{ + return require_rvv(s) && + require_rvf(s) && + require_scale_rvf(s) && + vext_check_isa_ill(s) && + vext_check_dss(s, a->rd, a->rs1, a->rs2, a->vm) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs1, s->sew, a->v= m) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs2, s->sew, a->v= m); +} + /* OPFVV with WIDEN */ #define GEN_OPFVV_WIDEN_TRANS(NAME, CHECK) \ static bool trans_##NAME(DisasContext *s, arg_rmrr *a) \ @@ -2436,6 +2469,16 @@ static bool opfvf_widen_check(DisasContext *s, arg_r= mrr *a) vext_check_ds(s, a->rd, a->rs2, a->vm); } =20 +static bool opfvf_overwrite_widen_check(DisasContext *s, arg_rmrr *a) +{ + return require_rvv(s) && + require_rvf(s) && + require_scale_rvf(s) && + vext_check_isa_ill(s) && + vext_check_ds(s, a->rd, a->rs2, a->vm) && + vext_check_input_eew(s, a->rd, s->sew + 1, a->rs2, s->sew, a->v= m); +} + /* OPFVF with WIDEN */ #define GEN_OPFVF_WIDEN_TRANS(NAME, CHECK) \ static bool trans_##NAME(DisasContext *s, arg_rmrr *a) \ @@ -2560,14 +2603,14 @@ GEN_OPFVF_TRANS(vfmsub_vf, opfvf_check) GEN_OPFVF_TRANS(vfnmsub_vf, opfvf_check) =20 /* Vector Widening Floating-Point Fused Multiply-Add Instructions */ -GEN_OPFVV_WIDEN_TRANS(vfwmacc_vv, opfvv_widen_check) -GEN_OPFVV_WIDEN_TRANS(vfwnmacc_vv, opfvv_widen_check) -GEN_OPFVV_WIDEN_TRANS(vfwmsac_vv, opfvv_widen_check) -GEN_OPFVV_WIDEN_TRANS(vfwnmsac_vv, opfvv_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwmacc_vf, opfvf_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwnmacc_vf, opfvf_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwmsac_vf, opfvf_widen_check) -GEN_OPFVF_WIDEN_TRANS(vfwnmsac_vf, opfvf_widen_check) +GEN_OPFVV_WIDEN_TRANS(vfwmacc_vv, opfvv_overwrite_widen_check) +GEN_OPFVV_WIDEN_TRANS(vfwnmacc_vv, opfvv_overwrite_widen_check) +GEN_OPFVV_WIDEN_TRANS(vfwmsac_vv, opfvv_overwrite_widen_check) +GEN_OPFVV_WIDEN_TRANS(vfwnmsac_vv, opfvv_overwrite_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwmacc_vf, opfvf_overwrite_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwnmacc_vf, opfvf_overwrite_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwmsac_vf, opfvf_overwrite_widen_check) +GEN_OPFVF_WIDEN_TRANS(vfwnmsac_vf, opfvf_overwrite_widen_check) =20 /* Vector Floating-Point Square-Root Instruction */ =20 --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259763; cv=none; d=zohomail.com; s=zohoarc; b=hlkVvw5MBTYT3rVW9Nomt0uTYPolse0V0gVFS8YRdmLtxZrh0z+Axy1+D6Int0fvOlf55wcPwFvFPsL9lZcFK0wQQvdEZgcfSOkB6GpoCz+5A5dwOLXmrk04oRFSFc+cKj2BPLuyQ+gDTarH3wJot+echKCJ1ZGX+gELTZQ8VuU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259763; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=t6UE3g77XHofe5MwO/2JDN7eKdzN7JmoH+l9nIotsVw=; b=Nr+SL6EkzVprO6T+mTUTAXJsqUpIJNwdSUGajUP9M+u8XbfSxRiPXbIthBeRxLfag3IviEdfUwWc/p9QtonFJkyZc/vuXOfm4KZZllVGhzForBz9tsQm/MftVCcLsXRpneuy+i6kwobq6PDCSDrvKrVUAEMETMD09jqihDT0vvc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259763704505.40507149302687; Sat, 29 Mar 2025 07:49:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXRD-0008CA-H0; Sat, 29 Mar 2025 10:45:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXR9-00087Q-Sz for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:28 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXR7-0004T7-FZ for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:27 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-225df540edcso81144655ad.0 for ; Sat, 29 Mar 2025 07:45:25 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259523; x=1743864323; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t6UE3g77XHofe5MwO/2JDN7eKdzN7JmoH+l9nIotsVw=; b=JwWq3yVyv6wNgElYFoKJgc7uc10JNJhJREyS2wJ50kmBEPohdi8RJY/ZYFZADkfZc9 QheN5ICfOt4rKthAwTqUEi6rB796iYQHL9nXiDUnHuAA7qlguHk5+U2t2YqnufQk+r5b k4K18LoMRoINkyFlfSgSFmxRMZZH0U5ZNwUXx75tOrspPkLPvtI5sQ3FOQ5g6xInw2YP Ofh7VIK6ym45fN3OjQ496wjXYvVMnWX8rRuo6iZSFaAbyYeLVMsgPby4OnMQMfWojq4Q A348PyquL0VsEl86cZTnKHb+BiRmsdToshzY3csOk5b4/C0L7dv4Uykk7wjRJSPYvjxt D26Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259523; x=1743864323; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t6UE3g77XHofe5MwO/2JDN7eKdzN7JmoH+l9nIotsVw=; b=fxDA3QCRm+HnR/Qii/U9n5N5oaaV0MzOGWpInLjBrAO3ssLz6dl1C/Mv2NIXBY4IsK e4Z3E+6Eos88fMZ5przEuI4SXYxjbJefB/l9PgsJazrz/eWFzydSdkGSr2Lxpib5NFXN gBYT/gIn64O5mbuLorO2sgiQSzWfFuI9nZlu4N5aYSQ6vYoSdbZZXzx65V8nb/u6x6BN h3c7kOEXNhp6rPhSayxjr4T/L2EcxIib1GhlA8P+VKImcylgwLQmKo+Bb5wffCJQvOL/ 8fBH2ATEnYcxx+esvja3nCKMJAJvGX7JLZKTQ6gQLJfAvZ6V1qi6zoCK8FV5ZqT0Ooef CejQ== X-Gm-Message-State: AOJu0YyVYF5d5CSj7QQCy5zchh8MljpS/0JGUO5+x5fL5dVngXZ2x9SW IqferWTlGR1GVQGObuwWCMJyrQQIzPSIS3mDpb5xQghAKRv1WAGQUCtEUgy5Gs8dfqoq3PFHuSj b6CdRVw94tMlNHfqhtlgz/pLf+mXU3Yx9ifCZynwV3NWYivMKj0QOJlKmpclZYuO/C2+XMJ+NFD NhLq//oWk/Az/lYEeriG3GDkPMj7BAvGdBPd46aA== X-Gm-Gg: ASbGnctyjrPwKOdcHlkZSXsyqfCBzHIdX23q4rcYC9wIt3NHhcS8hcLGV4BAYEwoU5u WsMFVL9YPC/m5cHslvLv1WZRHCtV35cc4iYvXBT42HeJcakS4V1gS4l0bgVygBn1tOz6awQvA+e Wvy5TnsuEKo9MGjIUUrkV6INQi9NHIaFKS9PTjqqy29lMLGPusCJ4OCHgtfgSeV9ij2aV+lCwJW lLviXf1dJRA2ALGhGPKOI/kGAB3m7Ya2FFHrt9yqKxZEQj6mFgUpFS7L8hVw+8W2nV5mmPYwGkw w15xL6Av4PDGNvyhklx6Ss2d/xNBqxUX6dEiDIr+PAd/CTztfWF+1gJ7NL5VuNLtCi5K1ElxdLw 5BiMRa/JnPI4UCA== X-Google-Smtp-Source: AGHT+IHLDZYUrTdHIOm42lODWngkZ812MVphdPjdI7COW2p2SC3kTmFGnObKS+4XFpx1oUarXjLtfQ== X-Received: by 2002:a17:90a:fc46:b0:2ee:cbd0:4910 with SMTP id 98e67ed59e1d1-3053186c82emr5298609a91.1.1743259523430; Sat, 29 Mar 2025 07:45:23 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 10/12] target/riscv: rvv: Apply vext_check_input_eew to vector narrow instructions Date: Sat, 29 Mar 2025 22:44:44 +0800 Message-ID: <20250329144446.2619306-11-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=max.chou@sifive.com; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259765075019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index f30157939b8..d4d1ad055fa 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -585,7 +585,8 @@ static bool vext_check_dds(DisasContext *s, int vd, int= vs1, int vs2, int vm) =20 static bool vext_check_sd(DisasContext *s, int vd, int vs, int vm) { - bool ret =3D vext_narrow_check_common(s, vd, vs, vm); + bool ret =3D vext_narrow_check_common(s, vd, vs, vm) && + vext_check_input_eew(s, vs, s->sew + 1, -1, 0, vm); if (vd !=3D vs) { ret &=3D require_noover(vd, s->lmul, vs, s->lmul + 1); } @@ -608,6 +609,7 @@ static bool vext_check_sd(DisasContext *s, int vd, int = vs, int vm) static bool vext_check_sds(DisasContext *s, int vd, int vs1, int vs2, int = vm) { return vext_check_sd(s, vd, vs2, vm) && + vext_check_input_eew(s, vs1, s->sew, vs2, s->sew + 1, vm) && require_align(vs1, s->lmul); } =20 --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259759; cv=none; d=zohomail.com; s=zohoarc; b=EPylVSOd3eNz4elQlOXdYfhD9DeeBXXo8nxrEwPo2/fD3vycKNeCZjZqm5sL98nIoNz+b3TvEPOGPb385kJyXcHj6RM+eFCTgXX0NkNWEA7eN+9sxaHJZ9+2kC97fiX/qC0m/9UnU4on3khQ37gV7Aa77onAKP7a4mREex3XDsM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259759; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Lbs71pKdlN7MyNJTt4MNBTzM7Sw2d+gd3ctimJRhzq4=; b=HJRgfkoNxocQnfj7i+gWr55RGXm80QBlbGt1WHKWzHWl55uSPVqcUJkVA4UtJFY2ClHObO2OuvuBlvAYjqxa6z8M6twUv1hGN43NBOTgNB4d33yUszp0BXnlvM5bLNfGwb+XVoneTJnj7DauLhbYSFTLNWonpV88fiaSRWAxJpU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743259759704328.09793702651757; Sat, 29 Mar 2025 07:49:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXRI-0008Gi-6b; Sat, 29 Mar 2025 10:45:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXRC-0008BO-7S for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:30 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXRA-0004Tb-9k for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:29 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2241053582dso30883385ad.1 for ; Sat, 29 Mar 2025 07:45:27 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259526; x=1743864326; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Lbs71pKdlN7MyNJTt4MNBTzM7Sw2d+gd3ctimJRhzq4=; b=agSdIGM4/aulZ2qmGYc2/HaOCFUPsdr3bSlxZzW6coqtt2xDeSsySRh5+ueOnHDxxX KAy5OEljgLDwDaRRadPfmIwz9dzOMaAT2Mu6xo+yPUK3mPmR+EmIxZdszmiMbx7kgepj 6LzYUChkwRoycTTRa4wdOycKZCxBHdO44TMRuwgkiEjP/oHjQto0VRvuewHOsIrRqid3 VdVAUGBQ/urcQvnTFjhRFRDuOSRciAj3TUboU1rEz6t7X0euYbV7ldY5Z6C9TizqlHlu +CGZW0xMVWnoCu2hFMiqGUmopeRyCaeI8SwZJ4h9O/SqZJc8VvRSEQfynYu768MegnnN Lx7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259526; x=1743864326; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lbs71pKdlN7MyNJTt4MNBTzM7Sw2d+gd3ctimJRhzq4=; b=WgkI6261v9jsg6YqOL9bWgNmnMZQwa+5u2gUZIlrmwZtE1rCNsMRKjC9PPoqgSytsA ea2gIstYk9HosALC4Dyoc/Va3SSsOzAzxLOKqZ+aPGCE0fcICmWH+SQh/idwXvKsAF5N ZCHAJ6cWqDGYlv96Bx+ucRX+MV4ACKuk50YZs/3DPXjfJYS1vCUqROF6gkg+EEb09N/P RG8PIHQ6IsG4+y8r8g52bP6a8yfzMHV9hhghTJIOsZG82IOINIqvzgDfVZVDk89BxFE9 EptWmoUxOEbWmSXFrMfSWSuYz9i1b6IWciiKPamqEQn9Qaup5sKD1HFYzHj/qcWUT5pt CKDw== X-Gm-Message-State: AOJu0YzQ84VLv3pjq55CnoY7nDibMBQrSxFB2rcmHGUDmQy+DfPSLtVf 2TWUkhnoiryJvtm7unikMdXR4SpM+D1OD6Vky2gyaJW3NfCjnLQmifgv3E5Mn4V2QeTSQz/ZHXs Go+uSbAx5VeNgVCZY4/gzvQLvbaPtdo9bBaKDzOVcTpI/XL6OVmVuy/xJVcw9ygNBAEbzaocRl4 2WNLUAx8sX3gjyzS3CstxQplgFXSngx/2X4/IbYw== X-Gm-Gg: ASbGncs+MG7J7GJ0MAyiPNaufO1jU/OZiNwexBTA2xedNYHaKImm8gEcW6kI2h4DTXU Fr3WMYiYiccy0r0dqxV3vvGR7DNcASuVU2KkW38mowuqAy6TraEXxsyV2t26CDi2LkZJwerJLcj V4hcbAzDcWRSca75WwI9znsF4sUwBQXxWqePKUcCQEwJ6D6Vp3ogbgdLHWJ0tgG18kDmx880Aqk UOjnkraMeAT2Qlkm59epYu5kqHeG66bDVhZqf1+zK31G1RA+ix5lFXTbBax0MSV1vYiF52Q/ZLC gKUT7Z/eS6qdHsZkLM+USVJM+PzBZIYLkFSOzmUldcVCzwTLMBeO/OJXP6RGXc9a82VIQVBOHhg JGHa5oMy8TRGuTw== X-Google-Smtp-Source: AGHT+IGTo1qr2paOOCah2W0K6rQkW1qzZxLtzsmPAvfcasaosEiaoqCEWb1Rszoagg2KKBVjo+pAAg== X-Received: by 2002:a17:90b:5450:b0:2ee:8ea0:6b9c with SMTP id 98e67ed59e1d1-30531fa13bbmr6268851a91.12.1743259526376; Sat, 29 Mar 2025 07:45:26 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 11/12] target/riscv: rvv: Apply vext_check_input_eew to vector indexed load/store instructions Date: Sat, 29 Mar 2025 22:44:45 +0800 Message-ID: <20250329144446.2619306-12-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=max.chou@sifive.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259761207019100 Content-Type: text/plain; charset="utf-8" Handle the overlap of source registers with different EEWs. Co-authored-by: Anton Blanchard Co-authored-by: Max Chou Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvv.c.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index d4d1ad055fa..3b36464176a 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -1044,7 +1044,8 @@ static bool ld_index_check(DisasContext *s, arg_rnfvm= * a, uint8_t eew) { return require_rvv(s) && vext_check_isa_ill(s) && - vext_check_ld_index(s, a->rd, a->rs2, a->nf, a->vm, eew); + vext_check_ld_index(s, a->rd, a->rs2, a->nf, a->vm, eew) && + vext_check_input_eew(s, -1, 0, a->rs2, eew, a->vm); } =20 GEN_VEXT_TRANS(vlxei8_v, MO_8, rnfvm, ld_index_op, ld_index_check) @@ -1096,7 +1097,8 @@ static bool st_index_check(DisasContext *s, arg_rnfvm= * a, uint8_t eew) { return require_rvv(s) && vext_check_isa_ill(s) && - vext_check_st_index(s, a->rd, a->rs2, a->nf, eew); + vext_check_st_index(s, a->rd, a->rs2, a->nf, eew) && + vext_check_input_eew(s, a->rd, s->sew, a->rs2, eew, a->vm); } =20 GEN_VEXT_TRANS(vsxei8_v, MO_8, rnfvm, st_index_op, st_index_check) --=20 2.43.0 From nobody Wed Apr 2 13:19:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=sifive.com ARC-Seal: i=1; a=rsa-sha256; t=1743259596; cv=none; d=zohomail.com; s=zohoarc; b=ndN7j2QfDTK7B1HQ4ln5BNuKXo0FId36Z6NGPQTz0N7JcwOo/SBQJnLotAU+8NYleXFl8Cewc2kKGqc/f6nBNmy2BqmNGCtRy3VJleYKOqFd1/VRvMfCwwmKQgHT0sJee8mmEHXMlHjlEBQn9wit/6aMuRubDsoCDUQshfGFrBk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743259596; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6Vo5qxIjpxhp4phxz9X1WKzMuv5ynzuiARrverr9UNE=; b=QMMJhrcrHEK9w2ASo4XGMnCKE0JRGhGEASa2JOg8KPh/xo8CAkP5VNDApxsuxtdCA1U1UnP+YIi/amaobHabUiakRVPze4tkp4+YBI5jtqYWYDk+Q4fL0k8WbJhHG18NrDr8O/Uo10/tam3taRWb9Mf9/HVUQbKofDkIe6W+qag= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17432595967251023.7631794397428; Sat, 29 Mar 2025 07:46:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tyXRK-0008KW-7Z; Sat, 29 Mar 2025 10:45:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tyXRF-0008EK-68 for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:34 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tyXRD-0004U5-2T for qemu-devel@nongnu.org; Sat, 29 Mar 2025 10:45:32 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-2ff797f8f1bso4918975a91.3 for ; Sat, 29 Mar 2025 07:45:30 -0700 (PDT) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b6bcbsm6737196a91.45.2025.03.29.07.45.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Mar 2025 07:45:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1743259529; x=1743864329; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6Vo5qxIjpxhp4phxz9X1WKzMuv5ynzuiARrverr9UNE=; b=kTVwSsAmAXqkUjPWsgodvCDpGQlJHwRxiDo06o5Yeew7yogcz1LsGIaFZKzpDJUNDu sGDLV8AprET2KRbpXMEYmMDUwMA0VV1MqHNuf1h1wLPjF6fAasYJItXtkUaW7PgyF61G zsbVIcgEnRA6dwUJL2kWDYYI9A/vA8wLsvejb++OT6Y58NlT1x1LJXG7TNJb70EMqkSr OAIumArLqhXGqnQHRz4X7hiw1bEYbSuu+TMPFB50BgA7uCHDSJBEEl7/tY2aj4fgdjp3 IUb6nZ9yRGkX7S6YlTskZp/uDprI4ip7b2MBxtD+9FRl3VMnah9HUgKWyDaSu2d89Fux oPvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743259529; x=1743864329; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6Vo5qxIjpxhp4phxz9X1WKzMuv5ynzuiARrverr9UNE=; b=kQgzLXEcchBasH4eLnZ9oujxEjZQN0Jfqqiux+dZur75qiZRnCg0iuGGyH2HXRWK3j lwyd6sg1mycv8xSwVoiuZ1x1sXbWx3derPa02Bx9eJDef2PjvP/hli9o1bzxquKurTwG cO7bawHHedd0G2u4f07x6PIUX5f6DkJQKywIBop9PLHrFzNRIPDDPw01Ny1RSUCx7uwP q76bYandL/udj5DXjYBQTGUWOLxa+bDVzyGUzFDLGaavpo0G6z5OV1Vd7QGKbEBm2xxp pyE9xk4oFf8mnaE2INGycFH2pRd7bmjJwuXbfE4DR/YRQgX6/h0H09NHAkMRyRfb1Mt1 7JHg== X-Gm-Message-State: AOJu0YyyAZ5nDZ9197k3MwA/Wf1xmZnGzWOdwcOBvU1EhmilcCUPYE77 Fp2p4N9BVlkQqRu/v9lvOmNsoCNvY8EuR4TNJb/NIbS3SR8aozT+Lqkjo05JtkBJOQPvfrFw0sQ FZ9pdpY82rqviY3JKnQM5XwZDZwLZPW4yhF6jnWo9E5+M76aumBVo+9NumCtJCK6aHIwY4GECy1 zKPIERDL0G6KD4z6+GcqML93RWvANWMIqzUiim1A== X-Gm-Gg: ASbGncuDy7m6DAibp8xece454J0dGD0HNrwEllbSCD9a/3HNaLq+f6jVwK+MuWjN0F8 KkTp9Xt0optlb1fMqWPzGSuLRACOruhILsKd1ZyA/09NsS7EIM77iprhcGg6kN9iQN9zf6itFn1 ZWEQYi4qTGwvAUkbQF4UFBWAHGD8NQ/niKzg8a0alVJhVgawZ03ttBgm10jnsMaOg1n89sNp7rm uwPhmkUX4VgTBzclgTxyXRrvPmSgK24iKBMoB56FtXDFQf3zW29k7vucbguBGhtqrXXpz2/nwJn XxLX7xjSccgVD9DwHiCo//iRaeh7LZXUfxZzVeOsTxtongipxHmA1vBvqcbj8QGmUl+zAdA9wbv 4W04+aQ2i6SxlKQ== X-Google-Smtp-Source: AGHT+IEOWCLh2a3PbwlRfd6nTlAnPvOMV0PTK1t81qputTkUKhB69gUcx6ut2hhJBp7JRYax7snISA== X-Received: by 2002:a17:90b:384b:b0:2ff:6ac2:c5a6 with SMTP id 98e67ed59e1d1-30532178e82mr4237860a91.31.1743259529310; Sat, 29 Mar 2025 07:45:29 -0700 (PDT) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , antonb@tenstorrent.com, Max Chou Subject: [PATCH v2 12/12] target/riscv: Fix the rvv reserved encoding of unmasked instructions Date: Sat, 29 Mar 2025 22:44:46 +0800 Message-ID: <20250329144446.2619306-13-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250329144446.2619306-1-max.chou@sifive.com> References: <20250329144446.2619306-1-max.chou@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=max.chou@sifive.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @sifive.com) X-ZM-MESSAGEID: 1743259598646019100 Content-Type: text/plain; charset="utf-8" According to the v spec, the encodings of vcomoress.vm and vector mask-register logical instructions with vm=3D0 are reserved. Signed-off-by: Max Chou --- target/riscv/insn32.decode | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index 6d1a13c8260..cd23b1f3a9b 100644 --- a/target/riscv/insn32.decode +++ b/target/riscv/insn32.decode @@ -703,14 +703,14 @@ vfredmax_vs 000111 . ..... ..... 001 ..... 101011= 1 @r_vm # Vector widening ordered and unordered float reduction sum vfwredusum_vs 110001 . ..... ..... 001 ..... 1010111 @r_vm vfwredosum_vs 110011 . ..... ..... 001 ..... 1010111 @r_vm -vmand_mm 011001 - ..... ..... 010 ..... 1010111 @r -vmnand_mm 011101 - ..... ..... 010 ..... 1010111 @r -vmandn_mm 011000 - ..... ..... 010 ..... 1010111 @r -vmxor_mm 011011 - ..... ..... 010 ..... 1010111 @r -vmor_mm 011010 - ..... ..... 010 ..... 1010111 @r -vmnor_mm 011110 - ..... ..... 010 ..... 1010111 @r -vmorn_mm 011100 - ..... ..... 010 ..... 1010111 @r -vmxnor_mm 011111 - ..... ..... 010 ..... 1010111 @r +vmand_mm 011001 1 ..... ..... 010 ..... 1010111 @r +vmnand_mm 011101 1 ..... ..... 010 ..... 1010111 @r +vmandn_mm 011000 1 ..... ..... 010 ..... 1010111 @r +vmxor_mm 011011 1 ..... ..... 010 ..... 1010111 @r +vmor_mm 011010 1 ..... ..... 010 ..... 1010111 @r +vmnor_mm 011110 1 ..... ..... 010 ..... 1010111 @r +vmorn_mm 011100 1 ..... ..... 010 ..... 1010111 @r +vmxnor_mm 011111 1 ..... ..... 010 ..... 1010111 @r vcpop_m 010000 . ..... 10000 010 ..... 1010111 @r2_vm vfirst_m 010000 . ..... 10001 010 ..... 1010111 @r2_vm vmsbf_m 010100 . ..... 00001 010 ..... 1010111 @r2_vm @@ -732,7 +732,7 @@ vrgather_vv 001100 . ..... ..... 000 ..... 1010111 = @r_vm vrgatherei16_vv 001110 . ..... ..... 000 ..... 1010111 @r_vm vrgather_vx 001100 . ..... ..... 100 ..... 1010111 @r_vm vrgather_vi 001100 . ..... ..... 011 ..... 1010111 @r_vm -vcompress_vm 010111 - ..... ..... 010 ..... 1010111 @r +vcompress_vm 010111 1 ..... ..... 010 ..... 1010111 @r vmv1r_v 100111 1 ..... 00000 011 ..... 1010111 @r2rd vmv2r_v 100111 1 ..... 00001 011 ..... 1010111 @r2rd vmv4r_v 100111 1 ..... 00011 011 ..... 1010111 @r2rd --=20 2.43.0