diff options
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
| -rw-r--r-- | llvm/unittests/ADT/APIntTest.cpp | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp index fe7a231..59a8f4c 100644 --- a/llvm/unittests/ADT/APIntTest.cpp +++ b/llvm/unittests/ADT/APIntTest.cpp @@ -1874,6 +1874,10 @@ TEST(APIntTest, insertBits) {    i63.insertBits(iSrc, 4);    EXPECT_EQ(static_cast<int64_t>(0x012345600123456Full), i63.getSExtValue()); +  // Zero width insert is a noop. +  i31.insertBits(APInt::getZeroWidth(), 1); +  EXPECT_EQ(static_cast<int64_t>(0x00123456ull), i31.getSExtValue()); +    // Insert single word src into one word of dst.    APInt i120(120, UINT64_MAX, true);    i120.insertBits(iSrc, 8); @@ -2587,7 +2591,7 @@ TEST(APIntTest, truncOrSelf) {    EXPECT_EQ(0xFFFFFFFF, val.truncOrSelf(64));  } -TEST(APIntTest, concatMSB) { +TEST(APIntTest, concat) {    APInt Int1(4, 0x1ULL);    APInt Int3(4, 0x3ULL); @@ -2597,6 +2601,11 @@ TEST(APIntTest, concatMSB) {    APInt I64(64, 0x3ULL);    EXPECT_EQ(I64, I64.concat(I64).lshr(64).trunc(64)); + +  APInt I65(65, 0x3ULL); +  APInt I0 = APInt::getZeroWidth(); +  EXPECT_EQ(I65, I65.concat(I0)); +  EXPECT_EQ(I65, I0.concat(I65));  }  TEST(APIntTest, multiply) { | 
