qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-mips: remove wrong checks for recip.fmt


From: Leon Alrae
Subject: Re: [Qemu-devel] [PATCH] target-mips: remove wrong checks for recip.fmt and rsqrt.fmt
Date: Tue, 25 Aug 2015 18:57:35 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 18/08/2015 18:35, Petar Jovanovic wrote:
> From: Petar Jovanovic <address@hidden>
> 
> Instructions recip.{s|d} and rsqrt.{s|d} do not require 64-bit FPU neither
> they require any particular mode for its FPU. This patch removes the checks
> that may break a program that uses these instructions.

This seems to be correct starting from MIPS32R2, but I'm not sure about older
cores. Do we really want to remove the restrictions for them as well?

> @@ -9839,7 +9837,6 @@ static void gen_farith (DisasContext *ctx, enum fopcode 
> op1,
>          opn = "movn.d";
>          break;
>      case OPC_RECIP_D:
> -        check_cp1_64bitmode(ctx);

I think this needs check_cp1_registers() now, i.e. check for odd fpu register
access when Status.FR = 0.

>          {
>              TCGv_i64 fp0 = tcg_temp_new_i64();
>  
> @@ -9851,7 +9848,6 @@ static void gen_farith (DisasContext *ctx, enum fopcode 
> op1,
>          opn = "recip.d";
>          break;
>      case OPC_RSQRT_D:
> -        check_cp1_64bitmode(ctx);

same

Thanks,
Leon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]