diff options
Diffstat (limited to 'llvm/unittests/Support')
-rw-r--r-- | llvm/unittests/Support/KnownBitsTest.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/unittests/Support/KnownBitsTest.cpp b/llvm/unittests/Support/KnownBitsTest.cpp index 43e5981..60e61b5 100644 --- a/llvm/unittests/Support/KnownBitsTest.cpp +++ b/llvm/unittests/Support/KnownBitsTest.cpp @@ -114,6 +114,7 @@ TEST(KnownBitsTest, BinaryExhaustive) { KnownBits KnownSMin(KnownAnd); KnownBits KnownMul(KnownAnd); KnownBits KnownUDiv(KnownAnd); + KnownBits KnownURem(KnownAnd); KnownBits KnownShl(KnownAnd); KnownBits KnownLShr(KnownAnd); KnownBits KnownAShr(KnownAnd); @@ -158,6 +159,10 @@ TEST(KnownBitsTest, BinaryExhaustive) { Res = N1.udiv(N2); KnownUDiv.One &= Res; KnownUDiv.Zero &= ~Res; + + Res = N1.urem(N2); + KnownURem.One &= Res; + KnownURem.Zero &= ~Res; } if (N2.ult(1ULL << N1.getBitWidth())) { @@ -218,6 +223,10 @@ TEST(KnownBitsTest, BinaryExhaustive) { EXPECT_TRUE(ComputedUDiv.Zero.isSubsetOf(KnownUDiv.Zero)); EXPECT_TRUE(ComputedUDiv.One.isSubsetOf(KnownUDiv.One)); + KnownBits ComputedURem = KnownBits::urem(Known1, Known2); + EXPECT_TRUE(ComputedURem.Zero.isSubsetOf(KnownURem.Zero)); + EXPECT_TRUE(ComputedURem.One.isSubsetOf(KnownURem.One)); + KnownBits ComputedShl = KnownBits::shl(Known1, Known2); EXPECT_TRUE(ComputedShl.Zero.isSubsetOf(KnownShl.Zero)); EXPECT_TRUE(ComputedShl.One.isSubsetOf(KnownShl.One)); |