Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / insert-skips-gfx10.mir
blobb4ed3cafbacb5f33fcd14cb33e99318948201954
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx1030 -run-pass si-pre-emit-peephole -amdgpu-skip-threshold=10 -verify-machineinstrs  %s -o - | FileCheck %s
4 ---
5 name: skip_waitcnt_vscnt
6 body: |
7   ; CHECK-LABEL: name: skip_waitcnt_vscnt
8   ; CHECK: bb.0:
9   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
10   ; CHECK-NEXT: {{  $}}
11   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
12   ; CHECK-NEXT: {{  $}}
13   ; CHECK-NEXT: bb.1:
14   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
15   ; CHECK-NEXT: {{  $}}
16   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
17   ; CHECK-NEXT:   S_WAITCNT_VSCNT $sgpr_null, 0
18   ; CHECK-NEXT: {{  $}}
19   ; CHECK-NEXT: bb.2:
20   ; CHECK-NEXT:   S_ENDPGM 0
21   bb.0:
22     successors: %bb.1, %bb.2
23     S_CBRANCH_EXECZ %bb.2, implicit $exec
25   bb.1:
26     successors: %bb.2
27     V_NOP_e32 implicit $exec
28     S_WAITCNT_VSCNT $sgpr_null, 0
30   bb.2:
31     S_ENDPGM 0
32 ...
34 ---
35 name: skip_waitcnt_expcnt
36 body: |
37   ; CHECK-LABEL: name: skip_waitcnt_expcnt
38   ; CHECK: bb.0:
39   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
40   ; CHECK-NEXT: {{  $}}
41   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
42   ; CHECK-NEXT: {{  $}}
43   ; CHECK-NEXT: bb.1:
44   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
45   ; CHECK-NEXT: {{  $}}
46   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
47   ; CHECK-NEXT:   S_WAITCNT_EXPCNT $sgpr_null, 0
48   ; CHECK-NEXT: {{  $}}
49   ; CHECK-NEXT: bb.2:
50   ; CHECK-NEXT:   S_ENDPGM 0
51   bb.0:
52     successors: %bb.1, %bb.2
53     S_CBRANCH_EXECZ %bb.2, implicit $exec
55   bb.1:
56     successors: %bb.2
57     V_NOP_e32 implicit $exec
58     S_WAITCNT_EXPCNT $sgpr_null, 0
60   bb.2:
61     S_ENDPGM 0
62 ...
64 ---
65 name: skip_waitcnt_vmcnt
66 body: |
67   ; CHECK-LABEL: name: skip_waitcnt_vmcnt
68   ; CHECK: bb.0:
69   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
70   ; CHECK-NEXT: {{  $}}
71   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
72   ; CHECK-NEXT: {{  $}}
73   ; CHECK-NEXT: bb.1:
74   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
75   ; CHECK-NEXT: {{  $}}
76   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
77   ; CHECK-NEXT:   S_WAITCNT_VMCNT $sgpr_null, 0
78   ; CHECK-NEXT: {{  $}}
79   ; CHECK-NEXT: bb.2:
80   ; CHECK-NEXT:   S_ENDPGM 0
81   bb.0:
82     successors: %bb.1, %bb.2
83     S_CBRANCH_EXECZ %bb.2, implicit $exec
85   bb.1:
86     successors: %bb.2
87     V_NOP_e32 implicit $exec
88     S_WAITCNT_VMCNT $sgpr_null, 0
90   bb.2:
91     S_ENDPGM 0
92 ...
94 ---
95 name: skip_waitcnt_lgkmcnt
96 body: |
97   ; CHECK-LABEL: name: skip_waitcnt_lgkmcnt
98   ; CHECK: bb.0:
99   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
100   ; CHECK-NEXT: {{  $}}
101   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
102   ; CHECK-NEXT: {{  $}}
103   ; CHECK-NEXT: bb.1:
104   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
105   ; CHECK-NEXT: {{  $}}
106   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
107   ; CHECK-NEXT:   S_WAITCNT_LGKMCNT $sgpr_null, 0
108   ; CHECK-NEXT: {{  $}}
109   ; CHECK-NEXT: bb.2:
110   ; CHECK-NEXT:   S_ENDPGM 0
111   bb.0:
112     successors: %bb.1, %bb.2
113     S_CBRANCH_EXECZ %bb.2, implicit $exec
115   bb.1:
116     successors: %bb.2
117     V_NOP_e32 implicit $exec
118     S_WAITCNT_LGKMCNT $sgpr_null, 0
120   bb.2:
121     S_ENDPGM 0
125 name: skip_wait_idle
126 body: |
127   ; CHECK-LABEL: name: skip_wait_idle
128   ; CHECK: bb.0:
129   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
130   ; CHECK-NEXT: {{  $}}
131   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
132   ; CHECK-NEXT: {{  $}}
133   ; CHECK-NEXT: bb.1:
134   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
135   ; CHECK-NEXT: {{  $}}
136   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
137   ; CHECK-NEXT:   S_WAIT_IDLE
138   ; CHECK-NEXT: {{  $}}
139   ; CHECK-NEXT: bb.2:
140   ; CHECK-NEXT:   S_ENDPGM 0
141   bb.0:
142     successors: %bb.1, %bb.2
143     S_CBRANCH_EXECZ %bb.2, implicit $exec
145   bb.1:
146     successors: %bb.2
147     V_NOP_e32 implicit $exec
148     S_WAIT_IDLE
150   bb.2:
151     S_ENDPGM 0
155 name: skip_bvh
156 body: |
157   ; CHECK-LABEL: name: skip_bvh
158   ; CHECK: bb.0:
159   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
160   ; CHECK-NEXT: {{  $}}
161   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
162   ; CHECK-NEXT: {{  $}}
163   ; CHECK-NEXT: bb.1:
164   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
165   ; CHECK-NEXT: {{  $}}
166   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
167   ; CHECK-NEXT:   $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14 = IMPLICIT_DEF
168   ; CHECK-NEXT:   $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
169   ; CHECK-NEXT:   $vgpr0_vgpr1_vgpr2_vgpr3 = IMAGE_BVH_INTERSECT_RAY_sa_gfx11 $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, implicit $exec :: (dereferenceable load (s128), addrspace 7)
170   ; CHECK-NEXT: {{  $}}
171   ; CHECK-NEXT: bb.2:
172   ; CHECK-NEXT:   S_ENDPGM 0
173   bb.0:
174     successors: %bb.1, %bb.2
175     S_CBRANCH_EXECZ %bb.2, implicit $exec
177   bb.1:
178     successors: %bb.2
179     V_NOP_e32 implicit $exec
180     $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14 = IMPLICIT_DEF
181     $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
182     $vgpr0_vgpr1_vgpr2_vgpr3 = IMAGE_BVH_INTERSECT_RAY_sa_gfx11 $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, implicit $exec :: (dereferenceable load (s128), addrspace 7)
184   bb.2:
185     S_ENDPGM 0
189 name: skip_barrier
190 body: |
191   ; CHECK-LABEL: name: skip_barrier
192   ; CHECK: bb.0:
193   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
194   ; CHECK-NEXT: {{  $}}
195   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
196   ; CHECK-NEXT: {{  $}}
197   ; CHECK-NEXT: bb.1:
198   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
199   ; CHECK-NEXT: {{  $}}
200   ; CHECK-NEXT:   V_NOP_e32 implicit $exec
201   ; CHECK-NEXT:   S_BARRIER
202   ; CHECK-NEXT: {{  $}}
203   ; CHECK-NEXT: bb.2:
204   ; CHECK-NEXT:   S_ENDPGM 0
205   bb.0:
206     successors: %bb.1, %bb.2
207     S_CBRANCH_EXECZ %bb.2, implicit $exec
209   bb.1:
210     successors: %bb.2
211     V_NOP_e32 implicit $exec
212     S_BARRIER
214   bb.2:
215     S_ENDPGM 0