221
|
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
2 # RUN: llc -march=amdgcn -mcpu=polaris10 -run-pass si-pre-emit-peephole -amdgpu-skip-threshold=1 -verify-machineinstrs %s -o - | FileCheck %s
|
|
3
|
|
4 ---
|
|
5
|
|
6 name: skip_execz_flat
|
|
7 body: |
|
|
8 ; CHECK-LABEL: name: skip_execz_flat
|
|
9 ; CHECK: bb.0:
|
236
|
10 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
|
|
11 ; CHECK-NEXT: {{ $}}
|
|
12 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
13 ; CHECK-NEXT: {{ $}}
|
|
14 ; CHECK-NEXT: bb.1:
|
|
15 ; CHECK-NEXT: successors: %bb.2(0x80000000)
|
|
16 ; CHECK-NEXT: {{ $}}
|
|
17 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
18 ; CHECK-NEXT: FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
|
|
19 ; CHECK-NEXT: {{ $}}
|
|
20 ; CHECK-NEXT: bb.2:
|
|
21 ; CHECK-NEXT: S_ENDPGM 0
|
221
|
22 bb.0:
|
|
23 successors: %bb.1, %bb.2
|
|
24 S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
25
|
|
26 bb.1:
|
|
27 successors: %bb.2
|
|
28 $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
29 FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
|
|
30
|
|
31 bb.2:
|
|
32 S_ENDPGM 0
|
|
33 ...
|
|
34
|
|
35 ---
|
|
36
|
|
37 name: skip_execz_mubuf
|
|
38 body: |
|
|
39 ; CHECK-LABEL: name: skip_execz_mubuf
|
|
40 ; CHECK: bb.0:
|
236
|
41 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
|
|
42 ; CHECK-NEXT: {{ $}}
|
|
43 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
44 ; CHECK-NEXT: {{ $}}
|
|
45 ; CHECK-NEXT: bb.1:
|
|
46 ; CHECK-NEXT: successors: %bb.2(0x80000000)
|
|
47 ; CHECK-NEXT: {{ $}}
|
|
48 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
49 ; CHECK-NEXT: BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec
|
|
50 ; CHECK-NEXT: {{ $}}
|
|
51 ; CHECK-NEXT: bb.2:
|
|
52 ; CHECK-NEXT: S_ENDPGM 0
|
221
|
53 bb.0:
|
|
54 successors: %bb.1, %bb.2
|
|
55 S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
56
|
|
57 bb.1:
|
|
58 successors: %bb.2
|
|
59 $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
60 BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec
|
|
61
|
|
62 bb.2:
|
|
63 S_ENDPGM 0
|
|
64 ...
|
|
65
|
|
66 ---
|
|
67
|
|
68 name: skip_execz_ds
|
|
69 body: |
|
|
70 ; CHECK-LABEL: name: skip_execz_ds
|
|
71 ; CHECK: bb.0:
|
236
|
72 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
|
|
73 ; CHECK-NEXT: {{ $}}
|
|
74 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
75 ; CHECK-NEXT: {{ $}}
|
|
76 ; CHECK-NEXT: bb.1:
|
|
77 ; CHECK-NEXT: successors: %bb.2(0x80000000)
|
|
78 ; CHECK-NEXT: {{ $}}
|
|
79 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
80 ; CHECK-NEXT: DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
|
|
81 ; CHECK-NEXT: {{ $}}
|
|
82 ; CHECK-NEXT: bb.2:
|
|
83 ; CHECK-NEXT: S_ENDPGM 0
|
221
|
84 bb.0:
|
|
85 successors: %bb.1, %bb.2
|
|
86 S_CBRANCH_EXECZ %bb.2, implicit $exec
|
|
87
|
|
88 bb.1:
|
|
89 successors: %bb.2
|
|
90 $vgpr0 = V_MOV_B32_e32 0, implicit $exec
|
|
91 DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
|
|
92
|
|
93 bb.2:
|
|
94 S_ENDPGM 0
|
|
95 ...
|