Message ID | 20220430175342.370628-12-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/m68k: Conditional traps + trap cleanup | expand |
On 30/4/22 19:53, Richard Henderson wrote: > TPF stands for "trap false", and is a long-form nop for ColdFire. > Re-use the immediate consumption code from trapcc; the insn will > already expand to a nop because of the TCG_COND_NEVER test > within do_trapcc. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/m68k/translate.c | 18 +----------------- > 1 file changed, 1 insertion(+), 17 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Le 30/04/2022 à 19:53, Richard Henderson a écrit : > TPF stands for "trap false", and is a long-form nop for ColdFire. > Re-use the immediate consumption code from trapcc; the insn will > already expand to a nop because of the TCG_COND_NEVER test > within do_trapcc. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/m68k/translate.c | 18 +----------------- > 1 file changed, 1 insertion(+), 17 deletions(-) > > diff --git a/target/m68k/translate.c b/target/m68k/translate.c > index c4fe8abc03..bb5ed1b7b1 100644 > --- a/target/m68k/translate.c > +++ b/target/m68k/translate.c > @@ -3075,22 +3075,6 @@ DISAS_INSN(addsubq) > tcg_temp_free(dest); > } > > -DISAS_INSN(tpf) > -{ > - switch (insn & 7) { > - case 2: /* One extension word. */ > - s->pc += 2; > - break; > - case 3: /* Two extension words. */ > - s->pc += 4; > - break; > - case 4: /* No extension words. */ > - break; > - default: > - disas_undef(env, s, insn); > - } > -} > - > DISAS_INSN(branch) > { > int32_t offset; > @@ -6099,7 +6083,7 @@ void register_m68k_insns (CPUM68KState *env) > INSN(scc, 50c0, f0c0, M68000); /* Scc.B <EA> */ > INSN(dbcc, 50c8, f0f8, M68000); > INSN(trapcc, 50f8, f0f8, TRAPCC); > - INSN(tpf, 51f8, fff8, CF_ISA_A); > + INSN(trapcc, 51f8, fff8, CF_ISA_A); /* TPF (trapf) */ > > /* Branch instructions. */ > BASE(branch, 6000, f000); Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff --git a/target/m68k/translate.c b/target/m68k/translate.c index c4fe8abc03..bb5ed1b7b1 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -3075,22 +3075,6 @@ DISAS_INSN(addsubq) tcg_temp_free(dest); } -DISAS_INSN(tpf) -{ - switch (insn & 7) { - case 2: /* One extension word. */ - s->pc += 2; - break; - case 3: /* Two extension words. */ - s->pc += 4; - break; - case 4: /* No extension words. */ - break; - default: - disas_undef(env, s, insn); - } -} - DISAS_INSN(branch) { int32_t offset; @@ -6099,7 +6083,7 @@ void register_m68k_insns (CPUM68KState *env) INSN(scc, 50c0, f0c0, M68000); /* Scc.B <EA> */ INSN(dbcc, 50c8, f0f8, M68000); INSN(trapcc, 50f8, f0f8, TRAPCC); - INSN(tpf, 51f8, fff8, CF_ISA_A); + INSN(trapcc, 51f8, fff8, CF_ISA_A); /* TPF (trapf) */ /* Branch instructions. */ BASE(branch, 6000, f000);
TPF stands for "trap false", and is a long-form nop for ColdFire. Re-use the immediate consumption code from trapcc; the insn will already expand to a nop because of the TCG_COND_NEVER test within do_trapcc. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/m68k/translate.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-)