All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] target/riscv: Add experimental Zvabd extension support
@ 2026-10-15 13:43 Mingliang Liu
  2026-10-15 13:43 ` [PATCH v4 1/3] target/riscv: Add support for the Zvabd extension Mingliang Liu
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Mingliang Liu @ 2026-10-15 13:43 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, palmer, Alistair.Francis, zhiwei_liu, liwei1518,
	daniel.barboza, chao.liu, richard.henderson, Mingliang Liu

This series adds support for version 0.9 of the draft RISC-V Zvabd
extension. The extension provides vector integer absolute-difference
instructions for image, video, and other data-processing workloads.
It introduces eight new instructions:

  - vabd.vv, vabd.vx, vabdu.vv, and vabdu.vx support SEW values from
    8 through ELEN, with SEW 64 requiring Zve64x.
  - vwabda.vv, vwabda.vx, vwabdau.vv, and vwabdau.vx support SEW 8
    and 16 and accumulate into a double-width destination.

The specification is currently under review at:
https://github.com/riscv/riscv-isa-manual/pull/3279

The series implements this instruction extension, including instruction
decoder, TCG translation, helpers, and tests.

Changes in v2:
  - Added support for recognizing the vabs.v pseudo-instruction in the
    disassembler.
  - Added tests for the eight Zvabd instructions based on Daniel's tests.

Changes in v3:
  - Order the switch cases numerically in patch 1.
  - Use .insn instead of .word to encode instructions in patch 3.
  - Refine the commit messages for patches 1 and 3.

Changes in v4:
  - Fix the conflict in patch 3/3 encountered during the PULL stage
    by building `tests/tcg/riscv64/test-zvabd.S` with Meson instead
    of Make.

Mingliang Liu (2):
  disas/riscv: Support vabs.v pseudo-instruction
  tests/tcg/riscv64: Add Zvabd extension tests

Zhibo Hong (1):
  target/riscv: Add support for the Zvabd extension

 disas/riscv-op.c.inc                        |   9 +
 disas/riscv.c                               |  14 +
 target/riscv/cpu.c                          |   1 +
 target/riscv/cpu_cfg_fields.h.inc           |   1 +
 target/riscv/helper.h                       |  26 +
 target/riscv/insn32.decode                  |  10 +
 target/riscv/tcg/insn_trans/trans_rvv.c.inc |  45 ++
 target/riscv/tcg/tcg-cpu.c                  |   6 +
 target/riscv/tcg/vector_helper.c            |  56 ++
 tests/tcg/riscv64/system/meson.build        |   1 +
 tests/tcg/riscv64/test-zvabd.S              | 659 ++++++++++++++++++++
 11 files changed, 828 insertions(+)
 create mode 100644 tests/tcg/riscv64/test-zvabd.S

-- 
2.39.5


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

end of thread, other threads:[~2026-10-16  1:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 13:43 [PATCH v4 0/3] target/riscv: Add experimental Zvabd extension support Mingliang Liu
2026-10-15 13:43 ` [PATCH v4 1/3] target/riscv: Add support for the Zvabd extension Mingliang Liu
2026-10-15 15:53   ` Chao Liu
2026-10-15 13:43 ` [PATCH v4 2/3] disas/riscv: Support vabs.v pseudo-instruction Mingliang Liu
2026-10-15 16:10   ` Chao Liu
2026-10-15 13:43 ` [PATCH v4 3/3] tests/tcg/riscv64: Add Zvabd extension tests Mingliang Liu
2026-10-15 16:12   ` Chao Liu
2026-10-16  1:10 ` [PATCH v4 0/3] target/riscv: Add experimental Zvabd extension support Alistair Francis

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.