qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] [V3 PATCH 10/14] target-ppc: Fix and enable


From: Richard Henderson
Subject: Re: [Qemu-ppc] [Qemu-devel] [V3 PATCH 10/14] target-ppc: Fix and enable fri[mnpz]
Date: Tue, 24 Dec 2013 08:02:14 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 12/18/2013 12:49 PM, Tom Musta wrote:
> The fri* series of instructions was introduced prior to ISA 2.06 and
> is supported on Power7 and Power8 hardware.  However, the instruction
> is still considered illegal in the P7 and P8 QEMU emulation models.
> This patch enables these instructions for the P7 and P8 machines.
> 
> Also, the existing helper is modified to correctly handle some of
> the boundary cases (NaNs and the inexact flag).
> 
> Signed-off-by: Tom Musta <address@hidden>
> ---
>  target-ppc/fpu_helper.c     |   12 ++++++------
>  target-ppc/translate_init.c |    2 ++
>  2 files changed, 8 insertions(+), 6 deletions(-)

Probably should be separate patches, but whatever.

> +        farg.ll = float64_default_nan | 0x0008000000000000ul;

That doesn't match what I see here:

  FRT <-  (FRB)
  FRT12 <- 1

i.e.

  farg.ll |= 1ull << (63 - 12);

i.e. mostly preserve the SNAN input.

I'll also note that frin can't properly be implemented with
float_round_nearest_even because it doesn't round to even.


r~



reply via email to

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