RISC-V: Remove "b" operand type from disassembler
authorTsukasa OI <research_trasio@irq.a4lg.com>
Sun, 7 Aug 2022 06:03:28 +0000 (15:03 +0900)
committerTsukasa OI <research_trasio@irq.a4lg.com>
Thu, 22 Sep 2022 06:28:19 +0000 (06:28 +0000)
There are a few operand types not used by any RISC-V instructions.

-   Cx
-   Vf
-   Ve
-   [
-   ]
-   b

But most of them has a reasoning to keep them:

-   Cx     : Same as "Ct" except it has a constraint to have rd == rs2
     (similar to "Cw").  Although it hasn't used, its role is clear
     enough to implement a new instruction with this operand type.
-   Vf, Ve : Used by vector AMO instructions (not ratified and real
     instructions are not upstreamed yet).
-   [, ]   : Unused tokenization symbols.  Reserving them is not harmful
     and a vendor may use this symbol for special purposes.

... except "b".  I could not have found any reference to this operand type
except it works like the "s" operand type.  Historically, it seems... it's
just unused from the beginning.  Its role is not clear either.

On such cases, we should vacate this room for the new operand type with
much clearer roles.

opcodes/ChangeLog:

* riscv-dis.c (print_insn_args): Remove 'b' operand type.

opcodes/riscv-dis.c

index 7ae6e7092900065b3b193b1f691b3acaf9e550df..99cebf37d9e84e71bdee464e76d077b0acec55b1 100644 (file)
@@ -403,7 +403,6 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
            print (info->stream, dis_style_immediate, "0");
          break;
 
-       case 'b':
        case 's':
          if ((l & MASK_JALR) == MATCH_JALR)
            maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l), 0);