diff options
Diffstat (limited to 'llvm/lib/Analysis/VectorUtils.cpp')
-rw-r--r-- | llvm/lib/Analysis/VectorUtils.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index aa5bb7a610c..4a6cdf973e2 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -223,7 +223,9 @@ Intrinsic::ID llvm::getIntrinsicIDForCall(CallInst *CI, case LibFunc::sqrt: case LibFunc::sqrtf: case LibFunc::sqrtl: - return checkUnaryFloatSignature(*CI, Intrinsic::sqrt); + if (CI->hasNoNaNs()) + return checkUnaryFloatSignature(*CI, Intrinsic::sqrt); + return Intrinsic::not_intrinsic; } return Intrinsic::not_intrinsic; |