disas/riscv: Pass rv_opcode_data pointer to format_inst
Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20260812223142.349142-8-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Richard Henderson committed
Aug 12, 2026 at 15:30 UTC
7276d0fbe60d1c757ee75a52a2c33b1835b13a73
1 file changed
+5
-6
disas/riscv.c
+5
-6
@@ -5111,17 +5111,16 @@ static size_t inst_length(rv_inst inst)
5111
5112
/* format instruction */
5113
5114
-static GString *format_inst(size_t tab, rv_decode *dec)
5114
+static GString *format_inst(size_t tab, rv_decode *dec,
5115
+ const rv_opcode_data *op)
5116
{
5116
- const rv_opcode_data *opcode_data = dec->opcode_data;
5117
GString *buf = g_string_sized_new(64);
5118
- const char *fmt;
5118
+ const char *fmt = op->format;
5119
5120
- fmt = opcode_data[dec->op].format;
5120
while (*fmt) {
5121
switch (*fmt) {
5122
case 'O':
5124
- g_string_append(buf, opcode_data[dec->op].name);
5123
+ g_string_append(buf, op->name);
5124
break;
5125
case '(':
5126
case ',':
@@ -5466,7 +5465,7 @@ static GString *disasm_inst(rv_isa isa, uint64_t pc, rv_inst inst,
5465
decode_inst_operands(&dec, isa, op);
5466
op = decode_inst_decompress(&dec, isa, op);
5467
op = decode_inst_lift_pseudo(&dec, op);
5469
- return format_inst(24, &dec);
5468
+ return format_inst(24, &dec, op);
5469
}
5470
5471
#define INST_FMT_2 "%04x "