diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-08-27 09:50:38 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2012-08-27 12:03:17 +0200 |
commit | d22d7289877ecd3ef86570f6f6d0574da40711dc (patch) | |
tree | 63065090ffe10ec3252de74336e84a32f597080e | |
parent | d03c98d80ffb7c561d9e6874580f52fe7ecc8c6c (diff) | |
download | qemu-d22d7289877ecd3ef86570f6f6d0574da40711dc.tar.gz qemu-d22d7289877ecd3ef86570f6f6d0574da40711dc.tar.bz2 qemu-d22d7289877ecd3ef86570f6f6d0574da40711dc.zip |
Fix operands of RECIP2.S and RECIP2.PS
Read the second input operand of RECIP2.S and RECIP2.PS from FT rather
than FD. RECIP2.D is already correct.
Signed-off-by: Richard Sandiford <rdsandiford@googlemail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r-- | target-mips/translate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c index d643676e58..2589f63b35 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -6805,7 +6805,7 @@ static void gen_farith (DisasContext *ctx, enum fopcode op1, TCGv_i32 fp1 = tcg_temp_new_i32(); gen_load_fpr32(fp0, fs); - gen_load_fpr32(fp1, fd); + gen_load_fpr32(fp1, ft); gen_helper_float_recip2_s(fp0, fp0, fp1); tcg_temp_free_i32(fp1); gen_store_fpr32(fp0, fd); @@ -7543,7 +7543,7 @@ static void gen_farith (DisasContext *ctx, enum fopcode op1, TCGv_i64 fp1 = tcg_temp_new_i64(); gen_load_fpr64(ctx, fp0, fs); - gen_load_fpr64(ctx, fp1, fd); + gen_load_fpr64(ctx, fp1, ft); gen_helper_float_recip2_ps(fp0, fp0, fp1); tcg_temp_free_i64(fp1); gen_store_fpr64(ctx, fp0, fd); |