1 # RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=liveintervals,amdgpu-pre-ra-optimizations %s -o - | FileCheck -check-prefix=GCN %s
4 # GCN-LABEL: name: combine_sreg64_inits
5 # GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593
7 name: combine_sreg64_inits
8 tracksRegLiveness: true
11 undef %0.sub0:sgpr_64 = S_MOV_B32 1
13 %0.sub1:sgpr_64 = S_MOV_B32 2
16 # GCN-LABEL: name: combine_sreg64_inits_swap
17 # GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593
19 name: combine_sreg64_inits_swap
20 tracksRegLiveness: true
23 undef %0.sub1:sgpr_64 = S_MOV_B32 2
25 %0.sub0:sgpr_64 = S_MOV_B32 1
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
31 name: sreg64_inits_different_blocks
32 tracksRegLiveness: true
35 undef %0.sub0:sgpr_64 = S_MOV_B32 1
38 %0.sub1:sgpr_64 = S_MOV_B32 2
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
45 name: sreg64_inits_two_defs_sub1
46 tracksRegLiveness: true
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
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
58 name: sreg64_inits_two_defs_sub0
59 tracksRegLiveness: true
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
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
70 name: sreg64_inits_full_def
71 tracksRegLiveness: true
74 undef %0.sub0:sgpr_64 = S_MOV_B32 1
75 %0:sgpr_64 = S_MOV_B64 3
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
81 name: sreg64_inits_imp_use
82 tracksRegLiveness: true
85 undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit $m0
86 %0.sub1:sgpr_64 = S_MOV_B32 2
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
92 name: sreg64_inits_imp_def
93 tracksRegLiveness: true
96 undef %0.sub0:sgpr_64 = S_MOV_B32 1, implicit-def $scc
97 %0.sub1:sgpr_64 = S_MOV_B32 2