550 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass=post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN %s3 4---5name: ds_atomic_async_barrier_arrive_b646tracksRegLiveness: true7body: |8 bb.0:9 liveins: $vgpr0, $vgpr110 ; GCN-LABEL: name: ds_atomic_async_barrier_arrive_b6411 ; GCN: liveins: $vgpr0, $vgpr112 ; GCN-NEXT: {{ $}}13 ; GCN-NEXT: S_WAITCNT_DEPCTR 6550714 ; GCN-NEXT: DS_ATOMIC_ASYNC_BARRIER_ARRIVE_B64 $vgpr1, 0, 0, implicit-def $asynccnt, implicit $asynccnt, implicit $exec15 ; GCN-NEXT: S_WAITCNT_DEPCTR 6550716 DS_ATOMIC_ASYNC_BARRIER_ARRIVE_B64 $vgpr1, 0, 0, implicit-def $asynccnt, implicit $asynccnt, implicit $exec17...18 19---20name: write_s102_read_flat_scr_base_lo21tracksRegLiveness: true22body: |23 bb.0:24 liveins: $vgpr025 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo26 ; GCN: liveins: $vgpr027 ; GCN-NEXT: {{ $}}28 ; GCN-NEXT: $sgpr102 = S_MOV_B32 029 ; GCN-NEXT: S_WAITCNT_DEPCTR 6185430 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec31 $sgpr102 = S_MOV_B32 032 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec33...34 35---36name: write_s103_read_flat_scr_base_hi37tracksRegLiveness: true38body: |39 bb.0:40 liveins: $vgpr041 ; GCN-LABEL: name: write_s103_read_flat_scr_base_hi42 ; GCN: liveins: $vgpr043 ; GCN-NEXT: {{ $}}44 ; GCN-NEXT: $sgpr103 = S_MOV_B32 045 ; GCN-NEXT: S_WAITCNT_DEPCTR 6185446 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec47 $sgpr103 = S_MOV_B32 048 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec49...50 51---52name: write_s102_read_flat_scr_base53tracksRegLiveness: true54body: |55 bb.0:56 ; GCN-LABEL: name: write_s102_read_flat_scr_base57 ; GCN: $sgpr102 = S_MOV_B32 058 ; GCN-NEXT: S_WAITCNT_DEPCTR 6185459 ; GCN-NEXT: $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base60 $sgpr102 = S_MOV_B32 061 $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base62...63 64---65name: write_s103_read_flat_scr_base66tracksRegLiveness: true67body: |68 bb.0:69 ; GCN-LABEL: name: write_s103_read_flat_scr_base70 ; GCN: $sgpr103 = S_MOV_B32 071 ; GCN-NEXT: S_WAITCNT_DEPCTR 6185472 ; GCN-NEXT: $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base73 $sgpr103 = S_MOV_B32 074 $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base75...76 77---78name: write_s102_s103_read_flat_scr_base79tracksRegLiveness: true80body: |81 bb.0:82 ; GCN-LABEL: name: write_s102_s103_read_flat_scr_base83 ; GCN: $sgpr102_sgpr103 = S_MOV_B64 084 ; GCN-NEXT: S_WAITCNT_DEPCTR 6185485 ; GCN-NEXT: $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base86 $sgpr102_sgpr103 = S_MOV_B64 087 $sgpr0_sgpr1 = S_MOV_B64 $src_flat_scratch_base88...89 90---91name: write_s102_getreg_flat_scr_base_lo92tracksRegLiveness: true93body: |94 bb.0:95 liveins: $vgpr096 ; GCN-LABEL: name: write_s102_getreg_flat_scr_base_lo97 ; GCN: liveins: $vgpr098 ; GCN-NEXT: {{ $}}99 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0100 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854101 ; GCN-NEXT: $sgpr1 = S_GETREG_B32 20, implicit $mode102 $sgpr102 = S_MOV_B32 0103 $sgpr1 = S_GETREG_B32 20, implicit $mode104...105 106---107name: write_s103_getreg_flat_scr_base_hi108tracksRegLiveness: true109body: |110 bb.0:111 liveins: $vgpr0112 ; GCN-LABEL: name: write_s103_getreg_flat_scr_base_hi113 ; GCN: liveins: $vgpr0114 ; GCN-NEXT: {{ $}}115 ; GCN-NEXT: $sgpr103 = S_MOV_B32 0116 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854117 ; GCN-NEXT: $sgpr1 = S_GETREG_B32 21, implicit $mode118 $sgpr103 = S_MOV_B32 0119 $sgpr1 = S_GETREG_B32 21, implicit $mode120...121 122---123name: write_s102_s103_getreg_flat_scr_base_hi124tracksRegLiveness: true125body: |126 bb.0:127 ; GCN-LABEL: name: write_s102_s103_getreg_flat_scr_base_hi128 ; GCN: $sgpr102_sgpr103 = S_MOV_B64 0129 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854130 ; GCN-NEXT: $sgpr1 = S_GETREG_B32 21, implicit $mode131 $sgpr102_sgpr103 = S_MOV_B64 0132 $sgpr1 = S_GETREG_B32 21, implicit $mode133...134 135---136name: write_s102_read_flat_scr_base_lo_9_salu_valu137tracksRegLiveness: true138body: |139 bb.0:140 liveins: $vgpr0141 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_9_salu_valu142 ; GCN: liveins: $vgpr0143 ; GCN-NEXT: {{ $}}144 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0145 ; GCN-NEXT: $sgpr0 = S_MOV_B32 0146 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0147 ; GCN-NEXT: $sgpr2_sgpr3 = S_MOV_B64 0148 ; GCN-NEXT: $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec149 ; GCN-NEXT: $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc_lo, implicit $vcc_lo, implicit $exec150 ; GCN-NEXT: S_NOP 0151 ; GCN-NEXT: $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec152 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0153 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0154 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0155 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0156 ; GCN-NEXT: $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0157 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854158 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec159 $sgpr102 = S_MOV_B32 0160 $sgpr0 = S_MOV_B32 0161 $sgpr1 = S_MOV_B32 0162 $sgpr2_sgpr3 = S_MOV_B64 0163 $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec164 $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec165 ; NOP does not count because it does not write SGPRs166 S_NOP 0167 ; DS_READ_B32 does not count because it is not SALU or VALU168 $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec169 $sgpr4 = S_MOV_B32 0170 $sgpr5 = S_MOV_B32 0171 $sgpr6 = S_MOV_B32 0172 $sgpr7 = S_MOV_B32 0173 ; S_LOAD_DWORDX2_IMM does not count because it is not SALU174 $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0175 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec176...177 178---179name: write_s102_read_flat_scr_base_lo_10_salu_valu_expired180tracksRegLiveness: true181body: |182 bb.0:183 liveins: $vgpr0184 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_10_salu_valu_expired185 ; GCN: liveins: $vgpr0186 ; GCN-NEXT: {{ $}}187 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0188 ; GCN-NEXT: $sgpr0 = S_MOV_B32 0189 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0190 ; GCN-NEXT: $sgpr2_sgpr3 = S_MOV_B64 0191 ; GCN-NEXT: $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec192 ; GCN-NEXT: $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc_lo, implicit $vcc_lo, implicit $exec193 ; GCN-NEXT: S_NOP 0194 ; GCN-NEXT: $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec195 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0196 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0197 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0198 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0199 ; GCN-NEXT: $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0200 ; GCN-NEXT: $sgpr10 = S_MOV_B32 0201 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec202 $sgpr102 = S_MOV_B32 0203 $sgpr0 = S_MOV_B32 0204 $sgpr1 = S_MOV_B32 0205 $sgpr2_sgpr3 = S_MOV_B64 0206 $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec207 $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec208 ; NOP does not count because it does not write SGPRs209 S_NOP 0210 ; DS_READ_B32 does not count because it is not SALU or VALU211 $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec212 $sgpr4 = S_MOV_B32 0213 $sgpr5 = S_MOV_B32 0214 $sgpr6 = S_MOV_B32 0215 $sgpr7 = S_MOV_B32 0216 ; S_LOAD_DWORDX2_IMM does not count because it is not SALU217 $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0218 $sgpr10 = S_MOV_B32 0219 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec220...221 222---223name: write_s103_read_flat_scr_base_hi_9_salu_valu224tracksRegLiveness: true225body: |226 bb.0:227 liveins: $vgpr0228 ; GCN-LABEL: name: write_s103_read_flat_scr_base_hi_9_salu_valu229 ; GCN: liveins: $vgpr0230 ; GCN-NEXT: {{ $}}231 ; GCN-NEXT: $sgpr103 = S_MOV_B32 0232 ; GCN-NEXT: $sgpr0 = S_MOV_B32 0233 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0234 ; GCN-NEXT: $sgpr2_sgpr3 = S_MOV_B64 0235 ; GCN-NEXT: $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec236 ; GCN-NEXT: $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc_lo, implicit $vcc_lo, implicit $exec237 ; GCN-NEXT: S_NOP 0238 ; GCN-NEXT: $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec239 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0240 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0241 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0242 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0243 ; GCN-NEXT: $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0244 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854245 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec246 $sgpr103 = S_MOV_B32 0247 $sgpr0 = S_MOV_B32 0248 $sgpr1 = S_MOV_B32 0249 $sgpr2_sgpr3 = S_MOV_B64 0250 $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec251 $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec252 ; NOP does not count because it does not write SGPRs253 S_NOP 0254 ; DS_READ_B32 does not count because it is not SALU or VALU255 $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec256 $sgpr4 = S_MOV_B32 0257 $sgpr5 = S_MOV_B32 0258 $sgpr6 = S_MOV_B32 0259 $sgpr7 = S_MOV_B32 0260 ; S_LOAD_DWORDX2_IMM does not count because it is not SALU261 $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0262 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec263...264 265---266name: write_s103_read_flat_scr_base_hi_10_salu_valu_expired267tracksRegLiveness: true268body: |269 bb.0:270 liveins: $vgpr0271 ; GCN-LABEL: name: write_s103_read_flat_scr_base_hi_10_salu_valu_expired272 ; GCN: liveins: $vgpr0273 ; GCN-NEXT: {{ $}}274 ; GCN-NEXT: $sgpr103 = S_MOV_B32 0275 ; GCN-NEXT: $sgpr0 = S_MOV_B32 0276 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0277 ; GCN-NEXT: $sgpr2_sgpr3 = S_MOV_B64 0278 ; GCN-NEXT: $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec279 ; GCN-NEXT: $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc_lo, implicit $vcc_lo, implicit $exec280 ; GCN-NEXT: S_NOP 0281 ; GCN-NEXT: $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec282 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0283 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0284 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0285 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0286 ; GCN-NEXT: $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0287 ; GCN-NEXT: $sgpr10 = S_MOV_B32 0288 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec289 $sgpr103 = S_MOV_B32 0290 $sgpr0 = S_MOV_B32 0291 $sgpr1 = S_MOV_B32 0292 $sgpr2_sgpr3 = S_MOV_B64 0293 $vgpr1, $vcc_lo = V_ADDC_U32_e64 0, $vgpr0, $sgpr0, 0, implicit $exec294 $vgpr2 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec295 ; NOP does not count because it does not write SGPRs296 S_NOP 0297 ; DS_READ_B32 does not count because it is not SALU or VALU298 $vgpr3 = DS_READ_B32 $vgpr0, 0, 0, implicit $m0, implicit $exec299 $sgpr4 = S_MOV_B32 0300 $sgpr5 = S_MOV_B32 0301 $sgpr6 = S_MOV_B32 0302 $sgpr7 = S_MOV_B32 0303 ; S_LOAD_DWORDX2_IMM does not count because it is not SALU304 $sgpr8_sgpr9 = S_LOAD_DWORDX2_IMM renamable $sgpr4_sgpr5, 0, 0305 $sgpr10 = S_MOV_B32 0306 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec307...308 309---310name: write_s102_read_flat_scr_base_hi_no_hazard311tracksRegLiveness: true312body: |313 bb.0:314 liveins: $vgpr0315 ; GCN-LABEL: name: write_s102_read_flat_scr_base_hi_no_hazard316 ; GCN: liveins: $vgpr0317 ; GCN-NEXT: {{ $}}318 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0319 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec320 $sgpr102 = S_MOV_B32 0321 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec322...323 324---325name: write_s102_read_flat_scr_base_lo_expired_by_wait0326tracksRegLiveness: true327body: |328 bb.0:329 liveins: $vgpr0330 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_expired_by_wait0331 ; GCN: liveins: $vgpr0332 ; GCN-NEXT: {{ $}}333 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0334 ; GCN-NEXT: S_WAITCNT_DEPCTR 0335 ; GCN-NEXT: S_NOP 0336 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec337 $sgpr102 = S_MOV_B32 0338 S_WAITCNT_DEPCTR 0339 S_NOP 0340 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec341...342 343---344name: write_s102_read_flat_scr_base_lo_expired_by_wait_vs_sdst_sa_sdst345tracksRegLiveness: true346body: |347 bb.0:348 liveins: $vgpr0349 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_expired_by_wait_vs_sdst_sa_sdst350 ; GCN: liveins: $vgpr0351 ; GCN-NEXT: {{ $}}352 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0353 ; GCN-NEXT: S_WAITCNT_DEPCTR 61950354 ; GCN-NEXT: S_NOP 0355 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec356 $sgpr102 = S_MOV_B32 0357 S_WAITCNT_DEPCTR 61950358 S_NOP 0359 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec360...361 362---363name: write_s102_read_flat_scr_base_lo_not_expired_by_wait_va_sdst_only364tracksRegLiveness: true365body: |366 bb.0:367 liveins: $vgpr0368 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_not_expired_by_wait_va_sdst_only369 ; GCN: liveins: $vgpr0370 ; GCN-NEXT: {{ $}}371 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0372 ; GCN-NEXT: S_WAITCNT_DEPCTR 61951373 ; GCN-NEXT: S_NOP 0374 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854375 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec376 $sgpr102 = S_MOV_B32 0377 S_WAITCNT_DEPCTR 61951378 S_NOP 0379 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec380...381 382---383name: write_s102_read_flat_scr_base_lo_not_expired_by_wait_sa_sdst_only384tracksRegLiveness: true385body: |386 bb.0:387 liveins: $vgpr0388 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_not_expired_by_wait_sa_sdst_only389 ; GCN: liveins: $vgpr0390 ; GCN-NEXT: {{ $}}391 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0392 ; GCN-NEXT: S_WAITCNT_DEPCTR 65534393 ; GCN-NEXT: S_NOP 0394 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854395 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec396 $sgpr102 = S_MOV_B32 0397 S_WAITCNT_DEPCTR 65534398 S_NOP 0399 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec400...401 402---403name: write_s102_write_s103_read_flat_scr_base_lo_read_flat_scr_base_hi404tracksRegLiveness: true405body: |406 bb.0:407 liveins: $vgpr0408 ; GCN-LABEL: name: write_s102_write_s103_read_flat_scr_base_lo_read_flat_scr_base_hi409 ; GCN: liveins: $vgpr0410 ; GCN-NEXT: {{ $}}411 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0412 ; GCN-NEXT: $sgpr103 = S_MOV_B32 0413 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854414 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec415 ; GCN-NEXT: $vgpr1 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec416 $sgpr102 = S_MOV_B32 0417 $sgpr103 = S_MOV_B32 0418 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec419 $vgpr1 = V_ADD_U32_e32 $src_flat_scratch_base_hi, $vgpr0, implicit $exec420...421 422---423name: write_s102_read_flat_scr_base_lo_cross_blocks424tracksRegLiveness: true425body: |426 ; GCN-LABEL: name: write_s102_read_flat_scr_base_lo_cross_blocks427 ; GCN: bb.0:428 ; GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)429 ; GCN-NEXT: liveins: $vgpr0, $sgpr0430 ; GCN-NEXT: {{ $}}431 ; GCN-NEXT: $sgpr102 = S_ADD_U32 $sgpr0, 0, implicit-def $scc432 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0433 ; GCN-NEXT: $sgpr2 = S_MOV_B32 0434 ; GCN-NEXT: $sgpr3 = S_MOV_B32 0435 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0436 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0437 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0438 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0439 ; GCN-NEXT: $sgpr8 = S_MOV_B32 0440 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc441 ; GCN-NEXT: S_BRANCH %bb.1442 ; GCN-NEXT: {{ $}}443 ; GCN-NEXT: bb.1:444 ; GCN-NEXT: successors: %bb.2(0x80000000)445 ; GCN-NEXT: liveins: $vgpr0446 ; GCN-NEXT: {{ $}}447 ; GCN-NEXT: $sgpr102 = S_MOV_B32 0448 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0449 ; GCN-NEXT: $sgpr2 = S_MOV_B32 0450 ; GCN-NEXT: $sgpr3 = S_MOV_B32 0451 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0452 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0453 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0454 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0455 ; GCN-NEXT: $sgpr8 = S_MOV_B32 0456 ; GCN-NEXT: $sgpr9 = S_MOV_B32 0457 ; GCN-NEXT: S_BRANCH %bb.2458 ; GCN-NEXT: {{ $}}459 ; GCN-NEXT: bb.2:460 ; GCN-NEXT: liveins: $vgpr0461 ; GCN-NEXT: {{ $}}462 ; GCN-NEXT: S_WAITCNT_DEPCTR 61854463 ; GCN-NEXT: $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec464 bb.0:465 liveins: $vgpr0, $sgpr0466 $sgpr102 = S_ADD_U32 $sgpr0, 0, implicit-def $scc467 $sgpr1 = S_MOV_B32 0468 $sgpr2 = S_MOV_B32 0469 $sgpr3 = S_MOV_B32 0470 $sgpr4 = S_MOV_B32 0471 $sgpr5 = S_MOV_B32 0472 $sgpr6 = S_MOV_B32 0473 $sgpr7 = S_MOV_B32 0474 $sgpr8 = S_MOV_B32 0475 S_CBRANCH_SCC0 %bb.2, implicit $scc476 S_BRANCH %bb.1477 478 bb.1:479 liveins: $vgpr0480 $sgpr102 = S_MOV_B32 0481 $sgpr1 = S_MOV_B32 0482 $sgpr2 = S_MOV_B32 0483 $sgpr3 = S_MOV_B32 0484 $sgpr4 = S_MOV_B32 0485 $sgpr5 = S_MOV_B32 0486 $sgpr6 = S_MOV_B32 0487 $sgpr7 = S_MOV_B32 0488 $sgpr8 = S_MOV_B32 0489 $sgpr9 = S_MOV_B32 0490 S_BRANCH %bb.2491 492 bb.2:493 liveins: $vgpr0494 $vgpr0 = V_ADD_U32_e32 $src_flat_scratch_base_lo, $vgpr0, implicit $exec495...496 497---498name: s_setreg_b32_hwreg_mode499tracksRegLiveness: true500body: |501 bb.0:502 liveins: $sgpr0503 ; GCN-LABEL: name: s_setreg_b32_hwreg_mode504 ; GCN: liveins: $sgpr0505 ; GCN-NEXT: {{ $}}506 ; GCN-NEXT: V_NOP_e32 implicit $exec507 ; GCN-NEXT: V_NOP_e32 implicit $exec508 ; GCN-NEXT: S_SETREG_B32 $sgpr0, 1, implicit-def $mode, implicit $mode509 S_SETREG_B32 $sgpr0, 1, implicit-def $mode, implicit $mode510...511 512---513name: s_setreg_b32_mode514tracksRegLiveness: true515body: |516 bb.0:517 liveins: $sgpr0518 ; GCN-LABEL: name: s_setreg_b32_mode519 ; GCN: liveins: $sgpr0520 ; GCN-NEXT: {{ $}}521 ; GCN-NEXT: V_NOP_e32 implicit $exec522 ; GCN-NEXT: V_NOP_e32 implicit $exec523 ; GCN-NEXT: S_SETREG_B32_mode $sgpr0, 1, implicit-def $mode, implicit $mode524 S_SETREG_B32_mode $sgpr0, 1, implicit-def $mode, implicit $mode525...526 527---528name: s_setreg_imm32_b32_hwreg_mode529tracksRegLiveness: true530body: |531 bb.0:532 ; GCN-LABEL: name: s_setreg_imm32_b32_hwreg_mode533 ; GCN: V_NOP_e32 implicit $exec534 ; GCN-NEXT: V_NOP_e32 implicit $exec535 ; GCN-NEXT: S_SETREG_IMM32_B32 1, 1, implicit-def $mode, implicit $mode536 S_SETREG_IMM32_B32 1, 1, implicit-def $mode, implicit $mode537...538 539---540name: s_setreg_imm32_b32_mode541tracksRegLiveness: true542body: |543 bb.0:544 ; GCN-LABEL: name: s_setreg_imm32_b32_mode545 ; GCN: V_NOP_e32 implicit $exec546 ; GCN-NEXT: V_NOP_e32 implicit $exec547 ; GCN-NEXT: S_SETREG_IMM32_B32_mode 1, 1, implicit-def $mode, implicit $mode548 S_SETREG_IMM32_B32_mode 1, 1, implicit-def $mode, implicit $mode549...550