1# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=liveintervals,amdgpu-pre-ra-optimizations %s -o - | FileCheck -check-prefix=GCN %s 2 3--- 4# GCN-LABEL: name: combine_sreg64_inits 5# GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593 6# GCN: S_NOP 0 7name: combine_sreg64_inits 8tracksRegLiveness: true 9body: | 10 bb.0: 11 undef %0.sub0:sgpr_64 = S_MOV_B32 1 12 S_NOP 0 13 %0.sub1:sgpr_64 = S_MOV_B32 2 14... 15--- 16# GCN-LABEL: name: combine_sreg64_inits_swap 17# GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593 18# GCN: S_NOP 0 19name: combine_sreg64_inits_swap 20tracksRegLiveness: true 21body: | 22 bb.0: 23 undef %0.sub1:sgpr_64 = S_MOV_B32 2 24 S_NOP 0 25 %0.sub0:sgpr_64 = S_MOV_B32 1 26... 27--- 28# GCN-LABEL: name: sreg64_inits_different_blocks 29# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 30# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 31name: sreg64_inits_different_blocks 32tracksRegLiveness: true 33body: | 34 bb.0: 35 undef %0.sub0:sgpr_64 = S_MOV_B32 1 36 37 bb.1: 38 %0.sub1:sgpr_64 = S_MOV_B32 2 39... 40--- 41# GCN-LABEL: name: sreg64_inits_two_defs_sub1 42# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 43# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 44# GCN: %0.sub1:sgpr_64 = S_MOV_B32 3 45name: sreg64_inits_two_defs_sub1 46tracksRegLiveness: true 47body: | 48 bb.0: 49 undef %0.sub0:sgpr_64 = S_MOV_B32 1 50 %0.sub1:sgpr_64 = S_MOV_B32 2 51 %0.sub1:sgpr_64 = S_MOV_B32 3 52... 53--- 54# GCN-LABEL: name: sreg64_inits_two_defs_sub0 55# GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 56# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 57# GCN: %0.sub0:sgpr_64 = S_MOV_B32 3 58name: sreg64_inits_two_defs_sub0 59tracksRegLiveness: true 60body: | 61 bb.0: 62 undef %0.sub0:sgpr_64 = S_MOV_B32 1 63 %0.sub1:sgpr_64 = S_MOV_B32 2 64 %0.sub0:sgpr_64 = S_MOV_B32 3 65... 66--- 67# GCN-LABEL: name: sreg64_inits_full_def 68# GCN: undef %1.sub0:sgpr_64 = S_MOV_B32 1 69# GCN: %0:sgpr_64 = S_MOV_B64 3 70name: sreg64_inits_full_def 71tracksRegLiveness: true 72body: | 73 bb.0: 74 undef %0.sub0:sgpr_64 = S_MOV_B32 1 75 %0:sgpr_64 = S_MOV_B64 3 76... 77--- 78# GCN-LABEL: name: sreg64_inits_imp_use 79# GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0 80# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 81name: sreg64_inits_imp_use 82tracksRegLiveness: true 83body: | 84 bb.0: 85 undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0 86 %0.sub1:sgpr_64 = S_MOV_B32 2 87... 88--- 89# GCN-LABEL: name: sreg64_inits_imp_def 90# GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc 91# GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 92name: sreg64_inits_imp_def 93tracksRegLiveness: true 94body: | 95 bb.0: 96 undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc 97 %0.sub1:sgpr_64 = S_MOV_B32 2 98... 99