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