1 # RUN: llc -march=amdgcn -amdgpu-enable-merge-m0 -verify-machineinstrs -run-pass si-fix-sgpr-copies %s -o - | FileCheck -check-prefix=GCN %s
5 # GCN-NEXT: DS_WRITE_B32
6 # GCN-NEXT: DS_WRITE_B32
7 # GCN-NEXT: SI_INIT_M0 65536
8 # GCN-NEXT: DS_WRITE_B32
9 # GCN-NEXT: DS_WRITE_B32
10 # GCN-NEXT: SI_INIT_M0 -1
11 # GCN-NEXT: DS_WRITE_B32
12 # GCN-NEXT: SI_INIT_M0 65536
13 # GCN-NEXT: DS_WRITE_B32
17 # GCN-NEXT: DS_WRITE_B32
18 # GCN-NEXT: DS_WRITE_B32
21 # GCN: SI_INIT_M0 65536
22 # GCN-NEXT: DS_WRITE_B32
30 # GCN-NEXT: SI_INIT_M0 4
31 # GCN-NEXT: DS_WRITE_B32
36 # GCN-NEXT: SI_INIT_M0 4
37 # GCN-NEXT: DS_WRITE_B32
41 # GCN-NEXT: DS_WRITE_B32
43 # GCN-NEXT: DS_WRITE_B32
44 # GCN-NEXT: SI_INIT_M0 %2
45 # GCN-NEXT: DS_WRITE_B32
46 # GCN-NEXT: SI_INIT_M0 -1
47 # GCN-NEXT: DS_WRITE_B32
52 exposesReturnsTwice: false
54 regBankSelected: false
56 tracksRegLiveness: true
58 - { id: 0, class: vgpr_32 }
59 - { id: 1, class: vgpr_32 }
60 - { id: 2, class: sreg_32_xm0 }
63 successors: %bb.1, %bb.2
67 SI_INIT_M0 -1, implicit-def $m0
68 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
69 SI_INIT_M0 -1, implicit-def $m0
70 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
71 SI_INIT_M0 65536, implicit-def $m0
72 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
73 SI_INIT_M0 65536, implicit-def $m0
74 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
75 SI_INIT_M0 -1, implicit-def $m0
76 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
77 SI_INIT_M0 65536, implicit-def $m0
78 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
79 S_CBRANCH_VCCZ %bb.1, implicit undef $vcc
84 SI_INIT_M0 -1, implicit-def $m0
85 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
86 SI_INIT_M0 -1, implicit-def $m0
87 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
92 SI_INIT_M0 65536, implicit-def $m0
93 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
97 successors: %bb.4, %bb.5
98 S_CBRANCH_VCCZ %bb.4, implicit undef $vcc
103 SI_INIT_M0 3, implicit-def $m0
104 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
105 SI_INIT_M0 4, implicit-def $m0
106 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
111 SI_INIT_M0 3, implicit-def $m0
112 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
113 SI_INIT_M0 4, implicit-def $m0
114 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
118 successors: %bb.0.entry, %bb.6
119 SI_INIT_M0 -1, implicit-def $m0
120 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
122 SI_INIT_M0 %2, implicit-def $m0
123 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
124 SI_INIT_M0 %2, implicit-def $m0
125 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
126 SI_INIT_M0 -1, implicit-def $m0
127 DS_WRITE_B32 %0, %1, 0, 0, implicit $m0, implicit $exec
128 S_CBRANCH_VCCZ %bb.6, implicit undef $vcc