diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2013-04-27 00:37:46 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2013-04-27 00:37:46 +0200 |
commit | 909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab (patch) | |
tree | e6609d8bfda3ad386da4d1953fd2dec5a14fe9d6 /target-ppc | |
parent | 076bfd7c65ce08c18d0c375e3779be25206ee2b7 (diff) |
target-ppc: slightly optimize lfiwax
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/translate.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 6182bd7471..1a84653983 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -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) { if (unlikely(ctx->le_mode)) { @@ -2561,7 +2560,6 @@ static inline void gen_qemu_ld32s(DisasContext *ctx, TCGv arg1, TCGv arg2) } else tcg_gen_qemu_ld32s(arg1, arg2, ctx->mem_idx); } -#endif 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(); t0 = tcg_temp_new(); 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_ext32s_i64(cpu_fpr[rD(ctx->opcode)], cpu_fpr[rD(ctx->opcode)]); tcg_temp_free(EA); tcg_temp_free(t0); } |