binutils-gdb/include/opcode
Jiawei 89d59bf712 RISC-V: Add Zvdota extension classes
Zvfqwdota8f: dot product of 8-bit floating-point numbers with 32-bit accumulation.

Zvdota also uses the vtype alternative format bit, altfmt, which is bit 8 of the vtype CSR. This patch adds symbolic e8alt and e16alt vsew constants for vsetvli/vsetivli so that assembly code can select the alternative element formats required by these dot-product instructions.

[1] https://github.com/riscv/riscv-isa-manual/blob/zvbdot/src/zvdota.adoc

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_implicit_subsets): New implies.
	(riscv_supported_std_z_ext): New extensions.
	(riscv_multi_subset_supports): Ditto.
	(riscv_multi_subset_supports_ext): Ditto.

gas/ChangeLog:

	* NEWS: Add zvqwdota8i, zvqwdota16i, zvfwdota16bf and
	zvfqwdota8f extensions.
	* config/tc-riscv.c (riscv_vsew_altfmt): New vsew altfmt
	constants array for e8alt and e16alt.
	(riscv_vtype_altfmt_supported): New function.
	(my_getVsetvliExpression): Ditto.
	* testsuite/gas/riscv/march-help.l: New test.
	* testsuite/gas/riscv/vector-vtype-altfmt.d: Ditto.
	* testsuite/gas/riscv/vector-vtype-altfmt.s: Ditto.
	* testsuite/gas/riscv/zvdota.d: Ditto.
	* testsuite/gas/riscv/zvdota.s: Ditto.

include/ChangeLog:

	* opcode/riscv-opc.h (MATCH_VQWDOTAU_VV, MASK_VQWDOTAU_VV): New encoding.
	(MATCH_VQWDOTAS_VV, MASK_VQWDOTAS_VV): Ditto.
	(MATCH_VFWDOTA_VV, MASK_VFWDOTA_VV): Ditto.
	(MATCH_VFQWDOTA_VV, MASK_VFQWDOTA_VV): Ditto.
	(MATCH_VFQWDOTA_ALT_VV, MASK_VFQWDOTA_ALT_VV): Ditto.
	(DECLARE_INSN): New declarations.
	* opcode/riscv.h (OP_MASK_VTYPE_ALTFMT, OP_SH_VTYPE_ALTFMT): New vtype altfmt.
	(enum riscv_insn_class): New extension classes.

opcodes/ChangeLog:

	* riscv-dis.c (print_insn_args): Add altfmt support.
	* riscv-opc.c (riscv_opcodes): New instructions.
2026-06-30 07:54:21 -06:00
..
aarch64.h aarch64: Add new qualifier AARCH64_OPND_QLF_UNUSED 2026-05-15 15:07:19 +01:00
alpha.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
arc-attrs.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
arc-func.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
arc.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
arm.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
avr.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
bfin.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
bpf.h PR 34029: bpf: add %dR/%sR register format specifiers 2026-04-02 18:32:02 +02:00
cgen.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
cr16.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
cris.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
crx.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
csky.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
d10v.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
d30v.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
dlx.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
ft32.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
h8300.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
hppa.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
i386.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
ia64.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
kvx.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
loongarch.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
m68k.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
metag.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
mips.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
mmix.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
mn10200.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
mn10300.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
moxie.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
msp430-decode.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
msp430.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
nds32.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
nfp.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
np1.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
ns32k.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
pdp11.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
pj.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
pn.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
ppc.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
pru.h gas: pru: Add flag to select core revision 2026-03-15 09:44:02 +02:00
pyr.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
riscv-opc.h RISC-V: Add Zvdota extension classes 2026-06-30 07:54:21 -06:00
riscv.h RISC-V: Add Zvdota extension classes 2026-06-30 07:54:21 -06:00
rl78.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
rx.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
s12z.h Enable building the s12z target on Solaris hosts where REG_Y is defined in system header files. 2020-01-02 12:04:40 +00:00
s390.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
score-datadep.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
score-inst.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
sparc.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
spu-insns.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
spu.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic4x.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic6x-control-registers.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic6x-insn-formats.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic6x-opcode-table.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic6x.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic30.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tic54x.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tilegx.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
tilepro.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
v850.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
vax.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
visium.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
wasm.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30
xgate.h Update year range in copyright notice of binutils files 2026-01-01 23:22:14 +10:30