44 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52 3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=liveintervals,virtregmap,si-lower-wwm-copies -o - %s | FileCheck %s4# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -passes="require<live-intervals>,require<virtregmap>,si-lower-wwm-copies" -o - %s | FileCheck %s5 6# Check for two cases of $scc being live and dead.7---8name: lower-wwm-copies9registers:10 - { id: 1, class: vgpr_32, flags: [ WWM_REG ]}11machineFunctionInfo:12 sgprForEXECCopy: '$sgpr2_sgpr3'13tracksRegLiveness: true14body: |15 ; CHECK-LABEL: name: lower-wwm-copies16 ; CHECK: bb.0:17 ; CHECK-NEXT: successors: %bb.1(0x80000000)18 ; CHECK-NEXT: liveins: $vgpr0, $scc19 ; CHECK-NEXT: {{ $}}20 ; CHECK-NEXT: $sgpr0 = IMPLICIT_DEF21 ; CHECK-NEXT: S_CMP_EQ_U32 $sgpr0, 0, implicit-def $scc22 ; CHECK-NEXT: $sgpr2_sgpr3 = S_MOV_B64 killed $exec23 ; CHECK-NEXT: $exec = S_MOV_B64 -124 ; CHECK-NEXT: $vgpr1 = COPY $vgpr025 ; CHECK-NEXT: $exec = S_MOV_B64 killed $sgpr2_sgpr326 ; CHECK-NEXT: S_CBRANCH_SCC1 %bb.1, implicit $scc27 ; CHECK-NEXT: {{ $}}28 ; CHECK-NEXT: bb.1:29 ; CHECK-NEXT: liveins: $vgpr130 ; CHECK-NEXT: {{ $}}31 ; CHECK-NEXT: $sgpr2_sgpr3 = S_OR_SAVEEXEC_B64 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec32 ; CHECK-NEXT: $vgpr2 = COPY $vgpr133 ; CHECK-NEXT: $exec = S_MOV_B64 killed $sgpr2_sgpr334 bb.0:35 liveins: $vgpr0, $scc36 $sgpr0 = IMPLICIT_DEF37 S_CMP_EQ_U32 $sgpr0, 0, implicit-def $scc38 $vgpr1 = WWM_COPY $vgpr039 S_CBRANCH_SCC1 %bb.1, implicit killed $scc40 41 bb.1:42 liveins: $vgpr143 $vgpr2 = WWM_COPY $vgpr144