Re: [PATCH v2 2/2] target-arm: A64: Implement remaining 3-same instructions

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

 



On 11 February 2014 15:40, Richard Henderson <rth@xxxxxxxxxxx> wrote:
> On 02/11/2014 05:51 AM, Peter Maydell wrote:
>> @@ -2376,7 +2376,7 @@ float32 float32_muladd(float32 a, float32 b, float32 c, int flags STATUS_PARAM)
>>              if (cExp == 0) {
>>                  normalizeFloat32Subnormal(cSig, &cExp, &cSig);
>>              }
>> -            cExp--;
>> +            cExp -= 2;
>>              cSig = (cSig | 0x00800000) << 7;
>>              return roundAndPackFloat32(cSign ^ signflip, cExp, cSig STATUS_VAR);
>>          }
>> @@ -4107,7 +4107,7 @@ float64 float64_muladd(float64 a, float64 b, float64 c, int flags STATUS_PARAM)
>>              if (cExp == 0) {
>>                  normalizeFloat64Subnormal(cSig, &cExp, &cSig);
>>              }
>> -            cExp--;
>> +            cExp -= 2;
>>              cSig = (cSig | 0x0010000000000000ULL) << 10;
>>              return roundAndPackFloat64(cSign ^ signflip, cExp, cSig STATUS_VAR);
>>          }
>
> This should obviously be folded into the previous patch.
>
> Probably with a comment reminding about roundAndPackFloat wanting an off-by-one
> exponent.
>
> Otherwise both get
>
> Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>

Doh; thanks for the catch. Yeah, I was halfway to putting
in a comment about why we were subtracting two, should have
followed my first instinct.

Will make trivial fixups and put into target-arm.next.

(comment text: /* Subtract one to halve and one again because
roundAndPackFloat wants one less than the true exponent. */)

thanks
-- PMM
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux