Skip to content

Commit c0a1825

Browse files
committed
[BPF] remove_truncate_9.ll - regenerate test checks
1 parent a9c6f1e commit c0a1825

File tree

1 file changed

+124
-5
lines changed

1 file changed

+124
-5
lines changed

llvm/test/CodeGen/BPF/remove_truncate_9.ll

Lines changed: 124 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
; RUN: llc -mcpu=v2 -mtriple=bpf < %s | FileCheck %s
2-
; RUN: llc -mcpu=v4 -mtriple=bpf < %s | FileCheck %s
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc -mcpu=v2 -mtriple=bpf < %s | FileCheck %s --check-prefixes=CHECK-V2
3+
; RUN: llc -mcpu=v4 -mtriple=bpf < %s | FileCheck %s --check-prefixes=CHECK-V4
34

45
; Zero extension instructions should be eliminated at instruction
56
; selection phase for all test cases below.
@@ -9,10 +10,36 @@
910
; generated code (<<= remains because %c is used by both call and
1011
; lshr in a few test cases).
1112

12-
; CHECK-NOT: &=
13-
; CHECK-NOT: >>=
14-
1513
define void @shl_lshr_same_bb(ptr %p) {
14+
; CHECK-V2-LABEL: shl_lshr_same_bb:
15+
; CHECK-V2: # %bb.0: # %entry
16+
; CHECK-V2-NEXT: r1 = *(u8 *)(r1 + 0)
17+
; CHECK-V2-NEXT: r5 = 1
18+
; CHECK-V2-NEXT: if r1 == 0 goto LBB0_2
19+
; CHECK-V2-NEXT: # %bb.1: # %entry
20+
; CHECK-V2-NEXT: r5 = 0
21+
; CHECK-V2-NEXT: LBB0_2: # %entry
22+
; CHECK-V2-NEXT: r3 = r1
23+
; CHECK-V2-NEXT: r3 <<= 56
24+
; CHECK-V2-NEXT: r2 = r1
25+
; CHECK-V2-NEXT: r4 = r1
26+
; CHECK-V2-NEXT: call sink1
27+
; CHECK-V2-NEXT: exit
28+
;
29+
; CHECK-V4-LABEL: shl_lshr_same_bb:
30+
; CHECK-V4: # %bb.0: # %entry
31+
; CHECK-V4-NEXT: w1 = *(u8 *)(r1 + 0)
32+
; CHECK-V4-NEXT: w5 = 1
33+
; CHECK-V4-NEXT: if w1 == 0 goto LBB0_2
34+
; CHECK-V4-NEXT: # %bb.1: # %entry
35+
; CHECK-V4-NEXT: w5 = 0
36+
; CHECK-V4-NEXT: LBB0_2: # %entry
37+
; CHECK-V4-NEXT: r3 = r1
38+
; CHECK-V4-NEXT: r3 <<= 56
39+
; CHECK-V4-NEXT: r2 = r1
40+
; CHECK-V4-NEXT: r4 = r1
41+
; CHECK-V4-NEXT: call sink1
42+
; CHECK-V4-NEXT: exit
1643
entry:
1744
%a = load i8, ptr %p, align 1
1845
%b = zext i8 %a to i64
@@ -26,6 +53,35 @@ entry:
2653
}
2754

2855
define void @shl_lshr_diff_bb(ptr %p) {
56+
; CHECK-V2-LABEL: shl_lshr_diff_bb:
57+
; CHECK-V2: # %bb.0: # %entry
58+
; CHECK-V2-NEXT: r1 = *(u16 *)(r1 + 0)
59+
; CHECK-V2-NEXT: r5 = 1
60+
; CHECK-V2-NEXT: if r1 == 0 goto LBB1_2
61+
; CHECK-V2-NEXT: # %bb.1: # %entry
62+
; CHECK-V2-NEXT: r5 = 0
63+
; CHECK-V2-NEXT: LBB1_2: # %entry
64+
; CHECK-V2-NEXT: r3 = r1
65+
; CHECK-V2-NEXT: r3 <<= 48
66+
; CHECK-V2-NEXT: r2 = r1
67+
; CHECK-V2-NEXT: r4 = r1
68+
; CHECK-V2-NEXT: call sink2
69+
; CHECK-V2-NEXT: exit
70+
;
71+
; CHECK-V4-LABEL: shl_lshr_diff_bb:
72+
; CHECK-V4: # %bb.0: # %entry
73+
; CHECK-V4-NEXT: w1 = *(u16 *)(r1 + 0)
74+
; CHECK-V4-NEXT: w5 = 1
75+
; CHECK-V4-NEXT: if w1 == 0 goto LBB1_2
76+
; CHECK-V4-NEXT: # %bb.1: # %entry
77+
; CHECK-V4-NEXT: w5 = 0
78+
; CHECK-V4-NEXT: LBB1_2: # %entry
79+
; CHECK-V4-NEXT: r3 = r1
80+
; CHECK-V4-NEXT: r3 <<= 48
81+
; CHECK-V4-NEXT: r2 = r1
82+
; CHECK-V4-NEXT: r4 = r1
83+
; CHECK-V4-NEXT: call sink2
84+
; CHECK-V4-NEXT: exit
2985
entry:
3086
%a = load i16, ptr %p, align 2
3187
%b = zext i16 %a to i64
@@ -45,6 +101,27 @@ next:
45101
}
46102

