Patch IEEEFloat::isSignificandAllZeros and IEEEFloat::isSignificandAllOnes (bug 34579)
authorCraig Topper <craig.topper@intel.com>
Wed, 30 Sep 2020 20:55:01 +0000 (13:55 -0700)
committerCraig Topper <craig.topper@intel.com>
Wed, 30 Sep 2020 23:07:15 +0000 (16:07 -0700)
commitb23916504a1a9f29c7519ed83813774eecce1789
treebc9370203c178cb91dc52efefb72b26cdd3ea42c
parent66d2e3f495948412602db4507359b4612639e523
Patch IEEEFloat::isSignificandAllZeros and IEEEFloat::isSignificandAllOnes (bug 34579)

Patch IEEEFloat::isSignificandAllZeros and IEEEFloat::isSignificandAllOnes to behave correctly in the case that the size of the significand is a multiple of the width of the integerParts making up the significand.

The patch to IEEEFloat::isSignificandAllOnes fixes bug 34579, and the patch to IEEE:Float:isSignificandAllZeros fixes the unit test "APFloatTest.x87Next" I added here. I have included both in this diff since the changes are very similar.

Patch by Andrew Briand
llvm/lib/Support/APFloat.cpp
llvm/unittests/ADT/APFloatTest.cpp