diff options
| author | Nikita Popov <npopov@redhat.com> | 2024-09-20 12:10:56 +0200 | 
|---|---|---|
| committer | Nikita Popov <npopov@redhat.com> | 2024-09-20 12:13:33 +0200 | 
| commit | 37e5319a12ba47c18049728804d3d1e1b10c4eb4 (patch) | |
| tree | 15d28d86c2c7c57ccf8d4844c2ce813a97961d38 /llvm/unittests/ADT/APIntTest.cpp | |
| parent | 801046e3303eed43bffebb84e9e505cc19cad5c0 (diff) | |
| download | llvm-37e5319a12ba47c18049728804d3d1e1b10c4eb4.zip llvm-37e5319a12ba47c18049728804d3d1e1b10c4eb4.tar.gz llvm-37e5319a12ba47c18049728804d3d1e1b10c4eb4.tar.bz2 | |
[UnitTests] Fix APInt signed flags (NFC)
This makes unit tests compatible with the assertion added in
https://github.com/llvm/llvm-project/pull/106524, by setting the
isSigned flag to the correct value or changing how the value is
constructed.
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
| -rw-r--r-- | llvm/unittests/ADT/APIntTest.cpp | 180 | 
1 files changed, 91 insertions, 89 deletions
| diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp index fff29d2..7a9ac55 100644 --- a/llvm/unittests/ADT/APIntTest.cpp +++ b/llvm/unittests/ADT/APIntTest.cpp @@ -1111,11 +1111,11 @@ TEST(APIntTest, fromString) {    EXPECT_EQ(APInt(32, 3), APInt(32,  "+11", 2));    EXPECT_EQ(APInt(32, 4), APInt(32, "+100", 2)); -  EXPECT_EQ(APInt(32, uint64_t(-0LL)), APInt(32,   "-0", 2)); -  EXPECT_EQ(APInt(32, uint64_t(-1LL)), APInt(32,   "-1", 2)); -  EXPECT_EQ(APInt(32, uint64_t(-2LL)), APInt(32,  "-10", 2)); -  EXPECT_EQ(APInt(32, uint64_t(-3LL)), APInt(32,  "-11", 2)); -  EXPECT_EQ(APInt(32, uint64_t(-4LL)), APInt(32, "-100", 2)); +  EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 2)); +  EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 2)); +  EXPECT_EQ(APInt(32, uint32_t(-2LL)), APInt(32, "-10", 2)); +  EXPECT_EQ(APInt(32, uint32_t(-3LL)), APInt(32, "-11", 2)); +  EXPECT_EQ(APInt(32, uint32_t(-4LL)), APInt(32, "-100", 2));    EXPECT_EQ(APInt(32,  0), APInt(32,  "0",  8));    EXPECT_EQ(APInt(32,  1), APInt(32,  "1",  8)); @@ -1131,12 +1131,12 @@ TEST(APIntTest, fromString) {    EXPECT_EQ(APInt(32, +15), APInt(32,  "+17", 8));    EXPECT_EQ(APInt(32, +16), APInt(32,  "+20", 8)); -  EXPECT_EQ(APInt(32,  uint64_t(-0LL)), APInt(32,  "-0",  8)); -  EXPECT_EQ(APInt(32,  uint64_t(-1LL)), APInt(32,  "-1",  8)); -  EXPECT_EQ(APInt(32,  uint64_t(-7LL)), APInt(32,  "-7",  8)); -  EXPECT_EQ(APInt(32,  uint64_t(-8LL)), APInt(32,  "-10", 8)); -  EXPECT_EQ(APInt(32, uint64_t(-15LL)), APInt(32,  "-17", 8)); -  EXPECT_EQ(APInt(32, uint64_t(-16LL)), APInt(32,  "-20", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-7LL)), APInt(32, "-7", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-8LL)), APInt(32, "-10", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-15LL)), APInt(32, "-17", 8)); +  EXPECT_EQ(APInt(32, uint32_t(-16LL)), APInt(32, "-20", 8));    EXPECT_EQ(APInt(32,  0), APInt(32,  "0", 10));    EXPECT_EQ(APInt(32,  1), APInt(32,  "1", 10)); @@ -1145,12 +1145,12 @@ TEST(APIntTest, fromString) {    EXPECT_EQ(APInt(32, 19), APInt(32, "19", 10));    EXPECT_EQ(APInt(32, 20), APInt(32, "20", 10)); -  EXPECT_EQ(APInt(32,  uint64_t(-0LL)), APInt(32,  "-0", 10)); -  EXPECT_EQ(APInt(32,  uint64_t(-1LL)), APInt(32,  "-1", 10)); -  EXPECT_EQ(APInt(32,  uint64_t(-9LL)), APInt(32,  "-9", 10)); -  EXPECT_EQ(APInt(32, uint64_t(-10LL)), APInt(32, "-10", 10)); -  EXPECT_EQ(APInt(32, uint64_t(-19LL)), APInt(32, "-19", 10)); -  EXPECT_EQ(APInt(32, uint64_t(-20LL)), APInt(32, "-20", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-9LL)), APInt(32, "-9", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-10LL)), APInt(32, "-10", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-19LL)), APInt(32, "-19", 10)); +  EXPECT_EQ(APInt(32, uint32_t(-20LL)), APInt(32, "-20", 10));    EXPECT_EQ(APInt(32,  0), APInt(32,  "0", 16));    EXPECT_EQ(APInt(32,  1), APInt(32,  "1", 16)); @@ -1159,12 +1159,12 @@ TEST(APIntTest, fromString) {    EXPECT_EQ(APInt(32, 31), APInt(32, "1F", 16));    EXPECT_EQ(APInt(32, 32), APInt(32, "20", 16)); -  EXPECT_EQ(APInt(32,  uint64_t(-0LL)), APInt(32,  "-0", 16)); -  EXPECT_EQ(APInt(32,  uint64_t(-1LL)), APInt(32,  "-1", 16)); -  EXPECT_EQ(APInt(32, uint64_t(-15LL)), APInt(32,  "-F", 16)); -  EXPECT_EQ(APInt(32, uint64_t(-16LL)), APInt(32, "-10", 16)); -  EXPECT_EQ(APInt(32, uint64_t(-31LL)), APInt(32, "-1F", 16)); -  EXPECT_EQ(APInt(32, uint64_t(-32LL)), APInt(32, "-20", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-15LL)), APInt(32, "-F", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-16LL)), APInt(32, "-10", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-31LL)), APInt(32, "-1F", 16)); +  EXPECT_EQ(APInt(32, uint32_t(-32LL)), APInt(32, "-20", 16));    EXPECT_EQ(APInt(32,  0), APInt(32,  "0", 36));    EXPECT_EQ(APInt(32,  1), APInt(32,  "1", 36)); @@ -1173,12 +1173,12 @@ TEST(APIntTest, fromString) {    EXPECT_EQ(APInt(32, 71), APInt(32, "1Z", 36));    EXPECT_EQ(APInt(32, 72), APInt(32, "20", 36)); -  EXPECT_EQ(APInt(32,  uint64_t(-0LL)), APInt(32,  "-0", 36)); -  EXPECT_EQ(APInt(32,  uint64_t(-1LL)), APInt(32,  "-1", 36)); -  EXPECT_EQ(APInt(32, uint64_t(-35LL)), APInt(32,  "-Z", 36)); -  EXPECT_EQ(APInt(32, uint64_t(-36LL)), APInt(32, "-10", 36)); -  EXPECT_EQ(APInt(32, uint64_t(-71LL)), APInt(32, "-1Z", 36)); -  EXPECT_EQ(APInt(32, uint64_t(-72LL)), APInt(32, "-20", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-0LL)), APInt(32, "-0", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-1LL)), APInt(32, "-1", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-35LL)), APInt(32, "-Z", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-36LL)), APInt(32, "-10", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-71LL)), APInt(32, "-1Z", 36)); +  EXPECT_EQ(APInt(32, uint32_t(-72LL)), APInt(32, "-20", 36));  }  TEST(APIntTest, SaturatingMath) { @@ -1202,10 +1202,10 @@ TEST(APIntTest, SaturatingMath) {    EXPECT_EQ(APInt(6, 31), AP_42.truncSSat(6));    EXPECT_EQ(APInt(5, 15), AP_42.truncSSat(5)); -  EXPECT_EQ(APInt(8, -56), AP_200.truncSSat(8)); -  EXPECT_EQ(APInt(7, -56), AP_200.truncSSat(7)); -  EXPECT_EQ(APInt(6, -32), AP_200.truncSSat(6)); -  EXPECT_EQ(APInt(5, -16), AP_200.truncSSat(5)); +  EXPECT_EQ(APInt(8, -56, true), AP_200.truncSSat(8)); +  EXPECT_EQ(APInt(7, -56, true), AP_200.truncSSat(7)); +  EXPECT_EQ(APInt(6, -32, true), AP_200.truncSSat(6)); +  EXPECT_EQ(APInt(5, -16, true), AP_200.truncSSat(5));    EXPECT_EQ(APInt(8, 200), AP_100.uadd_sat(AP_100));    EXPECT_EQ(APInt(8, 255), AP_100.uadd_sat(AP_200)); @@ -1213,52 +1213,53 @@ TEST(APIntTest, SaturatingMath) {    EXPECT_EQ(APInt(8, 110), AP_10.sadd_sat(AP_100));    EXPECT_EQ(APInt(8, 127), AP_100.sadd_sat(AP_100)); -  EXPECT_EQ(APInt(8, -128), (-AP_100).sadd_sat(-AP_100)); -  EXPECT_EQ(APInt(8, -128), APInt(8, -128).sadd_sat(APInt(8, -128))); +  EXPECT_EQ(APInt(8, -128, true), (-AP_100).sadd_sat(-AP_100)); +  EXPECT_EQ(APInt(8, -128, true), +            APInt(8, -128, true).sadd_sat(APInt(8, -128, true)));    EXPECT_EQ(APInt(8, 90), AP_100.usub_sat(AP_10));    EXPECT_EQ(APInt(8, 0), AP_100.usub_sat(AP_200));    EXPECT_EQ(APInt(8, 0), APInt(8, 0).usub_sat(APInt(8, 255))); -  EXPECT_EQ(APInt(8, -90), AP_10.ssub_sat(AP_100)); +  EXPECT_EQ(APInt(8, -90, true), AP_10.ssub_sat(AP_100));    EXPECT_EQ(APInt(8, 127), AP_100.ssub_sat(-AP_100)); -  EXPECT_EQ(APInt(8, -128), (-AP_100).ssub_sat(AP_100)); -  EXPECT_EQ(APInt(8, -128), APInt(8, -128).ssub_sat(APInt(8, 127))); +  EXPECT_EQ(APInt(8, -128, true), (-AP_100).ssub_sat(AP_100)); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -128, true).ssub_sat(APInt(8, 127)));    EXPECT_EQ(APInt(8, 250), APInt(8, 50).umul_sat(APInt(8, 5)));    EXPECT_EQ(APInt(8, 255), APInt(8, 50).umul_sat(APInt(8, 6))); -  EXPECT_EQ(APInt(8, 255), APInt(8, -128).umul_sat(APInt(8, 3))); -  EXPECT_EQ(APInt(8, 255), APInt(8, 3).umul_sat(APInt(8, -128))); -  EXPECT_EQ(APInt(8, 255), APInt(8, -128).umul_sat(APInt(8, -128))); +  EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).umul_sat(APInt(8, 3))); +  EXPECT_EQ(APInt(8, 255), APInt(8, 3).umul_sat(APInt(8, -128, true))); +  EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).umul_sat(APInt(8, -128, true)));    EXPECT_EQ(APInt(8, 125), APInt(8, 25).smul_sat(APInt(8, 5)));    EXPECT_EQ(APInt(8, 127), APInt(8, 25).smul_sat(APInt(8, 6)));    EXPECT_EQ(APInt(8, 127), APInt(8, 127).smul_sat(APInt(8, 127))); -  EXPECT_EQ(APInt(8, -125), APInt(8, -25).smul_sat(APInt(8, 5))); -  EXPECT_EQ(APInt(8, -125), APInt(8, 25).smul_sat(APInt(8, -5))); -  EXPECT_EQ(APInt(8, 125), APInt(8, -25).smul_sat(APInt(8, -5))); +  EXPECT_EQ(APInt(8, -125, true), APInt(8, -25, true).smul_sat(APInt(8, 5))); +  EXPECT_EQ(APInt(8, -125, true), APInt(8, 25).smul_sat(APInt(8, -5, true))); +  EXPECT_EQ(APInt(8, 125), APInt(8, -25, true).smul_sat(APInt(8, -5, true)));    EXPECT_EQ(APInt(8, 125), APInt(8, 25).smul_sat(APInt(8, 5))); -  EXPECT_EQ(APInt(8, -128), APInt(8, -25).smul_sat(APInt(8, 6))); -  EXPECT_EQ(APInt(8, -128), APInt(8, 25).smul_sat(APInt(8, -6))); -  EXPECT_EQ(APInt(8, 127), APInt(8, -25).smul_sat(APInt(8, -6))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -25, true).smul_sat(APInt(8, 6))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, 25).smul_sat(APInt(8, -6, true))); +  EXPECT_EQ(APInt(8, 127), APInt(8, -25, true).smul_sat(APInt(8, -6, true)));    EXPECT_EQ(APInt(8, 127), APInt(8, 25).smul_sat(APInt(8, 6)));    EXPECT_EQ(APInt(8, 128), APInt(8, 4).ushl_sat(APInt(8, 5)));    EXPECT_EQ(APInt(8, 255), APInt(8, 4).ushl_sat(APInt(8, 6)));    EXPECT_EQ(APInt(8, 128), APInt(8, 1).ushl_sat(APInt(8, 7)));    EXPECT_EQ(APInt(8, 255), APInt(8, 1).ushl_sat(APInt(8, 8))); -  EXPECT_EQ(APInt(8, 255), APInt(8, -128).ushl_sat(APInt(8, 2))); +  EXPECT_EQ(APInt(8, 255), APInt(8, -128, true).ushl_sat(APInt(8, 2)));    EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, 2))); -  EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, -2))); +  EXPECT_EQ(APInt(8, 255), APInt(8, 64).ushl_sat(APInt(8, -2, true)));    EXPECT_EQ(APInt(8, 64), APInt(8, 4).sshl_sat(APInt(8, 4)));    EXPECT_EQ(APInt(8, 127), APInt(8, 4).sshl_sat(APInt(8, 5)));    EXPECT_EQ(APInt(8, 127), APInt(8, 1).sshl_sat(APInt(8, 8))); -  EXPECT_EQ(APInt(8, -64), APInt(8, -4).sshl_sat(APInt(8, 4))); -  EXPECT_EQ(APInt(8, -128), APInt(8, -4).sshl_sat(APInt(8, 5))); -  EXPECT_EQ(APInt(8, -128), APInt(8, -4).sshl_sat(APInt(8, 6))); -  EXPECT_EQ(APInt(8, -128), APInt(8, -1).sshl_sat(APInt(8, 7))); -  EXPECT_EQ(APInt(8, -128), APInt(8, -1).sshl_sat(APInt(8, 8))); +  EXPECT_EQ(APInt(8, -64, true), APInt(8, -4, true).sshl_sat(APInt(8, 4))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -4, true).sshl_sat(APInt(8, 5))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -4, true).sshl_sat(APInt(8, 6))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -1, true).sshl_sat(APInt(8, 7))); +  EXPECT_EQ(APInt(8, -128, true), APInt(8, -1, true).sshl_sat(APInt(8, 8)));  }  TEST(APIntTest, FromArray) { @@ -1400,39 +1401,39 @@ TEST(APIntTest, toString) {    S.clear();    isSigned = false; -  APInt(8, 255, isSigned).toString(S, 2, isSigned, true); +  APInt(8, 255).toString(S, 2, isSigned, true);    EXPECT_EQ(std::string(S), "0b11111111");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 8, isSigned, true); +  APInt(8, 255).toString(S, 8, isSigned, true);    EXPECT_EQ(std::string(S), "0377");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 10, isSigned, true); +  APInt(8, 255).toString(S, 10, isSigned, true);    EXPECT_EQ(std::string(S), "255");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 16, isSigned, true, /*UpperCase=*/false); +  APInt(8, 255).toString(S, 16, isSigned, true, /*UpperCase=*/false);    EXPECT_EQ(std::string(S), "0xff");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 16, isSigned, true); +  APInt(8, 255).toString(S, 16, isSigned, true);    EXPECT_EQ(std::string(S), "0xFF");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 36, isSigned, false); +  APInt(8, 255).toString(S, 36, isSigned, false);    EXPECT_EQ(std::string(S), "73");    S.clear();    isSigned = true; -  APInt(8, 255, isSigned).toString(S, 2, isSigned, true); +  APInt(8, 255).toString(S, 2, isSigned, true);    EXPECT_EQ(std::string(S), "-0b1");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 8, isSigned, true); +  APInt(8, 255).toString(S, 8, isSigned, true);    EXPECT_EQ(std::string(S), "-01");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 10, isSigned, true); +  APInt(8, 255).toString(S, 10, isSigned, true);    EXPECT_EQ(std::string(S), "-1");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 16, isSigned, true); +  APInt(8, 255).toString(S, 16, isSigned, true);    EXPECT_EQ(std::string(S), "-0x1");    S.clear(); -  APInt(8, 255, isSigned).toString(S, 36, isSigned, false); +  APInt(8, 255).toString(S, 36, isSigned, false);    EXPECT_EQ(std::string(S), "-1");    S.clear(); @@ -1515,7 +1516,7 @@ TEST(APIntTest, Rotate) {    EXPECT_EQ(APInt(32, 2), APInt(32, 1).rotl(APInt(33, 33)));    EXPECT_EQ(APInt(32, (1 << 8)), APInt(32, 1).rotl(APInt(32, 40)));    EXPECT_EQ(APInt(32, (1 << 30)), APInt(32, 1).rotl(APInt(31, 30))); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotl(APInt(31, 31))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotl(APInt(31, 31)));    EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotl(APInt(1, 0)));    EXPECT_EQ(APInt(32, 2), APInt(32, 1).rotl(APInt(1, 1))); @@ -1542,24 +1543,24 @@ TEST(APIntTest, Rotate) {    EXPECT_EQ(APInt(8, 16),  APInt(8, 1).rotr(4));    EXPECT_EQ(APInt(8, 1),   APInt(8, 1).rotr(8)); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(33)); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(32, 33))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(33)); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(32, 33))); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(33)); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(32, 33))); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(33, 33))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(33)); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(32, 33))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(33, 33)));    EXPECT_EQ(APInt(32, (1 << 24)), APInt(32, 1).rotr(APInt(32, 40)));    EXPECT_EQ(APInt(32, (1 << 2)), APInt(32, 1).rotr(APInt(31, 30)));    EXPECT_EQ(APInt(32, (1 << 1)), APInt(32, 1).rotr(APInt(31, 31)));    EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotr(APInt(1, 0))); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(1, 1))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(1, 1)));    EXPECT_EQ(APInt(32, (1 << 28)), APInt(32, 1).rotr(APInt(3, 4)));    EXPECT_EQ(APInt(32, 1), APInt(32, 1).rotr(APInt(64, 64))); -  EXPECT_EQ(APInt(32, (1 << 31)), APInt(32, 1).rotr(APInt(64, 65))); +  EXPECT_EQ(APInt(32, (1u << 31)), APInt(32, 1).rotr(APInt(64, 65)));    EXPECT_EQ(APInt(7, 48), APInt(7, 3).rotr(APInt(7, 3)));    EXPECT_EQ(APInt(7, 48), APInt(7, 3).rotr(APInt(7, 10))); @@ -1581,7 +1582,7 @@ TEST(APIntTest, Splat) {    APInt ValB(3, 5);    EXPECT_EQ(APInt(4, 0xD), APInt::getSplat(4, ValB)); -  EXPECT_EQ(APInt(15, 0xDB6D), APInt::getSplat(15, ValB)); +  EXPECT_EQ(APInt(15, 0x5B6D), APInt::getSplat(15, ValB));  }  TEST(APIntTest, tcDecrement) { @@ -2858,7 +2859,7 @@ TEST(APIntTest, sext) {    EXPECT_EQ(31U, i32_min.countr_zero());    EXPECT_EQ(32U, i32_min.popcount()); -  APInt i32_neg1(APInt(32, ~uint64_t(0)).sext(63)); +  APInt i32_neg1(APInt(32, ~uint32_t(0)).sext(63));    EXPECT_EQ(i32_neg1, i32_neg1.sext(63));    EXPECT_EQ(63U, i32_neg1.countl_one());    EXPECT_EQ(0U, i32_neg1.countr_zero()); @@ -2991,7 +2992,7 @@ TEST(APIntTest, RoundingUDiv) {  TEST(APIntTest, RoundingSDiv) {    for (int64_t Ai = -128; Ai <= 127; Ai++) { -    APInt A(8, Ai); +    APInt A(8, Ai, true);      if (Ai != 0) {        APInt Zero(8, 0); @@ -3004,7 +3005,7 @@ TEST(APIntTest, RoundingSDiv) {        if (Bi == 0)          continue; -      APInt B(8, Bi); +      APInt B(8, Bi, true);        APInt QuoTowardZero = A.sdiv(B);        {          APInt Quo = APIntOps::RoundingSDiv(A, B, APInt::Rounding::UP); @@ -3063,10 +3064,10 @@ TEST(APIntTest, Average) {    APInt Ap100(32, +100);    APInt Ap101(32, +101);    APInt Ap200(32, +200); -  APInt Am1(32, -1); -  APInt Am100(32, -100); -  APInt Am101(32, -101); -  APInt Am200(32, -200); +  APInt Am1(32, -1, true); +  APInt Am100(32, -100, true); +  APInt Am101(32, -101, true); +  APInt Am200(32, -200, true);    APInt AmSMin = APInt::getSignedMinValue(32);    APInt ApSMax = APInt::getSignedMaxValue(32); @@ -3076,7 +3077,7 @@ TEST(APIntTest, Average) {    EXPECT_EQ(APIntOps::RoundingSDiv(Ap100 + Ap200, A2, APInt::Rounding::UP),              APIntOps::avgCeilS(Ap100, Ap200)); -  EXPECT_EQ(APInt(32, -150), APIntOps::avgFloorS(Am100, Am200)); +  EXPECT_EQ(APInt(32, -150, true), APIntOps::avgFloorS(Am100, Am200));    EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am200, A2, APInt::Rounding::DOWN),              APIntOps::avgFloorS(Am100, Am200));    EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am200, A2, APInt::Rounding::UP), @@ -3089,10 +3090,10 @@ TEST(APIntTest, Average) {    EXPECT_EQ(APIntOps::RoundingSDiv(Ap100 + Ap101, A2, APInt::Rounding::UP),              APIntOps::avgCeilS(Ap100, Ap101)); -  EXPECT_EQ(APInt(32, -101), APIntOps::avgFloorS(Am100, Am101)); +  EXPECT_EQ(APInt(32, -101, true), APIntOps::avgFloorS(Am100, Am101));    EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am101, A2, APInt::Rounding::DOWN),              APIntOps::avgFloorS(Am100, Am101)); -  EXPECT_EQ(APInt(32, -100), APIntOps::avgCeilS(Am100, Am101)); +  EXPECT_EQ(APInt(32, -100, true), APIntOps::avgCeilS(Am100, Am101));    EXPECT_EQ(APIntOps::RoundingSDiv(Am100 + Am101, A2, APInt::Rounding::UP),              APIntOps::avgCeilS(Am100, Am101)); @@ -3304,7 +3305,8 @@ TEST(APIntTest, SolveQuadraticEquationWrap) {        for (int B = Low; B != High; ++B) {          for (int C = Low; C != High; ++C) {            std::optional<APInt> S = APIntOps::SolveQuadraticEquationWrap( -              APInt(Width, A), APInt(Width, B), APInt(Width, C), Width); +              APInt(Width, A, true), APInt(Width, B, true), +              APInt(Width, C, true), Width);            if (S)              Validate(A, B, C, Width, S->getSExtValue());          } @@ -3399,10 +3401,10 @@ TEST(APIntTest, GetMostSignificantDifferentBitExaustive) {  }  TEST(APIntTest, SignbitZeroChecks) { -  EXPECT_TRUE(APInt(8, -1).isNegative()); -  EXPECT_FALSE(APInt(8, -1).isNonNegative()); -  EXPECT_FALSE(APInt(8, -1).isStrictlyPositive()); -  EXPECT_TRUE(APInt(8, -1).isNonPositive()); +  EXPECT_TRUE(APInt(8, -1, true).isNegative()); +  EXPECT_FALSE(APInt(8, -1, true).isNonNegative()); +  EXPECT_FALSE(APInt(8, -1, true).isStrictlyPositive()); +  EXPECT_TRUE(APInt(8, -1, true).isNonPositive());    EXPECT_FALSE(APInt(8, 0).isNegative());    EXPECT_TRUE(APInt(8, 0).isNonNegative()); | 
