mirror of https://github.com/xemu-project/xemu.git
target/m68k: Implement FTRAPcc
Reviewed-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220602013401.303699-14-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
43accc4862
commit
cc1cc264b1
|
@ -5566,6 +5566,34 @@ DISAS_INSN(fscc)
|
||||||
tcg_temp_free(tmp);
|
tcg_temp_free(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DISAS_INSN(ftrapcc)
|
||||||
|
{
|
||||||
|
DisasCompare c;
|
||||||
|
uint16_t ext;
|
||||||
|
int cond;
|
||||||
|
|
||||||
|
ext = read_im16(env, s);
|
||||||
|
cond = ext & 0x3f;
|
||||||
|
|
||||||
|
/* Consume and discard the immediate operand. */
|
||||||
|
switch (extract32(insn, 0, 3)) {
|
||||||
|
case 2: /* ftrapcc.w */
|
||||||
|
(void)read_im16(env, s);
|
||||||
|
break;
|
||||||
|
case 3: /* ftrapcc.l */
|
||||||
|
(void)read_im32(env, s);
|
||||||
|
break;
|
||||||
|
case 4: /* ftrapcc (no operand) */
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/* ftrapcc registered with only valid opmodes */
|
||||||
|
g_assert_not_reached();
|
||||||
|
}
|
||||||
|
|
||||||
|
gen_fcc_cond(&c, s, cond);
|
||||||
|
do_trapcc(s, &c);
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_SOFTMMU)
|
#if defined(CONFIG_SOFTMMU)
|
||||||
DISAS_INSN(frestore)
|
DISAS_INSN(frestore)
|
||||||
{
|
{
|
||||||
|
@ -6192,6 +6220,8 @@ void register_m68k_insns (CPUM68KState *env)
|
||||||
INSN(fbcc, f280, ffc0, CF_FPU);
|
INSN(fbcc, f280, ffc0, CF_FPU);
|
||||||
INSN(fpu, f200, ffc0, FPU);
|
INSN(fpu, f200, ffc0, FPU);
|
||||||
INSN(fscc, f240, ffc0, FPU);
|
INSN(fscc, f240, ffc0, FPU);
|
||||||
|
INSN(ftrapcc, f27a, fffe, FPU); /* opmode 010, 011 */
|
||||||
|
INSN(ftrapcc, f27c, ffff, FPU); /* opmode 100 */
|
||||||
INSN(fbcc, f280, ff80, FPU);
|
INSN(fbcc, f280, ff80, FPU);
|
||||||
#if defined(CONFIG_SOFTMMU)
|
#if defined(CONFIG_SOFTMMU)
|
||||||
INSN(frestore, f340, ffc0, CF_FPU);
|
INSN(frestore, f340, ffc0, CF_FPU);
|
||||||
|
|
Loading…
Reference in New Issue