aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/APIntTest.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-02-07 16:27:39 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-02-07 16:27:39 +0000
commit47ddf604b922f2388f61e426c56d46eb57c6a387 (patch)
treef83a20d1abb8858f4ec883607ab0168c46c11d36 /llvm/unittests/ADT/APIntTest.cpp
parentb97a5addd54ed00345e940526dd1e32c75753e02 (diff)
downloadllvm-47ddf604b922f2388f61e426c56d46eb57c6a387.zip
llvm-47ddf604b922f2388f61e426c56d46eb57c6a387.tar.gz
llvm-47ddf604b922f2388f61e426c56d46eb57c6a387.tar.bz2
Add a unittest for rotating a really big APInt.
Clang miscompiles it under certain circumstances, and it's a good exercise for APInt. llvm-svn: 149986
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
-rw-r--r--llvm/unittests/ADT/APIntTest.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp
index d5d2bc1..89b8aa9 100644
--- a/llvm/unittests/ADT/APIntTest.cpp
+++ b/llvm/unittests/ADT/APIntTest.cpp
@@ -480,6 +480,10 @@ TEST(APIntTest, Rotate) {
EXPECT_EQ(APInt(8, 64), APInt(8, 1).rotr(2));
EXPECT_EQ(APInt(8, 16), APInt(8, 1).rotr(4));
EXPECT_EQ(APInt(8, 1), APInt(8, 1).rotr(8));
+
+ APInt Big(256, "00004000800000000000000000003fff8000000000000000", 16);
+ APInt Rot(256, "3fff80000000000000000000000000000000000040008000", 16);
+ EXPECT_EQ(Rot, Big.rotr(144));
}
}