RISC-V: Add instructions and operand set for z[fdq]inx
authorjiawei <jiawei@iscas.ac.cn>
Wed, 17 Nov 2021 12:10:07 +0000 (20:10 +0800)
committerNelson Chu <nelson.chu@sifive.com>
Thu, 18 Nov 2021 06:43:23 +0000 (14:43 +0800)
commitde83e5142d054218f476f7364f795bcaa30efd3f
treeca33a98af3306f2a3373a7dc238d0247f6e2d703
parentda05b70e56866fd39288f4ff531ddfa6cb988514
RISC-V: Add instructions and operand set for z[fdq]inx

Reuse float instructions in INSN_CLASS_F/D/Q, use riscv_subset_supports to
verify if z*inx enabled and use gpr instead of fpr when z*inx is enable.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_multi_subset_supports): Added support for
  z*inx extension.

gas/ChangeLog:

* config/tc-riscv.c (riscv_ip): Added register choice for z*inx.

include/ChangeLog:

* opcode/riscv.h (enum riscv_insn_class): Reused INSN_CLASS_* for z*inx.

opcodes/ChangeLog:

* riscv-dis.c (riscv_disassemble_insn): Added disassemble check for
  z*inx.
* riscv-opc.c: Reused INSN_CLASS_* for z*inx.

Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
bfd/elfxx-riscv.c
gas/config/tc-riscv.c
include/opcode/riscv.h
opcodes/riscv-dis.c
opcodes/riscv-opc.c