qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 15/19] Add VSX xmax/xmin Instructions


From: Tom Musta
Subject: Re: [Qemu-devel] [PATCH 15/19] Add VSX xmax/xmin Instructions
Date: Thu, 24 Oct 2013 16:07:52 -0500
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1

On 10/24/2013 3:45 PM, Richard Henderson wrote:
On 10/24/2013 09:26 AM, Tom Musta wrote:
Because of the Power ISA definitions of maximum and minimum
on various boundary cases, the standard softfloat comparison
routines (e.g. float64_lt) do not work as well as one might
think.  Therefore specific routines for comparing 64 and 32
bit floating point numbers are implemented in the PowerPC
helper code.

Really?  All I see in the document is ">fp", used both here
in the minmax insn and in the cmp insn.

If the softfloat compare isn't good enough for minmax, how
can it be good enough for cmp?

Example:

The ISA is very explicit that max(-0.0, +0.0) = +0.0.

But the comparison operations (and instructions) both consider
-0.0 == +0.0.  Because of this, I do not see how it is possible
to implement max using float*_eq, float*_lt and float*_le.

See, for example, table 58 (Actions for xsmaxdp) on p. 369 of the
V2.06 ISA.




reply via email to

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