Lines Matching refs:GCN
2 …-select -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefix=GCN
11 ; GCN-LABEL: name: g_phi_s32_ss_sbranch
12 ; GCN: bb.0:
13 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
14 ; GCN-NEXT: liveins: $sgpr0, $sgpr1, $sgpr2
15 ; GCN-NEXT: {{ $}}
16 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
17 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1
18 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
19 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
20 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
21 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
22 ; GCN-NEXT: $scc = COPY [[COPY3]]
23 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
24 ; GCN-NEXT: S_BRANCH %bb.2
25 ; GCN-NEXT: {{ $}}
26 ; GCN-NEXT: bb.1:
27 ; GCN-NEXT: successors: %bb.2(0x80000000)
28 ; GCN-NEXT: {{ $}}
29 ; GCN-NEXT: S_BRANCH %bb.2
30 ; GCN-NEXT: {{ $}}
31 ; GCN-NEXT: bb.2:
32 ; GCN-NEXT: [[PHI:%[0-9]+]]:sreg_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1
33 ; GCN-NEXT: $sgpr0 = COPY [[PHI]]
34 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
64 ; GCN-LABEL: name: g_phi_s32_vv_sbranch
65 ; GCN: bb.0:
66 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
67 ; GCN-NEXT: liveins: $vgpr0, $vgpr1, $sgpr2
68 ; GCN-NEXT: {{ $}}
69 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
70 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
71 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
72 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
73 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
74 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
75 ; GCN-NEXT: $scc = COPY [[COPY3]]
76 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
77 ; GCN-NEXT: S_BRANCH %bb.2
78 ; GCN-NEXT: {{ $}}
79 ; GCN-NEXT: bb.1:
80 ; GCN-NEXT: successors: %bb.2(0x80000000)
81 ; GCN-NEXT: {{ $}}
82 ; GCN-NEXT: [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]
83 ; GCN-NEXT: S_BRANCH %bb.2
84 ; GCN-NEXT: {{ $}}
85 ; GCN-NEXT: bb.2:
86 ; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1
87 ; GCN-NEXT: $vgpr0 = COPY [[PHI]]
88 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
118 ; GCN-LABEL: name: g_phi_s32_sv_sbranch
119 ; GCN: bb.0:
120 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
121 ; GCN-NEXT: liveins: $sgpr0, $vgpr0, $sgpr1, $sgpr2
122 ; GCN-NEXT: {{ $}}
123 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
124 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
125 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
126 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
127 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
128 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
129 ; GCN-NEXT: $scc = COPY [[COPY3]]
130 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
131 ; GCN-NEXT: S_BRANCH %bb.2
132 ; GCN-NEXT: {{ $}}
133 ; GCN-NEXT: bb.1:
134 ; GCN-NEXT: successors: %bb.2(0x80000000)
135 ; GCN-NEXT: {{ $}}
136 ; GCN-NEXT: S_BRANCH %bb.2
137 ; GCN-NEXT: {{ $}}
138 ; GCN-NEXT: bb.2:
139 ; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1
140 ; GCN-NEXT: $vgpr0 = COPY [[PHI]]
141 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
171 ; GCN-LABEL: name: g_phi_s32_vs_sbranch
172 ; GCN: bb.0:
173 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
174 ; GCN-NEXT: liveins: $sgpr0, $vgpr0, $sgpr1
175 ; GCN-NEXT: {{ $}}
176 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
177 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
178 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr1
179 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
180 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
181 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
182 ; GCN-NEXT: $scc = COPY [[COPY3]]
183 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
184 ; GCN-NEXT: S_BRANCH %bb.2
185 ; GCN-NEXT: {{ $}}
186 ; GCN-NEXT: bb.1:
187 ; GCN-NEXT: successors: %bb.2(0x80000000)
188 ; GCN-NEXT: {{ $}}
189 ; GCN-NEXT: [[COPY4:%[0-9]+]]:vgpr_32 = COPY [[COPY1]]
190 ; GCN-NEXT: S_BRANCH %bb.2
191 ; GCN-NEXT: {{ $}}
192 ; GCN-NEXT: bb.2:
193 ; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1
194 ; GCN-NEXT: $vgpr0 = COPY [[PHI]]
195 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
225 ; GCN-LABEL: name: g_phi_s64_ss_sbranch
226 ; GCN: bb.0:
227 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
228 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $sgpr2_sgpr3, $sgpr4
229 ; GCN-NEXT: {{ $}}
230 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
231 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3
232 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr4
233 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
234 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
235 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
236 ; GCN-NEXT: $scc = COPY [[COPY3]]
237 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
238 ; GCN-NEXT: S_BRANCH %bb.2
239 ; GCN-NEXT: {{ $}}
240 ; GCN-NEXT: bb.1:
241 ; GCN-NEXT: successors: %bb.2(0x80000000)
242 ; GCN-NEXT: {{ $}}
243 ; GCN-NEXT: S_BRANCH %bb.2
244 ; GCN-NEXT: {{ $}}
245 ; GCN-NEXT: bb.2:
246 ; GCN-NEXT: [[PHI:%[0-9]+]]:sreg_64 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1
247 ; GCN-NEXT: $sgpr0_sgpr1 = COPY [[PHI]]
248 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
277 ; GCN-LABEL: name: g_phi_v2s16_vv_sbranch
278 ; GCN: bb.0:
279 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
280 ; GCN-NEXT: liveins: $vgpr0, $vgpr1, $sgpr2
281 ; GCN-NEXT: {{ $}}
282 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
283 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
284 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
285 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
286 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
287 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
288 ; GCN-NEXT: $scc = COPY [[COPY3]]
289 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
290 ; GCN-NEXT: S_BRANCH %bb.2
291 ; GCN-NEXT: {{ $}}
292 ; GCN-NEXT: bb.1:
293 ; GCN-NEXT: successors: %bb.2(0x80000000)
294 ; GCN-NEXT: {{ $}}
295 ; GCN-NEXT: [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]
296 ; GCN-NEXT: S_BRANCH %bb.2
297 ; GCN-NEXT: {{ $}}
298 ; GCN-NEXT: bb.2:
299 ; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1
300 ; GCN-NEXT: $vgpr0 = COPY [[PHI]]
301 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
331 ; GCN-LABEL: name: g_phi_vcc_s1_sbranch
332 ; GCN: bb.0:
333 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
334 ; GCN-NEXT: liveins: $vgpr0, $vgpr1, $sgpr2
335 ; GCN-NEXT: {{ $}}
336 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
337 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
338 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
339 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
340 …; GCN-NEXT: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_64 = V_CMP_EQ_U32_e64 [[COPY]], [[S_MOV_B32_]], i…
341 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
342 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
343 ; GCN-NEXT: $scc = COPY [[COPY3]]
344 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
345 ; GCN-NEXT: S_BRANCH %bb.2
346 ; GCN-NEXT: {{ $}}
347 ; GCN-NEXT: bb.1:
348 ; GCN-NEXT: successors: %bb.2(0x80000000)
349 ; GCN-NEXT: {{ $}}
350 …; GCN-NEXT: [[V_CMP_EQ_U32_e64_1:%[0-9]+]]:sreg_64 = V_CMP_EQ_U32_e64 [[COPY1]], [[S_MOV_B32_]],…
351 ; GCN-NEXT: S_BRANCH %bb.2
352 ; GCN-NEXT: {{ $}}
353 ; GCN-NEXT: bb.2:
354 …; GCN-NEXT: [[PHI:%[0-9]+]]:sreg_64_xexec = PHI [[V_CMP_EQ_U32_e64_]], %bb.0, [[V_CMP_EQ_U32_e64…
355 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31, implicit [[PHI]]
385 ; GCN-LABEL: name: phi_s32_ss_sbranch
386 ; GCN: bb.0:
387 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
388 ; GCN-NEXT: liveins: $sgpr0, $sgpr1, $sgpr2
389 ; GCN-NEXT: {{ $}}
390 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
391 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1
392 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
393 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
394 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
395 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
396 ; GCN-NEXT: $scc = COPY [[COPY3]]
397 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
398 ; GCN-NEXT: S_BRANCH %bb.2
399 ; GCN-NEXT: {{ $}}
400 ; GCN-NEXT: bb.1:
401 ; GCN-NEXT: successors: %bb.2(0x80000000)
402 ; GCN-NEXT: {{ $}}
403 ; GCN-NEXT: S_BRANCH %bb.2
404 ; GCN-NEXT: {{ $}}
405 ; GCN-NEXT: bb.2:
406 ; GCN-NEXT: [[PHI:%[0-9]+]]:sreg_32 = PHI [[COPY]], %bb.0, [[COPY1]], %bb.1
407 ; GCN-NEXT: $sgpr0 = COPY [[PHI]]
408 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31
438 ; GCN-LABEL: name: phi_s32_vv_sbranch
439 ; GCN: bb.0:
440 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
441 ; GCN-NEXT: liveins: $vgpr0, $vgpr1, $sgpr2
442 ; GCN-NEXT: {{ $}}
443 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
444 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
445 ; GCN-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2
446 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
447 ; GCN-NEXT: S_CMP_EQ_U32 [[COPY2]], [[S_MOV_B32_]], implicit-def $scc
448 ; GCN-NEXT: [[COPY3:%[0-9]+]]:sreg_32 = COPY $scc
449 ; GCN-NEXT: $scc = COPY [[COPY3]]
450 ; GCN-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc
451 ; GCN-NEXT: S_BRANCH %bb.2
452 ; GCN-NEXT: {{ $}}
453 ; GCN-NEXT: bb.1:
454 ; GCN-NEXT: successors: %bb.2(0x80000000)
455 ; GCN-NEXT: {{ $}}
456 ; GCN-NEXT: [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY1]]
457 ; GCN-NEXT: S_BRANCH %bb.2
458 ; GCN-NEXT: {{ $}}
459 ; GCN-NEXT: bb.2:
460 ; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[COPY]], %bb.0, [[COPY4]], %bb.1
461 ; GCN-NEXT: $vgpr0 = COPY [[PHI]]
462 ; GCN-NEXT: S_SETPC_B64 undef $sgpr30_sgpr31