All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/38] target/riscv: Add Zvdota/Zvbdota families of dot-product extensions
@ 2026-11-04 19:41 Max Chou
  2026-11-04 19:41 ` [RFC PATCH 01/38] fpu/softfloat: Support OCP(Open Compute Project) OFP8 checking functions Max Chou
                   ` (38 more replies)
  0 siblings, 39 replies; 117+ messages in thread
From: Max Chou @ 2026-11-04 19:41 UTC (permalink / raw)
  To: qemu-devel, qemu-riscv
  Cc: Palmer Dabbelt, Alistair Francis, Daniel Henrique Barboza,
	Aurelien Jarno, Peter Maydell, Alex Bennée, Weiwei Li,
	Liu Zhiwei, Chao Liu, Max Chou

This RFC patchset introduces the Zvdota/Zvbdota families of dot-product
extensions based on the ISA specification
(https://github.com/riscv/riscv-isa-manual/pull/2618 v1.0 commit: 570e32e)
- Zvdota: Zvqwdota8i/Zvqwdota16i/Zvfwdota16bf/Zvfqwdota8f
- Zvbdota: Zvqwbdota8i/Zvqwbdota16i/Zvfwbdota16bf/Zvfqwbdota8f/Zvfbdota32f

This RFC patchset assigns the Zvdota/Zvbdota cpu properties as the
experimental cpu isa extension properties. These experimental cpu isa
extension properties will be replaced after the Zvdota/Zvbdota isa
specification is ratified.

The toolchains support Zvdota/Zvbdota families extensions:
 - LLVM (after 23.1.0)
   - Support v0.2 Zvdota/Zvbdota extensions
     - https://releases.llvm.org/23.1.0/docs/RISCVUsage.html
   - llvm/llvm-project#196467, commit d25ec4b84487, merged 2026-05-27.
     - https://github.com/llvm/llvm-project/pull/196467
 - GCC (reviewing)
   - Upstream patchset: <20261014093604.829234-3-jiawei@iscas.ac.cn>

References:
 - riscv-isa-manual PR: https://github.com/riscv/riscv-isa-manual/pull/2618

rnax

Max Chou (38):
  fpu/softfloat: Support OCP(Open Compute Project) OFP8 checking
    functions
  target/riscv: Introduce riscv_init_fp_status
  target/riscv: rvv: Introduce RVBNA algorithm for Zvdota/Zvbdota
    extensions
  target/riscv: Add cfg property for Zvqwdota8i extension
  target/riscv: Add implied rules for Zvqwdota8i extension
  target/riscv: rvv: Implement Zvqwdota8i instructions
  disas/riscv: Support Zvqwdota8i extension
  target/riscv: Add Zvqwdota16i cpu property
  target/riscv: Add Zvqwdota16i dependency imply rule
  target/riscv: rvv: Implement Zvqwdota16i instructions
  target/riscv: Add cfg property for Zvfwdota16bf extension
  target/riscv: Add implied rules for Zvfwdota16bf extension
  target/riscv: rvv: Implement Zvfwdota16bf instruction
  disas/riscv: Support Zvfwdota16bf extension
  target/riscv: Add cfg property for Zvfqwdota8f extension
  target/riscv: Add implied rules for Zvfqwdota8f extension
  target/riscv: rvv: Implement Zvfqwdota8f instructions
  disas/riscv: Support Zvfqwdota8f extension
  target/riscv: Add cfg property for Zvqwbdota8i extension
  target/riscv: Add implied rules for Zvqwbdota8i extension
  target/riscv: rvv: Implement Zvqwbdota8i instructions
  disas/riscv: Support Zvqwbdota8i extension
  target/riscv: Add cfg property for Zvqwbdota16i extension
  target/riscv: Add implied rules for Zvqwbdota16i extension
  target/riscv: rvv: Implement Zvqwbdota16i instructions
  target/riscv: Add cfg property for Zvfwbdota16bf extension
  target/riscv: Add implied rules for Zvfwbdota16bf extension
  target/riscv: rvv: Implement Zvfwbdota16bf instruction
  disas/riscv: Support Zvfwbdota16bf extension
  target/riscv: Add cfg property for Zvfqwbdota8f extension
  target/riscv: Add implied rules for Zvfqwbdota8f extension
  target/riscv: rvv: Implement Zvfqwbdota8f instructions
  disas/riscv: Support Zvfqwbdota8f extension
  target/riscv: Add cfg property for Zvfbdota32f extension
  target/riscv: Add implied rules for Zvfbdota32f extension
  target/riscv: rvv: Implement Zvfbdota32f instructions
  disas/riscv: Support Zvfbdota32f extension
  tests/tcg/riscv64: Add test for Zvdota/Zvbdota extensions

 MAINTAINERS                                 |   6 +
 disas/riscv-op.c.inc                        |  12 +
 disas/riscv.c                               |  26 ++
 disas/riscv.h                               |   2 +
 fpu/softfloat-specialize.c.inc              |  55 +++
 include/fpu/softfloat.h                     |  70 ++++
 target/riscv/cpu.c                          | 121 +++++-
 target/riscv/cpu_cfg_fields.h.inc           |   9 +
 target/riscv/helper.h                       |  28 ++
 target/riscv/insn32.decode                  |  25 ++
 target/riscv/tcg/insn_trans/trans_rvv.c.inc | 305 ++++++++++++++
 target/riscv/tcg/meson.build                |   2 +-
 target/riscv/tcg/rvbna.c                    | 185 +++++++++
 target/riscv/tcg/rvbna.h                    |  40 ++
 target/riscv/tcg/tcg-cpu.c                  |  45 +++
 target/riscv/tcg/vector_helper.c            | 424 +++++++++++++++++++-
 tests/tcg/riscv64/system/meson.build        |  12 +
 tests/tcg/riscv64/test-zvdota.S             | 343 ++++++++++++++++
 18 files changed, 1703 insertions(+), 7 deletions(-)
 create mode 100644 target/riscv/tcg/rvbna.c
 create mode 100644 target/riscv/tcg/rvbna.h
 create mode 100644 tests/tcg/riscv64/test-zvdota.S

-- 
2.56.0



^ permalink raw reply	[flat|nested] 117+ messages in thread

end of thread, other threads:[~2026-11-11  9:55 UTC | newest]

Thread overview: 117+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 19:41 [RFC PATCH 00/38] target/riscv: Add Zvdota/Zvbdota families of dot-product extensions Max Chou
2026-11-04 19:41 ` [RFC PATCH 01/38] fpu/softfloat: Support OCP(Open Compute Project) OFP8 checking functions Max Chou
2026-11-09 19:53   ` Daniel Henrique Barboza
2026-11-10 14:04   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 02/38] target/riscv: Introduce riscv_init_fp_status Max Chou
2026-11-09 19:53   ` Daniel Henrique Barboza
2026-11-10 14:07   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 03/38] target/riscv: rvv: Introduce RVBNA algorithm for Zvdota/Zvbdota extensions Max Chou
2026-11-09 19:56   ` Daniel Henrique Barboza
2026-11-10 14:56   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 04/38] target/riscv: Add cfg property for Zvqwdota8i extension Max Chou
2026-11-09 19:56   ` Daniel Henrique Barboza
2026-11-10 14:57   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 05/38] target/riscv: Add implied rules " Max Chou
2026-11-09 19:57   ` Daniel Henrique Barboza
2026-11-10 15:03   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 06/38] target/riscv: rvv: Implement Zvqwdota8i instructions Max Chou
2026-11-09 19:57   ` Daniel Henrique Barboza
2026-11-10 15:05   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 07/38] disas/riscv: Support Zvqwdota8i extension Max Chou
2026-11-09 19:58   ` Daniel Henrique Barboza
2026-11-10 15:07   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 08/38] target/riscv: Add Zvqwdota16i cpu property Max Chou
2026-11-09 19:58   ` Daniel Henrique Barboza
2026-11-10 15:09   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 09/38] target/riscv: Add Zvqwdota16i dependency imply rule Max Chou
2026-11-09 19:59   ` Daniel Henrique Barboza
2026-11-10 15:15   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 10/38] target/riscv: rvv: Implement Zvqwdota16i instructions Max Chou
2026-11-09 20:03   ` Daniel Henrique Barboza
2026-11-11  4:48   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 11/38] target/riscv: Add cfg property for Zvfwdota16bf extension Max Chou
2026-11-09 20:03   ` Daniel Henrique Barboza
2026-11-11  4:51   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 12/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:04   ` Daniel Henrique Barboza
2026-11-11  4:55   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 13/38] target/riscv: rvv: Implement Zvfwdota16bf instruction Max Chou
2026-11-09 20:15   ` Daniel Henrique Barboza
2026-11-10 12:59     ` Max Chou
2026-11-11  5:29   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 14/38] disas/riscv: Support Zvfwdota16bf extension Max Chou
2026-11-09 20:15   ` Daniel Henrique Barboza
2026-11-11  5:33   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 15/38] target/riscv: Add cfg property for Zvfqwdota8f extension Max Chou
2026-11-09 20:15   ` Daniel Henrique Barboza
2026-11-11  5:37   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 16/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:16   ` Daniel Henrique Barboza
2026-11-11  5:52   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 17/38] target/riscv: rvv: Implement Zvfqwdota8f instructions Max Chou
2026-11-09 20:20   ` Daniel Henrique Barboza
2026-11-11  6:51   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 18/38] disas/riscv: Support Zvfqwdota8f extension Max Chou
2026-11-09 20:20   ` Daniel Henrique Barboza
2026-11-11  6:52   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 19/38] target/riscv: Add cfg property for Zvqwbdota8i extension Max Chou
2026-11-09 20:20   ` Daniel Henrique Barboza
2026-11-11  6:55   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 20/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:20   ` Daniel Henrique Barboza
2026-11-11  6:57   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 21/38] target/riscv: rvv: Implement Zvqwbdota8i instructions Max Chou
2026-11-09 20:32   ` Daniel Henrique Barboza
2026-11-11  7:00   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 22/38] disas/riscv: Support Zvqwbdota8i extension Max Chou
2026-11-09 20:32   ` Daniel Henrique Barboza
2026-11-11  7:05   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 23/38] target/riscv: Add cfg property for Zvqwbdota16i extension Max Chou
2026-11-09 20:33   ` Daniel Henrique Barboza
2026-11-11  7:06   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 24/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:33   ` Daniel Henrique Barboza
2026-11-11  7:10   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 25/38] target/riscv: rvv: Implement Zvqwbdota16i instructions Max Chou
2026-11-09 20:38   ` Daniel Henrique Barboza
2026-11-11  8:03   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 26/38] target/riscv: Add cfg property for Zvfwbdota16bf extension Max Chou
2026-11-09 20:39   ` Daniel Henrique Barboza
2026-11-11  8:07   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 27/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:39   ` Daniel Henrique Barboza
2026-11-11  8:15   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 28/38] target/riscv: rvv: Implement Zvfwbdota16bf instruction Max Chou
2026-11-09 20:40   ` Daniel Henrique Barboza
2026-11-11  8:19   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 29/38] disas/riscv: Support Zvfwbdota16bf extension Max Chou
2026-11-09 20:41   ` Daniel Henrique Barboza
2026-11-11  8:20   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 30/38] target/riscv: Add cfg property for Zvfqwbdota8f extension Max Chou
2026-11-09 20:41   ` Daniel Henrique Barboza
2026-11-11  8:21   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 31/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:41   ` Daniel Henrique Barboza
2026-11-11  8:22   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 32/38] target/riscv: rvv: Implement Zvfqwbdota8f instructions Max Chou
2026-11-09 20:41   ` Daniel Henrique Barboza
2026-11-11  8:24   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 33/38] disas/riscv: Support Zvfqwbdota8f extension Max Chou
2026-11-09 20:42   ` Daniel Henrique Barboza
2026-11-11  8:35   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 34/38] target/riscv: Add cfg property for Zvfbdota32f extension Max Chou
2026-11-09 20:42   ` Daniel Henrique Barboza
2026-11-11  8:36   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 35/38] target/riscv: Add implied rules " Max Chou
2026-11-09 20:42   ` Daniel Henrique Barboza
2026-11-11  8:36   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 36/38] target/riscv: rvv: Implement Zvfbdota32f instructions Max Chou
2026-11-09 20:43   ` Daniel Henrique Barboza
2026-11-11  9:17   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 37/38] disas/riscv: Support Zvfbdota32f extension Max Chou
2026-11-09 20:43   ` Daniel Henrique Barboza
2026-11-11  9:53   ` Chao Liu
2026-11-04 19:41 ` [RFC PATCH 38/38] tests/tcg/riscv64: Add test for Zvdota/Zvbdota extensions Max Chou
2026-11-09 20:47   ` Daniel Henrique Barboza
2026-11-11  9:54   ` Chao Liu
2026-11-10 14:12 ` [RFC PATCH 00/38] target/riscv: Add Zvdota/Zvbdota families of dot-product extensions Chao Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.