Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/2228591/?format=api
{ "id": 2228591, "url": "http://patchwork.ozlabs.org/api/1.1/covers/2228591/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427060928.2322570-1-max.chou@sifive.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260427060928.2322570-1-max.chou@sifive.com>", "date": "2026-04-27T06:09:19", "name": "[v5,0/9] target/riscv: Add RISC-V Zvfofp8min extension support", "submitter": { "id": 86650, "url": "http://patchwork.ozlabs.org/api/1.1/people/86650/?format=api", "name": "Max Chou", "email": "max.chou@sifive.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427060928.2322570-1-max.chou@sifive.com/mbox/", "series": [ { "id": 501579, "url": "http://patchwork.ozlabs.org/api/1.1/series/501579/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501579", "date": "2026-04-27T06:09:19", "name": "target/riscv: Add RISC-V Zvfofp8min extension support", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/501579/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2228591/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256\n header.s=google header.b=A4/KGOZY;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g3tSy0LVBz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 16:09:53 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wHFA8-0005G9-Uv; Mon, 27 Apr 2026 02:09:45 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <max.chou@sifive.com>)\n id 1wHFA6-0005FM-Vb\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 02:09:43 -0400", "from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <max.chou@sifive.com>)\n id 1wHFA4-0000ly-TY\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 02:09:42 -0400", "by mail-pj1-x1034.google.com with SMTP id\n 98e67ed59e1d1-35da9c0c007so8441111a91.2\n for <qemu-devel@nongnu.org>; Sun, 26 Apr 2026 23:09:39 -0700 (PDT)", "from duncan.localdomain (114-35-142-126.hinet-ip.hinet.net.\n [114.35.142.126]) by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-361410bac6dsm30290710a91.14.2026.04.26.23.09.36\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 26 Apr 2026 23:09:38 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=sifive.com; s=google; t=1777270179; x=1777874979; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=GSIlnxrsZSBNFgRWz5hkc0UzpRhGNiXWyxmxkH9cRX4=;\n b=A4/KGOZY2qzCBwwh1iL5w3iVqPncbFEzHHssDaUyKx0WsazyMq0tcvp/KlqOcQ10WZ\n WG6Xxf85duG7us3P7qFcVybx22O5bTPPBNLS4pXrqsBc0Coa5R4NbVTFUZcDJVwRXXE/\n RUqFyP6EwHwz3OQxeGvzJId/uoqk9/qmjDY5rt0CuZkB225USkHRR/izIOfcU6BWaYSj\n oI1na/Q3aFezRCeEbMbG46hF0bgs6A+JT7zZxJUYK4rUhso/n/8/1usNqTgB327mb6oV\n yRWCVw1wAWRs+nc/Rx+3sbbLlBYNi/2JP/9bOGhsBen4UevzmZrFwSHJ63CxPRtW6xtN\n DCNA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777270179; x=1777874979;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=GSIlnxrsZSBNFgRWz5hkc0UzpRhGNiXWyxmxkH9cRX4=;\n b=VdNS7PpKaukc8irjtP6Z+72pU/VNSkvhV1viHKaGTfLOBtHOozTkeTwBwNFZvQEwli\n Nzu0l4u675YGQaxEv03fxEJcV0d+C9tyUBVEq7FHFCWLhXFugKK836u12NYMtO2/MXqc\n XK5XdUHa5tWqGK/P3KmDP8VnkFlcSy7XAhRWs5lj6H0UGZrhPQejlY2nfa9wRbbNeVX1\n CIAwSw2awk/sWb/hDToqVlWQTCDMh3J8k/TnK4MN5WsCPl974UAuTKCkhkgg7ms4eGWY\n vgtjv1TzGATN+RFCNdBiFQFikZ8umyQv6h7aRMyMnHPAcJ7GIilXTavChhuIzvD+SlRg\n Px1w==", "X-Gm-Message-State": "AOJu0YxD+ld26QhMCeARCcJIraU4GHhEf0meng/XyAiY0/5W94oOlm36\n GnJsuppgh5pusX23i3oajDCql6BbI/gLgwEISOoV2/1rW7LvZRGoBBKTQhnTFbvWs0cd8KcYw4f\n dFVNVG806TezWN8lDSktFy9q61FhPTJ2YhU7IsTD5B9q6ON+NStdq310LbhptX9AxlIHybw8Y9O\n cQBeMFCq3iRzLK7O1QLRVbB69PLg0E+4q0abOHreU=", "X-Gm-Gg": "AeBDietVYCeNTGLGqOSD8iUIWxZamciToZe9KI5qofpxWGe6tidnFDl9JIphV/MYlGb\n hlYUhIN5LGDAz9zsNNY5h1SkivJurk+1bWz0UiiFAtrbWCohQ65si9krvXSufq5NGAfQ/IKBEpJ\n R0pGkP8ySkW12Cw6Cw/tLlQwX4nJtyml4ENS35NJMstYpUCRr4urItTjsLY/nQtwINZe1mJek9L\n n7t6vAmV1tTkMGqRyT3SGdaIRmp8Bg37pOu+OiDxeVEE46LEY1lHSXJBhwyxQzMauCau9TysClb\n Y+f03SpjDw+OfOeLUbE3hlZ04podom0idXZwPh0JQU2ttxHojsxsvqi8iFghUWeTAQP00MAcXKC\n 1nOTMvdoUbWwp0qllYowtOjX8HGZQoHkVSidWNbIa5DyC9MXafXShV+k6ye42u9XrSi4vrKHv5f\n z1Qmc4kmBebtThhA6UWyhoW6sQQWOirvlKnjbX5SStprmXDygGzjLoMDzJ+uPL8DXyO+GEDmPRa\n hg4M8vwA2We+6GDx/XfR9Xhq+1djqTt2TC8sg==", "X-Received": "by 2002:a17:90b:3941:b0:364:7467:53e5 with SMTP id\n 98e67ed59e1d1-3647467557bmr3487397a91.2.1777270178484;\n Sun, 26 Apr 2026 23:09:38 -0700 (PDT)", "From": "Max Chou <max.chou@sifive.com>", "To": "qemu-devel@nongnu.org,\n\tqemu-riscv@nongnu.org", "Cc": "Palmer Dabbelt <palmer@dabbelt.com>,\n Alistair Francis <Alistair.Francis@wdc.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Weiwei Li <liwei1518@gmail.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>, Max Chou <max.chou@sifive.com>", "Subject": "[PATCH v5 0/9] target/riscv: Add RISC-V Zvfofp8min extension support", "Date": "Mon, 27 Apr 2026 14:09:19 +0800", "Message-ID": "<20260427060928.2322570-1-max.chou@sifive.com>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2607:f8b0:4864:20::1034;\n envelope-from=max.chou@sifive.com; helo=mail-pj1-x1034.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,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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 <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "This patchset adds support for the RISC-V Zvfofp8min isa extension that\nprovide conversion operations for OCP FP formats.\n\n* riscv-isa-manual tag: https://github.com/riscv/riscv-isa-manual/releases/tag/zvfofp8min-0.9\n\nZvfofp8min (v0.9):\n The Zvfofp8min extension provides minimal vector conversion support\n for OFP8 formats. It requires the Zve32f extension and leverages the\n altfmt field in the VTYPE CSR (introduced by Zvfbfa) to select between\n E4M3 (altfmt=0) and E5M2 (altfmt=1) formats.\n - Canonical NaN for both E4M3 and E5M2 is 0x7f\n - All NaNs are treated as quiet NaNs\n Instructions added/extended:\n - vfwcvtbf16.f.f.v: OFP8 to BF16 widening conversion\n - vfncvtbf16.f.f.w: BF16 to OFP8 narrowing conversion\n - vfncvtbf16.sat.f.f.w: BF16 to OFP8 with saturation (new)\n - vfncvt.f.f.q: FP32 to OFP8 quad-narrowing conversion (new)\n - vfncvt.sat.f.f.q: FP32 to OFP8 with saturation (new)\n\nChanges in v5\n- Drop Zvfofp4min which is not going through the RVIA ratification\n process yet.\n- Fix typos.\n- Rebase on riscv-to-apply.next (commit bf76a00)\n\nChagnes in v4\n- Rebase on riscv-to-apply.next (commit 21101a7)\n- Remove the softfloat library related patches (Thanks for RH's help to\n split this part)\n- Add missing illegal ALTFMT SEW pattern checking for Zvfofp8min in\n patch 4 (target/riscv: rvv: Make vfwcvtbf16.f.f.v support OFP8 to BF16\n conversion for Zvfofp8min extension)\n\nChanges in v3\n- Add floatN_nan_is_snan to simply the quiet/signaling NaN checking flow\n in patch 2 & 3\n- Add patch 4 to fix pseudo-NaN handling in FPATAN/FYL2XP1/FYL2X helpers\n\nChanges in v2\n- Merged v1 patch 2 & 3 to v2 patch 3, v1 patch 4 & 5 to v2 patch 4\n- Added new v2 patch 2 to refactor the IEEE format NaN classification\n functions (float16, bfloat16, float32, float64) to use internal helper\n functions, reducing code duplication and improving maintainability.\n The OCP FP8 NaN classification functions follow the same pattern.\n- Refactored softfloat implementation to use capability-based FloatFmt\n flags (no_infinity, limited_nan, overflow_raises_invalid, normal_frac_max)\n instead of monolithic flags\n- Removed ocp_fp8e5m2_no_signal_nan and ocp_fp8_same_canonical_nan flags\n from float_status; now using local float_status with no_signaling_nans\n and default_nan_pattern for RISC-V Zvfofp8min instructions\n- Rebased on latest riscv-to-apply.next with zvfbfa v3 patchset\n\nv4: <20260304134006.2908449-1-max.chou@sifive.com>\nv3: <20260204051756.667397-1-max.chou@sifive.com>\nv2: <20260127063723.442734-1-max.chou@sifive.com>\nv1: <20260108151650.16329-1-max.chou@sifive.com>\n\nReferences\n* OCP FP8 specification:\n https://www.opencompute.org/documents/ocp-8-bit-floating-point-specification-ofp8-revision-1-0-2023-12-01-pdf-1\n\n\nMax Chou (9):\n target/riscv: rvv: Fix NOP_UU_B vs2 width\n target/riscv: Add cfg property for Zvfofp8min extension\n target/riscv: Add implied rules for Zvfofp8min extension\n target/riscv: rvv: Make vfwcvtbf16.f.f.v support OFP8 to BF16\n conversion for Zvfofp8min extension\n target/riscv: rvv: Make vfncvtbf16.f.f.w support BF16 to OFP8\n conversion for Zvfofp8min extension\n target/riscv: rvv: Add vfncvtbf16.sat.f.f.w instruction for Zvfofp8min\n extension\n target/riscv: rvv: Add vfncvt.f.f.q and vfncvt.sat.f.f.q instructions\n for Zvfofp8min extension\n target/riscv: Expose Zvfofp8min property\n disas/riscv: Add support of Zvfofp8min extension\n\n disas/riscv.c | 9 ++\n target/riscv/cpu.c | 15 ++-\n target/riscv/cpu_cfg_fields.h.inc | 1 +\n target/riscv/helper.h | 12 +++\n target/riscv/insn32.decode | 5 +\n target/riscv/insn_trans/trans_rvbf16.c.inc | 32 +++++--\n target/riscv/insn_trans/trans_rvofp8.c.inc | 105 +++++++++++++++++++++\n target/riscv/insn_trans/trans_rvv.c.inc | 39 ++++++++\n target/riscv/tcg/tcg-cpu.c | 5 +\n target/riscv/translate.c | 1 +\n target/riscv/vector_helper.c | 104 +++++++++++++++++++-\n 11 files changed, 315 insertions(+), 13 deletions(-)\n create mode 100644 target/riscv/insn_trans/trans_rvofp8.c.inc" }