mirror of https://github.com/xemu-project/xemu.git
target/ppc: Do not update nip on DFP instructions
Before moving the existing DFP instructions to decodetree, drop the nip update that shouldn't be done for these instructions. Signed-off-by: Luis Pires <luis.pires@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20211029192417.400707-9-luis.pires@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
328747f32f
commit
17fded9d96
|
@ -15,7 +15,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
rd = gen_fprp_ptr(rD(ctx->opcode)); \
|
||||
ra = gen_fprp_ptr(rA(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
|
@ -36,7 +35,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
ra = gen_fprp_ptr(rA(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
gen_helper_##name(cpu_crf[crfD(ctx->opcode)], \
|
||||
|
@ -54,7 +52,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
uim = tcg_const_i32(UIMM5(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
gen_helper_##name(cpu_crf[crfD(ctx->opcode)], \
|
||||
|
@ -72,7 +69,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
ra = gen_fprp_ptr(rA(ctx->opcode)); \
|
||||
dcm = tcg_const_i32(DCM(ctx->opcode)); \
|
||||
gen_helper_##name(cpu_crf[crfD(ctx->opcode)], \
|
||||
|
@ -90,7 +86,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
rt = gen_fprp_ptr(rD(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
u32_1 = tcg_const_i32(u32f1(ctx->opcode)); \
|
||||
|
@ -114,7 +109,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
rt = gen_fprp_ptr(rD(ctx->opcode)); \
|
||||
ra = gen_fprp_ptr(rA(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
|
@ -137,7 +131,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
rt = gen_fprp_ptr(rD(ctx->opcode)); \
|
||||
rb = gen_fprp_ptr(rB(ctx->opcode)); \
|
||||
gen_helper_##name(cpu_env, rt, rb); \
|
||||
|
@ -157,7 +150,6 @@ static void gen_##name(DisasContext *ctx) \
|
|||
gen_exception(ctx, POWERPC_EXCP_FPU); \
|
||||
return; \
|
||||
} \
|
||||
gen_update_nip(ctx, ctx->base.pc_next - 4); \
|
||||
rt = gen_fprp_ptr(rD(ctx->opcode)); \
|
||||
rs = gen_fprp_ptr(fprfld(ctx->opcode)); \
|
||||
i32 = tcg_const_i32(i32fld(ctx->opcode)); \
|
||||
|
|
Loading…
Reference in New Issue