From: Christoph Müllner Date: Mon, 3 Jul 2023 10:10:47 +0000 (+0200) Subject: RISC-V: Zvkh[a,b]: Remove individual instruction class X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=704b30cbb2beeac1e90c4ee6f1f5b9f1dc2e5ee4;p=binutils-gdb.git RISC-V: Zvkh[a,b]: Remove individual instruction class Currently we have three instruction classes defined for Zvkh[a,b]: - INSN_CLASS_ZVKNHA - INSN_CLASS_ZVKNHB - INSN_CLASS_ZVKNHA_OR_ZVKNHB The encodings of all instructions in Zvknh[a,b] are identical. Therefore, we don't need the individual instruction classes and can remove them. This patch also adds the missing support of the combined instruction class in riscv_multi_subset_supports_ext(). Fixes: 62edb233ef5 ("RISC-V: Add support for the Zvknh[a,b] ISA extensions") Reported-By: Nelson Chu Signed-off-by: Christoph Müllner --- diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index d6c8e046e3e..bdfc0ef01f4 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -2479,10 +2479,6 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps, return riscv_subset_supports (rps, "zvkg"); case INSN_CLASS_ZVKNED: return riscv_subset_supports (rps, "zvkned"); - case INSN_CLASS_ZVKNHA: - return riscv_subset_supports (rps, "zvknha"); - case INSN_CLASS_ZVKNHB: - return riscv_subset_supports (rps, "zvknhb"); case INSN_CLASS_ZVKNHA_OR_ZVKNHB: return (riscv_subset_supports (rps, "zvknha") || riscv_subset_supports (rps, "zvknhb")); @@ -2686,10 +2682,8 @@ riscv_multi_subset_supports_ext (riscv_parse_subset_t *rps, return _("zvkg"); case INSN_CLASS_ZVKNED: return _("zvkned"); - case INSN_CLASS_ZVKNHA: - return _("zvknha"); - case INSN_CLASS_ZVKNHB: - return _("zvknhb"); + case INSN_CLASS_ZVKNHA_OR_ZVKNHB: + return _("zvknha' or `zvknhb"); case INSN_CLASS_ZVKSED: return _("zvksed"); case INSN_CLASS_ZVKSH: diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h index d859f44fc92..739d6dafae9 100644 --- a/include/opcode/riscv.h +++ b/include/opcode/riscv.h @@ -418,8 +418,6 @@ enum riscv_insn_class INSN_CLASS_ZVBC, INSN_CLASS_ZVKG, INSN_CLASS_ZVKNED, - INSN_CLASS_ZVKNHA, - INSN_CLASS_ZVKNHB, INSN_CLASS_ZVKNHA_OR_ZVKNHB, INSN_CLASS_ZVKSED, INSN_CLASS_ZVKSH,