Skip to content

Commit d49707c

Browse files
committed
[AMDGPU] Generate test checks for splitkit-copy-bundle.mir
This is a pre-commit for D87757 "[SplitKit] Only copy live lanes".
1 parent 6637d72 commit d49707c

File tree

1 file changed

+167
-31
lines changed

1 file changed

+167
-31
lines changed

llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir

Lines changed: 167 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,178 @@
1-
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefixes=MIR,RA %s
2-
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy,virtregrewriter,post-RA-sched -o - -verify-machineinstrs %s | FileCheck -check-prefixes=MIR,VR %s
3-
# RUN: llc -march=amdgcn -mcpu=gfx900 -start-before=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefix=ASM %s
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy -o - -verify-machineinstrs %s | FileCheck -check-prefix=RA %s
3+
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=greedy,virtregrewriter,post-RA-sched -o - -verify-machineinstrs %s | FileCheck -check-prefix=VR %s
44

55
---
6-
# MIR-LABEL: name: splitkit_copy_bundle
7-
8-
# RA: undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %5.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
9-
# RA-NEXT: internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %5.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
10-
# RA-NEXT: internal %4.sub28_sub29:sgpr_1024 = COPY %5.sub28_sub29
11-
# RA-NEXT: }
12-
13-
# RA: undef %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
14-
# RA-NEXT: internal %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
15-
# RA-NEXT: internal %6.sub28_sub29:sgpr_1024 = COPY %4.sub28_sub29
16-
# RA-NEXT: }
17-
18-
19-
# RA: undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
20-
# RA-NEXT: internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
21-
# RA-NEXT: internal %4.sub28_sub29:sgpr_1024 = COPY %6.sub28_sub29
22-
# RA-NEXT: }
23-
24-
25-
# VR: renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = KILL undef renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
26-
# VR-NEXT: renamable $sgpr96_sgpr97 = KILL undef renamable $sgpr96_sgpr97
27-
28-
# ASM-LABEL: {{^}}splitkit_copy_bundle:
29-
# ASM: ; implicit-def: $sgpr34_sgpr35
30-
# ASM-NEXT: ; implicit-def: $sgpr98_sgpr99
31-
# ASM-NEXT: ; kill: def $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 killed $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
32-
# ASM-NEXT: ; kill: def $sgpr96_sgpr97 killed $sgpr96_sgpr97
33-
346
name: splitkit_copy_bundle
357
tracksRegLiveness: true
368
machineFunctionInfo:
379
scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3'
3810
stackPtrOffsetReg: '$sgpr32'
3911
body: |
12+
; RA-LABEL: name: splitkit_copy_bundle
13+
; RA: bb.0:
14+
; RA: successors: %bb.1(0x80000000)
15+
; RA: [[DEF:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
16+
; RA: [[DEF1:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
17+
; RA: undef %5.sub1:sgpr_1024 = S_MOV_B32 -1
18+
; RA: %5.sub0:sgpr_1024 = S_MOV_B32 -1
19+
; RA: undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %5.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
20+
; RA: internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %5.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
21+
; RA: internal %4.sub28_sub29:sgpr_1024 = COPY %5.sub28_sub29
22+
; RA: }
23+
; RA: undef %3.sub0:sgpr_1024 = S_MOV_B32 0
24+
; RA: bb.1:
25+
; RA: successors: %bb.2(0x80000000)
26+
; RA: undef %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
27+
; RA: internal %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
28+
; RA: internal %6.sub28_sub29:sgpr_1024 = COPY %4.sub28_sub29
29+
; RA: }
30+
; RA: %6.sub2:sgpr_1024 = COPY %6.sub0
31+
; RA: %6.sub3:sgpr_1024 = COPY %6.sub1
32+
; RA: %6.sub4:sgpr_1024 = COPY %6.sub0
33+
; RA: %6.sub5:sgpr_1024 = COPY %6.sub1
34+
; RA: %6.sub6:sgpr_1024 = COPY %6.sub0
35+
; RA: %6.sub7:sgpr_1024 = COPY %6.sub1
36+
; RA: %6.sub8:sgpr_1024 = COPY %6.sub0
37+
; RA: %6.sub9:sgpr_1024 = COPY %6.sub1
38+
; RA: %6.sub10:sgpr_1024 = COPY %6.sub0
39+
; RA: %6.sub11:sgpr_1024 = COPY %6.sub1
40+
; RA: %6.sub12:sgpr_1024 = COPY %6.sub0
41+
; RA: %6.sub13:sgpr_1024 = COPY %6.sub1
42+
; RA: %6.sub14:sgpr_1024 = COPY %6.sub0
43+
; RA: %6.sub15:sgpr_1024 = COPY %6.sub1
44+
; RA: %6.sub16:sgpr_1024 = COPY %6.sub0
45+
; RA: %6.sub17:sgpr_1024 = COPY %6.sub1
46+
; RA: %6.sub18:sgpr_1024 = COPY %6.sub0
47+
; RA: %6.sub19:sgpr_1024 = COPY %6.sub1
48+
; RA: %6.sub20:sgpr_1024 = COPY %6.sub0
49+
; RA: %6.sub21:sgpr_1024 = COPY %6.sub1
50+
; RA: %6.sub22:sgpr_1024 = COPY %6.sub0
51+
; RA: %6.sub23:sgpr_1024 = COPY %6.sub1
52+
; RA: %6.sub24:sgpr_1024 = COPY %6.sub0
53+
; RA: %6.sub25:sgpr_1024 = COPY %6.sub1
54+
; RA: %6.sub26:sgpr_1024 = COPY %6.sub0
55+
; RA: %6.sub27:sgpr_1024 = COPY %6.sub1
56+
; RA: %6.sub28:sgpr_1024 = COPY %6.sub0
57+
; RA: %6.sub29:sgpr_1024 = COPY %6.sub1
58+
; RA: undef %4.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15:sgpr_1024 = COPY %6.sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 {
59+
; RA: internal %4.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27:sgpr_1024 = COPY %6.sub12_sub13_sub14_sub15_sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27
60+
; RA: internal %4.sub28_sub29:sgpr_1024 = COPY %6.sub28_sub29
61+
; RA: }
62+
; RA: %3.sub1:sgpr_1024 = COPY %3.sub0
63+
; RA: %3.sub2:sgpr_1024 = COPY %3.sub0
64+
; RA: %3.sub3:sgpr_1024 = COPY %3.sub0
65+
; RA: %3.sub4:sgpr_1024 = COPY %3.sub0
66+
; RA: %3.sub5:sgpr_1024 = COPY %3.sub0
67+
; RA: %3.sub6:sgpr_1024 = COPY %3.sub0
68+
; RA: %3.sub7:sgpr_1024 = COPY %3.sub0
69+
; RA: %3.sub8:sgpr_1024 = COPY %3.sub0
70+
; RA: %3.sub9:sgpr_1024 = COPY %3.sub0
71+
; RA: %3.sub10:sgpr_1024 = COPY %3.sub0
72+
; RA: %3.sub11:sgpr_1024 = COPY %3.sub0
73+
; RA: %3.sub12:sgpr_1024 = COPY %3.sub0
74+
; RA: %3.sub13:sgpr_1024 = COPY %3.sub0
75+
; RA: %3.sub14:sgpr_1024 = COPY %3.sub0
76+
; RA: %3.sub15:sgpr_1024 = COPY %3.sub0
77+
; RA: %3.sub16:sgpr_1024 = COPY %3.sub0
78+
; RA: %3.sub17:sgpr_1024 = COPY %3.sub0
79+
; RA: %3.sub18:sgpr_1024 = COPY %3.sub0
80+
; RA: %3.sub19:sgpr_1024 = COPY %3.sub0
81+
; RA: %3.sub20:sgpr_1024 = COPY %3.sub0
82+
; RA: %3.sub21:sgpr_1024 = COPY %3.sub0
83+
; RA: %3.sub22:sgpr_1024 = COPY %3.sub0
84+
; RA: %3.sub23:sgpr_1024 = COPY %3.sub0
85+
; RA: %3.sub24:sgpr_1024 = COPY %3.sub0
86+
; RA: %3.sub25:sgpr_1024 = COPY %3.sub0
87+
; RA: %3.sub26:sgpr_1024 = COPY %3.sub0
88+
; RA: %3.sub27:sgpr_1024 = COPY %3.sub0
89+
; RA: %3.sub28:sgpr_1024 = COPY %3.sub0
90+
; RA: %3.sub29:sgpr_1024 = COPY %3.sub0
91+
; RA: %3.sub30:sgpr_1024 = COPY %3.sub0
92+
; RA: %3.sub31:sgpr_1024 = COPY %3.sub0
93+
; RA: bb.2:
94+
; RA: successors: %bb.1(0x40000000), %bb.2(0x40000000)
95+
; RA: S_NOP 0, csr_amdgpu_highregs, implicit [[DEF]], implicit [[DEF1]]
96+
; RA: S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc
97+
; RA: S_BRANCH %bb.2
98+
; VR-LABEL: name: splitkit_copy_bundle
99+
; VR: bb.0:
100+
; VR: successors: %bb.1(0x80000000)
101+
; VR: renamable $sgpr69 = S_MOV_B32 -1
102+
; VR: renamable $sgpr68 = S_MOV_B32 -1
103+
; VR: renamable $sgpr36 = S_MOV_B32 0
104+
; VR: renamable $sgpr34_sgpr35 = IMPLICIT_DEF
105+
; VR: renamable $sgpr98_sgpr99 = IMPLICIT_DEF
106+
; VR: renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95 = KILL undef renamable $sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95
107+
; VR: renamable $sgpr96_sgpr97 = KILL undef renamable $sgpr96_sgpr97
108+
; VR: bb.1:
109+
; VR: successors: %bb.2(0x80000000)
110+
; VR: liveins: $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67:0x0000000000000003, $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99:0x0FFFFFFFFFFFFFFF, $sgpr34_sgpr35, $sgpr98_sgpr99
111+
; VR: renamable $sgpr70 = COPY renamable $sgpr68
112+
; VR: renamable $sgpr71 = COPY renamable $sgpr69
113+
; VR: renamable $sgpr72 = COPY renamable $sgpr68
114+
; VR: renamable $sgpr73 = COPY renamable $sgpr69
115+
; VR: renamable $sgpr74 = COPY renamable $sgpr68
116+
; VR: renamable $sgpr75 = COPY renamable $sgpr69
117+
; VR: renamable $sgpr76 = COPY renamable $sgpr68
118+
; VR: renamable $sgpr77 = COPY renamable $sgpr69
119+
; VR: renamable $sgpr78 = COPY renamable $sgpr68
120+
; VR: renamable $sgpr79 = COPY renamable $sgpr69
121+
; VR: renamable $sgpr80 = COPY renamable $sgpr68
122+
; VR: renamable $sgpr81 = COPY renamable $sgpr69
123+
; VR: renamable $sgpr82 = COPY renamable $sgpr68
124+
; VR: renamable $sgpr83 = COPY renamable $sgpr69
125+
; VR: renamable $sgpr84 = COPY renamable $sgpr68
126+
; VR: renamable $sgpr85 = COPY renamable $sgpr69
127+
; VR: renamable $sgpr86 = COPY renamable $sgpr68
128+
; VR: renamable $sgpr87 = COPY renamable $sgpr69
129+
; VR: renamable $sgpr88 = COPY renamable $sgpr68
130+
; VR: renamable $sgpr89 = COPY renamable $sgpr69
131+
; VR: renamable $sgpr90 = COPY renamable $sgpr68
132+
; VR: renamable $sgpr91 = COPY renamable $sgpr69
133+
; VR: renamable $sgpr92 = COPY renamable $sgpr68
134+
; VR: renamable $sgpr93 = COPY renamable $sgpr69
135+
; VR: renamable $sgpr94 = COPY renamable $sgpr68
136+
; VR: renamable $sgpr95 = COPY renamable $sgpr69
137+
; VR: renamable $sgpr96 = COPY renamable $sgpr68
138+
; VR: renamable $sgpr97 = COPY renamable $sgpr69
139+
; VR: renamable $sgpr37 = COPY renamable $sgpr36
140+
; VR: renamable $sgpr38 = COPY renamable $sgpr36
141+
; VR: renamable $sgpr39 = COPY renamable $sgpr36
142+
; VR: renamable $sgpr40 = COPY renamable $sgpr36
143+
; VR: renamable $sgpr41 = COPY renamable $sgpr36
144+
; VR: renamable $sgpr42 = COPY renamable $sgpr36
145+
; VR: renamable $sgpr43 = COPY renamable $sgpr36
146+
; VR: renamable $sgpr44 = COPY renamable $sgpr36
147+
; VR: renamable $sgpr45 = COPY renamable $sgpr36
148+
; VR: renamable $sgpr46 = COPY renamable $sgpr36
149+
; VR: renamable $sgpr47 = COPY renamable $sgpr36
150+
; VR: renamable $sgpr48 = COPY renamable $sgpr36
151+
; VR: renamable $sgpr49 = COPY renamable $sgpr36
152+
; VR: renamable $sgpr50 = COPY renamable $sgpr36
153+
; VR: renamable $sgpr51 = COPY renamable $sgpr36
154+
; VR: renamable $sgpr52 = COPY renamable $sgpr36
155+
; VR: renamable $sgpr53 = COPY renamable $sgpr36
156+
; VR: renamable $sgpr54 = COPY renamable $sgpr36
157+
; VR: renamable $sgpr55 = COPY renamable $sgpr36
158+
; VR: renamable $sgpr56 = COPY renamable $sgpr36
159+
; VR: renamable $sgpr57 = COPY renamable $sgpr36
160+
; VR: renamable $sgpr58 = COPY renamable $sgpr36
161+
; VR: renamable $sgpr59 = COPY renamable $sgpr36
162+
; VR: renamable $sgpr60 = COPY renamable $sgpr36
163+
; VR: renamable $sgpr61 = COPY renamable $sgpr36
164+
; VR: renamable $sgpr62 = COPY renamable $sgpr36
165+
; VR: renamable $sgpr63 = COPY renamable $sgpr36
166+
; VR: renamable $sgpr64 = COPY renamable $sgpr36
167+
; VR: renamable $sgpr65 = COPY renamable $sgpr36
168+
; VR: renamable $sgpr66 = COPY renamable $sgpr36
169+
; VR: renamable $sgpr67 = COPY renamable $sgpr36
170+
; VR: bb.2:
171+
; VR: successors: %bb.1(0x40000000), %bb.2(0x40000000)
172+
; VR: liveins: $sgpr36_sgpr37_sgpr38_sgpr39_sgpr40_sgpr41_sgpr42_sgpr43_sgpr44_sgpr45_sgpr46_sgpr47_sgpr48_sgpr49_sgpr50_sgpr51_sgpr52_sgpr53_sgpr54_sgpr55_sgpr56_sgpr57_sgpr58_sgpr59_sgpr60_sgpr61_sgpr62_sgpr63_sgpr64_sgpr65_sgpr66_sgpr67:0x0000000000000003, $sgpr68_sgpr69_sgpr70_sgpr71_sgpr72_sgpr73_sgpr74_sgpr75_sgpr76_sgpr77_sgpr78_sgpr79_sgpr80_sgpr81_sgpr82_sgpr83_sgpr84_sgpr85_sgpr86_sgpr87_sgpr88_sgpr89_sgpr90_sgpr91_sgpr92_sgpr93_sgpr94_sgpr95_sgpr96_sgpr97_sgpr98_sgpr99:0x0FFFFFFFFFFFFFFF, $sgpr34_sgpr35, $sgpr98_sgpr99
173+
; VR: S_NOP 0, csr_amdgpu_highregs, implicit renamable $sgpr34_sgpr35, implicit renamable $sgpr98_sgpr99
174+
; VR: S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc
175+
; VR: S_BRANCH %bb.2
40176
bb.0:
41177
%0:sreg_64 = IMPLICIT_DEF
42178
%1:sreg_64 = IMPLICIT_DEF

0 commit comments

Comments
 (0)