[v6,0/2] RISC-V: Add SpacemiT vendor extensions xsmtvdot and xsmtvdotii

Message ID 20260525082008.1219171-1-zhuangqiubin@linux.spacemit.com
Headers
Series RISC-V: Add SpacemiT vendor extensions xsmtvdot and xsmtvdotii |

Message

Mark Zhuang May 25, 2026, 8:20 a.m. UTC
  From: Mark Zhuang <mark.zhuang@spacemit.com>

This series adds support for two SpacemiT vendor extensions implementing
subsets of the SpacemiT Intrinsic Matrix Extension (IME) specification:

  - XsmtVdot v1.0: Vector Dot Product Extension, implemented by SpacemiT X60
  - XsmtVdotII v1.0: Vector Dot Product II Extension, implemented by
    SpacemiT A100

Changes since v5:
  - Fix grammar: "implement" -> "implements".
  - riscv-dis.c: Jump to undefined_modifier when 'wi' field is neither 2 nor 3.
  - riscv-opc.c: Remove the misleading comment.

Mark Zhuang (2):
  RISC-V: Add SpacemiT vendor extension xsmtvdot
  RISC-V: Add SpacemiT vendor extension xsmtvdotii

 bfd/elfxx-riscv.c                            |  18 ++
 gas/NEWS                                     |   3 +
 gas/config/tc-riscv.c                        | 183 +++++++++++++++++++
 gas/doc/c-riscv.texi                         |  16 ++
 gas/testsuite/gas/riscv/march-help.l         |   2 +
 gas/testsuite/gas/riscv/x-smt-vdot-fail.d    |   3 +
 gas/testsuite/gas/riscv/x-smt-vdot-fail.l    |  73 ++++++++
 gas/testsuite/gas/riscv/x-smt-vdot-fail.s    |  50 +++++
 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.d |   3 +
 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.l |  99 ++++++++++
 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.s | 118 ++++++++++++
 gas/testsuite/gas/riscv/x-smt-vdot-ii.d      |  69 +++++++
 gas/testsuite/gas/riscv/x-smt-vdot-ii.s      |  73 ++++++++
 gas/testsuite/gas/riscv/x-smt-vdot.d         |  41 +++++
 gas/testsuite/gas/riscv/x-smt-vdot.s         |  33 ++++
 include/opcode/riscv-opc.h                   |  79 ++++++++
 include/opcode/riscv.h                       |  16 ++
 opcodes/riscv-dis.c                          |  69 +++++++
 opcodes/riscv-opc.c                          |  54 ++++++
 19 files changed, 1002 insertions(+)
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-fail.d
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-fail.l
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-fail.s
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.d
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.l
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-ii-fail.s
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-ii.d
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot-ii.s
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot.d
 create mode 100644 gas/testsuite/gas/riscv/x-smt-vdot.s