Lines Matching full:mul
10 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
11 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
12 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
13 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
14 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
15 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
16 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
17 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
18 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
19 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
20 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
21 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
22 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
23 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
24 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
25 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
26 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
32 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
33 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
34 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
35 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
36 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
37 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
39 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
40 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
41 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
42 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
43 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
44 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
45 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
46 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
47 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
48 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
49 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
57 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
59 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
60 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
61 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
62 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
63 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
64 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
65 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
66 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
67 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
68 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
69 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
70 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
71 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
72 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
73 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
74 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
79 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
80 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
81 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
82 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
83 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
84 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
85 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
87 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
88 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
89 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
90 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
91 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
92 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
93 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
94 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
95 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
96 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
105 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
106 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
107 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
108 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
109 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
110 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
111 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
112 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
113 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
114 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
115 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
116 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
117 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
118 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
119 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
120 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
125 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
130 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
132 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
133 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
134 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
135 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
136 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
137 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
138 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
139 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
140 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
141 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
142 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
143 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
144 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
145 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
146 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
147 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
165 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
166 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
167 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
168 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
169 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
170 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
171 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
172 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
173 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
174 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
175 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
176 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
177 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
178 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
179 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
180 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
181 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
187 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
188 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
189 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
190 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
191 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
192 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
194 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
195 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
196 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
197 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
198 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
199 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
200 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
201 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
202 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
203 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
204 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
212 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
214 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
215 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
216 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
217 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
218 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
219 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
220 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
221 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
222 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
223 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
224 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
225 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
226 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
227 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
228 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
229 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
234 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
235 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
236 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
237 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
238 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
239 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
240 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
242 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
243 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
244 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
245 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
246 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
247 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
248 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
249 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
250 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
251 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
260 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
261 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
262 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
263 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
264 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
265 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
266 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
267 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
268 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
269 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
270 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
271 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
272 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
273 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
274 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
275 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
280 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
285 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
287 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
288 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
289 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
290 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
291 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
292 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
293 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
294 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
295 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
296 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
297 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
298 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
299 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
300 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
301 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
302 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
321 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
322 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
323 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
324 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
325 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
326 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
327 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
328 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
329 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
330 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
331 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
332 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
333 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
334 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
335 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
336 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
337 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
343 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
344 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
345 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
346 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
347 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
348 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
350 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
351 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
352 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
353 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
354 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
355 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
356 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
357 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
358 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
359 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
360 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
368 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
370 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
371 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
372 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
373 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
374 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
375 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
376 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
377 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
378 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
379 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
380 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
381 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
382 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
383 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
384 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
385 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
390 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
391 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
392 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
393 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
394 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
395 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
396 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
398 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
399 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
400 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
401 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
402 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
403 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
404 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
405 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
406 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
407 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
416 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
417 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
418 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
419 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
420 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
421 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
422 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
423 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
424 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
425 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
426 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
427 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
428 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
429 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
430 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
431 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
436 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
441 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
443 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
444 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
445 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
446 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
447 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
448 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
449 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
450 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
451 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
452 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
453 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
454 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
455 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
456 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
457 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
458 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
476 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
477 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
478 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
479 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
480 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
481 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
482 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
483 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
484 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
485 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
486 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
487 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
488 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
489 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
490 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
491 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
492 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
498 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
499 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
500 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
501 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
502 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
503 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
505 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
506 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
507 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
508 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
509 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
510 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
511 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
512 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
513 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
514 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
515 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
523 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
525 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
526 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
527 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
528 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
529 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
530 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
531 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
532 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
533 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
534 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
535 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
536 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
537 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
538 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
539 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
540 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
545 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
546 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
547 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
548 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
549 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
550 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
551 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
553 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
554 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
555 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
556 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
557 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
558 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
559 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
560 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
561 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
562 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
571 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
572 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
573 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
574 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
575 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
576 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
577 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
578 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
579 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
580 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
581 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
582 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
583 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
584 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
585 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
586 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
591 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
596 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
598 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
599 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
600 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
601 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
602 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
603 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
604 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
605 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
606 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
607 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
608 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
609 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
610 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
611 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
612 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
613 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
632 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
633 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
634 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
635 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
636 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
637 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
638 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
639 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
640 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
641 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
642 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
643 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
644 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
645 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
646 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
647 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
648 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
654 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
655 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
656 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
657 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
658 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
659 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
661 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
662 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
663 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
664 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
665 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
666 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
667 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
668 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
669 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
670 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
671 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
679 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
681 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
682 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
683 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
684 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
685 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
686 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
687 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
688 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
689 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
690 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
691 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
692 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
693 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
694 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
695 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
696 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
701 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
702 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
703 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
704 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
705 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
706 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
707 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
709 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
710 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
711 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
712 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
713 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
714 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
715 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
716 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
717 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
718 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
727 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
728 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
729 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
730 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
731 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
732 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
733 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
734 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
735 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
736 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
737 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
738 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
739 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
740 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
741 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
742 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
747 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
752 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
754 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
755 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
756 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
757 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
758 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
759 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
760 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
761 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
762 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
763 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
764 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
765 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
766 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
767 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
768 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
769 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
787 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
788 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
789 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
790 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
791 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
792 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
793 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
794 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
795 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
796 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
797 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
798 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
799 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
800 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
801 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
802 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
803 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
809 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
810 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
811 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
812 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
813 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
814 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
816 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
817 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
818 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
819 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
820 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
821 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
822 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
823 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
824 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
825 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
826 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
834 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
836 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
837 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
838 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
839 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
840 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
841 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
842 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
843 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
844 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
845 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
846 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
847 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
848 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
849 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
850 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
851 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
856 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
857 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
858 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
859 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
860 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
861 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
862 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
864 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
865 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
866 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
867 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
868 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
869 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
870 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
871 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
872 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
873 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
882 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
883 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
884 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
885 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
886 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
887 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
888 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
889 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
890 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
891 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
892 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
893 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
894 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
895 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
896 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
897 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
902 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
907 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
909 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
910 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
911 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
912 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
913 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
914 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
915 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
916 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
917 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
918 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
919 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
920 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
921 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
922 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
923 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
924 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
943 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
944 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
945 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
946 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
947 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
948 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
949 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
950 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
951 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
952 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
953 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
954 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
955 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
956 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
957 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
958 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
959 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
965 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
966 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
967 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
968 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
969 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
970 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
972 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
973 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
974 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
975 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
976 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
977 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
978 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
979 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
980 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
981 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
982 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
990 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
992 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
993 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
994 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
995 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
996 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
997 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
998 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
999 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1000 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1001 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1002 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1003 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1004 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1005 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1006 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1007 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1012 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1013 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1014 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1015 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1016 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1017 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1018 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1020 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1021 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1022 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1023 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1024 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1025 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1026 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1027 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1028 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1029 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1038 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1039 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1040 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1041 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1042 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1043 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1044 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1045 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1046 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1047 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1048 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1049 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1050 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1051 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1052 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1053 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1058 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1063 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1065 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1066 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1067 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1068 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1069 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1070 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1071 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1072 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1073 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1074 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1075 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1076 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1077 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1078 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1079 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1080 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1098 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1099 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1100 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1101 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1102 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1103 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1104 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1105 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1106 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1107 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1108 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1109 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1110 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1111 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1112 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1113 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1114 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1120 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1121 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1122 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1123 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1124 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1125 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1127 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1128 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1129 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1130 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1131 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1132 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1133 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1134 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1135 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1136 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1137 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1145 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1147 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1148 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1149 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1150 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1151 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1152 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1153 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1154 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1155 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1156 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1157 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1158 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1159 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1160 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1161 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1162 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1167 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1168 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1169 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1170 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1171 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1172 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1173 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1175 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1176 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1177 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1178 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1179 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1180 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1181 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1182 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1183 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1184 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1193 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1194 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1195 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1196 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1197 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1198 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1199 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1200 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1201 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1202 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1203 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1204 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1205 ; CONTIGUOUS-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1206 ; CONTIGUOUS-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1207 ; CONTIGUOUS-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1208 ; CONTIGUOUS-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1213 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1218 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1220 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1221 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1222 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1223 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1224 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1225 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1226 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1227 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1228 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1229 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1230 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1231 ; CONTIGUOUS-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1232 ; CONTIGUOUS-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1233 ; CONTIGUOUS-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1234 ; CONTIGUOUS-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1235 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1254 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1255 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1256 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1257 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1258 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1259 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1260 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1261 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1262 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1263 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1264 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1265 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1266 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1267 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1268 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1269 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1270 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1276 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1277 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1278 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1279 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1280 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1281 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1284 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1285 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1286 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1287 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1288 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1289 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1290 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1291 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1292 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1293 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1294 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1303 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1305 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1306 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1307 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1308 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1309 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1310 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1311 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1312 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1313 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1314 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1315 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1316 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1317 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1318 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1319 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1320 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1325 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1326 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1327 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1328 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1329 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1330 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1331 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1334 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1335 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1336 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1337 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1338 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1339 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1340 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1341 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1342 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1343 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1353 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1355 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1356 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
1357 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1358 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1359 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1360 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1361 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1362 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1363 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1364 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1365 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1366 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1367 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
1372 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1373 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
1374 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
1379 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1380 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
1381 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
1384 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1385 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1386 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1387 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1388 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
1389 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1390 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1391 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1392 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1393 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1394 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1395 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1396 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
1397 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1419 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1420 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1421 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1422 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1423 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1424 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1425 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1426 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1427 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1428 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1429 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1430 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1431 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1432 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1433 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1434 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1435 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1441 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1442 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1443 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1444 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1445 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1446 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1449 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1450 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1451 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1452 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1453 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1454 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1455 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1456 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1457 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1458 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1459 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1468 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1470 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1471 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1472 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1473 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1474 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1475 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1476 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1477 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1478 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1479 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1480 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1481 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1482 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1483 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1484 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1485 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1490 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1491 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1492 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1493 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1494 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1495 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1496 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1499 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1500 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1501 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1502 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1503 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1504 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1505 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1506 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1507 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1508 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1518 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1520 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1521 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
1522 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1523 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1524 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1525 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1526 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1527 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1528 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1529 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1530 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1531 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1532 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
1537 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1538 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
1539 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
1544 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1545 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
1546 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
1549 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1550 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1551 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1552 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1553 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
1554 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1555 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1556 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1557 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1558 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1559 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1560 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1561 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
1562 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1585 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1586 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1587 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1588 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1589 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1590 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1591 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1592 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1593 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1594 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1595 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1596 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1597 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1598 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1599 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1600 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1601 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1607 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1608 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1609 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1610 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1611 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1612 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1615 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1616 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1617 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1618 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1619 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1620 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1621 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1622 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1623 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1624 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1625 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1634 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1636 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1637 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1638 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1639 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1640 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1641 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1642 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1643 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1644 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1645 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1646 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1647 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1648 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1649 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1650 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1651 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1656 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1657 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1658 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1659 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1660 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1661 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1662 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1665 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1666 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1667 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1668 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1669 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1670 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1671 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1672 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1673 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1674 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1684 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1686 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1687 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
1688 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1689 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1690 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1691 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1692 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1693 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1694 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1695 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1696 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1697 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1698 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
1703 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1704 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
1705 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
1710 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1711 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
1712 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
1715 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1716 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1717 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1718 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1719 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
1720 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1721 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1722 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1723 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1724 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1725 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1726 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1727 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
1728 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1751 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1752 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1753 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1754 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1755 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1756 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1757 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1758 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1759 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1760 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1761 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1762 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1763 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1764 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1765 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1766 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1767 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1773 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1774 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1775 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1776 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1777 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1778 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1781 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1782 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1783 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1784 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1785 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1786 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1787 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1788 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1789 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1790 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1791 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1800 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1802 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1803 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1804 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1805 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1806 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1807 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1808 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1809 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1810 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1811 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1812 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1813 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1814 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1815 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1816 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1817 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1822 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1823 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1824 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1825 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1826 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1827 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1828 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1831 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1832 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1833 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1834 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1835 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1836 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1837 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1838 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1839 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1840 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1850 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1852 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1853 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
1854 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1855 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1856 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1857 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1858 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1859 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1860 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1861 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1862 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1863 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1864 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
1869 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
1870 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
1871 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
1876 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
1877 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
1878 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
1881 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1882 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1883 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1884 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1885 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
1886 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1887 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1888 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1889 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1890 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1891 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1892 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1893 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
1894 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1917 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1918 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1919 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1920 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1921 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1922 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1923 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1924 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1925 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1926 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1927 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1928 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1929 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1930 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1931 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1932 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1933 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1939 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1940 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1941 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1942 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1943 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1944 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1947 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1948 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1949 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1950 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
1951 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
1952 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
1953 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
1954 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
1955 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
1956 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
1957 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
1966 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
1968 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
1969 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
1970 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
1971 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
1972 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
1973 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
1974 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
1975 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
1976 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
1977 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
1978 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
1979 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
1980 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
1981 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
1982 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
1983 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
1988 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
1989 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
1990 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
1991 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
1992 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
1993 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
1994 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
1997 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
1998 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
1999 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2000 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2001 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2002 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2003 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2004 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2005 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2006 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2016 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2018 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2019 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
2020 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2021 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2022 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2023 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2024 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2025 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2026 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2027 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2028 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2029 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2030 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
2035 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
2036 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
2037 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
2042 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
2043 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
2044 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
2047 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2048 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2049 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2050 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2051 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
2052 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2053 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2054 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2055 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2056 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2057 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2058 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2059 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
2060 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2083 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2084 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2085 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2086 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2087 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2088 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2089 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2090 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2091 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2092 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2093 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2094 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2095 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2096 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2097 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2098 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2099 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2105 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2106 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2107 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2108 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2109 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2110 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2113 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2114 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2115 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2116 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2117 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2118 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2119 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2120 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2121 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2122 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2123 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2132 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2134 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2135 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2136 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2137 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2138 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2139 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2140 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2141 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2142 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2143 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2144 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2145 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2146 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2147 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2148 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2149 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2154 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2155 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2156 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2157 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2158 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2159 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2160 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2163 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2164 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2165 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2166 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2167 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2168 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2169 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2170 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2171 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2172 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2182 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2184 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2185 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
2186 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2187 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2188 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2189 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2190 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2191 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2192 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2193 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2194 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2195 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2196 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
2201 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
2202 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
2203 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
2208 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
2209 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
2210 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
2213 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2214 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2215 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2216 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2217 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
2218 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2219 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2220 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2221 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2222 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2223 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2224 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2225 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
2226 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2249 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2250 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2251 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2252 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2253 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2254 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2255 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2256 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2257 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2258 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2259 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2260 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2261 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2262 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2263 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2264 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2265 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2271 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2272 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2273 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2274 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2275 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2276 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2279 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2280 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2281 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2282 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2283 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2284 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2285 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2286 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2287 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2288 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2289 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2298 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2300 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2301 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2302 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2303 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2304 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2305 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2306 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2307 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2308 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2309 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2310 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2311 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2312 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2313 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2314 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2315 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2320 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2321 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2322 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2323 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2324 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2325 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2326 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2329 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2330 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2331 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2332 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2333 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2334 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2335 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2336 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2337 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2338 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2348 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2350 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2351 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
2352 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2353 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2354 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2355 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2356 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2357 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2358 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2359 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2360 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2361 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2362 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
2367 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
2368 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
2369 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
2374 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
2375 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
2376 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
2379 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2380 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2381 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2382 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2383 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
2384 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2385 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2386 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2387 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2388 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2389 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2390 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2391 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
2392 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2415 ; CHECK-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2416 ; CHECK-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2417 ; CHECK-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2418 ; CHECK-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2419 ; CHECK-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2420 ; CHECK-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2421 ; CHECK-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2422 ; CHECK-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2423 ; CHECK-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2424 ; CHECK-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2425 ; CHECK-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2426 ; CHECK-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2427 ; CHECK-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2428 ; CHECK-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2429 ; CHECK-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2430 ; CHECK-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2431 ; CHECK-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2437 ; CHECK-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2438 ; CHECK-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2439 ; CHECK-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2440 ; CHECK-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2441 ; CHECK-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2442 ; CHECK-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2445 ; CHECK-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2446 ; CHECK-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2447 ; CHECK-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2448 ; CHECK-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2449 ; CHECK-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2450 ; CHECK-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2451 ; CHECK-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2452 ; CHECK-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2453 ; CHECK-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2454 ; CHECK-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2455 ; CHECK-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2464 ; STRIDED-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2466 ; STRIDED-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2467 ; STRIDED-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2468 ; STRIDED-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2469 ; STRIDED-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2470 ; STRIDED-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2471 ; STRIDED-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2472 ; STRIDED-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2473 ; STRIDED-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2474 ; STRIDED-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2475 ; STRIDED-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2476 ; STRIDED-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2477 ; STRIDED-NEXT: str z12, [sp, #12, mul vl] // 16-byte Folded Spill
2478 ; STRIDED-NEXT: str z11, [sp, #13, mul vl] // 16-byte Folded Spill
2479 ; STRIDED-NEXT: str z10, [sp, #14, mul vl] // 16-byte Folded Spill
2480 ; STRIDED-NEXT: str z9, [sp, #15, mul vl] // 16-byte Folded Spill
2481 ; STRIDED-NEXT: str z8, [sp, #16, mul vl] // 16-byte Folded Spill
2486 ; STRIDED-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
2487 ; STRIDED-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2488 ; STRIDED-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2489 ; STRIDED-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2490 ; STRIDED-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2491 ; STRIDED-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2492 ; STRIDED-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2495 ; STRIDED-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2496 ; STRIDED-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2497 ; STRIDED-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2498 ; STRIDED-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2499 ; STRIDED-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2500 ; STRIDED-NEXT: ldr z12, [sp, #12, mul vl] // 16-byte Folded Reload
2501 ; STRIDED-NEXT: ldr z11, [sp, #13, mul vl] // 16-byte Folded Reload
2502 ; STRIDED-NEXT: ldr z10, [sp, #14, mul vl] // 16-byte Folded Reload
2503 ; STRIDED-NEXT: ldr z9, [sp, #15, mul vl] // 16-byte Folded Reload
2504 ; STRIDED-NEXT: ldr z8, [sp, #16, mul vl] // 16-byte Folded Reload
2514 ; CONTIGUOUS-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
2516 ; CONTIGUOUS-NEXT: str z23, [sp, #1, mul vl] // 16-byte Folded Spill
2517 ; CONTIGUOUS-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
2518 ; CONTIGUOUS-NEXT: str z22, [sp, #2, mul vl] // 16-byte Folded Spill
2519 ; CONTIGUOUS-NEXT: str z21, [sp, #3, mul vl] // 16-byte Folded Spill
2520 ; CONTIGUOUS-NEXT: str z20, [sp, #4, mul vl] // 16-byte Folded Spill
2521 ; CONTIGUOUS-NEXT: str z19, [sp, #5, mul vl] // 16-byte Folded Spill
2522 ; CONTIGUOUS-NEXT: str z18, [sp, #6, mul vl] // 16-byte Folded Spill
2523 ; CONTIGUOUS-NEXT: str z17, [sp, #7, mul vl] // 16-byte Folded Spill
2524 ; CONTIGUOUS-NEXT: str z16, [sp, #8, mul vl] // 16-byte Folded Spill
2525 ; CONTIGUOUS-NEXT: str z15, [sp, #9, mul vl] // 16-byte Folded Spill
2526 ; CONTIGUOUS-NEXT: str z14, [sp, #10, mul vl] // 16-byte Folded Spill
2527 ; CONTIGUOUS-NEXT: str z13, [sp, #11, mul vl] // 16-byte Folded Spill
2528 ; CONTIGUOUS-NEXT: str z9, [sp, #14, mul vl] // 16-byte Folded Spill
2533 ; CONTIGUOUS-NEXT: str z1, [sp, #1, mul vl]
2534 ; CONTIGUOUS-NEXT: str z2, [sp, #2, mul vl]
2535 ; CONTIGUOUS-NEXT: str z3, [sp, #3, mul vl]
2540 ; CONTIGUOUS-NEXT: ldr z1, [sp, #1, mul vl]
2541 ; CONTIGUOUS-NEXT: ldr z2, [sp, #2, mul vl]
2542 ; CONTIGUOUS-NEXT: ldr z3, [sp, #3, mul vl]
2545 ; CONTIGUOUS-NEXT: ldr z23, [sp, #1, mul vl] // 16-byte Folded Reload
2546 ; CONTIGUOUS-NEXT: ldr z22, [sp, #2, mul vl] // 16-byte Folded Reload
2547 ; CONTIGUOUS-NEXT: ldr z21, [sp, #3, mul vl] // 16-byte Folded Reload
2548 ; CONTIGUOUS-NEXT: ldr z20, [sp, #4, mul vl] // 16-byte Folded Reload
2549 ; CONTIGUOUS-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
2550 ; CONTIGUOUS-NEXT: ldr z19, [sp, #5, mul vl] // 16-byte Folded Reload
2551 ; CONTIGUOUS-NEXT: ldr z18, [sp, #6, mul vl] // 16-byte Folded Reload
2552 ; CONTIGUOUS-NEXT: ldr z17, [sp, #7, mul vl] // 16-byte Folded Reload
2553 ; CONTIGUOUS-NEXT: ldr z16, [sp, #8, mul vl] // 16-byte Folded Reload
2554 ; CONTIGUOUS-NEXT: ldr z15, [sp, #9, mul vl] // 16-byte Folded Reload
2555 ; CONTIGUOUS-NEXT: ldr z14, [sp, #10, mul vl] // 16-byte Folded Reload
2556 ; CONTIGUOUS-NEXT: ldr z13, [sp, #11, mul vl] // 16-byte Folded Reload
2557 ; CONTIGUOUS-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
2558 ; CONTIGUOUS-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload