From 0ae29a6b37204d95761a859d647f3e13a415c2d2 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 7 Feb 2012 16:27:39 +0000 Subject: [PATCH] Add a unittest for rotating a really big APInt. Clang miscompiles it under certain circumstances, and it's a good exercise for APInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149986 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/ADT/APIntTest.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/unittests/ADT/APIntTest.cpp b/unittests/ADT/APIntTest.cpp index d5d2bc175fa..89b8aa94e46 100644 --- a/unittests/ADT/APIntTest.cpp +++ b/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)); } }