[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / combine-sreg64-inits.mir
blob5f49f6d4ea8fc6c84fbf7b902c1f93d52181a6c1
1 # RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=liveintervals,amdgpu-pre-ra-optimizations %s -o - | FileCheck -check-prefix=GCN %s
3 ---
4 # GCN-LABEL: name: combine_sreg64_inits
5 # GCN: %0:sgpr_64 = S_MOV_B64_IMM_PSEUDO 8589934593
6 # GCN: S_NOP 0
7 name:            combine_sreg64_inits
8 tracksRegLiveness: true
9 body:             |
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
19 name:            combine_sreg64_inits_swap
20 tracksRegLiveness: true
21 body:             |
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
31 name:            sreg64_inits_different_blocks
32 tracksRegLiveness: true
33 body:             |
34   bb.0:
35     undef %0.sub0:sgpr_64 = S_MOV_B32 1
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
45 name:            sreg64_inits_two_defs_sub1
46 tracksRegLiveness: true
47 body:             |
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
58 name:            sreg64_inits_two_defs_sub0
59 tracksRegLiveness: true
60 body:             |
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
70 name:            sreg64_inits_full_def
71 tracksRegLiveness: true
72 body:             |
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
81 name:            sreg64_inits_imp_use
82 tracksRegLiveness: true
83 body:             |
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
92 name:            sreg64_inits_imp_def
93 tracksRegLiveness: true
94 body:             |
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 ...