aboutsummaryrefslogtreecommitdiff
path: root/target/openrisc/disas.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2018-10-23 11:05:27 +0100
committerRichard Henderson <richard.henderson@linaro.org>2018-10-31 16:48:54 +0000
commit3a7be5546506be62d5c6c4b804119cedf9e367d6 (patch)
treefad119a158f4dd7291936d1f169a59feb886827d /target/openrisc/disas.c
parentabd04f9290094f4eb7f3c07335766bbac3de22bb (diff)
decodetree: Remove "insn" argument from trans_* expanders
This allows trans_* expanders to be shared between decoders for 32 and 16-bit insns, by not tying the expander to the size of the insn that produced it. This change requires adjusting the two existing users to match. Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/openrisc/disas.c')
-rw-r--r--target/openrisc/disas.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/target/openrisc/disas.c b/target/openrisc/disas.c
index 4bfd2dd8a6..bc63093ee9 100644
--- a/target/openrisc/disas.c
+++ b/target/openrisc/disas.c
@@ -51,12 +51,11 @@ int print_insn_or1k(bfd_vma addr, disassemble_info *info)
return 4;
}
-#define INSN(opcode, format, ...) \
-static bool trans_l_##opcode(disassemble_info *info, \
- arg_l_##opcode *a, uint32_t insn) \
-{ \
- output("l." #opcode, format, ##__VA_ARGS__); \
- return true; \
+#define INSN(opcode, format, ...) \
+static bool trans_l_##opcode(disassemble_info *info, arg_l_##opcode *a) \
+{ \
+ output("l." #opcode, format, ##__VA_ARGS__); \
+ return true; \
}
INSN(add, "r%d, r%d, r%d", a->d, a->a, a->b)
@@ -146,12 +145,12 @@ INSN(psync, "")
INSN(csync, "")
INSN(rfe, "")
-#define FP_INSN(opcode, suffix, format, ...) \
-static bool trans_lf_##opcode##_##suffix(disassemble_info *info, \
- arg_lf_##opcode##_##suffix *a, uint32_t insn) \
-{ \
- output("lf." #opcode "." #suffix, format, ##__VA_ARGS__); \
- return true; \
+#define FP_INSN(opcode, suffix, format, ...) \
+static bool trans_lf_##opcode##_##suffix(disassemble_info *info, \
+ arg_lf_##opcode##_##suffix *a) \
+{ \
+ output("lf." #opcode "." #suffix, format, ##__VA_ARGS__); \
+ return true; \
}
FP_INSN(add, s, "r%d, r%d, r%d", a->d, a->a, a->b)