Skip to content

Commit 4875553

Browse files
committed
[AArch64][GlobalISel] Port unmerge KnownBits tests to print<gisel-value-tracking>. NFC
This takes the known-bits tests added in llvm#112172 and ports them over to be a new print<gisel-value-tracking> test.
1 parent bd94aab commit 4875553

File tree

2 files changed

+45
-45
lines changed

2 files changed

+45
-45
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_givaluetracking_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple aarch64 -passes="print<gisel-value-tracking>" %s -o - 2>&1 | FileCheck %s
3+
4+
---
5+
name: Scalar
6+
body: |
7+
bb.1:
8+
; CHECK-LABEL: name: @Scalar
9+
; CHECK-NEXT: %copy_x0:_ KnownBits:???????????????? SignBits:1
10+
; CHECK-NEXT: %maskf:_ KnownBits:0000000000001111 SignBits:12
11+
; CHECK-NEXT: %x0_x1:_ KnownBits:0000000000001111 SignBits:12
12+
; CHECK-NEXT: %and:_ KnownBits:000000000000???? SignBits:12
13+
; CHECK-NEXT: %x0_0:_ KnownBits:000000000000???? SignBits:12
14+
; CHECK-NEXT: %x0_1:_ KnownBits:000000000000???? SignBits:12
15+
; CHECK-NEXT: %result:_ KnownBits:000000000000???? SignBits:12
16+
%copy_x0:_(<2 x s16>) = COPY $w0
17+
%maskf:_(s16) = G_CONSTANT i16 15
18+
%x0_x1:_(<2 x s16>) = G_BUILD_VECTOR %maskf, %maskf
19+
%and:_(<2 x s16>) = G_AND %copy_x0, %x0_x1
20+
%x0_0:_(s16), %x0_1:_(s16) = G_UNMERGE_VALUES %and
21+
%result:_(s16) = COPY %x0_0
22+
...
23+
---
24+
name: Vector
25+
body: |
26+
bb.1:
27+
; CHECK-LABEL: name: @Vector
28+
; CHECK-NEXT: %copy_x0:_ KnownBits:???????? SignBits:1
29+
; CHECK-NEXT: %maskff:_ KnownBits:11111111 SignBits:8
30+
; CHECK-NEXT: %maskf:_ KnownBits:00001111 SignBits:4
31+
; CHECK-NEXT: %x0_x1:_ KnownBits:????1111 SignBits:4
32+
; CHECK-NEXT: %and:_ KnownBits:???????? SignBits:1
33+
; CHECK-NEXT: %x0_0:_ KnownBits:0000???? SignBits:4
34+
; CHECK-NEXT: %x0_1:_ KnownBits:???????? SignBits:1
35+
; CHECK-NEXT: %result1:_ KnownBits:0000???? SignBits:4
36+
; CHECK-NEXT: %result2:_ KnownBits:???????? SignBits:1
37+
%copy_x0:_(<4 x s8>) = COPY $w0
38+
%maskff:_(s8) = G_CONSTANT i8 255
39+
%maskf:_(s8) = G_CONSTANT i8 15
40+
%x0_x1:_(<4 x s8>) = G_BUILD_VECTOR %maskf, %maskf, %maskff, %maskff
41+
%and:_(<4 x s8>) = G_AND %copy_x0, %x0_x1
42+
%x0_0:_(<2 x s8>), %x0_1:_(<2 x s8>) = G_UNMERGE_VALUES %and
43+
%result1:_(<2 x s8>) = COPY %x0_0
44+
%result2:_(<2 x s8>) = COPY %x0_1
45+
...

llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,48 +1548,3 @@ TEST_F(AArch64GISelMITest, TestNumSignBitsUAddoOverflow) {
15481548
// Assert sign-extension from vector boolean
15491549
EXPECT_EQ(32u, Info.computeNumSignBits(CopyOverflow));
15501550
}
1551-
1552-
TEST_F(AArch64GISelMITest, TestKnwonBitsUnmergeVectorScalar) {
1553-
StringRef MIRString = R"(
1554-
%copy_x0:_(<2 x s16>) = COPY $w0
1555-
%maskf:_(s16) = G_CONSTANT i16 15
1556-
%x0_x1:_(<2 x s16>) = G_BUILD_VECTOR %maskf, %maskf
1557-
%and:_(<2 x s16>) = G_AND %copy_x0, %x0_x1
1558-
%x0_0:_(s16), %x0_1:_(s16) = G_UNMERGE_VALUES %and
1559-
%result:_(s16) = COPY %x0_0
1560-
)";
1561-
1562-
setUp(MIRString);
1563-
if (!TM)
1564-
GTEST_SKIP();
1565-
1566-
Register CopyOverflow = Copies[Copies.size() - 1];
1567-
1568-
GISelValueTracking Info(*MF);
1569-
1570-
EXPECT_EQ(0xFFF0u, Info.getKnownBits(CopyOverflow).Zero.getZExtValue());
1571-
}
1572-
1573-
TEST_F(AArch64GISelMITest, TestKnwonBitsUnmergeVectorVector) {
1574-
StringRef MIRString = R"(
1575-
%copy_x0:_(<4 x s8>) = COPY $w0
1576-
%maskff:_(s8) = G_CONSTANT i8 255
1577-
%maskf:_(s8) = G_CONSTANT i8 15
1578-
%x0_x1:_(<4 x s8>) = G_BUILD_VECTOR %maskf, %maskf, %maskff, %maskff
1579-
%and:_(<4 x s8>) = G_AND %copy_x0, %x0_x1
1580-
%x0_0:_(<2 x s8>), %x0_1:_(<2 x s8>) = G_UNMERGE_VALUES %and
1581-
%result1:_(<2 x s8>) = COPY %x0_0
1582-
%result2:_(<2 x s8>) = COPY %x0_1
1583-
)";
1584-
1585-
setUp(MIRString);
1586-
if (!TM)
1587-
GTEST_SKIP();
1588-
1589-
GISelValueTracking Info(*MF);
1590-
1591-
Register CopyOverflow1 = Copies[Copies.size() - 2];
1592-
EXPECT_EQ(0xF0u, Info.getKnownBits(CopyOverflow1).Zero.getZExtValue());
1593-
Register CopyOverflow2 = Copies[Copies.size() - 1];
1594-
EXPECT_EQ(0x00u, Info.getKnownBits(CopyOverflow2).Zero.getZExtValue());
1595-
}

0 commit comments

Comments
 (0)