47103
define void @load_zext_same_bb(ptr %p) {
104+
; CHECK-V2-LABEL: load_zext_same_bb:
105+
; CHECK-V2: # %bb.0: # %entry
106+
; CHECK-V2-NEXT: r1 = *(u8 *)(r1 + 0)
107+
; CHECK-V2-NEXT: r2 = 1
108+
; CHECK-V2-NEXT: if r1 == 0 goto LBB2_2
109+
; CHECK-V2-NEXT: # %bb.1: # %entry
110+
; CHECK-V2-NEXT: r2 = 0
111+
; CHECK-V2-NEXT: LBB2_2: # %entry
112+
; CHECK-V2-NEXT: call sink3
113+
; CHECK-V2-NEXT: exit
114+
;
115+
; CHECK-V4-LABEL: load_zext_same_bb:
116+
; CHECK-V4: # %bb.0: # %entry
117+
; CHECK-V4-NEXT: w1 = *(u8 *)(r1 + 0)
118+
; CHECK-V4-NEXT: w2 = 1
119+
; CHECK-V4-NEXT: if w1 == 0 goto LBB2_2
120+
; CHECK-V4-NEXT: # %bb.1: # %entry
121+
; CHECK-V4-NEXT: w2 = 0
122+
; CHECK-V4-NEXT: LBB2_2: # %entry
123+
; CHECK-V4-NEXT: call sink3
124+
; CHECK-V4-NEXT: exit
48125
entry:
49126
%a = load i8, ptr %p, align 1
50127
; zext is implicit in this context
@@ -54,6 +131,27 @@ entry:
54131
}
55132

56133
define void @load_zext_diff_bb(ptr %p) {
134+
; CHECK-V2-LABEL: load_zext_diff_bb:
135+
; CHECK-V2: # %bb.0: # %entry
136+
; CHECK-V2-NEXT: r1 = *(u8 *)(r1 + 0)
137+
; CHECK-V2-NEXT: r2 = 1
138+
; CHECK-V2-NEXT: if r1 == 0 goto LBB3_2
139+
; CHECK-V2-NEXT: # %bb.1: # %next
140+
; CHECK-V2-NEXT: r2 = 0
141+
; CHECK-V2-NEXT: LBB3_2: # %next
142+
; CHECK-V2-NEXT: call sink3
143+
; CHECK-V2-NEXT: exit
144+
;
145+
; CHECK-V4-LABEL: load_zext_diff_bb:
146+
; CHECK-V4: # %bb.0: # %entry
147+
; CHECK-V4-NEXT: w1 = *(u8 *)(r1 + 0)
148+
; CHECK-V4-NEXT: w2 = 1
149+
; CHECK-V4-NEXT: if w1 == 0 goto LBB3_2
150+
; CHECK-V4-NEXT: # %bb.1: # %next
151+
; CHECK-V4-NEXT: w2 = 0
152+
; CHECK-V4-NEXT: LBB3_2: # %next
153+
; CHECK-V4-NEXT: call sink3
154+
; CHECK-V4-NEXT: exit
57155
entry:
58156
%a = load i8, ptr %p, align 1
59157
br label %next
@@ -65,6 +163,27 @@ next:
65163
}
66164

67165
define void @load_zext_diff_bb_2(ptr %p) {
166+
; CHECK-V2-LABEL: load_zext_diff_bb_2:
167+
; CHECK-V2: # %bb.0: # %entry
168+
; CHECK-V2-NEXT: r1 = *(u32 *)(r1 + 0)
169+
; CHECK-V2-NEXT: r2 = 1
170+
; CHECK-V2-NEXT: if r1 == 0 goto LBB4_2
171+
; CHECK-V2-NEXT: # %bb.1: # %next
172+
; CHECK-V2-NEXT: r2 = 0
173+
; CHECK-V2-NEXT: LBB4_2: # %next
174+
; CHECK-V2-NEXT: call sink4
175+
; CHECK-V2-NEXT: exit
176+
;
177+
; CHECK-V4-LABEL: load_zext_diff_bb_2:
178+
; CHECK-V4: # %bb.0: # %entry
179+
; CHECK-V4-NEXT: w1 = *(u32 *)(r1 + 0)
180+
; CHECK-V4-NEXT: w2 = 1
181+
; CHECK-V4-NEXT: if w1 == 0 goto LBB4_2
182+
; CHECK-V4-NEXT: # %bb.1: # %next
183+
; CHECK-V4-NEXT: w2 = 0
184+
; CHECK-V4-NEXT: LBB4_2: # %next
185+
; CHECK-V4-NEXT: call sink4
186+
; CHECK-V4-NEXT: exit
68187
entry:
69188
%a = load i32, ptr %p, align 4
70189
br label %next

0 commit comments

Comments
 (0)