From 88216af3ea4bb1c68a8793ed1d3b30308b64ab0e Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Sun, 30 Sep 2007 18:19:03 +0000 Subject: Constant fold int-to-long-double conversions; use APFloat for int-to-float/double; use round-to-nearest for these (implementation-defined, seems to match gcc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42484 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/ExecutionEngine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/ExecutionEngine/ExecutionEngine.cpp') diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index c72663e0d4..61be35097b 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -398,7 +398,7 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) { APFloat apf = APFloat(APInt(80, 2, zero)); (void)apf.convertFromInteger(GV.IntVal.getRawData(), GV.IntVal.getBitWidth(), false, - APFloat::rmTowardZero); + APFloat::rmNearestTiesToEven); GV.IntVal = apf.convertToAPInt(); } return GV; @@ -414,7 +414,7 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) { APFloat apf = APFloat(APInt(80, 2, zero)); (void)apf.convertFromInteger(GV.IntVal.getRawData(), GV.IntVal.getBitWidth(), true, - APFloat::rmTowardZero); + APFloat::rmNearestTiesToEven); GV.IntVal = apf.convertToAPInt(); } return GV; -- cgit v1.2.3-18-g5258