217 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx1030 -run-pass si-pre-emit-peephole -verify-machineinstrs %s -o - | FileCheck %s3 4---5name: skip_waitcnt_vscnt6body: |7 ; CHECK-LABEL: name: skip_waitcnt_vscnt8 ; 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 $exec12 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: bb.1:14 ; CHECK-NEXT: successors: %bb.2(0x80000000)15 ; CHECK-NEXT: {{ $}}16 ; CHECK-NEXT: V_NOP_e32 implicit $exec17 ; CHECK-NEXT: S_WAITCNT_VSCNT $sgpr_null, 018 ; CHECK-NEXT: {{ $}}19 ; CHECK-NEXT: bb.2:20 ; CHECK-NEXT: S_ENDPGM 021 bb.0:22 successors: %bb.1, %bb.223 S_CBRANCH_EXECZ %bb.2, implicit $exec24 25 bb.1:26 successors: %bb.227 V_NOP_e32 implicit $exec28 S_WAITCNT_VSCNT $sgpr_null, 029 30 bb.2:31 S_ENDPGM 032...33 34---35name: skip_waitcnt_expcnt36body: |37 ; CHECK-LABEL: name: skip_waitcnt_expcnt38 ; 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 $exec42 ; CHECK-NEXT: {{ $}}43 ; CHECK-NEXT: bb.1:44 ; CHECK-NEXT: successors: %bb.2(0x80000000)45 ; CHECK-NEXT: {{ $}}46 ; CHECK-NEXT: V_NOP_e32 implicit $exec47 ; CHECK-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 048 ; CHECK-NEXT: {{ $}}49 ; CHECK-NEXT: bb.2:50 ; CHECK-NEXT: S_ENDPGM 051 bb.0:52 successors: %bb.1, %bb.253 S_CBRANCH_EXECZ %bb.2, implicit $exec54 55 bb.1:56 successors: %bb.257 V_NOP_e32 implicit $exec58 S_WAITCNT_EXPCNT $sgpr_null, 059 60 bb.2:61 S_ENDPGM 062...63 64---65name: skip_waitcnt_vmcnt66body: |67 ; CHECK-LABEL: name: skip_waitcnt_vmcnt68 ; 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 $exec72 ; CHECK-NEXT: {{ $}}73 ; CHECK-NEXT: bb.1:74 ; CHECK-NEXT: successors: %bb.2(0x80000000)75 ; CHECK-NEXT: {{ $}}76 ; CHECK-NEXT: V_NOP_e32 implicit $exec77 ; CHECK-NEXT: S_WAITCNT_VMCNT $sgpr_null, 078 ; CHECK-NEXT: {{ $}}79 ; CHECK-NEXT: bb.2:80 ; CHECK-NEXT: S_ENDPGM 081 bb.0:82 successors: %bb.1, %bb.283 S_CBRANCH_EXECZ %bb.2, implicit $exec84 85 bb.1:86 successors: %bb.287 V_NOP_e32 implicit $exec88 S_WAITCNT_VMCNT $sgpr_null, 089 90 bb.2:91 S_ENDPGM 092...93 94---95name: skip_waitcnt_lgkmcnt96body: |97 ; CHECK-LABEL: name: skip_waitcnt_lgkmcnt98 ; 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 $exec102 ; CHECK-NEXT: {{ $}}103 ; CHECK-NEXT: bb.1:104 ; CHECK-NEXT: successors: %bb.2(0x80000000)105 ; CHECK-NEXT: {{ $}}106 ; CHECK-NEXT: V_NOP_e32 implicit $exec107 ; CHECK-NEXT: S_WAITCNT_LGKMCNT $sgpr_null, 0108 ; CHECK-NEXT: {{ $}}109 ; CHECK-NEXT: bb.2:110 ; CHECK-NEXT: S_ENDPGM 0111 bb.0:112 successors: %bb.1, %bb.2113 S_CBRANCH_EXECZ %bb.2, implicit $exec114 115 bb.1:116 successors: %bb.2117 V_NOP_e32 implicit $exec118 S_WAITCNT_LGKMCNT $sgpr_null, 0119 120 bb.2:121 S_ENDPGM 0122...123 124---125name: skip_wait_idle126body: |127 ; CHECK-LABEL: name: skip_wait_idle128 ; 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 $exec132 ; CHECK-NEXT: {{ $}}133 ; CHECK-NEXT: bb.1:134 ; CHECK-NEXT: successors: %bb.2(0x80000000)135 ; CHECK-NEXT: {{ $}}136 ; CHECK-NEXT: V_NOP_e32 implicit $exec137 ; CHECK-NEXT: S_WAIT_IDLE138 ; CHECK-NEXT: {{ $}}139 ; CHECK-NEXT: bb.2:140 ; CHECK-NEXT: S_ENDPGM 0141 bb.0:142 successors: %bb.1, %bb.2143 S_CBRANCH_EXECZ %bb.2, implicit $exec144 145 bb.1:146 successors: %bb.2147 V_NOP_e32 implicit $exec148 S_WAIT_IDLE149 150 bb.2:151 S_ENDPGM 0152...153 154---155name: skip_bvh156body: |157 ; CHECK-LABEL: name: skip_bvh158 ; 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 $exec162 ; CHECK-NEXT: {{ $}}163 ; CHECK-NEXT: bb.1:164 ; CHECK-NEXT: successors: %bb.2(0x80000000)165 ; CHECK-NEXT: {{ $}}166 ; CHECK-NEXT: V_NOP_e32 implicit $exec167 ; CHECK-NEXT: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14 = IMPLICIT_DEF168 ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF169 ; 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 0173 bb.0:174 successors: %bb.1, %bb.2175 S_CBRANCH_EXECZ %bb.2, implicit $exec176 177 bb.1:178 successors: %bb.2179 V_NOP_e32 implicit $exec180 $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14 = IMPLICIT_DEF181 $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF182 $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)183 184 bb.2:185 S_ENDPGM 0186...187 188---189name: skip_barrier190body: |191 ; CHECK-LABEL: name: skip_barrier192 ; 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 $exec196 ; CHECK-NEXT: {{ $}}197 ; CHECK-NEXT: bb.1:198 ; CHECK-NEXT: successors: %bb.2(0x80000000)199 ; CHECK-NEXT: {{ $}}200 ; CHECK-NEXT: V_NOP_e32 implicit $exec201 ; CHECK-NEXT: S_BARRIER202 ; CHECK-NEXT: {{ $}}203 ; CHECK-NEXT: bb.2:204 ; CHECK-NEXT: S_ENDPGM 0205 bb.0:206 successors: %bb.1, %bb.2207 S_CBRANCH_EXECZ %bb.2, implicit $exec208 209 bb.1:210 successors: %bb.2211 V_NOP_e32 implicit $exec212 S_BARRIER213 214 bb.2:215 S_ENDPGM 0216...217