[PATCH v5 0/2] RISC-V: Add SpacemiT IME vendor extensions (xsmtvdot, xsmtvdotii)
Mark Zhuang
zhuangqiubin@linux.spacemit.com
Sun May 3 14:33:52 GMT 2026
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
Thanks to Jan and Andreas Schwab for reviewing.
Changes since v4:
1. Simplify code: replace the Xpw&S hex-bitmask operand with direct
operand matching, and remove unused i2 and i16 variants.
2. Add more test coverage.
3. Handle the unmatched operand branch with a proper error.
4. Add a new patch to support the xsmtvdotii extension. When v1 was
submitted five months ago, the xsmtvdotii spec was not yet ready.
Now that the SpacemiT K3 documentation has been published, we are
including it in this series.
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 | 58 ++++++
19 files changed, 1006 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
--
2.34.1
More information about the Binutils
mailing list