From nobody Sat Apr 11 23:04:10 2026 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=1772631695; cv=none; d=zohomail.com; s=zohoarc; b=aRc9Qg5njA/lBxP+Jm8ztf38puUM7petsSZ4NcH2M3kudw2Z4pTqEOyXqZfAEbyADFpnGHSbi27U+s+T2qbbU+2UCFFlyyCvvgeu5IxtDC5BERFdmuOpwMoweaSSsBx6cryKXaem7UkTBezf/IJDI4HL2Z4bziPXplGO8ixsi7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631695; 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=CRsjV/mz2UynU8xkVuTY7bpWJP/z7vg2veO1oJFHtwg=; b=RZZ1LzlCntrN4yR0t4plJdfQO21uMgXMfyVYRdBFVCT/ET9e3j5PNF94BOIAko6yEtnd2gleSYuVsuDCSIoef/xdOij6zhXu8wlGady1f7Jj+PcQ8S7QulLQOMORu16QC6CK9nMRqa/ZKBY+BHzeEVAI/6FW3B91LlI1nGxGQH4= 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 1772631695558222.60676660464048; Wed, 4 Mar 2026 05:41:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTJ-0007CX-N8; Wed, 04 Mar 2026 08:41:06 -0500 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 1vxmSg-00070O-V3 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:32 -0500 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSe-0005FC-KM for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:26 -0500 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-827270d50d4so7230322b3a.3 for ; Wed, 04 Mar 2026 05:40:24 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631623; x=1773236423; 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=CRsjV/mz2UynU8xkVuTY7bpWJP/z7vg2veO1oJFHtwg=; b=JXwvEROkUr/NiJt6FYQSHsLUAE5yykqvNgXYKfExG6htzbI5fswgTYJPVk6DWkIQ/r w8R9AN4YiSe6Z/sUjNBqMcc0Z5DtNTzgrZ5S/vdN4gg7iN2kzFc8viULNlMeGyd6MA7J hT8dRPmtmSVdfQ+Y1uTdOuKQ5tj6pERDVzhZbd+zhtcHuhxlC83qrzeqy2hzit/q3Nqp P+yll4xYTwcZ8lKVK9Zg9sIGbvI0JwGIRbFb6YDTU+cO93zaavov22GygIyPbYrGsotd HBdBPiuz6mCDDVVFRF596+64vV/RE8p8L0q6jwaiyUCjhe8I9Hf0bxCy7thdZAd+uog1 zTQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631623; x=1773236423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CRsjV/mz2UynU8xkVuTY7bpWJP/z7vg2veO1oJFHtwg=; b=iEqwJ+wGezBIlnyGr9/SiEFsEYxncLVG1FDKCQXOYo6wpF+1XSLpzXZgjTPEvKsn6o apEz1MZkYpoP8jyX8/PFfmDb5eRC1dl3XYW/hYoTdsG0i1aCoEADOSkxLBrQZXNFja+P D9usfpXkOrKjdVlNulD3jlnphEArEW9scteIIsl4efq5bCjGy5fvUx30W1Oi6IFKBrf/ qSmz1Ci+lkkds997wAR30UagMEL6j2CXvERP+B3Js604aHVPotO5hVkxwxX64Hh99zbB z3ujVzUznfaWXqXXVXgy/nKbnECBW7bNF5x71v4eZM4oI1V+q9Lp+mwUqI+V/B5QPUPZ mm/Q== X-Gm-Message-State: AOJu0YxDUYQ+g/0cnNG72G1jjRIenok3VQ5WbeBYj/KfHmw9Qb+27dfD WTA0oqYFQLCiXbFbugFeyvxju/tSCd8/b0Qgv2dk0Td6S6V6khVK1mfktYjRteHjSyVG14eovls /bfVdEx3Hj5XGVNtKiMFhK9az6DYR1DqGi2aOBzuDuoyoAATFbzvH0NNmFdac1/vdRBj6eiBoBr K8QaqxbNrfHma/7h5gasU5+jRBJ7Qy+XzZD9SjrPApCw== X-Gm-Gg: ATEYQzxLPw2rkj0hIjcWXjQw2MhojbPnvuhublNk1ihFhO6Oe4u4pDitJSJZ/X7bVyq UOB6TMzHYdZcm/JWex4kjmvfrojxtY+2XPgQJ5mWyC88vZvTz/Cg2Hel35wdVoQ60kM66NmgMvJ zd0ShW8D0h2xtFyOeIIMKuuP0LCyKgNzwFRjthhewOduD2eQm3p/GZKDa/fvvhjHLaFWipmRtu3 NsvqYu6KHnS68Dafag+eftbw28sgqkM1pw0LUy6sDgb8ctPfz1SYHoci3GYl/Mut6s9a079GCbN 39Ck09qSH3kGm8NlIl5uYZQ4TEJdGzmgMlhoQEtk+BmH3HWNI7JjKb6brv9CZCyuKGpKj2WP83v dDQpj+sMDrc+e4K1D36Yh3JFFxj+T8/iLfCpN7AXTJSUuF/tMhlfAIItLWutjRJo0DlTcXHe0Mp ek5VwVu0FmhwkHdB7YSA5iKFy2I3MRYgLu+KDnALl3rc9Rp7bkHPNP8QtY8MZ4mUiHy9we0IhM3 BdBwtxgAnUWaUujxeN4A0eXqkcRI3m0PhnixQ== X-Received: by 2002:a05:6a00:6ca6:b0:824:a01f:6335 with SMTP id d2e1a72fcca58-82972b31ca5mr1680293b3a.22.1772631623075; Wed, 04 Mar 2026 05:40:23 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 01/14] target/riscv: rvv: Fix NOP_UU_B vs2 width Date: Wed, 4 Mar 2026 21:39:53 +0800 Message-ID: <20260304134006.2908449-2-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42a; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42a.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: qemu development 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: 1772631696334158500 Content-Type: text/plain; charset="utf-8" Reviewed-by: Chao Liu Signed-off-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/vector_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index f75177b0fc..b2315ecf9c 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -4982,7 +4982,7 @@ GEN_VEXT_V_ENV(vfwcvtbf16_f_f_v, 4) =20 /* Narrowing Floating-Point/Integer Type-Convert Instructions */ /* (TD, T2, TX2) */ -#define NOP_UU_B uint8_t, uint16_t, uint32_t +#define NOP_UU_B uint8_t, uint16_t, uint16_t #define NOP_UU_H uint16_t, uint32_t, uint32_t #define NOP_UU_W uint32_t, uint64_t, uint64_t /* vfncvt.xu.f.v vd, vs2, vm # Convert float to unsigned integer. */ --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631698; cv=none; d=zohomail.com; s=zohoarc; b=FH24rm87po/hhlXH/dhLNm0tGHdO9P3TxqSHxW4NkIKZattpJw3Poj0+bDnDneA4DOQZCEgK0pK2HLp8ws62lGXxH+YtI08TrMnRDpP1jjNskAfDNRBxRkrs5PG/etcnmCOXgjWyIFFB/zhHCSpzpsnc4nMCRI/axv7i4Hsz6Nw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631698; 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=pGVJp9rd848RfT+iHHjXq0FBv/JV9207fFEhqIScJMU=; b=iuQ7zk2t9kBNBycvk416nh1JOy69UaYDZ2etQ6USJN7v76+BR5uW+mk5RgCACV/SjtbZ9LT6WMtjSp5tCb6Kyd6ASC+GDEXikOZAPoXbN8tU3hRVyNhegLB+kCwCd85xIMYlrMPTJlIdvsslPC9+Qtm6f7JOOLxNJMbhJqX4yPE= 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 177263169859671.86511137670948; Wed, 4 Mar 2026 05:41:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTQ-0007KG-Ro; Wed, 04 Mar 2026 08:41:13 -0500 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 1vxmSj-00074V-G9 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:32 -0500 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSh-0005Fr-O2 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:29 -0500 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-829756f3ee9so485237b3a.2 for ; Wed, 04 Mar 2026 05:40:27 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631626; x=1773236426; 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=pGVJp9rd848RfT+iHHjXq0FBv/JV9207fFEhqIScJMU=; b=McRCsLfSUeLYZ+yl1eMbzeQTNI+rXLpikWF1lodzZZMhDKqunVTtjBYdiA4tnhWSoC j9PJoKUBWxnXJt6rP0QEEPo1wMJ8tOF/gM7QJIkOaQianp+zZTRdlU+87152gBuldWay 8nxysKS+ilklHPocD0Lj3rOBDfNkvaQd+/8pNTVbhlo5meArXkpTihtP9LiYyILkpQst mgUKOVJsMGCjptfS9zs1PsQAkmMpokRlp0VHQYVxARtrVafvAf+SccjUakkONNMwg780 jIJ/ejYmtvJC0FQE8LfSZY2ihHy6WHcEhyUx92KEmECfXk3iaSNeXPtJL+eacxC2M/Ia TjHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631626; x=1773236426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pGVJp9rd848RfT+iHHjXq0FBv/JV9207fFEhqIScJMU=; b=UFGzs6M42fQ+nz4CuoVzM+YgVZYdrZMrQOlmPxXkAwRW28F/Iwq68xZXePDnHiJt6W 4viihQMoL/OFk/IZH5wLHX3rHMdfMWKdEiJj8mTBOncHsYNV0FZIboTOY2mYXchEihOo W49AaRRSg8V5lV5WE0CQLoBS6wr/KtYHysVhXJUN4m/6uFRCQs4a66gx82YwSgkP6TGk SwPHvoH4QJIMfOLVeBWNUYnAbLTbOvbej8RPg+iArYqCmCyIGGd4F59lfBRsupjbVJMb tn2yvNz+4UkWN297V/8Pihsa8mcEN8z7ymXjMyDdA/xxLd5YnYc/MQIB7rjzVhv360Q4 iROg== X-Gm-Message-State: AOJu0YxxWA8iC5/t+1LlUATmjDzu9A08ixTxGSwjzaGREhYdLuL0Seyh Kp+QpdFBHILIvvrY9i/Wr5spuVyOvR8Nsjg5crhYV9I7zp0ZNqpgxUBC82lRjgUl/0vfHtCy6ue PCQO87bthUI/AbrL92BUSF4tOHi0/zNUsZt8UUEqFERKA0bSg4L8PqT5zH5dNHTQlkOl8UcwFLi pUnKMlnPS2+Fz0gNXTlP7d8ZGSGwxX9Nl4Ugt6A5pnig== X-Gm-Gg: ATEYQzwUweCkmz8zEd77qStz5q44zngeRhl4SFIDM6s5an5+aT4LupOgMiYt/qnEfLE HU1O1noFtg5ByPtV0NVDAJZSTJgugfMw+l8+L2ouDkMRpP4xze3wS3NOSWxvrGYLaN31nW8bS6S F7mP85RoywbjCNc+ITDKxW4VPGu+sEkT6dp0lDmiyYAq6DHvh+XuwdE/1TFJpcPf/p5QXz147eL IvOB9WcDrvI3PVYYJx81FT7qjLDttafCY4sxA1nbh17UV7ubWhCQJxfukADPGTnC1K+iHno5NoH ekha3WCQNbo88DhfJ5iEbF5ZwU/t4TOL8FWxSa3jdWXt6/bXPD4WYKBLduRXEBH7mYeOleEk1Ue VqTg8tfDQRjVGTukphKIOyaelwG++2lE+iWkC0wcKaWDjMmrky7T3IPhngJNzOT6uCX7bp6ITWY J+DEZrBUSpwG9JV0ROc747D3tv7YR1dIuL3wJiLExX41smpYYMb3DkeVsticDgEHEsURSmE+WHw tPD5wdpZPLMgV06Ri/+o9sJPg4= X-Received: by 2002:a05:6a00:3cd2:b0:824:93e4:2ddf with SMTP id d2e1a72fcca58-829728f0381mr1922473b3a.13.1772631626013; Wed, 04 Mar 2026 05:40:26 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 02/14] target/riscv: Add cfg properity for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:54 +0800 Message-ID: <20260304134006.2908449-3-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::431; envelope-from=max.chou@sifive.com; helo=mail-pf1-x431.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: qemu development 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: 1772631701780154100 Content-Type: text/plain; charset="utf-8" According to the ISA spec of Zvfofp8min extension, "The Zvfofp8min extension requires on the Zve32f extension." Reviewed-by: Chao Liu Signed-off-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 1 + target/riscv/cpu_cfg_fields.h.inc | 1 + target/riscv/tcg/tcg-cpu.c | 5 +++++ target/riscv/vector_helper.c | 3 ++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 73cfcbdf6f..c3ddcefedc 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -194,6 +194,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zvfbfwma, PRIV_VERSION_1_12_0, ext_zvfbfwma), ISA_EXT_DATA_ENTRY(zvfh, PRIV_VERSION_1_12_0, ext_zvfh), ISA_EXT_DATA_ENTRY(zvfhmin, PRIV_VERSION_1_12_0, ext_zvfhmin), + ISA_EXT_DATA_ENTRY(zvfofp8min, PRIV_VERSION_1_12_0, ext_zvfofp8min), ISA_EXT_DATA_ENTRY(zvkb, PRIV_VERSION_1_12_0, ext_zvkb), ISA_EXT_DATA_ENTRY(zvkg, PRIV_VERSION_1_12_0, ext_zvkg), ISA_EXT_DATA_ENTRY(zvkn, PRIV_VERSION_1_12_0, ext_zvkn), diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 3696f02ee0..59302894af 100644 --- a/target/riscv/cpu_cfg_fields.h.inc +++ b/target/riscv/cpu_cfg_fields.h.inc @@ -104,6 +104,7 @@ BOOL_FIELD(ext_zvfbfmin) BOOL_FIELD(ext_zvfbfwma) BOOL_FIELD(ext_zvfh) BOOL_FIELD(ext_zvfhmin) +BOOL_FIELD(ext_zvfofp8min) BOOL_FIELD(ext_smaia) BOOL_FIELD(ext_ssaia) BOOL_FIELD(ext_smctr) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 378b298886..ba89436f13 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -710,6 +710,11 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, = Error **errp) return; } =20 + if (cpu->cfg.ext_zvfofp8min && !cpu->cfg.ext_zve32f) { + error_setg(errp, "Zvfofp8min extension depends on Zve32f extension= "); + return; + } + if (cpu->cfg.ext_zvfh && !cpu->cfg.ext_zfhmin) { error_setg(errp, "Zvfh extensions requires Zfhmin extension"); return; diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index b2315ecf9c..57221ab884 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -38,7 +38,8 @@ static target_ulong vtype_reserved(CPURISCVState *env, ta= rget_ulong vtype) int xlen =3D riscv_cpu_xlen(env); target_ulong reserved =3D 0; =20 - if (riscv_cpu_cfg(env)->ext_zvfbfa) { + if (riscv_cpu_cfg(env)->ext_zvfbfa || + riscv_cpu_cfg(env)->ext_zvfofp8min) { reserved =3D vtype & MAKE_64BIT_MASK(R_VTYPE_RESERVED_SHIFT, xlen - 1 - R_VTYPE_RESERVED_SHI= FT); } else { --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631784; cv=none; d=zohomail.com; s=zohoarc; b=SQhlVkzjGlEftNB6SpNV5qoAAIBBeXtNCUypDKW92HbmrJzzPlW5bATNly4mEydgAnOmFSFknHo0xd6v9mEBO3GlTi+jVzSUlnXojBrvh91mfq9f9zEhDikHqlj12wZDVIEbgcUfD/6elF+6FPked6D65vviCh5ZJDBMQzDr22c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631784; 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=sEStfTYF6dMKGYdU7+74hxiaVaOWeU/uihc0yMQ82GY=; b=jaqqWnhhq72if+CeKs/0owebTlvRzfqnRK8pLDvR86oG2/AE9KeZzBriuwiGA/nK5/6wJHwCcWyCmzjIqaVajSOUXzvoF0shyrHlAfe+alofX0R5rHJMBPxFRaQJFeWE9Kam8y03WpT4LWgM/t8MTjBZf2l5ENoMeeFXn2pqE2c= 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 1772631784235272.72211327501145; Wed, 4 Mar 2026 05:43:04 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTn-0007lV-US; Wed, 04 Mar 2026 08:41:36 -0500 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 1vxmSn-000753-7l for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:36 -0500 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSk-0005GB-GR for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:32 -0500 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-827390e8a3cso4441504b3a.0 for ; Wed, 04 Mar 2026 05:40:29 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631629; x=1773236429; 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=sEStfTYF6dMKGYdU7+74hxiaVaOWeU/uihc0yMQ82GY=; b=Cpl0oo7Q+zsbV52O4dkIUduq3SmOVBll8beItQhITSQMoHX7ziqyv9JmvVUzrBguae N47G5yAV7qcobkR+1boqDgaORCgS40ICMbgYlHhyaEvPBEEpKfQ4XB2VDRS+Q5aR1p3B gSFOC4YMgV9IMgNnpZbnvjwdOa6685t8wXrCRSyY3OYjQQid/D6qVv0UsHUfRnb137cu 9c0UV+tbj4j9C5e/Wp3eJjCkhL7ZtYnsqQfViQSleLHQqD/K3+vTAfameEn7oYSfdqN6 cVG9lelWQGLFFDvhB4NFrfM0/czW4niXrN6aMSYfrhfNlrVOGKCvl8bjiw0UsR8fVZUN Xepw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631629; x=1773236429; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sEStfTYF6dMKGYdU7+74hxiaVaOWeU/uihc0yMQ82GY=; b=cq0OiUOHImsKzbyMyUXnqEbcBK9zzFCKg3wB/txqjLCbaWRhcusedzoWgrq0cvJCYE kdJ4ay7a3uavSXazZ4v9MUITK7CVj+uohZaTPNYA+nBZxzV67IIbZ3sv9nHgsInLTCT/ qEu6wKCC02tue1Di+TLH9UxN3CBXqbIRHjL8bcWTGGewupUkN1AAkZJGhHjooJNrUnOc QCRTNf7sb/MP7SO9NSHOOfkTPUUAS8hP7qdgIiIhiuMJA2DCrNVTS6xSs8An76fYH37r QnyPYD6/+zqdQlBP14IDsaxv8H3PAW/PKDIhwFKunrsh9UeNLT22ptFVh6+MsKnPHi4n XPwg== X-Gm-Message-State: AOJu0YyPPesL9tdRj+yF9xOys51BL5tIPke01xESQGT1qubGU1m2NSdA XFuFRIYrwLpa9MpirNS9SZkBv8VI6HQi8zeyrW3nQoR9gqKRiZp+uaFZKwy0BUQPoTKZ704W7mF aq87m6E24pF5KMRmjB8KNsBlVpyUCD2vXXBMLeyHpdVqzxVQm/eIi/yuluNYrz1P9KkF2IH+Ayr 2KIHIhL9lpsryVRxYlz6Yr7RZXbs9GBgTWV/tNRTFdjA== X-Gm-Gg: ATEYQzwpoVxlIwEpMhibwt8Mafnt9AoVcBNZ+cqS00YgXjLxcGQdNyXzwRhkuScHUr0 cgBcHa0vIAyUg2+cwyWlwPiLUBhHtOgqqS+/acymMjWJ6bz0o8CYGtBAUwPpnlb4FW0H6KZYK5M hPF29GzrVrjklYfm5Cbvi2S2H6CUgQXHrVBwQF8jpZ+Q2BKej551zZnSH+7fDJCpo4220J6hgNS XxRLtu+dlPVEzMs2EfsgIfHp2MQ6K4/4a83BcQ1NJdoeOQbshgpvkrVHCf4TiS7LGKkWoARaxX1 7gmlBuFoC2/mZUQt6oGSUNIA+LTb7ZvBY7SAANcOO6N7wctPEYlP+Z1pDK+0tG8f6nz8A4b4yMH VAgiySHOLUhKswSwG6fSFp6Ps1CFLurZR5no9UpBWoLXG1/18uQhVUqK4mplrs0PQmfA33uYshY 5Sb5yGAb0ItLMiixCejththHzBmCur/8zcf9E/yoSUfC+ZiZ8lT+Lq5XDmOeaRAoxzXMkd88IWL 0/T4NOR0HJgEAri8NajFPvAtOc= X-Received: by 2002:a05:6a00:992:b0:823:ec5:430c with SMTP id d2e1a72fcca58-8295da0214bmr5013280b3a.29.1772631628563; Wed, 04 Mar 2026 05:40:28 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 03/14] target/riscv: Add implied rules for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:55 +0800 Message-ID: <20260304134006.2908449-4-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42a; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42a.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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1772631786230154100 Content-Type: text/plain; charset="utf-8" Add implied rules to enable the implied extensions of Zvfofp8min extension recursively. Reviewed-by: Chao Liu Signed-off-by: Max Chou Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index c3ddcefedc..1cd74f01b7 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2508,6 +2508,15 @@ static RISCVCPUImpliedExtsRule ZVFHMIN_IMPLIED =3D { }, }; =20 +static RISCVCPUImpliedExtsRule ZVFOFP8MIN_IMPLIED =3D { + .ext =3D CPU_CFG_OFFSET(ext_zvfofp8min), + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_zve32f), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule ZVKN_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zvkn), .implied_multi_exts =3D { @@ -2645,8 +2654,8 @@ RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rule= s[] =3D { &ZKS_IMPLIED, &ZVBB_IMPLIED, &ZVE32F_IMPLIED, &ZVE32X_IMPLIED, &ZVE64D_IMPLIED, &ZVE64F_IMPLIED, &ZVE64X_IMPLIED, &ZVFBFA_IMPLIED, &ZVFBFMIN_IMPLIED, &ZVFBFWMA_IMPLIED, - &ZVFH_IMPLIED, &ZVFHMIN_IMPLIED, &ZVKN_IMPLIED, - &ZVKNC_IMPLIED, &ZVKNG_IMPLIED, &ZVKNHB_IMPLIED, + &ZVFH_IMPLIED, &ZVFHMIN_IMPLIED, &ZVFOFP8MIN_IMPLIED, + &ZVKN_IMPLIED, &ZVKNC_IMPLIED, &ZVKNG_IMPLIED, &ZVKNHB_IMPLIED, &ZVKS_IMPLIED, &ZVKSC_IMPLIED, &ZVKSG_IMPLIED, &SSCFG_IMPLIED, &SUPM_IMPLIED, &SSPM_IMPLIED, &SMCTR_IMPLIED, &SSCTR_IMPLIED, NULL --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631753; cv=none; d=zohomail.com; s=zohoarc; b=W63kdWGnPv6wQkyGIp+X+pETpHTRkA0JeHDSx7+nGq5hlUeErSq4aCO46WZgJ6SEOhaBYgqgWdDL1oVqHLIdWXqpNj5gkxUyz7G8T+vy0VcM9Td2R9o4bxQgZscIhS0BsakPbOY989jGVnm+Yk+x60Xw61u/tsKeJyiJ7dvdRMg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631753; 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=xzelXRZ9tbEuLK3joUudr8KY23FRJwujr1DexgI6vx8=; b=TfRtUsAvSY/VwqGBdcKBVAyHQ2QBax3j4BKHccIF+qKqvmZx0IJo/NVqlgHiTzSSgO2JkeUx8J/EFjlSIhUlSQvGefRM9UUvjfauCb72mGXbC1TJcruM3ULK3SgT2XtQQw9CWD0w1JNhAUNpZuL+6TAPczCtiiC3K9PIvrlqsF0= 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 1772631753848140.88547690911548; Wed, 4 Mar 2026 05:42:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTR-0007Kg-A4; Wed, 04 Mar 2026 08:41:14 -0500 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 1vxmSp-00075C-AR for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:39 -0500 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSn-0005GR-7h for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:35 -0500 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-824adc96ad2so6615246b3a.3 for ; Wed, 04 Mar 2026 05:40:32 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631631; x=1773236431; 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=xzelXRZ9tbEuLK3joUudr8KY23FRJwujr1DexgI6vx8=; b=Bq//SRyBKHNNVxmqvbTK2Fmn1zeszuY0o/j3peofWoGY21klRiymbFrWTorIFLzpED M74BbFR6Oo/s2F7qtCYUAB8FQwgFgo7oAVTq0gZftCgnBPSfBclpeUg4mrvz3XvG3F0f qJPPJXr/lHTy4W8MQQsAzv+jLgargBcJEIFqwSKTx1DfMxCYRanupUHm9eJRehirNbsH DMzNW/5Zs+PrrcWbfw5nlapBVyZ/yiz49Opzt9+dVZqP8C1kUSQEwmPCaXm4ABgE/OgV FTcgRAVR1Vdtm8z6q3wZ3fJNht3SYJF3Vj7sfmnaiQYSvWtXQIJTkB+974Fb8TnFvWpE vC1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631631; x=1773236431; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xzelXRZ9tbEuLK3joUudr8KY23FRJwujr1DexgI6vx8=; b=NQnvpJMAFFCkFQlUs5iHgRKeeJgxeAOW00SYlXtstz09mm0XP0ZgIL2poDtDRsqr/2 VhY2lo+g1wUqFlFZjaRVqJp77hfnD6qfUpCSnfpA8lRqAg744Qe8JSYyJE5rmXKNH9Pp F4Zn9S1Hlp3EJCIAuZzGDLlO9lHDgSi4s/tp1ZGRYPw1jRTcyzEpDcfgyPMdFEqLkPAC sCApXB88GSP+Q0kCktiVXe2iotlvkUWP5a3Y7Ocg1856selT4lVGeHAsOTTqXvF5Yfff mvhOIlH26CWW83EUH7p29t0DXIqmuxRD0HYdfqc5ZAjSI3t2SVwbNxd3+fL0Xq3Wfegz CGrQ== X-Gm-Message-State: AOJu0YzFIRGvuipA33jXwJslR5Uulid/geVcjSNCWEACqaNQLS6zbz17 QNUapNBFE5uOOfsTACKFM//2g00XPCTXhVuyQVlgUfbOCWYD3jomShHyLGMTYlMJpHlb/mwhjeX WmkKbSu7o/G6oby/g4jAlQ/1wvAMtwPR3p8hFENPUy9X8SbP0QDYp7mKLlXDfnqPDWEFCPdfyt6 3z95us6k1qnLsLUd5ipmeTNEPysnwcBG8uxkR4nCHibw== X-Gm-Gg: ATEYQzyCPYrgYju0uralhFrw0nR443j1HQED61hN3UJ4SHO6StF3iavYTZ4Eq993CDQ WPSgPml2AlYGLfCL6JoPFBFhEfEgFYlk7PdkvoMsvwi/NYzuMhEXZNThkW/fjqPGWehTvjrwJEo qboIGfZ6Oaad9y1vUHxE2s5VADVvZrjpkF3/xKrqDr6GRPLc8tdQS/9NI/jx12a3HsEraF25K1Y 5QqZspk4KcGDB0p2XNNvId5i88Pfjl4D81MaadMm3L8dHhZxO05Ue1bbKkKFFvlgCOLMiHkIUve Vjt/0CFcm5pfANSp8gyOAlGgnIALJSJ6GstNLou70wgUrRWnh/I/62ZdPJ2UkmBnBTm3Ms9SsPg o6+XhndlwNfF2GU0vNmw9ZJDz0+1A+8Kl1xfnnMcCK4e7BwUA+QS/raYx/dUKZd6WDsHvW4X/2j d8f+tyGFPLsF/DGIUQqbpf/A75XvwWJUZzTv0tghqb7FJMFviA9WtOi17hBvxWMqE5TxnQsPLmo 93gGzbsq8F+WD8I3cUEyW6hwhQ= X-Received: by 2002:a05:6a20:5681:b0:343:6c90:77b5 with SMTP id adf61e73a8af0-3982dda5d1fmr2044169637.15.1772631631422; Wed, 04 Mar 2026 05:40:31 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 04/14] target/riscv: rvv: Make vfwcvtbf16.f.f.v support OFP8 to BF16 conversion for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:56 +0800 Message-ID: <20260304134006.2908449-5-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::431; envelope-from=max.chou@sifive.com; helo=mail-pf1-x431.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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1772631756101154100 Content-Type: text/plain; charset="utf-8" According to the Zvfofp8min extension, the vfwcvtbf16.f.f.v instruction supports OFP8 to BF16 conversion when SEW is 8. And the VTYPE.altfmt field is used to select the OFP8 format. * altfmt =3D 0: OFP8.e4m3 to BF16 * altfmt =3D 1: OFP8.e5m2 to BF16 Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/helper.h | 12 +++ target/riscv/insn_trans/trans_rvbf16.c.inc | 16 +++- target/riscv/vector_helper.c | 99 +++++++++++++++++++++- 3 files changed, 122 insertions(+), 5 deletions(-) diff --git a/target/riscv/helper.h b/target/riscv/helper.h index eb0a488ba8..356c24d9fb 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -1247,6 +1247,18 @@ DEF_HELPER_5(vfwcvtbf16_f_f_v, void, ptr, ptr, ptr, = env, i32) DEF_HELPER_6(vfwmaccbf16_vv, void, ptr, ptr, ptr, ptr, env, i32) DEF_HELPER_6(vfwmaccbf16_vf, void, ptr, ptr, i64, ptr, env, i32) =20 +/* OFP8 functions */ +DEF_HELPER_5(vfwcvtbf16_f_f_v_ofp8e4m3, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfwcvtbf16_f_f_v_ofp8e5m2, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvtbf16_f_f_w_ofp8e4m3, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvtbf16_f_f_w_ofp8e5m2, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvtbf16_sat_f_f_w_ofp8e4m3, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvtbf16_sat_f_f_w_ofp8e5m2, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvt_f_f_q_ofp8e4m3, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvt_f_f_q_ofp8e5m2, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvt_sat_f_f_q_ofp8e4m3, void, ptr, ptr, ptr, env, i32) +DEF_HELPER_5(vfncvt_sat_f_f_q_ofp8e5m2, void, ptr, ptr, ptr, env, i32) + /* Vector crypto functions */ DEF_HELPER_6(vclmul_vv, void, ptr, ptr, ptr, ptr, env, i32) DEF_HELPER_6(vclmul_vx, void, ptr, ptr, tl, ptr, env, i32) diff --git a/target/riscv/insn_trans/trans_rvbf16.c.inc b/target/riscv/insn= _trans/trans_rvbf16.c.inc index 6cfda03d2e..9aafd4d2ef 100644 --- a/target/riscv/insn_trans/trans_rvbf16.c.inc +++ b/target/riscv/insn_trans/trans_rvbf16.c.inc @@ -92,11 +92,20 @@ static bool trans_vfncvtbf16_f_f_w(DisasContext *ctx, a= rg_vfncvtbf16_f_f_w *a) static bool trans_vfwcvtbf16_f_f_v(DisasContext *ctx, arg_vfwcvtbf16_f_f_v= *a) { REQUIRE_FPU; - REQUIRE_ZVFBFMIN(ctx); =20 - if (opfv_widen_check(ctx, a) && (ctx->sew =3D=3D MO_16)) { + if (opfv_widen_check(ctx, a) && + ((ctx->sew =3D=3D MO_16 && ctx->cfg_ptr->ext_zvfbfmin) || + (ctx->sew =3D=3D MO_8 && ctx->cfg_ptr->ext_zvfofp8min))) { + gen_helper_gvec_3_ptr *fn; uint32_t data =3D 0; =20 + if (ctx->sew =3D=3D MO_16) { + fn =3D gen_helper_vfwcvtbf16_f_f_v; + } else { + fn =3D ctx->altfmt ? gen_helper_vfwcvtbf16_f_f_v_ofp8e5m2 : + gen_helper_vfwcvtbf16_f_f_v_ofp8e4m3; + } + gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); =20 data =3D FIELD_DP32(data, VDATA, VM, a->vm); @@ -106,8 +115,7 @@ static bool trans_vfwcvtbf16_f_f_v(DisasContext *ctx, a= rg_vfwcvtbf16_f_f_v *a) tcg_gen_gvec_3_ptr(vreg_ofs(ctx, a->rd), vreg_ofs(ctx, 0), vreg_ofs(ctx, a->rs2), tcg_env, ctx->cfg_ptr->vlenb, - ctx->cfg_ptr->vlenb, data, - gen_helper_vfwcvtbf16_f_f_v); + ctx->cfg_ptr->vlenb, data, fn); finalize_rvv_inst(ctx); return true; } diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 57221ab884..e7b187a57d 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -89,7 +89,7 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ul= ong s1, =20 switch (vsew) { case MO_8: - ill_altfmt &=3D !(cpu->cfg.ext_zvfbfa); + ill_altfmt &=3D !(cpu->cfg.ext_zvfbfa || cpu->cfg.ext_zvfofp8min); break; case MO_16: ill_altfmt &=3D !(cpu->cfg.ext_zvfbfa); @@ -5034,6 +5034,103 @@ GEN_VEXT_V_ENV(vfncvt_f_f_w_w, 4) RVVCALL(OPFVV1, vfncvtbf16_f_f_w, NOP_UU_H, H2, H4, float32_to_bfloat16) GEN_VEXT_V_ENV(vfncvtbf16_f_f_w, 2) =20 +/* + * OCP FP8 Narrowing Conversions (BF16/F32 -> FP8) + * 1. Initialize a local float_status with RISC-V specific NaN handling + * 2. Call the softfloat conversion function with saturation parameter + * 3. Merge exception flags back to the original status + */ +#define GEN_OCP_FP8_NARROW(NAME, CONVERT_FN, SATURATE, IN_TYPE) \ +static uint8_t NAME(IN_TYPE a, float_status *s) \ +{ \ + float_status local =3D *s; \ + local.default_nan_pattern =3D 0x70; \ + local.default_nan_mode =3D true; \ + uint8_t result =3D CONVERT_FN(a, SATURATE, &local); \ + s->float_exception_flags |=3D local.float_exception_flags; \ + return result; \ +} + +/* BF16 -> E4M3/E5M2 conversions */ +GEN_OCP_FP8_NARROW(vfncvt_bf16_to_e4m3, bfloat16_to_float8_e4m3, false, + uint16_t) +GEN_OCP_FP8_NARROW(vfncvt_bf16_to_e5m2, bfloat16_to_float8_e5m2, false, + uint16_t) +GEN_OCP_FP8_NARROW(vfncvt_bf16_to_e4m3_sat, bfloat16_to_float8_e4m3, true, + uint16_t) +GEN_OCP_FP8_NARROW(vfncvt_bf16_to_e5m2_sat, bfloat16_to_float8_e5m2, true, + uint16_t) + +/* F32 -> E4M3/E5M2 conversions */ +GEN_OCP_FP8_NARROW(vfncvt_f32_to_e4m3, float32_to_float8_e4m3, false, uint= 32_t) +GEN_OCP_FP8_NARROW(vfncvt_f32_to_e5m2, float32_to_float8_e5m2, false, uint= 32_t) +GEN_OCP_FP8_NARROW(vfncvt_f32_to_e4m3_sat, float32_to_float8_e4m3, true, + uint32_t) +GEN_OCP_FP8_NARROW(vfncvt_f32_to_e5m2_sat, float32_to_float8_e5m2, true, + uint32_t) + +/* + * OCP FP8 Widening Conversions (FP8 -> BF16) + * According to Zvfofp8min isa specification: "No rounding occurs, and no + * floating-point exception flags are set." + * 1. Initialize a local float_status with no_signaling_nans=3Dtrue + * 2. Call the softfloat conversion function + * 3. Intentionally DISCARD exception flags (not merged back) + */ +#define GEN_OCP_FP8_WIDEN(NAME, CONVERT_FN) \ +static uint16_t NAME(uint8_t a, float_status *s) \ +{ \ + float_status local =3D *s; \ + local.no_signaling_nans =3D true; \ + return CONVERT_FN(a, &local); \ +} + +GEN_OCP_FP8_WIDEN(vfwcvt_e4m3_to_bf16, float8_e4m3_to_bfloat16) +GEN_OCP_FP8_WIDEN(vfwcvt_e5m2_to_bf16, float8_e5m2_to_bfloat16) + +/* vfwcvtbf16.f.f.w vd, vs2, vm # Convert OFP8 to BF16. */ +RVVCALL(OPFVV1, vfwcvtbf16_f_f_v_ofp8e4m3, WOP_UU_B, H2, H1, + vfwcvt_e4m3_to_bf16) +RVVCALL(OPFVV1, vfwcvtbf16_f_f_v_ofp8e5m2, WOP_UU_B, H2, H1, + vfwcvt_e5m2_to_bf16) +GEN_VEXT_V_ENV(vfwcvtbf16_f_f_v_ofp8e4m3, 2) +GEN_VEXT_V_ENV(vfwcvtbf16_f_f_v_ofp8e5m2, 2) + +/* vfncvtbf16.f.f.w vd, vs2, vm # Convert BF16 to OFP8 without saturation.= */ +RVVCALL(OPFVV1, vfncvtbf16_f_f_w_ofp8e4m3, NOP_UU_B, H1, H2, + vfncvt_bf16_to_e4m3) +RVVCALL(OPFVV1, vfncvtbf16_f_f_w_ofp8e5m2, NOP_UU_B, H1, H2, + vfncvt_bf16_to_e5m2) +GEN_VEXT_V_ENV(vfncvtbf16_f_f_w_ofp8e4m3, 1) +GEN_VEXT_V_ENV(vfncvtbf16_f_f_w_ofp8e5m2, 1) + +/* vfncvtbf16.sat.f.f.w vd, vs2, vm # Convert BF16 to OFP8 with saturation= . */ +RVVCALL(OPFVV1, vfncvtbf16_sat_f_f_w_ofp8e4m3, NOP_UU_B, H1, H2, + vfncvt_bf16_to_e4m3_sat) +RVVCALL(OPFVV1, vfncvtbf16_sat_f_f_w_ofp8e5m2, NOP_UU_B, H1, H2, + vfncvt_bf16_to_e5m2_sat) +GEN_VEXT_V_ENV(vfncvtbf16_sat_f_f_w_ofp8e4m3, 1) +GEN_VEXT_V_ENV(vfncvtbf16_sat_f_f_w_ofp8e5m2, 1) + +/* Quad-width narrowing type for FP32 to OFP8 */ +#define QOP_UU_B uint8_t, uint32_t, uint32_t + +/* vfncvt.f.f.q vd, vs2, vm # Convert FP32 to OFP8. */ +RVVCALL(OPFVV1, vfncvt_f_f_q_ofp8e4m3, QOP_UU_B, H1, H4, + vfncvt_f32_to_e4m3) +RVVCALL(OPFVV1, vfncvt_f_f_q_ofp8e5m2, QOP_UU_B, H1, H4, + vfncvt_f32_to_e5m2) +GEN_VEXT_V_ENV(vfncvt_f_f_q_ofp8e4m3, 1) +GEN_VEXT_V_ENV(vfncvt_f_f_q_ofp8e5m2, 1) + +/* vfncvt.sat.f.f.q vd, vs2, vm # Convert FP32 to OFP8 with saturation. */ +RVVCALL(OPFVV1, vfncvt_sat_f_f_q_ofp8e4m3, QOP_UU_B, H1, H4, + vfncvt_f32_to_e4m3_sat) +RVVCALL(OPFVV1, vfncvt_sat_f_f_q_ofp8e5m2, QOP_UU_B, H1, H4, + vfncvt_f32_to_e5m2_sat) +GEN_VEXT_V_ENV(vfncvt_sat_f_f_q_ofp8e4m3, 1) +GEN_VEXT_V_ENV(vfncvt_sat_f_f_q_ofp8e5m2, 1) + /* * Vector Reduction Operations */ --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631760; cv=none; d=zohomail.com; s=zohoarc; b=kWZN/Kl/V2xNWWsVnt+F8WKkqqMqxwfl/s31nejqQdO20Kk44ITQtrIaZhWUOQZrJXof6eieExU3y1KiEsN15PNojF07ANjUIUo4Y2RZE+ZnuMfI76HL6WyyY2iGv4BjucX2vFThfBarM401MeycrnHVV1k7V2boLg17EvXZ1Qw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631760; 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=X1mPbNrkbZhdEdy+7HQVJMcKS2lnobOrz3f6ZLgHC1g=; b=Sgpxloh2IdV0JdPyoO1r4q3NhoqH3G4ru6i+vl9EFwHShMauSmVr64/q7m+6/AjYTJnsk14usFnLtF6CBTFsK9CAXjrUjrcTyS5U/0YzXHFAAX7jdniBbVP2NurnjJVUKAyYNiXqEtDwGg1SmNmWRNkmKLZqNYM9dcAaGvzvLFw= 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 1772631760579829.3952139890243; Wed, 4 Mar 2026 05:42:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTh-0007ao-K7; Wed, 04 Mar 2026 08:41:30 -0500 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 1vxmSt-00076N-NJ for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:43 -0500 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSp-0005Gq-Kd for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:39 -0500 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-827390e8a3cso4441547b3a.0 for ; Wed, 04 Mar 2026 05:40:35 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631634; x=1773236434; 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=X1mPbNrkbZhdEdy+7HQVJMcKS2lnobOrz3f6ZLgHC1g=; b=Nai1XJ8GbEmAGhNblmV3a4Z/whrCrw79WVO0yk54a8CQCk4ZX3MzNFO1GJKqLCktGO hmOPBovGWCYUmjZtEJObxmxbS1vh7igbIh3oE0Cx2C1zr8W/sh0eUe8xWYO3y0oAcT58 Z8V+20FdHi1OWcav/gtt9ALuztkccu2/xT2BOwawrqI4tWsvFXdru3UKuXH19U7kKTzG DACkArIRiaXUm53/moOWFw7nzOSo/Xt5vSk+KW2lJZLtdINF7EQRInhbeOJlEGniyvBS gyW0aFACT9EH2/WWCf32/00jqlZ/fSQE7ybA4ThQ1GTSwW/iCpdWGhiuI7BDmfVHGCky TzTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631634; x=1773236434; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=X1mPbNrkbZhdEdy+7HQVJMcKS2lnobOrz3f6ZLgHC1g=; b=nXgKSf++Bspd7iNbECu4B8XdFebkRzutnPoEHkSzrn8Ou8Eg7nBzYvpfp+bstPx2Yw lSDFCgeL+8CwiepwRGQnvj4Ij6kqN+m6dcQL1wpq+eU9Gf4dSnS8XxxtnGlTZRGppyh9 ONqbjvEJID0Jo8VXZAqWCo3FQUn2rRT4AVS8xZ75BcByNWH5JkCj3ffigPoTPjV+Wy8D oO7xO4WZEWlJkblzD1KV+tvjqyaUnLyIdAFDLq6fl7hbNMk+yyoHF5aClDiyvnGqhVZe 3FLrXALGsHvgbWwLqn2D3gUE1cGo2XFcR9w2/3Inmrx3p17c+2DAGZAJNJKjlVLI71E3 16ng== X-Gm-Message-State: AOJu0Yw7XoRL4NbO8pj14Ul21oH7+pCw20+F/xJt0qDeCSqw9LDTTE0r rLnvVCj5ctFW2p8JLm1LEcy4Aq1pFyiIJpWHfXg6cBzmL6CXc87PTF7MeLJoY98Bn2k0NOV4ug3 AEo1CF/8roCUdCsMMmC5S0MfTPOb4zqmwyXrN9Jdc5jWsG1V17VuYN0NYX4O0r4sdH6C4mloXIN pyk1KG0y+Wnqc4kt2HFc/Y6Ce8d5NF1m22PuJ75D9zkg== X-Gm-Gg: ATEYQzxHnm/D2kfr3k0jRBRIRpVmiOSUlWHM5ofO1L4/OEUlHxVHSyWpGJexortbs5x UALxDGAYTWGrBe7G4S5f9J4TZHzsGPBFjf4MbrOZsJzX3o5of1HytmlqrGkWYzdDRjG+eMbpAyN undPYmR3wiMPM28dYXcGN7X1QmViNsEpTEYV8wXKw+ZE5adfW5B6Vkv4i2VsTbjAV+lRKkGx51T rKN2G1iQCt3HQtMMXwKhu7RPygB1umvFb4LNXVT57S6d8sMUhsshxyGuEoMudQ1G5AZbNoCfVDU 1Mj7qplIz7mjW3mrip/zpYVZ4lOzZpw312mlpZb3ijgfrkFTinXhLHdGP1HfqXI8/AGjPSLf9GI LmgUvbBa+vGL67MA7RYWEicjyVv48KZaunswnrqXIDbge96/+s78kIXrlK2WkS8JbTOCPUfQH4o 9ylL+/ZBt/210xzR/67JHjUZGsaWNuq2AIilywXxe7J0XfNzHqsew96YX1czrWyR5pL75PbTAWZ nibaeUlOHur3h/wZf7pOGk1Km4= X-Received: by 2002:a05:6a00:4613:b0:823:5729:a125 with SMTP id d2e1a72fcca58-8297276cb2fmr1980093b3a.30.1772631633872; Wed, 04 Mar 2026 05:40:33 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 05/14] target/riscv: rvv: Make vfncvtbf16.f.f.w support BF16 to OFP8 conversion for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:57 +0800 Message-ID: <20260304134006.2908449-6-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42c; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42c.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: qemu development 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: 1772631762181154100 Content-Type: text/plain; charset="utf-8" According to the Zvfofp8min extension, the vfncvtbf16.f.f.w instruction supports BF16 to OFP8 conversion without satuation when SEW is 8. And the VTYPE.altfmt field is used to select the OFP8 format. * altfmt =3D 0: BF16 to OFP8.e4m3 * altfmt =3D 1: BF16 to OFP8.e5m2 Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/insn_trans/trans_rvbf16.c.inc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvbf16.c.inc b/target/riscv/insn= _trans/trans_rvbf16.c.inc index 9aafd4d2ef..16f4403909 100644 --- a/target/riscv/insn_trans/trans_rvbf16.c.inc +++ b/target/riscv/insn_trans/trans_rvbf16.c.inc @@ -67,11 +67,20 @@ static bool trans_fcvt_s_bf16(DisasContext *ctx, arg_fc= vt_s_bf16 *a) static bool trans_vfncvtbf16_f_f_w(DisasContext *ctx, arg_vfncvtbf16_f_f_w= *a) { REQUIRE_FPU; - REQUIRE_ZVFBFMIN(ctx); =20 - if (opfv_narrow_check(ctx, a) && (ctx->sew =3D=3D MO_16)) { + if (opfv_narrow_check(ctx, a) && + ((ctx->sew =3D=3D MO_16 && ctx->cfg_ptr->ext_zvfbfmin) || + (ctx->sew =3D=3D MO_8 && ctx->cfg_ptr->ext_zvfofp8min))) { + gen_helper_gvec_3_ptr *fn; uint32_t data =3D 0; =20 + if (ctx->sew =3D=3D MO_16) { + fn =3D gen_helper_vfncvtbf16_f_f_w; + } else { + fn =3D ctx->altfmt ? gen_helper_vfncvtbf16_f_f_w_ofp8e5m2 : + gen_helper_vfncvtbf16_f_f_w_ofp8e4m3; + } + gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); =20 data =3D FIELD_DP32(data, VDATA, VM, a->vm); @@ -81,8 +90,7 @@ static bool trans_vfncvtbf16_f_f_w(DisasContext *ctx, arg= _vfncvtbf16_f_f_w *a) tcg_gen_gvec_3_ptr(vreg_ofs(ctx, a->rd), vreg_ofs(ctx, 0), vreg_ofs(ctx, a->rs2), tcg_env, ctx->cfg_ptr->vlenb, - ctx->cfg_ptr->vlenb, data, - gen_helper_vfncvtbf16_f_f_w); + ctx->cfg_ptr->vlenb, data, fn); finalize_rvv_inst(ctx); return true; } --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631876; cv=none; d=zohomail.com; s=zohoarc; b=Xb0Vz3+iAqTNAu7NGzsMY3fUARP+vi3oPEKFrSp8fwr2A1vh/4pbABX2CD8AdljzAycLo76gi5xWYfiBpEFf09ZxuAtTBu9UT90qcXLQW50LAGP2QF+sKOY8hdPGQOiTjbYdB0vSwAqr1d4+l+uyKQugSWEkhKswrB8r5yisJnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631876; 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=TfVuIY4SlpIjzs9W+EVASWSnAdZ3f5gnOncDfXWWIHI=; b=GsEJ3SoP8DFZXtQ5q5AYxN6OaIxQlAKk9ElgOpmIJd88aWG7USxoFrAe5tc2QZS1Dg9Qe4Q+76+fHfABEnE+joO2ypnZRo9IaXXb7AJl9vZnGbTtdl3rIgBbvO6kWrZhZg2mxDkuakURmqaWI46npahMcLKfR3vVdMcWFo45/zI= 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 177263187588831.181019372329843; Wed, 4 Mar 2026 05:44:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTp-0007sH-FI; Wed, 04 Mar 2026 08:41:37 -0500 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 1vxmSu-00076R-5s for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:43 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSs-0005HU-9t for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:39 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-82748095963so3457388b3a.2 for ; Wed, 04 Mar 2026 05:40:37 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631636; x=1773236436; 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=TfVuIY4SlpIjzs9W+EVASWSnAdZ3f5gnOncDfXWWIHI=; b=CQMjEz4Ko7byqBwqhwX+d4fs/hbVNBeXyFPtuWysBL4Iq74o1+YUMatZHmphTTiv7A moJeYdhti+kWEDx7y0h3hDjyHt0KWLImrVXv4jkhQprIlx/v8lU4t6od59Ypr+SErIGb MkQUT48ZzoPjF/3M9t9W+jwc7gBPSmaCNbek/FXUsWPsozZofw+S7pkmVICLj3obIP7x l7vUqfOTZ3tgDbAVO3OzRZXmTPX3DIO9i+Rb+O8O2hdalVzo5MZw4sohE8eApa47KGYx lKCyt2J8psilrzjt94WyXpwZGGnM5bJQl/CLStp4GcxDni2dNzBI4fx232z9qAhYDb2m Ni0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631636; x=1773236436; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TfVuIY4SlpIjzs9W+EVASWSnAdZ3f5gnOncDfXWWIHI=; b=u/OQhiEqrHpjrWwjQQY56rJiwzcTJvuGe5hBD+MysEthCmRwB15vlhFLWdr7U5NAXe L5SBAyAhs3qnNjtR6Knn1Gl1dhGshygMtlQxKW+OQTrypM3hjozuJOqqOEe6iGrztcYs aPmoYcyK2GkbOKk8RlWq1tEgY68pvJZrwqBRlLtHZkRRoDqUQOtgvroa6HYoepDJ1UV4 dTfy20yvcsTk8FuPumqZUzghYq2FJtnClxo4J+utE2owkUO35HXIlewme2JSyrEsbctm Wj4MlivqJKdgjsqPC1VM2TGlOlRuoaMJLgMNLp4ZdU8xFG7m4m2F/8+dmS0bKfWIQxsO SvnQ== X-Gm-Message-State: AOJu0YxStV8mFZHKv24DEabYu+A+Si7M7X1dblVimncX3r9Sv8jwPvuT uUxmSkt9FsvXAtInt0PCkujTfNtDLD1LfKFUXoilIAeEPuEc2DvE2vF/CDHq0+r0IMwx/KY+F3u rlyMGqacS1+yMwypuff79bFa1kbIUKKimin6XdxKSNh1pulR5LzKQKc7KsHnWIrUh6BxQc+NR/C RhZGZvhyBmapftobG+lZFrEHk8BY27ZBgC6+A+fgNidw== X-Gm-Gg: ATEYQzxb+zSZvxlnMGiDa5fFJb/dlCFu1YB3juym58ty35yp40rcUw1KWsfy4CcELJk 2vl95OrrzToIjsa9z/7TvItH1G5uY9RqY0r30PqMRvJ6xQ+XWIf71ovV49+bz0/4GRvtHuPpcO+ DAUHFAzIFp009PIJ/mujsyMOY8DyyW+NOHdGDO9UYvfSnR35vtvPMHGeEoOeOKRDqIh4juUzIeb eBpbP6K/1sCY1lHuUDgxwX8tWjlCo32iOEgL49HNZaLT6N3doPnwlHVZPW5GXDqTpv81uKchPCf FaaiYQ1CJZXmLolr70BJW6aUiqG5FtZQmf8THSqkTNCGimPuDO1GyBQ64nNe7XGLStIqURCGPzC MP0bJ0m8bOnREA/KAdFlEXNQ5kVa9gLpvLpVqA52opf3YoS7aTf1P2I4cA+l9fJvE9H0gokuEQx w+1jKqZRvf5M2QPnWRjr5Db0f1EZNhScGbxktdZ8qefdJt5OatGU7DK9a3JFbIpnIcOtqWN/WyG hKijJNCcLoFV9YEHzuOTUAna6k= X-Received: by 2002:a05:6a00:12de:b0:827:32dd:59d8 with SMTP id d2e1a72fcca58-82972bbdf35mr1706713b3a.16.1772631636366; Wed, 04 Mar 2026 05:40:36 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 06/14] target/riscv: rvv: Add vfncvtbf16.sat.f.f.w instruction for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:58 +0800 Message-ID: <20260304134006.2908449-7-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::435; envelope-from=max.chou@sifive.com; helo=mail-pf1-x435.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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1772631878608154101 Content-Type: text/plain; charset="utf-8" The vfncvtbf16.sat.f.f.w instruction converts a vector of 16-bit floating-point numbers to a vector of 8-bit floating-point numbers with saturation. The VTYPE.altfmt field is used to select the format of the 8-bit floating-p= oint numbers. * altfmt =3D 0: BF16 to OFP8.e4m3 * altfmt =3D 1: BF16 to OFP8.e5m2 Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvofp8.c.inc | 42 ++++++++++++++++++++++ target/riscv/translate.c | 1 + 3 files changed, 46 insertions(+) create mode 100644 target/riscv/insn_trans/trans_rvofp8.c.inc diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index 6e35c4b1e6..49201c0c20 100644 --- a/target/riscv/insn32.decode +++ b/target/riscv/insn32.decode @@ -973,6 +973,9 @@ vfwcvtbf16_f_f_v 010010 . ..... 01101 001 ..... 101011= 1 @r2_vm vfwmaccbf16_vv 111011 . ..... ..... 001 ..... 1010111 @r_vm vfwmaccbf16_vf 111011 . ..... ..... 101 ..... 1010111 @r_vm =20 +# *** Zvfofp8min Extension *** +vfncvtbf16_sat_f_f_w 010010 . ..... 11111 001 ..... 1010111 @r2_vm + # *** Zvbc vector crypto extension *** vclmul_vv 001100 . ..... ..... 010 ..... 1010111 @r_vm vclmul_vx 001100 . ..... ..... 110 ..... 1010111 @r_vm diff --git a/target/riscv/insn_trans/trans_rvofp8.c.inc b/target/riscv/insn= _trans/trans_rvofp8.c.inc new file mode 100644 index 0000000000..d28f92e050 --- /dev/null +++ b/target/riscv/insn_trans/trans_rvofp8.c.inc @@ -0,0 +1,42 @@ +/* + * RISC-V translation routines for the OFP8 Standard Extensions. + * + * Copyright (C) 2025 SiFive, Inc. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#define REQUIRE_ZVFOFP8MIN(ctx) do { \ + if (!ctx->cfg_ptr->ext_zvfofp8min) { \ + return false; \ + } \ +} while (0) + + +static bool trans_vfncvtbf16_sat_f_f_w(DisasContext *ctx, arg_rmr *a) +{ + REQUIRE_FPU; + REQUIRE_ZVFOFP8MIN(ctx); + + if (opfv_narrow_check(ctx, a) && ctx->sew =3D=3D MO_8) { + gen_helper_gvec_3_ptr *fn; + uint32_t data =3D 0; + + fn =3D ctx->altfmt ? gen_helper_vfncvtbf16_sat_f_f_w_ofp8e5m2 : + gen_helper_vfncvtbf16_sat_f_f_w_ofp8e4m3; + + gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); + + data =3D FIELD_DP32(data, VDATA, VM, a->vm); + data =3D FIELD_DP32(data, VDATA, LMUL, ctx->lmul); + data =3D FIELD_DP32(data, VDATA, VTA, ctx->vta); + data =3D FIELD_DP32(data, VDATA, VMA, ctx->vma); + tcg_gen_gvec_3_ptr(vreg_ofs(ctx, a->rd), vreg_ofs(ctx, 0), + vreg_ofs(ctx, a->rs2), tcg_env, + ctx->cfg_ptr->vlenb, + ctx->cfg_ptr->vlenb, data, fn); + finalize_rvv_inst(ctx); + return true; + } + return false; +} diff --git a/target/riscv/translate.c b/target/riscv/translate.c index d9df6a35ca..0c546a3aff 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -1220,6 +1220,7 @@ static uint32_t opcode_at(DisasContextBase *dcbase, t= arget_ulong pc) #include "insn_trans/trans_privileged.c.inc" #include "insn_trans/trans_svinval.c.inc" #include "insn_trans/trans_rvbf16.c.inc" +#include "insn_trans/trans_rvofp8.c.inc" #include "decode-xthead.c.inc" #include "decode-xmips.c.inc" #include "insn_trans/trans_xthead.c.inc" --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631709; cv=none; d=zohomail.com; s=zohoarc; b=KRKwCayFIpeg68nKoCLHKhizE6vrUeEaHagfn/zfQWDPF80tVm46n+R5p090GyaTZUFbecsZF7dFWjibOmzNhZm+GmKLy2VrbtXE2nR8RzkWSjvVw6iBPV4nTz5dUQMqV6rSn9yL4YVrd8dd/UuiQWuXi+eRoV6+kzMUxMC28YU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631709; 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=wQhK6dmWDOa1gBz5c44K1WDUuXSMny0o88foILV0BxU=; b=HH3AVsZd3y6h+LfaFAkU0VL9ja1LKOmLRvH8sEvE1u7U6/52cjev0xEoLKDffMF/osHNwX0qnYQu4FbetDkicmUnxAf89Zsri8I9vjef9F3BW/FcbKznfzWGyLFDwncGT8Fz8lCWzLXgVrZ8KxQuMXHqx5NKRt5t0zrztIfSQfg= 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 1772631709560739.9575009275183; Wed, 4 Mar 2026 05:41:49 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTj-0007dJ-8w; Wed, 04 Mar 2026 08:41:32 -0500 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 1vxmSw-000770-Qd for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:47 -0500 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSu-0005Hy-AV for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:41 -0500 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-829756f3ee9so485397b3a.2 for ; Wed, 04 Mar 2026 05:40:39 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631639; x=1773236439; 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=wQhK6dmWDOa1gBz5c44K1WDUuXSMny0o88foILV0BxU=; b=FDhcDPXPyGvrL/pda8ArrGccXqdF+J8VyBADXNEvskDncpeodyVkDyEu3/zj2XkusB PflV7KDQpOP40TVPPMnJfdn9dTWuB8gDUgplhVam6+EfUhTgCzoHoPGIdyc4OnntDrkA /oO6JIiWm8JEjPxqiM1vVHXKhb/owaoftFTkcAPFVCN8DVnvsyZaGQAda5Rp16ZMnqXI B70CUmLZnJQXTkaqITFg9e6M8vx8nC1YrzZRZnn5swmTXjTFU+M24To354HrP2Kkc38T qMv4oKPk/nP7bNimT0JWLNDr7rPSaNCyPsmSLvK0GY9Mqa3BDSs1+FiHvknLSfWnI7Yo rU9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631639; x=1773236439; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wQhK6dmWDOa1gBz5c44K1WDUuXSMny0o88foILV0BxU=; b=a+RdryzkHmaA1+/A6+lDmy7Sg3Wg8mayU+DbR/J9mLSL4Z8+zyaSvI5nG5StR3EkEs w/0yJOZbU89USgDtGfrIQkquyVcb3Xi8Qa2OKm7OFB4kNbEduiEzzxgcZxKVHuCEZRAQ PhEfzYfZ7k4c5TrEKnJs4tQnPu3Ymkh1I6Q2cmIY/gO2elxtIWqvAAqKoTzoS9TI+8LW AXmFmtdLL8mMLJcZF8mr2qPlZwAQR5fQf/BQ6dCHvzWRpKDCKPtAKAZx3VTBTAD1tAci AnvQ7sSZdFQaC31QyQkNdqqYu/gtdhJ/jktgCbMgsLu+2nn5+UvdrSJF29Lim/f+khph R+VQ== X-Gm-Message-State: AOJu0Yyky2PqfkEqjOw8H5NUltSvs2Rt3jr1SPNvdFRkdaIKvz5ixi38 mu6gCmUK8IewlBXkyMsuf7RP5fzpEOrtUN39rX1Ni1ilPfwefycmWLln9JPBLVWZmDX3NCWC/Pq iBn+m3AwMTDiOuetlIG6sKkMifbhu/iTNzqaByx84DHvMtuU83ImaQvJPnxMxd2bekHHuEHZZUX Ge9JCg3cJrvGVfi9VNPpHCqJTbmLIjwvYqVxuHvRUUug== X-Gm-Gg: ATEYQzzSTNi5JWxWtawGoMAxt80E36bC4LVqrM9mMc3Iy4wEwjoUBWISxaBawjCbvk/ jt/Jdmv8tjSdLo06D4WfgynT9mOXOiMRU7TiKh7cI5hHKnlw7b3ZP2kfVwgZwAgz+obywBYzFr6 szV+mLyUILDO3+aTPE57BVPzoSSN0QM4CchxeC5tvG87Dy0FL44TVW0M86rx34ilAuYP/IUEHQ5 BJJOxJYBWp/sLATV5uTV8Zm/S3eHVFVZR1/7Djx/qwlVDcBnySw3sZ4KjSIN17Rk6DC5xhwYvNC +KJb6zANqTR5WqUuu1ayQhcvyTQcKa2vg2WRu1+GFPufIZfuRSpCyd2wSvSOOEVYrJ+KqLMW64I Ysk9RmaC+DvGg3M5Sb6Ykz5+4ame25fscVIUbRFpnd05BGuRaHnX6mt552zk6VWeH7v5d3kAUWv kEZqCcxOPLCwqf8kz4sv8frvnr7e3QcKF1rkw3dSqsuQZ7dPezREzbvNdpSYUzV/rJWl7zu+u8X eObhankF0Iwvn7XdYQG97hrBgc= X-Received: by 2002:a05:6a00:4504:b0:81d:e9b1:b6e3 with SMTP id d2e1a72fcca58-8297291a6a5mr1846982b3a.14.1772631638669; Wed, 04 Mar 2026 05:40:38 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 07/14] target/riscv: rvv: Add vfncvt.f.f.q and vfncvt.sat.f.f.q instructions for Zvfofp8min extension Date: Wed, 4 Mar 2026 21:39:59 +0800 Message-ID: <20260304134006.2908449-8-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::432; envelope-from=max.chou@sifive.com; helo=mail-pf1-x432.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: qemu development 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: 1772631711607154100 Content-Type: text/plain; charset="utf-8" The vfncvt.f.f.q and vfncvt.sat.f.f.q instructions convert a vector of FP32 elements to a vector of OFP8 elements. The vfncvt.sat.f.fq instruction converts a vector of FP32 elements to a vector of OFP8 elements with satura= tion. The VTYPE.altfmt field is used to select the OFP8 format. * altfmt =3D 0: FP32 to OFP8.e4m3 * altfmt =3D 1: FP32 to OFP8.e5m2 Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/insn32.decode | 2 + target/riscv/insn_trans/trans_rvofp8.c.inc | 63 ++++++++++++++++++++++ target/riscv/insn_trans/trans_rvv.c.inc | 39 ++++++++++++++ 3 files changed, 104 insertions(+) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index 49201c0c20..f2b413c7d4 100644 --- a/target/riscv/insn32.decode +++ b/target/riscv/insn32.decode @@ -974,6 +974,8 @@ vfwmaccbf16_vv 111011 . ..... ..... 001 ..... 101011= 1 @r_vm vfwmaccbf16_vf 111011 . ..... ..... 101 ..... 1010111 @r_vm =20 # *** Zvfofp8min Extension *** +vfncvt_f_f_q 010010 . ..... 11001 001 ..... 1010111 @r2_vm +vfncvt_sat_f_f_q 010010 . ..... 11011 001 ..... 1010111 @r2_vm vfncvtbf16_sat_f_f_w 010010 . ..... 11111 001 ..... 1010111 @r2_vm =20 # *** Zvbc vector crypto extension *** diff --git a/target/riscv/insn_trans/trans_rvofp8.c.inc b/target/riscv/insn= _trans/trans_rvofp8.c.inc index d28f92e050..619ee4d773 100644 --- a/target/riscv/insn_trans/trans_rvofp8.c.inc +++ b/target/riscv/insn_trans/trans_rvofp8.c.inc @@ -12,6 +12,13 @@ } \ } while (0) =20 +static bool zvfofp8min_narrow_quad_check(DisasContext *s, arg_rmr *a) +{ + return require_rvv(s) && + vext_check_isa_ill(s) && + vext_check_sq(s, a->rd, a->rs2, a->vm) && + (s->sew =3D=3D MO_8); +} =20 static bool trans_vfncvtbf16_sat_f_f_w(DisasContext *ctx, arg_rmr *a) { @@ -40,3 +47,59 @@ static bool trans_vfncvtbf16_sat_f_f_w(DisasContext *ctx= , arg_rmr *a) } return false; } + +static bool trans_vfncvt_f_f_q(DisasContext *ctx, arg_rmr *a) +{ + REQUIRE_FPU; + REQUIRE_ZVFOFP8MIN(ctx); + + if (zvfofp8min_narrow_quad_check(ctx, a)) { + gen_helper_gvec_3_ptr *fn; + uint32_t data =3D 0; + + fn =3D ctx->altfmt ? gen_helper_vfncvt_f_f_q_ofp8e5m2 : + gen_helper_vfncvt_f_f_q_ofp8e4m3; + + gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); + + data =3D FIELD_DP32(data, VDATA, VM, a->vm); + data =3D FIELD_DP32(data, VDATA, LMUL, ctx->lmul); + data =3D FIELD_DP32(data, VDATA, VTA, ctx->vta); + data =3D FIELD_DP32(data, VDATA, VMA, ctx->vma); + tcg_gen_gvec_3_ptr(vreg_ofs(ctx, a->rd), vreg_ofs(ctx, 0), + vreg_ofs(ctx, a->rs2), tcg_env, + ctx->cfg_ptr->vlenb, + ctx->cfg_ptr->vlenb, data, fn); + finalize_rvv_inst(ctx); + return true; + } + return false; +} + +static bool trans_vfncvt_sat_f_f_q(DisasContext *ctx, arg_rmr *a) +{ + REQUIRE_FPU; + REQUIRE_ZVFOFP8MIN(ctx); + + if (zvfofp8min_narrow_quad_check(ctx, a)) { + gen_helper_gvec_3_ptr *fn; + uint32_t data =3D 0; + + fn =3D ctx->altfmt ? gen_helper_vfncvt_sat_f_f_q_ofp8e5m2 : + gen_helper_vfncvt_sat_f_f_q_ofp8e4m3; + + gen_set_rm_chkfrm(ctx, RISCV_FRM_DYN); + + data =3D FIELD_DP32(data, VDATA, VM, a->vm); + data =3D FIELD_DP32(data, VDATA, LMUL, ctx->lmul); + data =3D FIELD_DP32(data, VDATA, VTA, ctx->vta); + data =3D FIELD_DP32(data, VDATA, VMA, ctx->vma); + tcg_gen_gvec_3_ptr(vreg_ofs(ctx, a->rd), vreg_ofs(ctx, 0), + vreg_ofs(ctx, a->rs2), tcg_env, + ctx->cfg_ptr->vlenb, + ctx->cfg_ptr->vlenb, data, fn); + finalize_rvv_inst(ctx); + return true; + } + return false; +} diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tr= ans/trans_rvv.c.inc index 161bf94a07..bbe864dd7c 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -621,6 +621,45 @@ static bool vext_check_sds(DisasContext *s, int vd, in= t vs1, int vs2, int vm) require_align(vs1, s->lmul); } =20 +/* + * Common check function for vector narrowing instructions + * of single-width result (SEW) and quad-width source (4*SEW). + * + * Rules to be checked here: + * 1. The largest vector register group used by an instruction + * can not be greater than 8 vector registers + * (Section 31.5.2) + * 2. Quad-width SEW cannot greater than ELEN. + * (Section 31.2) + * 3. Source vector register number is multiples of 4 * LMUL. + * (Section 31.3.4.2) + * 4. Destination vector register number is multiples of LMUL. + * (Section 31.3.4.2) + * 5. Destination vector register group for a masked vector + * instruction cannot overlap the source mask register (v0). + * (Section 31.5.3) + * risc-v unprivileged spec + */ +static bool vext_quad_narrow_check_common(DisasContext *s, int vd, int vs2, + int vm) +{ + return (s->lmul <=3D 1) && + (s->sew < MO_32) && + ((s->sew + 2) <=3D (s->cfg_ptr->elen >> 4)) && + require_align(vs2, s->lmul + 2) && + require_align(vd, s->lmul) && + require_vm(vm, vd); +} + +static bool vext_check_sq(DisasContext *s, int vd, int vs, int vm) +{ + bool ret =3D vext_quad_narrow_check_common(s, vd, vs, vm); + if (vd !=3D vs) { + ret &=3D require_noover(vd, s->lmul, vs, s->lmul + 2); + } + return ret; +} + /* * Check function for vector reduction instructions. * --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631804; cv=none; d=zohomail.com; s=zohoarc; b=Ez58VMEP1WVzCTA4eN4Tem59R7I5UhLm3/MkC3CPNeWO/VzbcYyCCbbaXGgXeA1Si4DMs1XRVrUGIl6YQgfs1ALDjoET50ND9/ujaYbFalLtMqghCgcEkeJ1UHEDIc++l/PEe2nSJw/lIrelfzdQfTp8PTHZ22ZRndlONw5h9ng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631804; 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=LACcDLnSDVOU4mmrdJm1ulEQ5YYKsvz3PueFzvvC3bw=; b=PPCovJ2CA+nkJcKw5rM4GLwCyr58q8uXShf2M+QBak4o2EIgeiOakq8U70FUuzpAgFE7DDdpJb/YPBYEXYSHM+KZ1oc7IE9YRTe9sxevMNKZkmij3G0aV4n9vCI7QIoY2wPJ/8/H2OUBPChHVTQcEJycguAUmNxE0EJBHqsv3Qc= 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 1772631804621170.1918142031708; Wed, 4 Mar 2026 05:43:24 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTn-0007k1-OF; Wed, 04 Mar 2026 08:41:35 -0500 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 1vxmSz-0007AF-9F for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:51 -0500 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSw-0005IP-JG for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:45 -0500 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-824ac5d28f9so6912197b3a.0 for ; Wed, 04 Mar 2026 05:40:41 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631641; x=1773236441; 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=LACcDLnSDVOU4mmrdJm1ulEQ5YYKsvz3PueFzvvC3bw=; b=JYwYRKypCCNZPqTCPKOSO0CYnkP1RebZGAxggOAa+3vldK1rnEgWrtlqYMiuVD9MoW IYNDCBGAMPcJl+6EuoHJrOcusYQMiaCNwUb3BD9wwFIXsYB5ddq6zAPU7n52QFPxfmYc oqTBmy8BoFe7MPMtqCytH4kDid267ybGlReV+WBbnyGfXbece8CvF3rfhPJwayTXxDQj abxNERkVvJwMZe9Lb6XZoYIzykAVcmZoIWdWVfvIVEWz7H8dqkdfjL3HpLQ91eA8pNp3 85OAjIBQARsnh3HYXRLIfb+CM6rArCZjWukUZWkieteExlQE/yrjgGF24RPvTb9WPntd BDQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631641; x=1773236441; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LACcDLnSDVOU4mmrdJm1ulEQ5YYKsvz3PueFzvvC3bw=; b=kWh6aEHRNnqEBDECyYKqO/LlUNV4emC/f/LV/7yOLhXFm9O1YfStOa8PG0Qmanbwj4 LyBUw1REgKGLzo6jK2Ch6AqgxX7hvtzc2bv7EAx6Nr9kfIy4/P+xpwvTRKEdUDnfQe7l Cqzv25Jcda7h+ia96DwWEZT63sqqI9Ws4Dqk6O5p+JfbX4oI9EnrLbyWRklF1IgVlgK/ 3xTu/cBGPh3+o3X5o+NdxlSZ/D0ckft/WU/C7H/WOSGJZNHuU8SL7RVIxvXl674tmUgd 6LfOUptZrhsMibidKBYPypN7tNTnw7Vg8AGAncMEftTRhaAxIDtHxlJMmqhXIshM3fLH csqA== X-Gm-Message-State: AOJu0YxQBFemQixuhvFZJD8ykboDm0g7te4tUhvLFhCSOj/vYTSEorSb S2HNHIK+oZCTTZkIWqoJz6kpmWC1Iep4Q5+7TgEDqRsmnswr1cekRdYSVKOJ4j+UGcQldUUm6SO +z8oiCyJ4lNWbOoiVyItCwGb8mzYksSpNVT4t14TJTEjups9MP7k9zWbacWTAP94hnYCmNeOxY0 /D56miO9aZn+guT83kEDFvvLcU/gklyarpYjclYBjyjw== X-Gm-Gg: ATEYQzw4gMHGzXFKBNMC2A65W3NUs56aswdz4OAYhwJztA/4AOC0PY+jc/yb4SC2uol +0PM/3w1kV8MjVUlT2pW9uXa7Sz0klJQzuq976YKX3zX9TaAr1klBXRZA61bO0GxHUn+hreThQp Kh0nOJLOSlEb0fdBNGcSm6JtBW/I5q4iZcKJgBOCmr50bcAFklsjtlLL3JkDPHd+V35ZNvOuWat VSSdWnaFUdzDqFUTCDplKIlPdMi2zteXm2gZtIIiDzzEVmlC1tTI3RnEzvpAGfB5Cq9p6QCnAe3 XwJmKQ4zoW68TcAhngLDxviUVCXS3Vmep2aHzE1JL0OvXBVGQaTkXdftlWqE4IvlZYaVzLOeD+o 0j2V20el28uP+phLigGLClpoEZIheVtoCX4RoLuwD6YwN2w4aCbUKv6n6nSN5F2GxY+daMe2HWI y9Ago9XcdPhp8AwEG/OyWC1I/NjuXTQ/t7aWF13MRyMgRjM0ib1e7U2UCNaQmoAUVy3hy8ZlUN2 qdi1TDYER6/X0U7+Q4bVAgshmc= X-Received: by 2002:a05:6a00:14d0:b0:81f:3d46:ca07 with SMTP id d2e1a72fcca58-829729096ecmr1992799b3a.13.1772631640917; Wed, 04 Mar 2026 05:40:40 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 08/14] target/riscv: Expose Zvfofp8min properity Date: Wed, 4 Mar 2026 21:40:00 +0800 Message-ID: <20260304134006.2908449-9-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::429; envelope-from=max.chou@sifive.com; helo=mail-pf1-x429.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: qemu development 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: 1772631806484154100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/cpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 1cd74f01b7..9b98e18189 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1382,6 +1382,9 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_e= xts[] =3D { MULTI_EXT_CFG_BOOL("x-svukte", ext_svukte, false), MULTI_EXT_CFG_BOOL("x-zvfbfa", ext_zvfbfa, false), =20 + /* Zvfofp8min extension for OFP8 conversion */ + MULTI_EXT_CFG_BOOL("x-zvfofp8min", ext_zvfofp8min, false), + { }, }; =20 --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631747; cv=none; d=zohomail.com; s=zohoarc; b=fAsoSsnmVx2fPirPSuayqZS8bH/c/UCLHtvgx8ihlVNZCZAVLf5EnfYpWNTLR1p/9FVTAdEJS8hvUKSVa2Xk/SCMSAd4A6WqmyaHIw+5OxDziA9HCmT52fshL3peYUqwiZCf9aWpUhVmRxlxxQ0nWAOjEnA6eBV/jpLOSenLxrg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631747; 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=UNeSTCxnl/4dEFi1O8PoZDAXMyY5R5y97EyDpIbW7Ns=; b=KjrY2eSQChgh4GJJZXr7PsveQUcTNPNfU2nxCyfgPf3WoD60UFNHh1lMCxVmBKA7i/RlybuBIxQlY4qzlMjHLo+dBOwOqrHYGNqpOB4du0NH1aDnBM6j+AsFPtOz2DOeqDTi6TJNe+Xv0CpkNUSGw74lHexVfnxDRc809Qi6NyY= 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 1772631747863678.8764288713048; Wed, 4 Mar 2026 05:42:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTo-0007pj-Qq; Wed, 04 Mar 2026 08:41:36 -0500 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 1vxmT0-0007AI-B8 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:51 -0500 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmSy-0005Iu-SH for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:46 -0500 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-824af5e5c81so6953449b3a.0 for ; Wed, 04 Mar 2026 05:40:44 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631643; x=1773236443; 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=UNeSTCxnl/4dEFi1O8PoZDAXMyY5R5y97EyDpIbW7Ns=; b=jeisMZ7rlOQmcTqNrpxQSoGodAP1Qmp60w2QXOCsTTPYUseJ9cJxNQX0ExekYG8k+E I0oQdkBpvBGygmwQpuezX7T/AdouHQ53Mmpie6/AfvKq/aZU7g79h+YJAcwGVU/HO56I UnH1Kiocki5vL6p39Wc8h8WC+JO3HdKoVAH5+lPUX94HmAuR2Ymo5bl2p0lnUwZ6GnNz nFAYrZU6ezxPE9hh+yg1UjcXTyro6AmgP3GpgSiFxHOwFYCH1nOl6nqBu+NPI6blpD6Q AosgCI1pn+dBiDSR9r9HlypPphMiMpnw9sENziJD6hY+/0OEyM8hI9dbM7t+4TIL4QIa u6SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631643; x=1773236443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UNeSTCxnl/4dEFi1O8PoZDAXMyY5R5y97EyDpIbW7Ns=; b=AVW+dGYUH3YApNp8Xq1KpMiW5087amXcpf0newGYGSMlI6AmHOxT58/g7YpJfbdjMn dZr/7S2kbq2CZGOr0vHiElJEL6oIDV64RIy+GxAXxNuBngjxKyGcPIKsiaJckQY96jXV RYMlvUgiVMgHidUc5CFYWgE0OqUkJxxo3F7T3fjX7MrqAxOCnw14hG6Ho/P/FNtrQymF RJGfvnCBbplBlRKC2pFlFwS6lBgIjI2o6sDRnet7M4DN1yamftexof7zuMnLKuTUw6zw mhwFn5yI9XiwfyuIg86LXthxnRjP4vIh/v5loFT758nhKeYdYKV7AyOq4KJFC0VbUPrt z2+w== X-Gm-Message-State: AOJu0YzglmYEu+wjHBrUVsiNC4k8GRc+dnHgqyiLfJ3Qjhu66dj+Kh30 xJzZZFOgRg3544i/f6Z6FTTfFHeOcITF97XRfqMN/M9q4houp65fq4CB4YIpmzv1ed4CTsVNvkU 5bsE351dvrjDESFpFKDeIvEiStsZc+y86KaNtj1LVuWlogONwTjTK8oE/3X1TaLux7r8cUAOACA lEUypio4R++19g8lQHb3B28fIaTVfCZgMWeUkUWq7+kA== X-Gm-Gg: ATEYQzxaqPlP2RuoxjBkPsg0ZHp4sH7lx23ApDVihycmTvAmw0TtVAnO8pY1H1mGkp9 0OInjeYGBh4Px/oyBDdvhZvCuGOM14aRuqdfy4GrUwsdm2DcuD5qyPlb5BNnNpd4bv6mMIPa8WT t9QjliY0X+owmCuH+YI328zxVw0i7M3m5i/ylv2DF2ksq4/K3S9JPViZNXlcs2gQh6A/gEXN1OI mk3NOoVY0iDaz2LiK5LX2DT2NY/lXkOOwIC7q1O9Rm7zQxM2/sECYnOh/PCzCYOC/HN6gIIUXL5 y+x109yKO41sNbhwMabGdQGY/BjKbdm9AhYxk9hcrLw6QYS71eH9vS2TN6cJLRFgX5p99eV+n6x KmBCGdvcg2HsgVuecBvj8B0O7ifZucn0yGCb0nqLvuq10LtxjY6wX+EDlR4emdbuih7yYaUHTNj 7RJ6Q1X7gOVq7QulN1E2z+4KNEF217phICsSfgmDBfDZgjEGaiFhtPcQWcl5jsm+uYOMLEX5vwt QO+Bs+rtL1X1jrcKwaFmVNFW/0= X-Received: by 2002:a05:6a00:1ad0:b0:824:4a41:bff9 with SMTP id d2e1a72fcca58-82972ce95e1mr1827995b3a.51.1772631643420; Wed, 04 Mar 2026 05:40:43 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou Subject: [PATCH v4 09/14] disas/riscv: Add support of Zvfofp8min extension Date: Wed, 4 Mar 2026 21:40:01 +0800 Message-ID: <20260304134006.2908449-10-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::433; envelope-from=max.chou@sifive.com; helo=mail-pf1-x433.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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1772631750061154100 Content-Type: text/plain; charset="utf-8" This patch adds support to disassemble Zvfofp8min instructions. Reviewed-by: Chao Liu Signed-off-by: Max Chou --- disas/riscv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/disas/riscv.c b/disas/riscv.c index 6f2667482d..30f585772a 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -984,6 +984,9 @@ typedef enum { rv_op_ssamoswap_d =3D 953, rv_op_c_sspush =3D 954, rv_op_c_sspopchk =3D 955, + rv_op_vfncvtbf16_sat_f_f_w =3D 956, + rv_op_vfncvt_f_f_q =3D 957, + rv_op_vfncvt_sat_f_f_q =3D 958, } rv_op; =20 /* register names */ @@ -2254,6 +2257,9 @@ const rv_opcode_data rvi_opcode_data[] =3D { rv_op_sspush, 0 }, { "c.sspopchk", rv_codec_cmop_ss, rv_fmt_rs1, NULL, rv_op_sspopchk, rv_op_sspopchk, 0 }, + { "vfncvtbf16.sat.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, = 0 }, + { "vfncvt.f.f.q", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 }, + { "vfncvt.sat.f.f.q", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 }, }; =20 /* CSR names */ @@ -3630,7 +3636,10 @@ static void decode_inst_opcode(rv_decode *dec, rv_is= a isa) case 21: op =3D rv_op_vfncvt_rod_f_f_w; break; case 22: op =3D rv_op_vfncvt_rtz_xu_f_w; break; case 23: op =3D rv_op_vfncvt_rtz_x_f_w; break; + case 25: op =3D rv_op_vfncvt_f_f_q; break; + case 27: op =3D rv_op_vfncvt_sat_f_f_q; break; case 29: op =3D rv_op_vfncvtbf16_f_f_w; break; + case 31: op =3D rv_op_vfncvtbf16_sat_f_f_w; break; } break; case 19: --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631741; cv=none; d=zohomail.com; s=zohoarc; b=T1CWYGW54RI+st2/f6CxST3GtlTonLBKd7XihfX1I6HUGF06bUn/zDwkzpTB/rwcSp81YtW+0nonWP+BbL/G+0E/o4hIl3+IedlvdaXFJNrh6H5KjzOvuT9W/NTtjXLGcZUqHOzNN23ihTHf6q5wqUt3Y+RDd0o3I/QmGnebg4M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631741; 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=1XjDMgl6IJWCtT3ldohujwgW47hISvqfsFoeJofhli4=; b=VUnmqVSfdEaQjJiDAzP52ZszJ6E1wXFBSPuDHAY8Uj7f004Odfp7X2Gybl7/2gqbNR1t7oOdJEv2UgZkY6F7z9/5fxpFtKskWesBFiP7o4FuBmAjlbG/WR99WklgRcJrIfhYFyRP/DWiqIhVo/PUjXiyDkpitvb7UR7VOBGk0B4= 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 1772631741132607.5469125119121; Wed, 4 Mar 2026 05:42:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmUO-0008Ue-7k; Wed, 04 Mar 2026 08:42:12 -0500 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 1vxmT6-0007B3-5s for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:59 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmT1-0005JX-Mu for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:50 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-82747396358so3551363b3a.0 for ; Wed, 04 Mar 2026 05:40:46 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631646; x=1773236446; 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=1XjDMgl6IJWCtT3ldohujwgW47hISvqfsFoeJofhli4=; b=i0NA0xurhnwjAahgkgdz2iWP3wEhz9P0waOKAPjIAL5g/5esGZKqWmLuRxezpaukW+ zlRW+2hXd6az8YMdzoYk0l8fldtA73kFaD1u087PsohG0dW8Niowxyj8JpytBYsobaoB VGCHec2JvEdUZSS6mM8nSt0KoLAfNmJf5o6RoZjRVQbwjCU3LviIUEcot6anYiOL1RgZ 8Ku17PFoOUlsTqeVR47grZXmQIrrleqfk0+yggJ3ieotHzVCNj7Tbcn0VW+IbsLaA7YY Wlrbjdac2FSiZpZRVe+i1CbpIppn8gnUExlPU0H528JOjR38eOLMktBdJ2FAhqRMZ2Sl LuYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631646; x=1773236446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1XjDMgl6IJWCtT3ldohujwgW47hISvqfsFoeJofhli4=; b=rCVX6NCRHc09fLAXzpSHyEJov5kDqICIFHz9PRXa3ouYxIn0T84taz346SZR40dvfq 7m8gSip4sb/mpYpBLkhJCoZo6LZD1X5356rgUNuJe3C6FdhtIuzCbIjDLvmuc3tzynpQ zjKvFrMFeNVsKyEgTwOX331MHhyWcMAjpcW9NQrQawQk6Qr1AY21TfLbKNfMm/PncjGu c+aw84CJq32b/O4mExlFtHeIq7KGLDjXsFpwOD9/vTgUkRjjH34QgK0IXZxA6sZHnYq4 HfNTIliufjOkUpWYL524khsatQiE6KuLTFZw7BmGsflv/nXNbo4RCpotsCCXoaRvbzcS VNkg== X-Gm-Message-State: AOJu0YytEZg6tqFfz9nyQ8cIAR++KXyGIVvOPz9yjft9lW15bjzy6cxb M78V5KVYKTeLjvywjql05AsWH+Xq8wNPj+CcNP4nJnzutvd5KUmk51Fz7TJSeICW7Y757lIH1Pu 04kN+dAoZ5WuIxO40N8qSGLBWCG/Qlt/YR5QKMBKwfNuBEdG7saoIm0uDqPSBl+EVVYN2kj/b5J eCsWMGe+FuJadDwKcV8jItQtXzvDMIlDy7XJQPpLu1yQ== X-Gm-Gg: ATEYQzxrQm2Xprj3I6R3oRlP2glMetbrHnZUNEQcahnL6LeqByp9Jo9+QdKcXx1H4F6 mpjW2C4VXH8eT2U1kFiszz9KVbEi0zXiqAn8e3yJgqzJQUDnSO3P0S9dlOoOexLNeMOIeufXdgY jDhDZw3p5wxyHhdgypGw1QP6dc2BRvfXViAbQybTILhe1ekdPwhWqLKjkeAFGatt1whDDGgtyqS BrWie9h3GSZdIAzPfvB9NHwaTxlmcuYvje0hvj2ZOgQlDbgy84fpOCy+0578CjLqPuDkmcj+5eM xplvshHCTUGYWMX6SEpsCGmXgwj/r/+u9+Xq6gl3hKCYdMxM8YsuFUFaFgkyRCDOKt1ZALBqxLG hr043+fxt1WOClUzJKXb+z7SNvspWCJ1+INy5Fsu2OWDV+NrNMW6UKbvlieuzNwgMmHNy5usUcV 8u5s5fpBfXldnTRru74v06/r+y4lfqBqF1YUzV1M38/zGnCl0slhm2eIamhpA5p8nLCZjXzayMq 9yLH8epwFL9R9Uy4ovR0f4IN+0= X-Received: by 2002:a05:6a00:1827:b0:824:adf4:5a32 with SMTP id d2e1a72fcca58-82972c62dfcmr1949731b3a.42.1772631645911; Wed, 04 Mar 2026 05:40:45 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 10/14] target/riscv: Add cfg properity for Zvfofp4min extension Date: Wed, 4 Mar 2026 21:40:02 +0800 Message-ID: <20260304134006.2908449-11-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::435; envelope-from=max.chou@sifive.com; helo=mail-pf1-x435.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: qemu development 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: 1772631741958154100 Content-Type: text/plain; charset="utf-8" According to the ISA spec of Zvfofp4min extension, "The Zvfofp4min extension requires on the Zve32f extension." Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/cpu.c | 1 + target/riscv/cpu_cfg_fields.h.inc | 1 + target/riscv/tcg/tcg-cpu.c | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 9b98e18189..03eaa12028 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -194,6 +194,7 @@ const RISCVIsaExtData isa_edata_arr[] =3D { ISA_EXT_DATA_ENTRY(zvfbfwma, PRIV_VERSION_1_12_0, ext_zvfbfwma), ISA_EXT_DATA_ENTRY(zvfh, PRIV_VERSION_1_12_0, ext_zvfh), ISA_EXT_DATA_ENTRY(zvfhmin, PRIV_VERSION_1_12_0, ext_zvfhmin), + ISA_EXT_DATA_ENTRY(zvfofp4min, PRIV_VERSION_1_12_0, ext_zvfofp4min), ISA_EXT_DATA_ENTRY(zvfofp8min, PRIV_VERSION_1_12_0, ext_zvfofp8min), ISA_EXT_DATA_ENTRY(zvkb, PRIV_VERSION_1_12_0, ext_zvkb), ISA_EXT_DATA_ENTRY(zvkg, PRIV_VERSION_1_12_0, ext_zvkg), diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_field= s.h.inc index 59302894af..353a932c36 100644 --- a/target/riscv/cpu_cfg_fields.h.inc +++ b/target/riscv/cpu_cfg_fields.h.inc @@ -104,6 +104,7 @@ BOOL_FIELD(ext_zvfbfmin) BOOL_FIELD(ext_zvfbfwma) BOOL_FIELD(ext_zvfh) BOOL_FIELD(ext_zvfhmin) +BOOL_FIELD(ext_zvfofp4min) BOOL_FIELD(ext_zvfofp8min) BOOL_FIELD(ext_smaia) BOOL_FIELD(ext_ssaia) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index ba89436f13..b1097e55a3 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -715,6 +715,11 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, = Error **errp) return; } =20 + if (cpu->cfg.ext_zvfofp4min && !cpu->cfg.ext_zve32f) { + error_setg(errp, "Zvfofp4min extension depends on Zve32f extension= "); + return; + } + if (cpu->cfg.ext_zvfh && !cpu->cfg.ext_zfhmin) { error_setg(errp, "Zvfh extensions requires Zfhmin extension"); return; --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631751; cv=none; d=zohomail.com; s=zohoarc; b=SZQCNb9RTDGWk3C0gkLnvaowHTVmth0a2RoyD0wIexRSBKgLFphqgr7Tjba4YPZ9WoSZvLI0KsU1Ohz0475m/weEAQMdUJ8JYlcmiA0DibqzGtZva0jd/IKigAOFyadpqgNtNWs/CAfleUgNVq9aNoRb46p0joWOC+eqryhLuaE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631751; 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=R+gJ1ftdbc7MnTJuyW3pS+FYRy14T0Rz76IONloUKJs=; b=g6dtkwxHXs4v8snPLIMTb8iqBgHTp7ep+y9XsKvhmosCOKSnHXczeysdfqve0WBs1/LDDDA3DOkEVHJ81ElRgP9arveAIkAxp6nZhznKfv7dTiNV+rRirT60TTitfaOl1ZFMHFnXcKBGd856fqPNyUzTJ0d1SH9QyvM8Nrsw5qc= 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 1772631751425761.714979389257; Wed, 4 Mar 2026 05:42:31 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmU3-0008FF-HO; Wed, 04 Mar 2026 08:41:51 -0500 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 1vxmT8-0007Bk-33 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:41:00 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmT3-0005Jz-VY for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:53 -0500 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-824b05d2786so5519820b3a.2 for ; Wed, 04 Mar 2026 05:40:49 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631649; x=1773236449; 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=R+gJ1ftdbc7MnTJuyW3pS+FYRy14T0Rz76IONloUKJs=; b=ilsPLtnmpz4EESQCyjELNFgTBp0bPfI5HESAc6ms3X3mrdC16j7l19N57owZaQOIcb wOyrNJEnszUfhG94gd39itI6GpL/9CucL1ov72VSuc0ES/Q/DUlDkp6cKjfZUMM+a/Gi d4EJ//4LlfJGxGb7FoseC6oqDRSNu145dL4/MRIEJYr+bkxHAGQLHEaU8l+eFvgxkemz DKMohTAOiGWapFevxdSG4obI65sIyvJGQ/HiFEXDWqcrBQstLsg2/0okMINoMobLiJuf pu3Lnrc+HLjHFryD2mgRgv5C+XPS/OcNSBXUjQq0QHgyBeRSCB9T4ZzdC6uhq2+H2Be9 vaUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631649; x=1773236449; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=R+gJ1ftdbc7MnTJuyW3pS+FYRy14T0Rz76IONloUKJs=; b=EOIoz3BVmmI11zuBc79c8pNpUrhkjERb1ftbruglorJO1lE0N5/GfCl5YmTdnwnkt9 qCUlcajGCdVZG7R1t8evw3foN1nWYcfnXBDn5Gj/V/OTbAQpY2wf7LW1z2ZZdmlt6ksH x6H3sxeZChWGUlkgO35Z3IOMuA0XEyHTEa9mYdmghYz01FbTY8wGTFAJfpmNSfS9voJP 7uvcZjKF0koeDXSoW96bz9LXytznuNcCRocLYJWhr4mys/VojViFb1bUcFU7cX9Y0qtN K1kdXcsye2fampPXqFvSlCAvtXSIsHZJxV4myhGVnktD2N8YchrheJ+idcW34KVZd2Yl snkQ== X-Gm-Message-State: AOJu0YwfqNUDmu1NZigC40pJn8ANfCStPlKTD8/3umDrCn+Dg9r7f5hI W2F1gyeLThPBqabAuUk90bPRFYZbHvz4XECA6REqTVI7OiscpeCZoen35bi2fPTQFRSLeZ66/+7 IG/EOIQbPzXL9e3W19tNle4I5OzhmOzQwI7BkmXMDaKjU21BK6wnod0Vr0PS2TZqR0XsWNAjoFV ZRc+NO8Sk8L4XrVgpgBKk1WDr4sHu4o76xtPWmIkPpyA== X-Gm-Gg: ATEYQzz93RgNQjCC0L/6HFBPEClRATpeBBB31dKVPNLSueigypb/JyaKxyMyvwhVcOa BSii4MS91/SmvC+CNwrZwlxoPvV5oizixsXHydPcTonUGdqNcZaYWZvRxVv+wsDR5k9XlQI6Vaa up0AzvetDQaDlgx8zObSZqLWa5F6c+wyFwlcBBy682/c5xCorg+jCRur65DLQqD5ah6mNwFBU03 8mjCjzgsC3YOpI8stU5yWnzu3ymMnaa4PuMXMfhYgUuNNgWIXYe8z6qdnlp8nwzYv6dblV5p1nX ZDEIUVPu8OToXHFSOej8TALsDIuKYKFhkOeCisF70usrtF5N+j27FnPmN1Ek/SS0dvRIz0aDCSA r/qKUQmx3lfRhDANjx9wZQPwIzrpxRXUJx25jn3E6OTIIXgWf21l7JmcM6VDYgi4sfSKFtxwkJk jHDH8film6Wrq87uXL07KuCVmaYlfVAOCwiH5IBoHkEwIB0iOHaM08BzCPrPGzmo2ma0cW2fCKf +MeuBswF0vRYP9QCAB/fRfRDHE= X-Received: by 2002:a05:6a00:bd93:b0:824:a635:4181 with SMTP id d2e1a72fcca58-8297294017emr2117580b3a.15.1772631648528; Wed, 04 Mar 2026 05:40:48 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 11/14] target/riscv: Add implied rules for Zvfofp4min extension Date: Wed, 4 Mar 2026 21:40:03 +0800 Message-ID: <20260304134006.2908449-12-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42b; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42b.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: qemu development 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: 1772631754060154100 Content-Type: text/plain; charset="utf-8" Add implied rules to enable the implied extensions of Zvfofp4min extension recursively. Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/cpu.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 03eaa12028..3e655ab43d 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -2521,6 +2521,15 @@ static RISCVCPUImpliedExtsRule ZVFOFP8MIN_IMPLIED = =3D { }, }; =20 +static RISCVCPUImpliedExtsRule ZVFOFP4MIN_IMPLIED =3D { + .ext =3D CPU_CFG_OFFSET(ext_zvfofp4min), + .implied_multi_exts =3D { + CPU_CFG_OFFSET(ext_zve32f), + + RISCV_IMPLIED_EXTS_RULE_END + }, +}; + static RISCVCPUImpliedExtsRule ZVKN_IMPLIED =3D { .ext =3D CPU_CFG_OFFSET(ext_zvkn), .implied_multi_exts =3D { @@ -2658,7 +2667,7 @@ RISCVCPUImpliedExtsRule *riscv_multi_ext_implied_rule= s[] =3D { &ZKS_IMPLIED, &ZVBB_IMPLIED, &ZVE32F_IMPLIED, &ZVE32X_IMPLIED, &ZVE64D_IMPLIED, &ZVE64F_IMPLIED, &ZVE64X_IMPLIED, &ZVFBFA_IMPLIED, &ZVFBFMIN_IMPLIED, &ZVFBFWMA_IMPLIED, - &ZVFH_IMPLIED, &ZVFHMIN_IMPLIED, &ZVFOFP8MIN_IMPLIED, + &ZVFH_IMPLIED, &ZVFHMIN_IMPLIED, &ZVFOFP4MIN_IMPLIED, &ZVFOFP8MIN_IMPL= IED, &ZVKN_IMPLIED, &ZVKNC_IMPLIED, &ZVKNG_IMPLIED, &ZVKNHB_IMPLIED, &ZVKS_IMPLIED, &ZVKSC_IMPLIED, &ZVKSG_IMPLIED, &SSCFG_IMPLIED, &SUPM_IMPLIED, &SSPM_IMPLIED, &SMCTR_IMPLIED, &SSCTR_IMPLIED, --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631737; cv=none; d=zohomail.com; s=zohoarc; b=dmAyEvzfmfp9zv8DDJ2e8LSzasFFuMFX3SZPwNCLuGz0Zq7P9KmG72RE0HvFjlAoTsfq7COaDpXDuRqRLZxxDEILCA7Y+zQBIXLdKAFPjacZKaYRSecIubk+2cW+MUnQHqF0ETpx+FxfwgAURvpV2J4LDJmk9PzIKG05vGpl3RE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631737; 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=sldBpiO/vTJjGnkQ9fu8n4HA0ecPhur9Ke2QVeCPD0w=; b=Umh/9WY1oR29tBvv1hLI5jjdZfrg8p/IArBCN1GIOjwdQsexQkOjI6yoI2t0EN3o1jz8bboztrqSKW4I2cCmGrhRmJxGkQ0cjLbVeSiYI6UqlZRpzQDBVtjVv4Z6ynMSO09um6FUNs/wih5Hwxc7T1R/TLxsIpn0SzF3sTjnM7g= 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 177263173751176.56905486347068; Wed, 4 Mar 2026 05:42:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTz-000899-1k; Wed, 04 Mar 2026 08:41:47 -0500 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 1vxmTF-0007Ca-Mu for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:41:03 -0500 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmT7-0005KJ-RP for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:57 -0500 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-824ac5d28f9so6912338b3a.0 for ; Wed, 04 Mar 2026 05:40:52 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631651; x=1773236451; 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=sldBpiO/vTJjGnkQ9fu8n4HA0ecPhur9Ke2QVeCPD0w=; b=bybjg6ypPW9vvcqn7RLTIEXhnFJYtfH5ktkOTV2cOM757QFfTDa6DP/5h1sCBwdoDx uEeTFg9EnY+xZCIv9CCwJBozlDlTIiYCU4a05sMyK98XWcw1fwev8+xmn5x542j8aAQI d4zVzRbsEgzZjHuxit/g3I1+iMGzn8KeWb2MWpklYpbNPJNUH6BEGrr7q/IRNAHsxSp/ 5BO7fdr/z7u623Cy5xVw1WvkqKRi7fA1PhXTj8DCpXplOJwetyRcVqgkCnSmA9lwo+0l ENNRIX8b6eo9lCTwqwvLXBEnInzM9vOVFNjN1gskcbEitcgwKP2kYsZ0Iab/DavVCqFb Zsnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631651; x=1773236451; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sldBpiO/vTJjGnkQ9fu8n4HA0ecPhur9Ke2QVeCPD0w=; b=j3nsLFBqq0FsLNUzkxSaY+rnmYOe7mUWSUrCxgtEIPhVys13nKW7GtRRsCp9UUrHIW cAtSkYUP7qJdTDE3BxhtiwIxyYo4uLbF7j98jWp2yD3tvQp0eptCx+WWOb2ED3R1sbse kqZBd6YJa8okOIjBJaNMptJfZo0CpTzkeshfKFfksvne4ujz1qthHJ1wnkiGPCHNUzX2 hTHJT2uoMF9w/fkD1wP2Tkry7S6uTYeEaLBnVCCdTdQxZUEu151jfwxZOB3oGK0KbD+S pKt+3X9sohtC5sjlLUrmaohyJWrxKi9tL8e5jEK0eh600LHzEZcNOtyq6AWmVlkRET0g dSrw== X-Gm-Message-State: AOJu0Yw7TVZU4d8AZeu6WnfvOgCQ4XQxBx7RdC8hi1zVrSVzdVmznOoe aBEbp7jd+GUo239CYmn++KwhyJgujZBfnS1mSsTMkcvPpaPA0sUexYnlr9QyZuXHyx9Kx6GskJx KJlE2D3Q4zdvVJpAhDg/pn6TzgEsbi+qx6NTIhvIZzRTpaVYZsK4g+zQBl7rR7opaQB5MeiSGzR 8fnHaHXqth9F2fC5WAC2AxdazBehX8SHU3tb9umhvqXQ== X-Gm-Gg: ATEYQzy/jkzpT38WQcg5ud+jOKdGmB8HcxrsoE8CA1oqNJlF76oy2aoo0TRkdRaHoHw vfL3tiDUauO7HSoo5xCspd51rkDYx2TeAUzz5N7dr7xNLXNcCxfrjpKckLDyGvDf6BKntVClYWe VUiJX0E7kTlXkSjRlZfm8uDwx9T9WEwoKFCrcdTAQV63W98Ukc9cfKIzmMId4uP9gEqvPUw7s8I ewJbNNQGNU4SNTe5QrSjAc4kEICj9O6IHBQsxGqMuN6sQERcbKMBky536ii4VlqfopaDut9CKIr arGV9n5EsKd9fLnXZbktZ9BXrRJ+gPdjPxnfAceEQK5TK7FresGM1ZgPCLQO85JTOS1A9smmyB5 XI561kAygx4L4pMpSHymXJ2ClLe1PYmRrwVnBkvJitIuN4J5UXMA5RII696sn9fzkWmD+82RP+T N6RXTHG+SZ6JW2WijXz5DXtS9XaJci55EffmuSutZzc904w3YzKuZH7ZnY9BiotQkxe0nNOOFjN 3VkqPz10I/KoEclMN0cGdhcbX8= X-Received: by 2002:a05:6a00:4f86:b0:827:300d:52c9 with SMTP id d2e1a72fcca58-82972cd4028mr2297359b3a.54.1772631651078; Wed, 04 Mar 2026 05:40:51 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 12/14] target/riscv: rvv: Add vfext.vf2 instruction for Zvfofp4min extension Date: Wed, 4 Mar 2026 21:40:04 +0800 Message-ID: <20260304134006.2908449-13-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42a; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42a.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: qemu development 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: 1772631739873154100 Content-Type: text/plain; charset="utf-8" The vfext.vf2 instruction converts a vector of OCP FP4 E2M1 floating-point numbers to a vector of OFP FP8 E4M3 floating-points numbers. Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/helper.h | 3 ++ target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvofp4.c.inc | 43 ++++++++++++++++++++++ target/riscv/translate.c | 1 + target/riscv/vector_helper.c | 33 +++++++++++++++++ 5 files changed, 83 insertions(+) create mode 100644 target/riscv/insn_trans/trans_rvofp4.c.inc diff --git a/target/riscv/helper.h b/target/riscv/helper.h index 356c24d9fb..162303fb6c 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -1259,6 +1259,9 @@ DEF_HELPER_5(vfncvt_f_f_q_ofp8e5m2, void, ptr, ptr, p= tr, env, i32) DEF_HELPER_5(vfncvt_sat_f_f_q_ofp8e4m3, void, ptr, ptr, ptr, env, i32) DEF_HELPER_5(vfncvt_sat_f_f_q_ofp8e5m2, void, ptr, ptr, ptr, env, i32) =20 +/* OFP4 function */ +DEF_HELPER_5(vfext_vf2, void, ptr, ptr, ptr, env, i32) + /* Vector crypto functions */ DEF_HELPER_6(vclmul_vv, void, ptr, ptr, ptr, ptr, env, i32) DEF_HELPER_6(vclmul_vx, void, ptr, ptr, tl, ptr, env, i32) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index f2b413c7d4..c58223ebd8 100644 --- a/target/riscv/insn32.decode +++ b/target/riscv/insn32.decode @@ -754,6 +754,9 @@ vsext_vf2 010010 . ..... 00111 010 ..... 1010111 = @r2_vm vsext_vf4 010010 . ..... 00101 010 ..... 1010111 @r2_vm vsext_vf8 010010 . ..... 00011 010 ..... 1010111 @r2_vm =20 +# Zvfofp4min Extension +vfext_vf2 010010 . ..... 10110 010 ..... 1010111 @r2_vm + vsetvli 0 ........... ..... 111 ..... 1010111 @r2_zimm11 vsetivli 11 .......... ..... 111 ..... 1010111 @r2_zimm10 vsetvl 1000000 ..... ..... 111 ..... 1010111 @r diff --git a/target/riscv/insn_trans/trans_rvofp4.c.inc b/target/riscv/insn= _trans/trans_rvofp4.c.inc new file mode 100644 index 0000000000..0fb5d7d534 --- /dev/null +++ b/target/riscv/insn_trans/trans_rvofp4.c.inc @@ -0,0 +1,43 @@ +/* + * RISC-V translation routines for the OFP4 Standard Extensions. + * + * Copyright (C) 2025 SiFive, Inc. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +static bool vext_zvfofp4min_check(DisasContext *s, arg_rmr *a) +{ + return s->cfg_ptr->ext_zvfofp4min && + (s->sew =3D=3D MO_8) && + vext_check_altfmt(s, -1) && + (s->lmul >=3D -2) && + require_rvv(s) && + vext_check_isa_ill(s) && + (a->rd !=3D a->rs2) && + require_align(a->rd, s->lmul) && + require_align(a->rs2, s->lmul - 1) && + require_vm(a->vm, a->rd) && + require_noover(a->rd, s->lmul, a->rs2, s->lmul - 1); +} + +static bool trans_vfext_vf2(DisasContext *s, arg_rmr *a) +{ + if (vext_zvfofp4min_check(s, a)) { + uint32_t data =3D 0; + + data =3D FIELD_DP32(data, VDATA, VM, a->vm); + data =3D FIELD_DP32(data, VDATA, LMUL, s->lmul); + data =3D FIELD_DP32(data, VDATA, VTA, s->vta); + data =3D FIELD_DP32(data, VDATA, VMA, s->vma); + tcg_gen_gvec_3_ptr(vreg_ofs(s, a->rd), vreg_ofs(s, 0), + vreg_ofs(s, a->rs2), tcg_env, + s->cfg_ptr->vlenb, s->cfg_ptr->vlenb, data, + gen_helper_vfext_vf2); + tcg_gen_movi_tl(cpu_vstart, 0); + finalize_rvv_inst(s); + + return true; + } + return false; +} diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 0c546a3aff..4311b388cb 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -1221,6 +1221,7 @@ static uint32_t opcode_at(DisasContextBase *dcbase, t= arget_ulong pc) #include "insn_trans/trans_svinval.c.inc" #include "insn_trans/trans_rvbf16.c.inc" #include "insn_trans/trans_rvofp8.c.inc" +#include "insn_trans/trans_rvofp4.c.inc" #include "decode-xthead.c.inc" #include "decode-xmips.c.inc" #include "insn_trans/trans_xthead.c.inc" diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index e7b187a57d..86a174ed9d 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -5131,6 +5131,7 @@ RVVCALL(OPFVV1, vfncvt_sat_f_f_q_ofp8e5m2, QOP_UU_B, = H1, H4, GEN_VEXT_V_ENV(vfncvt_sat_f_f_q_ofp8e4m3, 1) GEN_VEXT_V_ENV(vfncvt_sat_f_f_q_ofp8e5m2, 1) =20 +/* Zvfofp4min: vfext.vf2 - OFP4 E2M1 to OFP8 E4M3 conversion */ /* * Vector Reduction Operations */ @@ -5930,3 +5931,35 @@ GEN_VEXT_INT_EXT(vsext_vf2_d, int64_t, int32_t, H8, = H4) GEN_VEXT_INT_EXT(vsext_vf4_w, int32_t, int8_t, H4, H1) GEN_VEXT_INT_EXT(vsext_vf4_d, int64_t, int16_t, H8, H2) GEN_VEXT_INT_EXT(vsext_vf8_d, int64_t, int8_t, H8, H1) + + +void HELPER(vfext_vf2)(void *vd, void *v0, void *vs2, CPURISCVState *env, + uint32_t desc) +{ + float_status fp_status =3D env->fp_status; + uint32_t vl =3D env->vl; + uint32_t vm =3D vext_vm(desc); + uint32_t esz =3D sizeof(uint8_t); + uint32_t total_elems =3D vext_get_total_elems(env, desc, esz); + uint32_t vta =3D vext_vta(desc); + uint32_t vma =3D vext_vma(desc); + uint32_t i; + + VSTART_CHECK_EARLY_EXIT(env, vl); + + for (i =3D env->vstart; i < vl; ++i) { + if (!vm && !vext_elem_mask(v0, i)) { + /* set masked-off elements to 1s */ + vext_set_elems_1s(vd, vma, i * esz, (i + 1) * esz); + continue; + } + + uint8_t input =3D *((uint8_t *)vs2 + H1((i % 2 ? i - 1 : i) / 2)); + input =3D (i % 2) ? ((input >> 4) & 0xf) : (input & 0xf); + *((uint8_t *)vd + H1(i)) =3D float4_e2m1_to_float8_e4m3(input, + &fp_status); + } + env->vstart =3D 0; + /* set tail elements to 1s */ + vext_set_elems_1s(vd, vta, vl * esz, total_elems * esz); +} --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631774; cv=none; d=zohomail.com; s=zohoarc; b=P1HUiXNpwbdt20t7qzU6PqUhW+bguZGagqVeXE8HjV6w6E7WIqDIISBhFUJudzO0X4R/s/Bc7lZgww3TpxCKAQdTazBTloCNkqy6/Ay/2AojKRUe5nikqqRHRx8E54uapSxw9y46t9sYWXXNWKotZQnAQ0s792EgqXz+GeLb1Vo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631774; 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=Wr5CT5vP/Vp9qJmexNS3gJQeYThCQKgfTAbAdSmKjY4=; b=nDexYBFpThM+ltoMvYyG/Zms8DtCqpF+aTPISK5zMEmYT9ECLGC4KcBryG+AJhivu0iQP1c9hyP8XEymlsjs11DWKhGi67/GhJUrtxJMr1rNcAeixhvyzymFQuNsOLz4I6zU1drw5ON/0KGYG1Z2JGR8/PblvaApPoTtNgOkpwA= 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 1772631774120323.30470846428807; Wed, 4 Mar 2026 05:42:54 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTz-00089G-1f; Wed, 04 Mar 2026 08:41:47 -0500 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 1vxmTH-0007Dj-QM for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:41:05 -0500 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmT9-0005Kq-MM for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:40:58 -0500 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-827390e8a3cso4441766b3a.0 for ; Wed, 04 Mar 2026 05:40:54 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631653; x=1773236453; 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=Wr5CT5vP/Vp9qJmexNS3gJQeYThCQKgfTAbAdSmKjY4=; b=UBsvxm054iWQunmVrkyxteO4zc4UZRmH7k6uoV9uw7PidpAz+hICBQ+FeoyyrN39/f 9Qme3e1WhLAl3FADTC0b1Fyh7QJJi3Rill0j/MnKS2xgrErhDioIwFcTG01VU4IY+nO9 aOaXdMolPgM0skuH1kBILMylOzPVWbO/nN9YguzU4hT5kQixhDibNPCc6CrB57+cpo03 3PoRLoeesSok9IlMPFlWybD1G6U5sE/b9jKRJYe0RKo38lfmUcsGFA8t4Dy6TP0OoXud esNH9EMUPEGLtKcUfVaqT3OIwz2DFowBFrYLW+JBpDyQXyyW+pTQOyFHHMh2OWO0z5tj XyKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631653; x=1773236453; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Wr5CT5vP/Vp9qJmexNS3gJQeYThCQKgfTAbAdSmKjY4=; b=Nk9CCIb56SHax62zrUxAfZfY5eIgba+Dt2UZhsXL8PjRAVBg5f7ssrtodj+71m4Sh+ kUIukOMc2hH6WqBHRM2OM8hZvyJIyfxgK4FdRvUslJC5tFjV4X19eGyBcHrXMRd4cjlb pPeqIxzehZXaFk6FVdatqxDiWNVumxD1LNITV/kExBNEAbCxKLmawKiIMMP/vnXrhRxd EdNZ/8SMBGrJLg36xbAcSfcXZfDvTOGU969EkIqIOQ0dVlM5+mfG2DFCYUXYF0mMiemu DYkplyvb1XOwHwgHTJ6x6123ruWBnKPfaZtCjzmSpu01jR57OhZuwv8dLnKoIAtwjOfD gg2A== X-Gm-Message-State: AOJu0Yw+CnKZ022zw5mWFjRA8U3HWuIzGjZL7hXZEd25/oHbHOdS8J2E +NuPf8iU0tYOdWCARa+esh1IkCEujbPNvwBA1j9RlKESv7GlgIyP6OR9cVN01xI7mxR3lyE/AWG 13Y72DfgW9CWI1bcWho//fhPIImD22Yp4aY+gDSUqtAhec6ltiYk+LZ/Z84tFthO8WDqU/wtGd4 RTqnLBCgLd8fzx4oHOyvS8IFMW4z4dX27ISygKe+otbg== X-Gm-Gg: ATEYQzxYs0wAvnQRYd/S0/NpjbRZxmNjEWBuTvnhMqSeG+kw5OEmJdpNpRACZGbSRv3 j9e3y086ZA0w6dZhigkNCFPsgacjugMa7VXcxTFa7WtfIrbbQtQST2Lzu+rIanjMNGYFczyl36l W/Bd2m1e4y6BZto872Lv4DuH9V4/rIrNQKKsqDb8i+8SrUrHwn+Iz/mIeq/B9drAFSKzbCugygn kDk2HaTxaTbNj983wFFB1ydJLwCbejNd1JeNdGQNOgn0Hg9qo9EhOIFPh4VlkIC2iVWzM17Dqq9 D5j7gks15k+yp+4gKgkMnBTV37eC3xRP3ThujwPd1DPqza7P6hk15i53aF6PpPD2ylE9qddcT5s XNQzWLAbx/HjxVR1MPvQQAF6+qfCodQc7jA46isWUVaPUN8CLekjRclJRcPbBwgBAHLZAvLXtNX VYPyc/6ssoMXwfJpvC2ufQ2J/+ys3JCGagElAzqM44P3lKU2Oo+nK31vwnBt7/hQOcAqaK8pFlS OnvLTJ3QbG9UzQO6rl73ZbX4GM= X-Received: by 2002:a05:6a00:988:b0:81f:be27:8d16 with SMTP id d2e1a72fcca58-829726a10c7mr1959183b3a.21.1772631653418; Wed, 04 Mar 2026 05:40:53 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou , Alistair Francis Subject: [PATCH v4 13/14] target/riscv: Expose Zvfofp4min properity Date: Wed, 4 Mar 2026 21:40:05 +0800 Message-ID: <20260304134006.2908449-14-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42f; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42f.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: qemu development 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: 1772631776180154100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Chao Liu Signed-off-by: Max Chou --- target/riscv/cpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 3e655ab43d..8966beed38 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1385,6 +1385,8 @@ const RISCVCPUMultiExtConfig riscv_cpu_experimental_e= xts[] =3D { =20 /* Zvfofp8min extension for OFP8 conversion */ MULTI_EXT_CFG_BOOL("x-zvfofp8min", ext_zvfofp8min, false), + /* Zvfofp4min extension for OFP4 conversion */ + MULTI_EXT_CFG_BOOL("x-zvfofp4min", ext_zvfofp4min, false), =20 { }, }; --=20 2.52.0 From nobody Sat Apr 11 23:04:10 2026 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=1772631885; cv=none; d=zohomail.com; s=zohoarc; b=Cr9vv3jF6TogEBQeb5d4F4DCEiUtYyIPZbEoCHbSK6d7DvkePl8j+9wYZjpndrn/AZqX3aDXMmv+nOudMl/NnaN24k4Ytc0N1BUs9bJkY2bGV6Tc6V/pqKiSgOL1OMtAie9AA/EWc3pfNVr4e+VsTXu8l0EIrLSOLe4JqyrVm6A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772631885; 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=+JT1mHQyii4VDWEe70HVQ+1DzFVc0uaDHKkQZnAv4e8=; b=mVEwHKy0Fu+X6ZDV+FD980GVXZRONHr50nGnPWjPeauZZ86Wd6WKM+2alqahuf96tHZkFlX9mT8n5LtRGZd7Qv9ZWmoOB0Dt6DzCTMc9FJy5GaxcfLSx1MX0xJrbg/yiXNFK9Zy4jwKZHeEC/OvXMskwspt2EX7UvDKGs87MezA= 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 1772631885974148.67800781958; Wed, 4 Mar 2026 05:44:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxmTr-0007zc-F9; Wed, 04 Mar 2026 08:41:39 -0500 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 1vxmTJ-0007E8-K9 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:41:05 -0500 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vxmTH-0005L9-J3 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 08:41:04 -0500 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-82735a41985so4084617b3a.2 for ; Wed, 04 Mar 2026 05:40:56 -0800 (PST) Received: from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net. [114.35.142.126]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8297e11bf5dsm251921b3a.28.2026.03.04.05.40.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:40:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1772631656; x=1773236456; 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=+JT1mHQyii4VDWEe70HVQ+1DzFVc0uaDHKkQZnAv4e8=; b=fTeV1tmB3Y/pyut4A08dgEgS3EpIhy/si9M6orwC8sBMOOj4ZomYsMBeG4gIhxEE4m 3AT2ZazcohFmRmgG6knl8P+2lbof10DnvgnuPsE3FuEkBX6WTbMWQu3SQ7jHs+SsG3I8 rFYDJ8zEyNTn446d7tFb1EVNb22nmpaDv5S8X0F+VctgJHSsd6vQS3Q9ELBrKV00Fm+F kSZQH6TG+11wC09v8MMaaDsYFPNzuie81uDmebFAz6U8oin9MKl67ZbuI+kc8FGOLvxy 1OqskeCImnVJnf+ZpHdLhiq/2TySUV6UIdymFmr3Og/SzMwpbX0JfZ/1J06Pq2W2pWMr kwvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772631656; x=1773236456; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+JT1mHQyii4VDWEe70HVQ+1DzFVc0uaDHKkQZnAv4e8=; b=VcW5irhqAV+mgUBPH3jPKaGMQKTMg+rYvGX105QAn3WRuIGJpM1Ty8l5ebqs4GJWmH qUovHjvKyVHZD+EfDvPM1W/bS3c/DJUzCOwq5GDXhNlWhy3OweLTuo3/NqV1kIN0yAXD KhG/hg3pwVvLO8ivRwGy4OstSZAa19TbQz652JYEgrozb7ooQpgZYdMjT1PNiVa5TR1U IZYzKcABjXaYem5/u0OTQROSCUmbe3oBGArES0fJyIC0j/UvobH1lC0c9PbdhNs3pI31 epZu1fxHySkzblCuaTszHM+b+m+Py3ApxpgTWQ1vfWvaAYf+vyy5xQHeFIQaazshTYRQ SCUg== X-Gm-Message-State: AOJu0YxniSTMpkFTTENSrohkV1pOTXHjzIj7Uw4QbKZlBQ20LohsH3Bo mW6Z5zA6Uu1qzJhw894gn5E8n0DxIwUb4Hd7vH0MhHMXRJ0p3v7FH3/w5OD+w6ccbjLak8Sshn7 Egp34vfGOnoi7HvBc34J3lq2rzerNL5MM1gQQgD8CL9KX1BWOFlQdEbaGX6t2p4cl9MvgrHa/ML s8f8Ihb01pfTGOfN743PGXlXLULMM9NlM5g7ACjOFTDg== X-Gm-Gg: ATEYQzw4tMkQIav8j6NhOXPIjrnP6mbXDaBo0t11m1ooG/ouclCr+jok7q8uDUWfBUX RdWNaDzoj/xy74xiQGrX+glyI231LhWagMNpTJBATlgZ5bz2qtNmsmAJdtIn/fHWSAhtp+QUiez TZ+PgyRJjQub8ZTh69SV6ZYYa0T39BHI9fFW9k+pBgv36q5oRGWo5WboeYAJVwFEOS7QWRAEOvV Sroc5mtCbmlABhgsMn1y3gB1VGMyDSGnwydKa0gtBm2ukTmp4Guoei4xFmnaW9rGNK/VuVWvy+P nmyL4bcmm777qtzDFkWeAh7MVK/5V/cx2HcMBnQyOZTaxtUAD67PNVQTpZNNDbzb7PJPBgIFXWb I9UQqxrboCJHA1e2TvD2A1lYzV1DSDB6W5vRl774aEPNxDjSKvqBhnqJkIPyOJbj5Qev/aUj2pB S7EDXrg7acRHU1nVE66EXNttEcD/l1JUJuDGDAfRh6pckHQpYhBk3h2pU1wPIFwbzuiDKLrVDai 9U+10Zi64mcUrQFuqMhr7FcN3o= X-Received: by 2002:a05:6a00:2e12:b0:81f:40e5:34b6 with SMTP id d2e1a72fcca58-82972b4404dmr2102082b3a.15.1772631655705; Wed, 04 Mar 2026 05:40:55 -0800 (PST) From: Max Chou To: qemu-devel@nongnu.org, qemu-riscv@nongnu.org Cc: Palmer Dabbelt , Alistair Francis , Daniel Henrique Barboza , Weiwei Li , Liu Zhiwei , Chao Liu , Max Chou Subject: [PATCH v4 14/14] disas/riscv: Add support of Zvfofp4min extension Date: Wed, 4 Mar 2026 21:40:06 +0800 Message-ID: <20260304134006.2908449-15-max.chou@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260304134006.2908449-1-max.chou@sifive.com> References: <20260304134006.2908449-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::42b; envelope-from=max.chou@sifive.com; helo=mail-pf1-x42b.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: qemu development 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: 1772631888555154100 Content-Type: text/plain; charset="utf-8" This patch adds support to disassemble Zvfofp4min instructions. Reviewed-by: Chao Liu Signed-off-by: Max Chou --- disas/riscv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/disas/riscv.c b/disas/riscv.c index 30f585772a..5dbeb52c20 100644 --- a/disas/riscv.c +++ b/disas/riscv.c @@ -987,6 +987,7 @@ typedef enum { rv_op_vfncvtbf16_sat_f_f_w =3D 956, rv_op_vfncvt_f_f_q =3D 957, rv_op_vfncvt_sat_f_f_q =3D 958, + rv_op_vfext_vf2 =3D 959, } rv_op; =20 /* register names */ @@ -2260,6 +2261,7 @@ const rv_opcode_data rvi_opcode_data[] =3D { { "vfncvtbf16.sat.f.f.w", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, = 0 }, { "vfncvt.f.f.q", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 }, { "vfncvt.sat.f.f.q", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 }, + { "vfext.vf2", rv_codec_v_r, rv_fmt_vd_vs2_vm, NULL, 0, 0, 0 }, }; =20 /* CSR names */ @@ -3715,6 +3717,7 @@ static void decode_inst_opcode(rv_decode *dec, rv_isa= isa) case 12: op =3D rv_op_vclz_v; break; case 13: op =3D rv_op_vctz_v; break; case 14: op =3D rv_op_vcpop_v; break; + case 22: op =3D rv_op_vfext_vf2; break; } break; case 20: --=20 2.52.0