brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.6 KiB · 0aea3af Raw
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