@@ -110,81 +110,81 @@ define void @my_func(i32 %0) {
110
110
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
111
111
; GCN-NEXT: s_mov_b64 s[4:5], 0
112
112
; GCN-NEXT: s_load_dword s10, s[4:5], 0x0
113
- ; GCN-NEXT: s_mov_b64 s[6:7 ], -1
113
+ ; GCN-NEXT: s_mov_b64 s[8:9 ], -1
114
114
; GCN-NEXT: s_waitcnt lgkmcnt(0)
115
115
; GCN-NEXT: s_cmp_lt_i32 s10, 1
116
- ; GCN-NEXT: s_mov_b64 s[8:9 ], 0
116
+ ; GCN-NEXT: s_mov_b64 s[6:7 ], 0
117
117
; GCN-NEXT: s_cbranch_scc1 .LBB0_7
118
118
; GCN-NEXT: ; %bb.1: ; %LeafBlock1
119
119
; GCN-NEXT: s_cmp_lg_u32 s10, 1
120
- ; GCN-NEXT: s_cselect_b64 s[8:9 ], -1, 0
120
+ ; GCN-NEXT: s_cselect_b64 s[6:7 ], -1, 0
121
121
; GCN-NEXT: s_mov_b64 vcc, exec
122
122
; GCN-NEXT: s_cbranch_execz .LBB0_8
123
123
; GCN-NEXT: .LBB0_2: ; %Flow11
124
- ; GCN-NEXT: s_and_saveexec_b64 s[6:7 ], s[8:9 ]
124
+ ; GCN-NEXT: s_and_saveexec_b64 s[8:9 ], s[6:7 ]
125
125
; GCN-NEXT: .LBB0_3: ; %do.body
126
126
; GCN-NEXT: s_or_b64 s[4:5], s[4:5], exec
127
127
; GCN-NEXT: .LBB0_4: ; %Flow17
128
- ; GCN-NEXT: s_or_b64 exec, exec, s[6:7 ]
128
+ ; GCN-NEXT: s_or_b64 exec, exec, s[8:9 ]
129
129
; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[4:5]
130
130
; GCN-NEXT: ; %bb.5: ; %UnifiedUnreachableBlock
131
131
; GCN-NEXT: ; divergent unreachable
132
132
; GCN-NEXT: ; %bb.6: ; %UnifiedReturnBlock
133
133
; GCN-NEXT: s_or_b64 exec, exec, s[6:7]
134
134
; GCN-NEXT: s_setpc_b64 s[30:31]
135
135
; GCN-NEXT: .LBB0_7: ; %Flow
136
- ; GCN-NEXT: s_andn2_b64 vcc, exec, s[6:7 ]
136
+ ; GCN-NEXT: s_andn2_b64 vcc, exec, s[8:9 ]
137
137
; GCN-NEXT: s_cbranch_vccnz .LBB0_2
138
138
; GCN-NEXT: .LBB0_8: ; %LeafBlock
139
139
; GCN-NEXT: s_cmp_eq_u32 s10, 0
140
140
; GCN-NEXT: s_cbranch_scc1 .LBB0_10
141
141
; GCN-NEXT: ; %bb.9:
142
- ; GCN-NEXT: s_mov_b64 s[8:9 ], -1
143
- ; GCN-NEXT: s_and_saveexec_b64 s[6:7 ], s[8:9 ]
142
+ ; GCN-NEXT: s_mov_b64 s[6:7 ], -1
143
+ ; GCN-NEXT: s_and_saveexec_b64 s[8:9 ], s[6:7 ]
144
144
; GCN-NEXT: s_cbranch_execnz .LBB0_3
145
145
; GCN-NEXT: s_branch .LBB0_4
146
146
; GCN-NEXT: .LBB0_10: ; %NodeBlock7
147
147
; GCN-NEXT: v_cmp_lt_i32_e32 vcc, 1, v0
148
- ; GCN-NEXT: s_mov_b64 s[10:11], 0
149
148
; GCN-NEXT: s_mov_b64 s[8:9], 0
149
+ ; GCN-NEXT: s_mov_b64 s[6:7], 0
150
150
; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
151
- ; GCN-NEXT: s_xor_b64 s[6:7 ], exec, s[4:5]
151
+ ; GCN-NEXT: s_xor_b64 s[4:5 ], exec, s[4:5]
152
152
; GCN-NEXT: ; %bb.11: ; %LeafBlock5
153
- ; GCN-NEXT: s_mov_b64 s[8:9], exec
154
- ; GCN-NEXT: v_cmp_eq_u32_e64 s[4:5], 2, v0
155
- ; GCN-NEXT: s_and_b64 s[10:11], s[4:5], exec
156
- ; GCN-NEXT: ; implicit-def: $vgpr0
153
+ ; GCN-NEXT: s_mov_b64 s[6:7], exec
154
+ ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 2, v0
155
+ ; GCN-NEXT: s_and_b64 s[8:9], vcc, exec
157
156
; GCN-NEXT: ; %bb.12: ; %Flow13
158
- ; GCN-NEXT: s_andn2_saveexec_b64 s[12:13 ], s[6:7 ]
157
+ ; GCN-NEXT: s_andn2_saveexec_b64 s[10:11 ], s[4:5 ]
159
158
; GCN-NEXT: ; %bb.13: ; %LeafBlock3
160
- ; GCN-NEXT: v_cmp_eq_u32_e64 s[4:5], 0, v0
161
- ; GCN-NEXT: v_cmp_ne_u32_e64 s[6:7], 0, v0
159
+ ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 0, v0
160
+ ; GCN-NEXT: v_cmp_ne_u32_e64 s[4:5], 0, v0
161
+ ; GCN-NEXT: s_andn2_b64 s[6:7], s[6:7], exec
162
162
; GCN-NEXT: s_andn2_b64 s[8:9], s[8:9], exec
163
- ; GCN-NEXT: s_andn2_b64 s[10:11], s[10:11], exec
164
- ; GCN-NEXT: s_and_b64 s[6:7], s[6:7], exec
165
163
; GCN-NEXT: s_and_b64 s[4:5], s[4:5], exec
166
- ; GCN-NEXT: s_or_b64 s[8:9], s[8:9], s[6:7]
167
- ; GCN-NEXT: s_or_b64 s[10:11], s[10:11], s[4:5]
164
+ ; GCN-NEXT: s_and_b64 s[12:13], vcc, exec
165
+ ; GCN-NEXT: s_or_b64 s[6:7], s[6:7], s[4:5]
166
+ ; GCN-NEXT: s_or_b64 s[8:9], s[8:9], s[12:13]
168
167
; GCN-NEXT: ; %bb.14: ; %Flow14
169
- ; GCN-NEXT: s_or_b64 exec, exec, s[12:13 ]
168
+ ; GCN-NEXT: s_or_b64 exec, exec, s[10:11 ]
170
169
; GCN-NEXT: s_mov_b64 s[4:5], 0
171
- ; GCN-NEXT: s_and_saveexec_b64 s[6:7 ], s[10:11 ]
170
+ ; GCN-NEXT: s_and_saveexec_b64 s[10:11 ], s[8:9 ]
172
171
; GCN-NEXT: s_cbranch_execz .LBB0_18
173
172
; GCN-NEXT: ; %bb.15: ; %LeafBlock9
174
- ; GCN-NEXT: s_mov_b64 s[10:11], -1
173
+ ; GCN-NEXT: v_cmp_lt_i32_e32 vcc, 1, v0
174
+ ; GCN-NEXT: s_mov_b64 s[8:9], -1
175
175
; GCN-NEXT: s_and_saveexec_b64 s[12:13], vcc
176
176
; GCN-NEXT: ; %bb.16: ; %do.body.i.i.i.i
177
177
; GCN-NEXT: s_mov_b64 s[4:5], exec
178
- ; GCN-NEXT: s_xor_b64 s[10:11 ], exec, -1
178
+ ; GCN-NEXT: s_xor_b64 s[8:9 ], exec, -1
179
179
; GCN-NEXT: ; %bb.17: ; %Flow16
180
180
; GCN-NEXT: s_or_b64 exec, exec, s[12:13]
181
181
; GCN-NEXT: s_and_b64 s[4:5], s[4:5], exec
182
- ; GCN-NEXT: s_andn2_b64 s[8:9 ], s[8:9 ], exec
183
- ; GCN-NEXT: s_and_b64 s[10:11 ], s[10:11 ], exec
184
- ; GCN-NEXT: s_or_b64 s[8:9 ], s[8:9 ], s[10:11 ]
182
+ ; GCN-NEXT: s_andn2_b64 s[6:7 ], s[6:7 ], exec
183
+ ; GCN-NEXT: s_and_b64 s[8:9 ], s[8:9 ], exec
184
+ ; GCN-NEXT: s_or_b64 s[6:7 ], s[6:7 ], s[8:9 ]
185
185
; GCN-NEXT: .LBB0_18: ; %Flow15
186
- ; GCN-NEXT: s_or_b64 exec, exec, s[6:7 ]
187
- ; GCN-NEXT: s_and_saveexec_b64 s[6:7 ], s[8:9 ]
186
+ ; GCN-NEXT: s_or_b64 exec, exec, s[10:11 ]
187
+ ; GCN-NEXT: s_and_saveexec_b64 s[8:9 ], s[6:7 ]
188
188
; GCN-NEXT: s_cbranch_execnz .LBB0_3
189
189
; GCN-NEXT: s_branch .LBB0_4
190
190
entry:
0 commit comments