[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 09/26] target/m68k: Merge gen_ea into SRC_EA and DEST_EA
From: |
Richard Henderson |
Subject: |
[PATCH v3 09/26] target/m68k: Merge gen_ea into SRC_EA and DEST_EA |
Date: |
Mon, 9 Sep 2024 10:28:06 -0700 |
This will enable further cleanups further down the call chain.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/m68k/translate.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 003318163c..1ba1220b21 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -896,14 +896,6 @@ static TCGv gen_ea_mode(CPUM68KState *env, DisasContext
*s, int mode, int reg0,
return NULL_QREG;
}
-static TCGv gen_ea(CPUM68KState *env, DisasContext *s, uint16_t insn,
- int opsize, TCGv val, TCGv *addrp, ea_what what, int index)
-{
- int mode = extract32(insn, 3, 3);
- int reg0 = REG(insn, 0);
- return gen_ea_mode(env, s, mode, reg0, opsize, val, addrp, what, index);
-}
-
static TCGv_ptr gen_fp_ptr(int freg)
{
TCGv_ptr fp = tcg_temp_new_ptr();
@@ -1367,18 +1359,22 @@ static void gen_exit_tb(DisasContext *s)
s->base.is_jmp = DISAS_EXIT;
}
-#define SRC_EA(env, result, opsize, op_sign, addrp) do { \
- result = gen_ea(env, s, insn, opsize, NULL_QREG, addrp, \
- op_sign ? EA_LOADS : EA_LOADU, IS_USER(s)); \
+#define SRC_EA(env, result, opsize, op_sign, addrp) \
+ do { \
+ result = gen_ea_mode(env, s, extract32(insn, 3, 3), \
+ REG(insn, 0), opsize, NULL_QREG, addrp, \
+ op_sign ? EA_LOADS : EA_LOADU, IS_USER(s)); \
if (IS_NULL_QREG(result)) { \
gen_addr_fault(s); \
return; \
} \
} while (0)
-#define DEST_EA(env, insn, opsize, val, addrp) do { \
- TCGv ea_result = gen_ea(env, s, insn, opsize, val, addrp, \
- EA_STORE, IS_USER(s)); \
+#define DEST_EA(env, insn, opsize, val, addrp) \
+ do { \
+ TCGv ea_result = gen_ea_mode(env, s, extract32(insn, 3, 3), \
+ REG(insn, 0), opsize, val, addrp, \
+ EA_STORE, IS_USER(s)); \
if (IS_NULL_QREG(ea_result)) { \
gen_addr_fault(s); \
return; \
--
2.43.0
- [PATCH v3 01/26] target/m68k: Always return a temporary from gen_lea_mode, (continued)
- [PATCH v3 01/26] target/m68k: Always return a temporary from gen_lea_mode, Richard Henderson, 2024/09/09
- [PATCH v3 02/26] target/m68k: Add FPSR exception bit defines, Richard Henderson, 2024/09/09
- [PATCH v3 04/26] target/m68k: Keep FPSR up-to-date, Richard Henderson, 2024/09/09
- [PATCH v3 06/26] softfloat: Set QEMU_NO_HARDFLOAT for m68k, Richard Henderson, 2024/09/09
- [PATCH v3 05/26] target/m68k: Update FPSR.EXC, Richard Henderson, 2024/09/09
- [PATCH v3 08/26] target/m68k: Introduce M68K_FEATURE_FPU_PACKED_DECIMAL, Richard Henderson, 2024/09/09
- [PATCH v3 11/26] target/m68k: Use OS_UNSIZED in LEA, PEA, JMP, Richard Henderson, 2024/09/09
- [PATCH v3 10/26] target/m68k: Use g_assert_not_reached in gen_lea_mode and gen_ea_mode, Richard Henderson, 2024/09/09
- [PATCH v3 12/26] target/m68k: Move pre-dec/post-inc to gen_lea_mode, Richard Henderson, 2024/09/09
- [PATCH v3 09/26] target/m68k: Merge gen_ea into SRC_EA and DEST_EA,
Richard Henderson <=
- [PATCH v3 16/26] target/m68k: Remove env argument to gen_load_mode, Richard Henderson, 2024/09/09
- [PATCH v3 14/26] target/m68k: Remove env argument to gen_lea_indexed, Richard Henderson, 2024/09/09
- [PATCH v3 15/26] target/m68k: Remove env argument to gen_lea_mode, Richard Henderson, 2024/09/09
- [PATCH v3 18/26] target/m68k: Remove env argument to gen_ea_mode_fp, Richard Henderson, 2024/09/09
- [PATCH v3 19/26] target/m68k: Split gen_ea_mode_fp for load/store, Richard Henderson, 2024/09/09