# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=liveintervals,amdgpu-pre-ra-optimizations %s -o - | FileCheck -check-prefix=GCN %s --- # GCN-LABEL: name: combine_sreg64_inits # GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593 # GCN: S_NOP 0 name: combine_sreg64_inits tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1 S_NOP 0 %0.sub1:sgpr_64 = S_MOV_B32 2 ... --- # GCN-LABEL: name: combine_sreg64_inits_swap # GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593 # GCN: S_NOP 0 name: combine_sreg64_inits_swap tracksRegLiveness: true body: | bb.0: undef %0.sub1:sgpr_64 = S_MOV_B32 2 S_NOP 0 %0.sub0:sgpr_64 = S_MOV_B32 1 ... --- # GCN-LABEL: name: sreg64_inits_different_blocks # GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 # GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 name: sreg64_inits_different_blocks tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1 bb.1: %0.sub1:sgpr_64 = S_MOV_B32 2 ... --- # GCN-LABEL: name: sreg64_inits_two_defs_sub1 # GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 # GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 # GCN: %0.sub1:sgpr_64 = S_MOV_B32 3 name: sreg64_inits_two_defs_sub1 tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1 %0.sub1:sgpr_64 = S_MOV_B32 2 %0.sub1:sgpr_64 = S_MOV_B32 3 ... --- # GCN-LABEL: name: sreg64_inits_two_defs_sub0 # GCN: undef %0.sub0:sgpr_64 = S_MOV_B32 1 # GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 # GCN: %0.sub0:sgpr_64 = S_MOV_B32 3 name: sreg64_inits_two_defs_sub0 tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1 %0.sub1:sgpr_64 = S_MOV_B32 2 %0.sub0:sgpr_64 = S_MOV_B32 3 ... --- # GCN-LABEL: name: sreg64_inits_full_def # GCN: undef %1.sub0:sgpr_64 = S_MOV_B32 1 # GCN: %0:sgpr_64 = S_MOV_B64 3 name: sreg64_inits_full_def tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1 %0:sgpr_64 = S_MOV_B64 3 ... --- # GCN-LABEL: name: sreg64_inits_imp_use # GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0 # GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 name: sreg64_inits_imp_use tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0 %0.sub1:sgpr_64 = S_MOV_B32 2 ... --- # GCN-LABEL: name: sreg64_inits_imp_def # GCN: %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc # GCN: %0.sub1:sgpr_64 = S_MOV_B32 2 name: sreg64_inits_imp_def tracksRegLiveness: true body: | bb.0: undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc %0.sub1:sgpr_64 = S_MOV_B32 2 ...