[{"id":3675634,"web_url":"http://patchwork.ozlabs.org/comment/3675634/","msgid":"<CAKmqyKMWtBwJzzG5yqDoyycoR6uJz-_4iS8ZRnk5CBAkd1o6Pw@mail.gmail.com>","list_archive_url":null,"date":"2026-04-10T03:25:02","subject":"Re: [PATCH v6 0/9] Add Zvfbfa extension support","submitter":{"id":64571,"url":"http://patchwork.ozlabs.org/api/people/64571/","name":"Alistair Francis","email":"alistair23@gmail.com"},"content":"On Thu, Apr 2, 2026 at 11:50 PM Max Chou <max.chou@sifive.com> wrote:\n>\n> This patch series adds support for the RISC-V Zvfbfa extension, which\n> provides additional BF16 vector compute support.\n>\n> The isa spec of Zvfbfa extension is not ratified yet, but is frozen\n> (v0.9) with a tag in official riscv-isa-manual repository.\n> This patch series is based on the latest frozen draft of the Zvfbfa\n> spec v0.9.\n>\n> The Zvfbfa extension adds a 1-bit field, altfmt, to the vtype CSR in\n> bit position 8.\n> The Zvfbfa extension requires the Zve32f and Zfbfmin extensions.\n>\n> Specification:\n> https://github.com/riscv/riscv-isa-manual/releases/tag/zvfbfa-0.9\n>\n> Changes in v6:\n> - Remove the experimental `x-` prefix in cpu property.\n> - Rebase to latest riscv-to-apply.next branch (commit 479e3e4)\n>\n> Changes in v5:\n> - Fix typo in patch 1/5/8\n> - Remove unnecessary do_bf16_nanbox\n>\n> Changes in v4:\n> - Rebase on riscv-to-apply.next (commit 21101a7)\n> - Update commit message of patch 2 (target/riscv: Add the Zvfbfa\n>   extension implied rule)\n> - Update checking flow of illegal ALTFMT SEW patterns at patch 3\n>   (target/riscv: rvv: Add new VTYPE CSR field - altfmt)\n>\n> Changes in v3:\n> - Rebased on riscv-to-apply.next (commit f66f234)\n> - Fix typo in v2 patch 5 commit message\n>\n> Changes from v2:\n> - Removed RFC designation from the series\n> - Updated commit message for patch 3 (VTYPE CSR field -\n>   altfmt) to clearly explain:\n>   * VEDIV field removal (bits 8-9) since EDIV extension is not\n>     planned to be part of the base V extension\n>   * ALTFMT field addition at bit 8\n>   * RESERVED field change from bit 10 to bit 9\n> - Added new patch 4: Introduce reset_ill_vtype helper function to\n>   consolidate illegal vtype CSR reset logic\n>\n> v4: <20260304132514.2889449-1-max.chou@sifive.com>\n> v3: <20260127014227.406653-1-max.chou@sifive.com>\n> v2: <20260108132631.9429-1-max.chou@sifive.com>\n> v1: <20250915084037.1816893-1-max.chou@sifive.com>\n>\n> rnax\n>\n>\n> Max Chou (9):\n>   target/riscv: Add cfg properties for Zvfbfa extensions\n>   target/riscv: Add the Zvfbfa extension implied rule\n>   target/riscv: rvv: Add new VTYPE CSR field - altfmt\n>   target/riscv: rvv: Introduce reset_ill_vtype to reset illegal vtype\n>     CSR\n>   target/riscv: Use the tb->cs_base as the extend tb flags\n>   target/riscv: Introduce altfmt into DisasContext\n>   target/riscv: Introduce BF16 canonical NaN for Zvfbfa extension\n>   target/riscv: rvv: Support Zvfbfa vector bf16 operations\n>   target/riscv: Expose Zvfbfa extension as a cpu property\n\nThanks!\n\nApplied to riscv-to-apply.next\n\nAlistair\n\n>\n>  include/exec/translation-block.h        |   1 +\n>  target/riscv/cpu.c                      |  15 +-\n>  target/riscv/cpu.h                      |   7 +-\n>  target/riscv/cpu_cfg_fields.h.inc       |   1 +\n>  target/riscv/helper.h                   |  60 ++\n>  target/riscv/insn_trans/trans_rvv.c.inc | 988 +++++++++++++++---------\n>  target/riscv/internals.h                |   1 +\n>  target/riscv/tcg/tcg-cpu.c              |  15 +-\n>  target/riscv/translate.c                |  11 +\n>  target/riscv/vector_helper.c            | 389 +++++++++-\n>  10 files changed, 1088 insertions(+), 400 deletions(-)\n>\n> --\n> 2.52.0\n>\n>","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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=NE8CdIWT;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.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 4fsMdt4Xf3z1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 13:26:10 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wB2Uw-00033D-OL; Thu, 09 Apr 2026 23:25:34 -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 <alistair23@gmail.com>)\n id 1wB2Uu-00032k-SO\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 23:25:32 -0400","from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <alistair23@gmail.com>)\n id 1wB2Ut-0006x8-6A\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 23:25:32 -0400","by mail-ej1-x62f.google.com with SMTP id\n a640c23a62f3a-b9358dd7f79so277035866b.1\n for <qemu-devel@nongnu.org>; Thu, 09 Apr 2026 20:25:30 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; t=1775791529; cv=none;\n d=google.com; s=arc-20240605;\n b=Ro6MRreMe/stEnDRZ+76JR+xnMPM5vyEc+p92Kdwc9sGjeU2ldAwaozEbTFjeakU5F\n BkhjeNneXQdxOxpwmHyk8WyXaKTPF7AVGYieqwrxCjaF0zXi/v1Z9xsFMb0J1UuuJg4O\n lHo8a4xvgOSDexaC/55IWWWeQN1/oi2EatxFasnH8FMHZINEJpx/NIPw5p1OawXvPILw\n M+Au6kwBZMMQPJzprKqRU01EiU/BoS3Q4kjNl9Ut0NEYjIqjtq5kn3M6cLXncr326U/J\n Z18+amsEMwy5f92CqNxTmoejrWbe2/Bya5WKu93HoURsEzS9U+bkIEHEQ3+GuIHLiiVi\n Kuqw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=zVr30i1/eTqTL3hpJAo7nJYoXQEcAh+382n4cuVjM8c=;\n fh=XErS4XjkAQDBkClscxjQUC7TY1MVaIkgq5whaEGujtU=;\n b=RevOG30QoqJhmvOghi4fCJVtJ5z2tjUNU65JuXK9VB70wv3MDK1MyPOIaOzWMP840I\n PblOCC3e0wYgM8XpKoY4SwQAyo8YWXR1w8q5KaRW2l3HcjBe3WyR3nK6i9tzuW+ci7qi\n dyvEfLcDWvu6QOUgbJsYiuV9KNJ8kcGIcsVtBgtQIXdDUgRssneKWyu45Aqq0ywpv1r4\n rKAno+FtI6rFWOvHaFvuCDyb9QHodebzxWN32dwS2lP0w0zuLQZpjAReGKTx3hySSQek\n gg6dKDPdtg52ycCaCvvEX2OkfEp1h1nJ8c5QbMxgwbJeC8izrv4RwnpUwa4QNmjbl2e6\n 1Szg==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1775791529; x=1776396329; darn=nongnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=zVr30i1/eTqTL3hpJAo7nJYoXQEcAh+382n4cuVjM8c=;\n b=NE8CdIWToN5icfG50FYlaQiXCkfgqS3vHOrOCo/Kl0Bwn+LvEu4+h8ponu7w84LuCp\n SivCBlTXuAAZvUEECk535D8VJb/H7UD2Mo8R2ZbriC1juFarhT+5lUx59yQLoX6S+zAG\n Hhk2FBV/kqH+LPX056HNKLuUOZ07jUTecD9r0ZBu4QxX2Lx030A3dmqSml+AzVwE9Rx4\n iNg34JYcE8Bqfh6Zyk0BEmQH9iljXo8WD2B4T2uSgYF/phzamJnlQ18f1hGD7aNT3SgP\n lbL65IQ7D7wW9WP8+i+PO8leBng3n3uakLeE1C9qc08HeYtDLNgvBeDzRSX1Qr60bIIY\n 974A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775791529; x=1776396329;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=zVr30i1/eTqTL3hpJAo7nJYoXQEcAh+382n4cuVjM8c=;\n b=r/11ccigA3/MEiAGxtBNjLzXyG3f15WDhQzf1hnpea5IS7PkbqLHaCtrGMrcgKtPsq\n bYfSjtKWufAtAx58bmVl+cWYt9msec1GYBIbXwI5Br0bHGlWdgWKImGBn2cAfA7okELY\n TrgzvzkCW5LgtuXVVaOSb+a1D6F1QwwB1z14qvBuTLVfM2vSlLXXpnvDTg0+gbj2pGWS\n gVKQBPxF33MJOJlsAlmcKZwy95g2xHXYZrRCTpk4Uk4HDWDcwyjtR3uhlu2rkSdsElXg\n miBOpEAAQXBF2AaRWG58aDO3m4NZdmxTuHt58+OBDP7gReQf+cIiFZVvElkg9Z1KeDXL\n XWSQ==","X-Gm-Message-State":"AOJu0YzJg1NQDM/pJHk6SgHK+vjAF6+HAzuMgKvv34M/nhmrF0AwdEB+\n wjWFxMchtJfumN3doRbe1/ReWND4ZoDVbo2YVkazkTrJXQrqeZ//S+0umBBxmF9azKrRkkD18JQ\n Q0T/cMH/mdc4cGy2WaxgOX7z5g4hWwCE=","X-Gm-Gg":"AeBDieu3EYkiEMiRf3bbAe5Ph+a5wKKtIWqQcxZ8hEfuEVfUeL+0OFBV6LhKxPV1Th/\n HklNa7PaPiTrCPbxHLBwm21lAw0jESrg/tltmefR0tXyXlXtvHsyQNeSABHrsbbR8mecoBo+ULi\n jg0LtAroeUNmjGBStjzDzgbu86Hdqt7FSfjorIl3JHuMuAtTezep3QXtUGE25qf4nEVwE71uMF+\n iDKDYCi8lGR4blf30lwq/FRCbQveGK27QupmZ/JMjL2dVrdzE0EA/eS3N0F2EZYnfeqtqWfbLUE\n 51Ein2/qL66ETt1IdDhKESAQshTvzqbHY5qyUg==","X-Received":"by 2002:a17:907:7b93:b0:b9d:166f:ff82 with SMTP id\n a640c23a62f3a-b9d7243ee78mr80324666b.6.1775791528534; Thu, 09 Apr 2026\n 20:25:28 -0700 (PDT)","MIME-Version":"1.0","References":"<20260402125234.1371897-1-max.chou@sifive.com>","In-Reply-To":"<20260402125234.1371897-1-max.chou@sifive.com>","From":"Alistair Francis <alistair23@gmail.com>","Date":"Fri, 10 Apr 2026 13:25:02 +1000","X-Gm-Features":"AQROBzBGG14qawWPI27eYzGYD00-L67phPBckcOwb8PXlUhwAddjoVgPByy9lxM","Message-ID":"\n <CAKmqyKMWtBwJzzG5yqDoyycoR6uJz-_4iS8ZRnk5CBAkd1o6Pw@mail.gmail.com>","Subject":"Re: [PATCH v6 0/9] Add Zvfbfa extension support","To":"Max Chou <max.chou@sifive.com>","Cc":"qemu-devel@nongnu.org, qemu-riscv@nongnu.org,\n Palmer Dabbelt <palmer@dabbelt.com>,\n Alistair Francis <alistair.francis@wdc.com>,\n Weiwei Li <liwei1518@gmail.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","Received-SPF":"pass client-ip=2a00:1450:4864:20::62f;\n envelope-from=alistair23@gmail.com; helo=mail-ej1-x62f.google.com","X-Spam_score_int":"-17","X-Spam_score":"-1.8","X-Spam_bar":"-","X-Spam_report":"(-1.8 / 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 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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 <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"}}]