RISC-V: Allocate "various" operand type
authorTsukasa OI <research_trasio@irq.a4lg.com>
Sat, 8 Oct 2022 03:48:24 +0000 (03:48 +0000)
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>
Fri, 31 Mar 2023 08:25:44 +0000 (10:25 +0200)
commit54bca63b5c3714e1032bf32754dbadaff424221a
treeb20be180cf1843d7359aa1c10ccf0c945c3fe860
parent6967633c8b4902a7576e64c4ecf2ab6098c888f0
RISC-V: Allocate "various" operand type

This commit intends to move operands that require very special handling or
operand types that are so minor (e.g. only useful on a few instructions)
under "W".  I also intend this "W" to be "temporary" operand storage until
we can find good two character (or less) operand type.

In this commit, prefetch offset operand "f" for 'Zicbop' extension is moved
to "Wif" because of its special handling (and allocating single character
"f" for this operand type seemed too much).

Current expected allocation guideline is as follows:

1.  'W'
2.  The most closely related single-letter extension in lowercase
    (strongly recommended but not mandatory)
3.  Identify operand type

The author currently plans to allocate following three-character operand
types (for operands including instructions from unratified extensions).

1.  "Wif" ('Zicbop': fetch offset)
2.  "Wfv" (unratified 'Zfa': value operand from FLI.[HSDQ] instructions)
3.  "Wfm" / "WfM"
    'Zfh', 'F', 'D', 'Q': rounding modes "m" with special handling
                          solely for widening conversion instructions.

gas/ChangeLog:

* config/tc-riscv.c (validate_riscv_insn, riscv_ip): Move from
"f" to "Wif".

opcodes/ChangeLog:

* riscv-dis.c (print_insn_args): Move from "f" to "Wif".
* riscv-opc.c (riscv_opcodes): Reflect new operand type.
gas/config/tc-riscv.c
opcodes/riscv-dis.c
opcodes/riscv-opc.c