llvm-6502/unittests/ADT
Lang Hames 58c62e1dba [ADT] Fix PR20728 - Incorrect APFloat::fusedMultiplyAdd results for x86_fp80.
As detailed at http://llvm.org/PR20728, due to an internal overflow in
APFloat::multiplySignificand the APFloat::fusedMultiplyAdd method can return
incorrect results for x87DoubleExtended (x86_fp80) values. This commonly
manifests as incorrect constant folding of libm fmal calls on x86. E.g.

fmal(1.0L, 1.0L, 3.0L) == 0.0L      (should be 4.0L)

This patch fixes PR20728 by adding an extra bit to the significand for
intermediate results of APFloat::multiplySignificand, avoiding the overflow.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222374 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-19 19:15:41 +00:00
..
APFloatTest.cpp [ADT] Fix PR20728 - Incorrect APFloat::fusedMultiplyAdd results for x86_fp80. 2014-11-19 19:15:41 +00:00
APIntTest.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00
APSIntTest.cpp
ArrayRefTest.cpp Add some negative (and positive) static_assert checks for ArrayRef-of-pointer conversions introduced in r216709 2014-08-31 01:33:41 +00:00
BitVectorTest.cpp
CMakeLists.txt Ensure function_refs are copyable even from non-const references 2014-11-12 02:06:08 +00:00
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp Fix SmallDenseMap assignment operator. 2014-08-04 22:18:25 +00:00
DenseSetTest.cpp [ADT] Add a 'find_as' operation to DenseSet. 2014-10-19 19:36:33 +00:00
FoldingSet.cpp
FunctionRefTest.cpp Ensure function_refs are copyable even from non-const references 2014-11-12 02:06:08 +00:00
HashingTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
ilistTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
ImmutableMapTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
ImmutableSetTest.cpp
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp
Makefile
MakeUniqueTest.cpp
MapVectorTest.cpp Add MapVector::rbegin(), MapVector::rend() to completment MapVector::begin(), MapVector::end(). 2014-10-27 17:20:53 +00:00
OptionalTest.cpp Update test name to match changes made in r218783 2014-10-01 21:19:39 +00:00
PackedVectorTest.cpp
PointerIntPairTest.cpp
PointerUnionTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
SCCIteratorTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
SmallPtrSetTest.cpp
SmallStringTest.cpp
SmallVectorTest.cpp SmallVectorTest: Make the deleted member functions private to help MSVC users. 2014-06-11 17:50:14 +00:00
SparseBitVectorTest.cpp
SparseMultiSetTest.cpp
SparseSetTest.cpp
StringMapTest.cpp Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
StringRefTest.cpp Retire llvm::array_endof in favor of non-member std::end. 2014-04-12 16:15:53 +00:00
TinyPtrVectorTest.cpp
TripleTest.cpp Add hsail and amdil64 to Triple 2014-09-19 19:52:11 +00:00
TwineTest.cpp
VariadicFunctionTest.cpp