diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-02-07 16:27:39 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-02-07 16:27:39 +0000 |
| commit | 47ddf604b922f2388f61e426c56d46eb57c6a387 (patch) | |
| tree | f83a20d1abb8858f4ec883607ab0168c46c11d36 /llvm/unittests/ADT/APIntTest.cpp | |
| parent | b97a5addd54ed00345e940526dd1e32c75753e02 (diff) | |
| download | llvm-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.cpp | 4 |
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)); } } |
