mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-14 17:47:33 +00:00
target-ppc: slightly optimize lfiwax
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
076bfd7c65
commit
909eedb74f
@ -2551,7 +2551,6 @@ static inline void gen_qemu_ld32u(DisasContext *ctx, TCGv arg1, TCGv arg2)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TARGET_PPC64)
|
|
||||||
static inline void gen_qemu_ld32s(DisasContext *ctx, TCGv arg1, TCGv arg2)
|
static inline void gen_qemu_ld32s(DisasContext *ctx, TCGv arg1, TCGv arg2)
|
||||||
{
|
{
|
||||||
if (unlikely(ctx->le_mode)) {
|
if (unlikely(ctx->le_mode)) {
|
||||||
@ -2561,7 +2560,6 @@ static inline void gen_qemu_ld32s(DisasContext *ctx, TCGv arg1, TCGv arg2)
|
|||||||
} else
|
} else
|
||||||
tcg_gen_qemu_ld32s(arg1, arg2, ctx->mem_idx);
|
tcg_gen_qemu_ld32s(arg1, arg2, ctx->mem_idx);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline void gen_qemu_ld64(DisasContext *ctx, TCGv_i64 arg1, TCGv arg2)
|
static inline void gen_qemu_ld64(DisasContext *ctx, TCGv_i64 arg1, TCGv arg2)
|
||||||
{
|
{
|
||||||
@ -3379,9 +3377,8 @@ static void gen_lfiwax(DisasContext *ctx)
|
|||||||
EA = tcg_temp_new();
|
EA = tcg_temp_new();
|
||||||
t0 = tcg_temp_new();
|
t0 = tcg_temp_new();
|
||||||
gen_addr_reg_index(ctx, EA);
|
gen_addr_reg_index(ctx, EA);
|
||||||
gen_qemu_ld32u(ctx, t0, EA);
|
gen_qemu_ld32s(ctx, t0, EA);
|
||||||
tcg_gen_ext_tl_i64(cpu_fpr[rD(ctx->opcode)], t0);
|
tcg_gen_ext_tl_i64(cpu_fpr[rD(ctx->opcode)], t0);
|
||||||
tcg_gen_ext32s_i64(cpu_fpr[rD(ctx->opcode)], cpu_fpr[rD(ctx->opcode)]);
|
|
||||||
tcg_temp_free(EA);
|
tcg_temp_free(EA);
|
||||||
tcg_temp_free(t0);
|
tcg_temp_free(t0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user