From: Richard Sandiford Date: Mon, 27 Aug 2012 08:50:38 +0000 (+0100) Subject: Fix operands of RECIP2.S and RECIP2.PS X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d22d7289877ecd3ef86570f6f6d0574da40711dc;p=qmiga%2Fqemu.git 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 Signed-off-by: Aurelien Jarno --- 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);