[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 13/19] Add VSX ISA2.06 Multiply Add I
From: |
Richard Henderson |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 13/19] Add VSX ISA2.06 Multiply Add Instructions |
Date: |
Fri, 25 Oct 2013 10:29:10 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 |
On 10/25/2013 10:13 AM, Tom Musta wrote:
> On 10/25/2013 11:42 AM, Richard Henderson wrote:
>> I believe that a better implementation could use float*_muladd, and check the
>> result for float_flag_invalid. If set, compute the intermediate product so
>> you
>> can figure out the VXISI setting. But we'd expect that to be an unlikely
>> path.
>
> Interesting thought. I think I see a way to re-arrange the code. Thanks,
> Richard.
Actually, you don't even have to compute the intermediate product.
The only way you can have VXISI for a*b+c is for
isinf(c) && (isinf(a) || isinf(b))
since the intermediate product a*b is infinite precision, and thus cannot
overflow to inf unless one of the multiplicands is already inf.
r~
- [Qemu-ppc] [PATCH 11/19] Add VSX ISA2.06 xtdiv Instructions, (continued)
- [Qemu-ppc] [PATCH 11/19] Add VSX ISA2.06 xtdiv Instructions, Tom Musta, 2013/10/24
- [Qemu-ppc] [PATCH 12/19] Add VSX ISA2.06 xtsqrt Instructions, Tom Musta, 2013/10/24
- [Qemu-ppc] [PATCH 13/19] Add VSX ISA2.06 Multiply Add Instructions, Tom Musta, 2013/10/24
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 13/19] Add VSX ISA2.06 Multiply Add Instructions, Peter Maydell, 2013/10/25
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 13/19] Add VSX ISA2.06 Multiply Add Instructions, Richard Henderson, 2013/10/25
[Qemu-ppc] [PATCH 14/19] Add VSX xscmp*dp Instructions, Tom Musta, 2013/10/24
[Qemu-ppc] [PATCH 15/19] Add VSX xmax/xmin Instructions, Tom Musta, 2013/10/24
Re: [Qemu-ppc] [Qemu-devel] [PATCH 15/19] Add VSX xmax/xmin Instructions, Peter Maydell, 2013/10/24