From ea00b499c703bbdbf4c87573cf2fe5b46a0bf1c2 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 23 Mar 2016 23:51:45 +0000 Subject: APFloat: Fix signalling nans for scalbn llvm-svn: 264219 --- llvm/lib/Support/APFloat.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib') diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index ada392c519b..a8e14d6c08b 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -3984,6 +3984,8 @@ APFloat llvm::scalbn(APFloat X, int Exp, APFloat::roundingMode RoundingMode) { // Clamp to one past the range ends to let normalize handle overlflow. X.exponent += std::min(std::max(Exp, -MaxIncrement - 1), MaxIncrement); X.normalize(RoundingMode, lfExactlyZero); + if (X.isNaN()) + X.makeQuiet(); return X; } -- cgit v1.2.3