diff options
Diffstat (limited to 'lib/CodeGen/CGIntrinsic.cpp')
-rw-r--r-- | lib/CodeGen/CGIntrinsic.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/CGIntrinsic.cpp b/lib/CodeGen/CGIntrinsic.cpp index e0f833e25f..cbdb6c043a 100644 --- a/lib/CodeGen/CGIntrinsic.cpp +++ b/lib/CodeGen/CGIntrinsic.cpp @@ -136,10 +136,16 @@ llvm::Value *CodeGenFunction::EmitIntrinsicCallScalarTruncation(intrinsic::Funct case intrinsic::NINT: FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::rint, ValueType); break; + case intrinsic::CEILING: + FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::ceil, ValueType); + break; + case intrinsic::FLOOR: + FuncDecl = GetIntrinsicFunction(llvm::Intrinsic::floor, ValueType); + break; } auto Result = Builder.CreateCall(FuncDecl, Value); - if(Func == intrinsic::NINT) + if(ResultType->isIntegerType()) return EmitScalarToScalarConversion(Result, ResultType); return Result; } |