@@ -106,95 +106,55 @@ define {<vscale x 8 x i64>, <vscale x 8 x i64>} @vector_deinterleave_load_nxv8i6
106106; CHECK-NEXT: addi sp, sp, -16
107107; CHECK-NEXT: .cfi_def_cfa_offset 16
108108; CHECK-NEXT: csrr a1, vlenb
109- ; CHECK-NEXT: li a2, 40
109+ ; CHECK-NEXT: li a2, 24
110110; CHECK-NEXT: mul a1, a1, a2
111111; CHECK-NEXT: sub sp, sp, a1
112- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x28 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 40 * vlenb
112+ ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 24 * vlenb
113113; CHECK-NEXT: csrr a1, vlenb
114114; CHECK-NEXT: vl8re64.v v16, (a0)
115115; CHECK-NEXT: vsetvli a2, zero, e64, m8, ta, ma
116116; CHECK-NEXT: vid.v v8
117117; CHECK-NEXT: slli a1, a1, 3
118- ; CHECK-NEXT: vadd.vv v24, v8, v8
119- ; CHECK-NEXT: csrr a2, vlenb
120- ; CHECK-NEXT: slli a2, a2, 4
121- ; CHECK-NEXT: add a2, sp, a2
122- ; CHECK-NEXT: addi a2, a2, 16
123- ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill
118+ ; CHECK-NEXT: vand.vi v8, v8, 1
124119; CHECK-NEXT: add a0, a0, a1
120+ ; CHECK-NEXT: vmseq.vi v24, v8, 0
125121; CHECK-NEXT: vl8re64.v v8, (a0)
126122; CHECK-NEXT: csrr a0, vlenb
127- ; CHECK-NEXT: slli a0, a0, 5
128- ; CHECK-NEXT: add a0, sp, a0
129- ; CHECK-NEXT: addi a0, a0, 16
130- ; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill
131- ; CHECK-NEXT: vadd.vi v8, v24, 1
132- ; CHECK-NEXT: csrr a0, vlenb
133- ; CHECK-NEXT: li a1, 24
134- ; CHECK-NEXT: mul a0, a0, a1
123+ ; CHECK-NEXT: slli a0, a0, 4
135124; CHECK-NEXT: add a0, sp, a0
136125; CHECK-NEXT: addi a0, a0, 16
137126; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill
138- ; CHECK-NEXT: vrgather.vv v8, v16, v24
139- ; CHECK-NEXT: csrr a0, vlenb
140- ; CHECK-NEXT: li a1, 24
141- ; CHECK-NEXT: mul a0, a0, a1
142- ; CHECK-NEXT: add a0, sp, a0
143- ; CHECK-NEXT: addi a0, a0, 16
144- ; CHECK-NEXT: vl8r.v v0, (a0) # Unknown-size Folded Reload
145- ; CHECK-NEXT: vrgather.vv v24, v16, v0
146- ; CHECK-NEXT: csrr a0, vlenb
147- ; CHECK-NEXT: slli a0, a0, 3
148- ; CHECK-NEXT: add a0, sp, a0
149- ; CHECK-NEXT: addi a0, a0, 16
150- ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
151- ; CHECK-NEXT: csrr a0, vlenb
152- ; CHECK-NEXT: slli a0, a0, 5
153- ; CHECK-NEXT: add a0, sp, a0
154- ; CHECK-NEXT: addi a0, a0, 16
155- ; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
127+ ; CHECK-NEXT: vmnot.m v6, v24
128+ ; CHECK-NEXT: vcompress.vm v8, v16, v24
129+ ; CHECK-NEXT: vmv1r.v v13, v24
130+ ; CHECK-NEXT: vcompress.vm v24, v16, v6
131+ ; CHECK-NEXT: vmv1r.v v12, v6
156132; CHECK-NEXT: csrr a0, vlenb
157133; CHECK-NEXT: slli a0, a0, 4
158134; CHECK-NEXT: add a0, sp, a0
159135; CHECK-NEXT: addi a0, a0, 16
160- ; CHECK-NEXT: vl8r.v v0 , (a0) # Unknown-size Folded Reload
161- ; CHECK-NEXT: vrgather.vv v24 , v16, v0
136+ ; CHECK-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
137+ ; CHECK-NEXT: vcompress.vm v0 , v16, v13
162138; CHECK-NEXT: addi a0, sp, 16
163- ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
164- ; CHECK-NEXT: csrr a0, vlenb
165- ; CHECK-NEXT: li a1, 24
166- ; CHECK-NEXT: mul a0, a0, a1
167- ; CHECK-NEXT: add a0, sp, a0
168- ; CHECK-NEXT: addi a0, a0, 16
169- ; CHECK-NEXT: vl8r.v v0, (a0) # Unknown-size Folded Reload
170- ; CHECK-NEXT: csrr a0, vlenb
171- ; CHECK-NEXT: slli a0, a0, 5
172- ; CHECK-NEXT: add a0, sp, a0
173- ; CHECK-NEXT: addi a0, a0, 16
174- ; CHECK-NEXT: vl8r.v v24, (a0) # Unknown-size Folded Reload
175- ; CHECK-NEXT: vrgather.vv v16, v24, v0
139+ ; CHECK-NEXT: vs8r.v v0, (a0) # Unknown-size Folded Spill
140+ ; CHECK-NEXT: vcompress.vm v0, v16, v12
176141; CHECK-NEXT: csrr a0, vlenb
177- ; CHECK-NEXT: slli a0, a0, 4
142+ ; CHECK-NEXT: slli a0, a0, 3
178143; CHECK-NEXT: add a0, sp, a0
179144; CHECK-NEXT: addi a0, a0, 16
180- ; CHECK-NEXT: vs8r.v v16 , (a0) # Unknown-size Folded Spill
145+ ; CHECK-NEXT: vs8r.v v0 , (a0) # Unknown-size Folded Spill
181146; CHECK-NEXT: addi a0, sp, 16
182147; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
183148; CHECK-NEXT: vmv4r.v v12, v16
184149; CHECK-NEXT: csrr a0, vlenb
185- ; CHECK-NEXT: slli a0, a0, 4
186- ; CHECK-NEXT: add a0, sp, a0
187- ; CHECK-NEXT: addi a0, a0, 16
188- ; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
189- ; CHECK-NEXT: csrr a0, vlenb
190150; CHECK-NEXT: slli a0, a0, 3
191151; CHECK-NEXT: add a0, sp, a0
192152; CHECK-NEXT: addi a0, a0, 16
193- ; CHECK-NEXT: vl8r.v v24 , (a0) # Unknown-size Folded Reload
153+ ; CHECK-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
194154; CHECK-NEXT: vmv4r.v v28, v16
195155; CHECK-NEXT: vmv8r.v v16, v24
196156; CHECK-NEXT: csrr a0, vlenb
197- ; CHECK-NEXT: li a1, 40
157+ ; CHECK-NEXT: li a1, 24
198158; CHECK-NEXT: mul a0, a0, a1
199159; CHECK-NEXT: add sp, sp, a0
200160; CHECK-NEXT: .cfi_def_cfa sp, 16
0 commit comments