diff options
Diffstat (limited to 'llvm/unittests/IR/IRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/IR/IRBuilderTest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/unittests/IR/IRBuilderTest.cpp b/llvm/unittests/IR/IRBuilderTest.cpp index 538c2a0dd93..8fb5337a291 100644 --- a/llvm/unittests/IR/IRBuilderTest.cpp +++ b/llvm/unittests/IR/IRBuilderTest.cpp @@ -171,6 +171,7 @@ TEST_F(IRBuilderTest, ConstrainedFP) { IRBuilder<> Builder(BB); Value *V; Value *VDouble; + Value *VInt; CallInst *Call; IntrinsicInst *II; GlobalVariable *GVDouble = new GlobalVariable(*M, Type::getDoubleTy(Ctx), @@ -208,6 +209,16 @@ TEST_F(IRBuilderTest, ConstrainedFP) { II = cast<IntrinsicInst>(V); EXPECT_EQ(II->getIntrinsicID(), Intrinsic::experimental_constrained_frem); + VInt = Builder.CreateFPToUI(VDouble, Builder.getInt32Ty()); + ASSERT_TRUE(isa<IntrinsicInst>(VInt)); + II = cast<IntrinsicInst>(VInt); + EXPECT_EQ(II->getIntrinsicID(), Intrinsic::experimental_constrained_fptoui); + + VInt = Builder.CreateFPToSI(VDouble, Builder.getInt32Ty()); + ASSERT_TRUE(isa<IntrinsicInst>(VInt)); + II = cast<IntrinsicInst>(VInt); + EXPECT_EQ(II->getIntrinsicID(), Intrinsic::experimental_constrained_fptosi); + V = Builder.CreateFPTrunc(VDouble, Type::getFloatTy(Ctx)); ASSERT_TRUE(isa<IntrinsicInst>(V)); II = cast<IntrinsicInst>(V); |