Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
RISC-V: Validate Zdinx/Zqinx register pairs
This commit adds floating point register number validation on Zdinx/Zqinx extensions by separating handling on D/Q and Zdinx/Zqinx extensions (per-xlen on Zdinx/Zqinx). bfd/ChangeLog: * elfxx-riscv.c (riscv_multi_subset_supports): Reflect new instruction classes. (riscv_multi_subset_supports_ext): Reflect new instruction classes. gas/ChangeLog: * config/tc-riscv.c (riscv_ip): Add handling for new instruction flag INSN_F_OR_X. include/ChangeLog: * opcode/riscv.h (enum riscv_insn_class): Add INSN_CLASS_ZDINX and INSN_CLASS_ZQINX narrow instruction classes. (INSN_F_OR_X): New pinfo flag for better error handling. opcodes/ChangeLog: * riscv-opc.c (MASK_RS3): New mask macro for RS3 field. (match_opcode_zdinx_rtype_g2, match_opcode_zdinx_rtype_g4, match_rs1_eq_rs2_zdinx_rtype_g2, match_rs1_eq_rs2_zdinx_rtype_g4, match_opcode_zdinx_r4type_g2, match_opcode_zdinx_r4type_g4, match_opcode_zdinx_itype_g1_2, match_opcode_zdinx_itype_g1_4, match_opcode_zdinx_itype_g2_1, match_opcode_zdinx_itype_g2_2, match_opcode_zdinx_itype_g2_4, match_opcode_zdinx_itype_g4_1, match_opcode_zdinx_itype_g4_2, match_opcode_zdinx_itype_g4_4, match_opcode_zdinx_cmp_g2, match_opcode_zdinx_cmp_g4): New instruction matching functions with register pair / quad-register group validation. (riscv_opcodes): Use new instruction classes, matching functions and the pinfo flag.
- Loading branch information