aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/APIntTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
-rw-r--r--llvm/unittests/ADT/APIntTest.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp
index e7632c0..0377e05 100644
--- a/llvm/unittests/ADT/APIntTest.cpp
+++ b/llvm/unittests/ADT/APIntTest.cpp
@@ -1793,6 +1793,16 @@ TEST(APIntTest, isShiftedMask) {
}
}
+TEST(APIntTest, isOneBitSet) {
+ EXPECT_FALSE(APInt(5, 0x00).isOneBitSet(0));
+ EXPECT_FALSE(APInt(5, 0x02).isOneBitSet(0));
+ EXPECT_FALSE(APInt(5, 0x03).isOneBitSet(0));
+ EXPECT_TRUE(APInt(5, 0x02).isOneBitSet(1));
+ EXPECT_TRUE(APInt(32, (unsigned)(0xffu << 31)).isOneBitSet(31));
+
+ EXPECT_TRUE(APInt::getOneBitSet(255, 13).isOneBitSet(13));
+}
+
TEST(APIntTest, isPowerOf2) {
EXPECT_FALSE(APInt(5, 0x00).isPowerOf2());
EXPECT_FALSE(APInt(32, 0x11).isPowerOf2());