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
5 name: skip_waitcnt_vscnt
7 ; CHECK-LABEL: name: skip_waitcnt_vscnt
9 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
11 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
14 ; CHECK-NEXT: successors: %bb.2(0x80000000)
16 ; CHECK-NEXT: V_NOP_e32 implicit $exec
17 ; CHECK-NEXT: S_WAITCNT_VSCNT $sgpr_null, 0
20 ; CHECK-NEXT: S_ENDPGM 0
22 successors: %bb.1, %bb.2
23 S_CBRANCH_EXECZ %bb.2, implicit $exec
27 V_NOP_e32 implicit $exec
28 S_WAITCNT_VSCNT $sgpr_null, 0
35 name: skip_waitcnt_expcnt
37 ; CHECK-LABEL: name: skip_waitcnt_expcnt
39 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
41 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
44 ; CHECK-NEXT: successors: %bb.2(0x80000000)
46 ; CHECK-NEXT: V_NOP_e32 implicit $exec
47 ; CHECK-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 0
50 ; CHECK-NEXT: S_ENDPGM 0
52 successors: %bb.1, %bb.2
53 S_CBRANCH_EXECZ %bb.2, implicit $exec
57 V_NOP_e32 implicit $exec
58 S_WAITCNT_EXPCNT $sgpr_null, 0
65 name: skip_waitcnt_vmcnt
67 ; CHECK-LABEL: name: skip_waitcnt_vmcnt
69 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
71 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
74 ; CHECK-NEXT: successors: %bb.2(0x80000000)
76 ; CHECK-NEXT: V_NOP_e32 implicit $exec
77 ; CHECK-NEXT: S_WAITCNT_VMCNT $sgpr_null, 0
80 ; CHECK-NEXT: S_ENDPGM 0
82 successors: %bb.1, %bb.2
83 S_CBRANCH_EXECZ %bb.2, implicit $exec
87 V_NOP_e32 implicit $exec
88 S_WAITCNT_VMCNT $sgpr_null, 0
95 name: skip_waitcnt_lgkmcnt
97 ; CHECK-LABEL: name: skip_waitcnt_lgkmcnt
99 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
101 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
104 ; CHECK-NEXT: successors: %bb.2(0x80000000)
106 ; CHECK-NEXT: V_NOP_e32 implicit $exec
107 ; CHECK-NEXT: S_WAITCNT_LGKMCNT $sgpr_null, 0
110 ; CHECK-NEXT: S_ENDPGM 0
112 successors: %bb.1, %bb.2
113 S_CBRANCH_EXECZ %bb.2, implicit $exec
117 V_NOP_e32 implicit $exec
118 S_WAITCNT_LGKMCNT $sgpr_null, 0
127 ; CHECK-LABEL: name: skip_wait_idle
129 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
131 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
134 ; CHECK-NEXT: successors: %bb.2(0x80000000)
136 ; CHECK-NEXT: V_NOP_e32 implicit $exec
137 ; CHECK-NEXT: S_WAIT_IDLE
140 ; CHECK-NEXT: S_ENDPGM 0
142 successors: %bb.1, %bb.2
143 S_CBRANCH_EXECZ %bb.2, implicit $exec
147 V_NOP_e32 implicit $exec
157 ; CHECK-LABEL: name: skip_bvh
159 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
161 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
164 ; CHECK-NEXT: successors: %bb.2(0x80000000)
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)
172 ; CHECK-NEXT: S_ENDPGM 0
174 successors: %bb.1, %bb.2
175 S_CBRANCH_EXECZ %bb.2, implicit $exec
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)
191 ; CHECK-LABEL: name: skip_barrier
193 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
195 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
198 ; CHECK-NEXT: successors: %bb.2(0x80000000)
200 ; CHECK-NEXT: V_NOP_e32 implicit $exec
201 ; CHECK-NEXT: S_BARRIER
204 ; CHECK-NEXT: S_ENDPGM 0
206 successors: %bb.1, %bb.2
207 S_CBRANCH_EXECZ %bb.2, implicit $exec
211 V_NOP_e32 implicit $exec