diff options
| author | Chris Lattner <clattner@nondot.org> | 2021-09-10 11:31:26 -0700 | 
|---|---|---|
| committer | Chris Lattner <clattner@nondot.org> | 2021-09-13 22:02:54 -0700 | 
| commit | 8b4afc5aef148aff26047ca7bad4cdcf58c35e25 (patch) | |
| tree | b00e9e61cf55968c445821361b6ee0e610bf2d2e /llvm/unittests/ADT/APIntTest.cpp | |
| parent | 946e69d253f23d62ed56f8f969414bb07a655e4e (diff) | |
| download | llvm-8b4afc5aef148aff26047ca7bad4cdcf58c35e25.zip llvm-8b4afc5aef148aff26047ca7bad4cdcf58c35e25.tar.gz llvm-8b4afc5aef148aff26047ca7bad4cdcf58c35e25.tar.bz2 | |
[APInt] Add a concat method, use LLVM_UNLIKELY to help optimizer.
Three unrelated changes:
1) Add a concat method as a convenience to help write bitvector
   use cases in a nicer way.
2) Use LLVM_UNLIKELY as suggested by @xbolva00 in a previous patch.
3) Fix casing of some "slow" methods to follow naming standards.
Differential Revision: https://reviews.llvm.org/D109620
Diffstat (limited to 'llvm/unittests/ADT/APIntTest.cpp')
| -rw-r--r-- | llvm/unittests/ADT/APIntTest.cpp | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/llvm/unittests/ADT/APIntTest.cpp b/llvm/unittests/ADT/APIntTest.cpp index 6da9d2d..fe7a231 100644 --- a/llvm/unittests/ADT/APIntTest.cpp +++ b/llvm/unittests/ADT/APIntTest.cpp @@ -2587,6 +2587,18 @@ TEST(APIntTest, truncOrSelf) {    EXPECT_EQ(0xFFFFFFFF, val.truncOrSelf(64));  } +TEST(APIntTest, concatMSB) { +  APInt Int1(4, 0x1ULL); +  APInt Int3(4, 0x3ULL); + +  EXPECT_EQ(0x31, Int3.concat(Int1)); +  EXPECT_EQ(APInt(12, 0x313), Int3.concat(Int1).concat(Int3)); +  EXPECT_EQ(APInt(16, 0x3313), Int3.concat(Int3).concat(Int1).concat(Int3)); + +  APInt I64(64, 0x3ULL); +  EXPECT_EQ(I64, I64.concat(I64).lshr(64).trunc(64)); +} +  TEST(APIntTest, multiply) {    APInt i64(64, 1234); | 
