@@ -88,27 +88,34 @@ define void @fbyte(<vscale x 16 x i8> %v) {
88
88
; PAIR: // %bb.0:
89
89
; PAIR-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
90
90
; PAIR-NEXT: addvl sp, sp, #-18
91
- ; PAIR-NEXT: str p8, [sp, #11, mul vl] // 2-byte Folded Spill
92
- ; PAIR-NEXT: ptrue pn8.b
93
91
; PAIR-NEXT: str p15, [sp, #4, mul vl] // 2-byte Folded Spill
94
- ; PAIR-NEXT: st1b { z22.b, z23.b }, pn8, [sp, #4, mul vl] // 32-byte Folded Spill
95
- ; PAIR-NEXT: st1b { z20.b, z21.b }, pn8, [sp, #8, mul vl] // 32-byte Folded Spill
96
92
; PAIR-NEXT: str p14, [sp, #5, mul vl] // 2-byte Folded Spill
97
- ; PAIR-NEXT: st1b { z18.b, z19.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
98
- ; PAIR-NEXT: st1b { z16.b, z17.b }, pn8, [sp, #16, mul vl] // 32-byte Folded Spill
99
93
; PAIR-NEXT: str p13, [sp, #6, mul vl] // 2-byte Folded Spill
100
- ; PAIR-NEXT: st1b { z14.b, z15.b }, pn8, [sp, #20, mul vl] // 32-byte Folded Spill
101
- ; PAIR-NEXT: st1b { z12.b, z13.b }, pn8, [sp, #24, mul vl] // 32-byte Folded Spill
102
94
; PAIR-NEXT: str p12, [sp, #7, mul vl] // 2-byte Folded Spill
103
- ; PAIR-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #28, mul vl] // 32-byte Folded Spill
104
95
; PAIR-NEXT: str p11, [sp, #8, mul vl] // 2-byte Folded Spill
105
96
; PAIR-NEXT: str p10, [sp, #9, mul vl] // 2-byte Folded Spill
106
97
; PAIR-NEXT: str p9, [sp, #10, mul vl] // 2-byte Folded Spill
98
+ ; PAIR-NEXT: str p8, [sp, #11, mul vl] // 2-byte Folded Spill
107
99
; PAIR-NEXT: str p7, [sp, #12, mul vl] // 2-byte Folded Spill
108
100
; PAIR-NEXT: str p6, [sp, #13, mul vl] // 2-byte Folded Spill
109
101
; PAIR-NEXT: str p5, [sp, #14, mul vl] // 2-byte Folded Spill
110
102
; PAIR-NEXT: str p4, [sp, #15, mul vl] // 2-byte Folded Spill
111
- ; PAIR-NEXT: st1b { z8.b, z9.b }, pn8, [sp, #32, mul vl] // 32-byte Folded Spill
103
+ ; PAIR-NEXT: str z23, [sp, #2, mul vl] // 16-byte Folded Spill
104
+ ; PAIR-NEXT: str z22, [sp, #3, mul vl] // 16-byte Folded Spill
105
+ ; PAIR-NEXT: str z21, [sp, #4, mul vl] // 16-byte Folded Spill
106
+ ; PAIR-NEXT: str z20, [sp, #5, mul vl] // 16-byte Folded Spill
107
+ ; PAIR-NEXT: str z19, [sp, #6, mul vl] // 16-byte Folded Spill
108
+ ; PAIR-NEXT: str z18, [sp, #7, mul vl] // 16-byte Folded Spill
109
+ ; PAIR-NEXT: str z17, [sp, #8, mul vl] // 16-byte Folded Spill
110
+ ; PAIR-NEXT: str z16, [sp, #9, mul vl] // 16-byte Folded Spill
111
+ ; PAIR-NEXT: str z15, [sp, #10, mul vl] // 16-byte Folded Spill
112
+ ; PAIR-NEXT: str z14, [sp, #11, mul vl] // 16-byte Folded Spill
113
+ ; PAIR-NEXT: str z13, [sp, #12, mul vl] // 16-byte Folded Spill
114
+ ; PAIR-NEXT: str z12, [sp, #13, mul vl] // 16-byte Folded Spill
115
+ ; PAIR-NEXT: str z11, [sp, #14, mul vl] // 16-byte Folded Spill
116
+ ; PAIR-NEXT: str z10, [sp, #15, mul vl] // 16-byte Folded Spill
117
+ ; PAIR-NEXT: str z9, [sp, #16, mul vl] // 16-byte Folded Spill
118
+ ; PAIR-NEXT: str z8, [sp, #17, mul vl] // 16-byte Folded Spill
112
119
; PAIR-NEXT: .cfi_escape 0x0f, 0x0d, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x90, 0x01, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 144 * VG
113
120
; PAIR-NEXT: .cfi_offset w30, -8
114
121
; PAIR-NEXT: .cfi_offset w29, -16
@@ -121,16 +128,23 @@ define void @fbyte(<vscale x 16 x i8> %v) {
121
128
; PAIR-NEXT: .cfi_escape 0x10, 0x4e, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x48, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d14 @ cfa - 16 - 56 * VG
122
129
; PAIR-NEXT: .cfi_escape 0x10, 0x4f, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x40, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d15 @ cfa - 16 - 64 * VG
123
130
; PAIR-NEXT: bl my_func
124
- ; PAIR-NEXT: ptrue pn8.b
131
+ ; PAIR-NEXT: ldr z23, [sp, #2, mul vl] // 16-byte Folded Reload
132
+ ; PAIR-NEXT: ldr z22, [sp, #3, mul vl] // 16-byte Folded Reload
133
+ ; PAIR-NEXT: ldr z21, [sp, #4, mul vl] // 16-byte Folded Reload
134
+ ; PAIR-NEXT: ldr z20, [sp, #5, mul vl] // 16-byte Folded Reload
135
+ ; PAIR-NEXT: ldr z19, [sp, #6, mul vl] // 16-byte Folded Reload
136
+ ; PAIR-NEXT: ldr z18, [sp, #7, mul vl] // 16-byte Folded Reload
137
+ ; PAIR-NEXT: ldr z17, [sp, #8, mul vl] // 16-byte Folded Reload
138
+ ; PAIR-NEXT: ldr z16, [sp, #9, mul vl] // 16-byte Folded Reload
139
+ ; PAIR-NEXT: ldr z15, [sp, #10, mul vl] // 16-byte Folded Reload
140
+ ; PAIR-NEXT: ldr z14, [sp, #11, mul vl] // 16-byte Folded Reload
141
+ ; PAIR-NEXT: ldr z13, [sp, #12, mul vl] // 16-byte Folded Reload
142
+ ; PAIR-NEXT: ldr z12, [sp, #13, mul vl] // 16-byte Folded Reload
143
+ ; PAIR-NEXT: ldr z11, [sp, #14, mul vl] // 16-byte Folded Reload
144
+ ; PAIR-NEXT: ldr z10, [sp, #15, mul vl] // 16-byte Folded Reload
145
+ ; PAIR-NEXT: ldr z9, [sp, #16, mul vl] // 16-byte Folded Reload
146
+ ; PAIR-NEXT: ldr z8, [sp, #17, mul vl] // 16-byte Folded Reload
125
147
; PAIR-NEXT: ldr p15, [sp, #4, mul vl] // 2-byte Folded Reload
126
- ; PAIR-NEXT: ld1b { z22.b, z23.b }, pn8/z, [sp, #4, mul vl] // 32-byte Folded Reload
127
- ; PAIR-NEXT: ld1b { z20.b, z21.b }, pn8/z, [sp, #8, mul vl] // 32-byte Folded Reload
128
- ; PAIR-NEXT: ld1b { z18.b, z19.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
129
- ; PAIR-NEXT: ld1b { z16.b, z17.b }, pn8/z, [sp, #16, mul vl] // 32-byte Folded Reload
130
- ; PAIR-NEXT: ld1b { z14.b, z15.b }, pn8/z, [sp, #20, mul vl] // 32-byte Folded Reload
131
- ; PAIR-NEXT: ld1b { z12.b, z13.b }, pn8/z, [sp, #24, mul vl] // 32-byte Folded Reload
132
- ; PAIR-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #28, mul vl] // 32-byte Folded Reload
133
- ; PAIR-NEXT: ld1b { z8.b, z9.b }, pn8/z, [sp, #32, mul vl] // 32-byte Folded Reload
134
148
; PAIR-NEXT: ldr p14, [sp, #5, mul vl] // 2-byte Folded Reload
135
149
; PAIR-NEXT: ldr p13, [sp, #6, mul vl] // 2-byte Folded Reload
136
150
; PAIR-NEXT: ldr p12, [sp, #7, mul vl] // 2-byte Folded Reload
@@ -230,27 +244,34 @@ define void @fhalf(<vscale x 8 x half> %v) {
230
244
; PAIR: // %bb.0:
231
245
; PAIR-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
232
246
; PAIR-NEXT: addvl sp, sp, #-18
233
- ; PAIR-NEXT: str p8, [sp, #11, mul vl] // 2-byte Folded Spill
234
- ; PAIR-NEXT: ptrue pn8.b
235
247
; PAIR-NEXT: str p15, [sp, #4, mul vl] // 2-byte Folded Spill
236
- ; PAIR-NEXT: st1b { z22.b, z23.b }, pn8, [sp, #4, mul vl] // 32-byte Folded Spill
237
- ; PAIR-NEXT: st1b { z20.b, z21.b }, pn8, [sp, #8, mul vl] // 32-byte Folded Spill
238
248
; PAIR-NEXT: str p14, [sp, #5, mul vl] // 2-byte Folded Spill
239
- ; PAIR-NEXT: st1b { z18.b, z19.b }, pn8, [sp, #12, mul vl] // 32-byte Folded Spill
240
- ; PAIR-NEXT: st1b { z16.b, z17.b }, pn8, [sp, #16, mul vl] // 32-byte Folded Spill
241
249
; PAIR-NEXT: str p13, [sp, #6, mul vl] // 2-byte Folded Spill
242
- ; PAIR-NEXT: st1b { z14.b, z15.b }, pn8, [sp, #20, mul vl] // 32-byte Folded Spill
243
- ; PAIR-NEXT: st1b { z12.b, z13.b }, pn8, [sp, #24, mul vl] // 32-byte Folded Spill
244
250
; PAIR-NEXT: str p12, [sp, #7, mul vl] // 2-byte Folded Spill
245
- ; PAIR-NEXT: st1b { z10.b, z11.b }, pn8, [sp, #28, mul vl] // 32-byte Folded Spill
246
251
; PAIR-NEXT: str p11, [sp, #8, mul vl] // 2-byte Folded Spill
247
252
; PAIR-NEXT: str p10, [sp, #9, mul vl] // 2-byte Folded Spill
248
253
; PAIR-NEXT: str p9, [sp, #10, mul vl] // 2-byte Folded Spill
254
+ ; PAIR-NEXT: str p8, [sp, #11, mul vl] // 2-byte Folded Spill
249
255
; PAIR-NEXT: str p7, [sp, #12, mul vl] // 2-byte Folded Spill
250
256
; PAIR-NEXT: str p6, [sp, #13, mul vl] // 2-byte Folded Spill
251
257
; PAIR-NEXT: str p5, [sp, #14, mul vl] // 2-byte Folded Spill
252
258
; PAIR-NEXT: str p4, [sp, #15, mul vl] // 2-byte Folded Spill
253
- ; PAIR-NEXT: st1b { z8.b, z9.b }, pn8, [sp, #32, mul vl] // 32-byte Folded Spill
259
+ ; PAIR-NEXT: str z23, [sp, #2, mul vl] // 16-byte Folded Spill
260
+ ; PAIR-NEXT: str z22, [sp, #3, mul vl] // 16-byte Folded Spill
261
+ ; PAIR-NEXT: str z21, [sp, #4, mul vl] // 16-byte Folded Spill
262
+ ; PAIR-NEXT: str z20, [sp, #5, mul vl] // 16-byte Folded Spill
263
+ ; PAIR-NEXT: str z19, [sp, #6, mul vl] // 16-byte Folded Spill
264
+ ; PAIR-NEXT: str z18, [sp, #7, mul vl] // 16-byte Folded Spill
265
+ ; PAIR-NEXT: str z17, [sp, #8, mul vl] // 16-byte Folded Spill
266
+ ; PAIR-NEXT: str z16, [sp, #9, mul vl] // 16-byte Folded Spill
267
+ ; PAIR-NEXT: str z15, [sp, #10, mul vl] // 16-byte Folded Spill
268
+ ; PAIR-NEXT: str z14, [sp, #11, mul vl] // 16-byte Folded Spill
269
+ ; PAIR-NEXT: str z13, [sp, #12, mul vl] // 16-byte Folded Spill
270
+ ; PAIR-NEXT: str z12, [sp, #13, mul vl] // 16-byte Folded Spill
271
+ ; PAIR-NEXT: str z11, [sp, #14, mul vl] // 16-byte Folded Spill
272
+ ; PAIR-NEXT: str z10, [sp, #15, mul vl] // 16-byte Folded Spill
273
+ ; PAIR-NEXT: str z9, [sp, #16, mul vl] // 16-byte Folded Spill
274
+ ; PAIR-NEXT: str z8, [sp, #17, mul vl] // 16-byte Folded Spill
254
275
; PAIR-NEXT: .cfi_escape 0x0f, 0x0d, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x90, 0x01, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 144 * VG
255
276
; PAIR-NEXT: .cfi_offset w30, -8
256
277
; PAIR-NEXT: .cfi_offset w29, -16
@@ -263,16 +284,23 @@ define void @fhalf(<vscale x 8 x half> %v) {
263
284
; PAIR-NEXT: .cfi_escape 0x10, 0x4e, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x48, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d14 @ cfa - 16 - 56 * VG
264
285
; PAIR-NEXT: .cfi_escape 0x10, 0x4f, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x40, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d15 @ cfa - 16 - 64 * VG
265
286
; PAIR-NEXT: bl my_func
266
- ; PAIR-NEXT: ptrue pn8.b
287
+ ; PAIR-NEXT: ldr z23, [sp, #2, mul vl] // 16-byte Folded Reload
288
+ ; PAIR-NEXT: ldr z22, [sp, #3, mul vl] // 16-byte Folded Reload
289
+ ; PAIR-NEXT: ldr z21, [sp, #4, mul vl] // 16-byte Folded Reload
290
+ ; PAIR-NEXT: ldr z20, [sp, #5, mul vl] // 16-byte Folded Reload
291
+ ; PAIR-NEXT: ldr z19, [sp, #6, mul vl] // 16-byte Folded Reload
292
+ ; PAIR-NEXT: ldr z18, [sp, #7, mul vl] // 16-byte Folded Reload
293
+ ; PAIR-NEXT: ldr z17, [sp, #8, mul vl] // 16-byte Folded Reload
294
+ ; PAIR-NEXT: ldr z16, [sp, #9, mul vl] // 16-byte Folded Reload
295
+ ; PAIR-NEXT: ldr z15, [sp, #10, mul vl] // 16-byte Folded Reload
296
+ ; PAIR-NEXT: ldr z14, [sp, #11, mul vl] // 16-byte Folded Reload
297
+ ; PAIR-NEXT: ldr z13, [sp, #12, mul vl] // 16-byte Folded Reload
298
+ ; PAIR-NEXT: ldr z12, [sp, #13, mul vl] // 16-byte Folded Reload
299
+ ; PAIR-NEXT: ldr z11, [sp, #14, mul vl] // 16-byte Folded Reload
300
+ ; PAIR-NEXT: ldr z10, [sp, #15, mul vl] // 16-byte Folded Reload
301
+ ; PAIR-NEXT: ldr z9, [sp, #16, mul vl] // 16-byte Folded Reload
302
+ ; PAIR-NEXT: ldr z8, [sp, #17, mul vl] // 16-byte Folded Reload
267
303
; PAIR-NEXT: ldr p15, [sp, #4, mul vl] // 2-byte Folded Reload
268
- ; PAIR-NEXT: ld1b { z22.b, z23.b }, pn8/z, [sp, #4, mul vl] // 32-byte Folded Reload
269
- ; PAIR-NEXT: ld1b { z20.b, z21.b }, pn8/z, [sp, #8, mul vl] // 32-byte Folded Reload
270
- ; PAIR-NEXT: ld1b { z18.b, z19.b }, pn8/z, [sp, #12, mul vl] // 32-byte Folded Reload
271
- ; PAIR-NEXT: ld1b { z16.b, z17.b }, pn8/z, [sp, #16, mul vl] // 32-byte Folded Reload
272
- ; PAIR-NEXT: ld1b { z14.b, z15.b }, pn8/z, [sp, #20, mul vl] // 32-byte Folded Reload
273
- ; PAIR-NEXT: ld1b { z12.b, z13.b }, pn8/z, [sp, #24, mul vl] // 32-byte Folded Reload
274
- ; PAIR-NEXT: ld1b { z10.b, z11.b }, pn8/z, [sp, #28, mul vl] // 32-byte Folded Reload
275
- ; PAIR-NEXT: ld1b { z8.b, z9.b }, pn8/z, [sp, #32, mul vl] // 32-byte Folded Reload
276
304
; PAIR-NEXT: ldr p14, [sp, #5, mul vl] // 2-byte Folded Reload
277
305
; PAIR-NEXT: ldr p13, [sp, #6, mul vl] // 2-byte Folded Reload
278
306
; PAIR-NEXT: ldr p12, [sp, #7, mul vl] // 2-byte Folded Reload
@@ -323,23 +351,21 @@ define aarch64_sve_vector_pcs void @test_clobbers_z_p_regs() {
323
351
; PAIR: // %bb.0:
324
352
; PAIR-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
325
353
; PAIR-NEXT: addvl sp, sp, #-4
326
- ; PAIR-NEXT: str p8, [sp, #5, mul vl] // 2-byte Folded Spill
327
- ; PAIR-NEXT: ptrue pn8.b
328
354
; PAIR-NEXT: str p5, [sp, #6, mul vl] // 2-byte Folded Spill
329
355
; PAIR-NEXT: str p4, [sp, #7, mul vl] // 2-byte Folded Spill
330
356
; PAIR-NEXT: str z10, [sp, #1, mul vl] // 16-byte Folded Spill
331
- ; PAIR-NEXT: st1b { z8.b, z9.b }, pn8, [sp, #4, mul vl] // 32-byte Folded Spill
357
+ ; PAIR-NEXT: str z9, [sp, #2, mul vl] // 16-byte Folded Spill
358
+ ; PAIR-NEXT: str z8, [sp, #3, mul vl] // 16-byte Folded Spill
332
359
; PAIR-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x20, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 32 * VG
333
360
; PAIR-NEXT: .cfi_offset w29, -16
334
361
; PAIR-NEXT: .cfi_escape 0x10, 0x48, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x78, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d8 @ cfa - 16 - 8 * VG
335
362
; PAIR-NEXT: .cfi_escape 0x10, 0x49, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x70, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d9 @ cfa - 16 - 16 * VG
336
363
; PAIR-NEXT: .cfi_escape 0x10, 0x4a, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x68, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d10 @ cfa - 16 - 24 * VG
337
364
; PAIR-NEXT: //APP
338
365
; PAIR-NEXT: //NO_APP
339
- ; PAIR-NEXT: ptrue pn8.b
340
366
; PAIR-NEXT: ldr z10, [sp, #1, mul vl] // 16-byte Folded Reload
341
- ; PAIR-NEXT: ld1b { z8.b, z9.b }, pn8/z, [sp, #4 , mul vl] // 32 -byte Folded Reload
342
- ; PAIR-NEXT: ldr p8 , [sp, #5 , mul vl] // 2 -byte Folded Reload
367
+ ; PAIR-NEXT: ldr z9, [sp, #2 , mul vl] // 16 -byte Folded Reload
368
+ ; PAIR-NEXT: ldr z8 , [sp, #3 , mul vl] // 16 -byte Folded Reload
343
369
; PAIR-NEXT: ldr p5, [sp, #6, mul vl] // 2-byte Folded Reload
344
370
; PAIR-NEXT: ldr p4, [sp, #7, mul vl] // 2-byte Folded Reload
345
371
; PAIR-NEXT: addvl sp, sp, #4
@@ -381,22 +407,22 @@ define aarch64_sve_vector_pcs void @test_clobbers_z_p_regs2() {
381
407
; PAIR: // %bb.0:
382
408
; PAIR-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
383
409
; PAIR-NEXT: addvl sp, sp, #-4
384
- ; PAIR-NEXT: str p9, [sp, #7, mul vl] // 2-byte Folded Spill
385
- ; PAIR-NEXT: ptrue pn9.b
386
410
; PAIR-NEXT: str p10, [sp, #6, mul vl] // 2-byte Folded Spill
411
+ ; PAIR-NEXT: str p9, [sp, #7, mul vl] // 2-byte Folded Spill
387
412
; PAIR-NEXT: str z10, [sp, #1, mul vl] // 16-byte Folded Spill
388
- ; PAIR-NEXT: st1b { z8.b, z9.b }, pn9, [sp, #4, mul vl] // 32-byte Folded Spill
413
+ ; PAIR-NEXT: str z9, [sp, #2, mul vl] // 16-byte Folded Spill
414
+ ; PAIR-NEXT: str z8, [sp, #3, mul vl] // 16-byte Folded Spill
389
415
; PAIR-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x20, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 32 * VG
390
416
; PAIR-NEXT: .cfi_offset w29, -16
391
417
; PAIR-NEXT: .cfi_escape 0x10, 0x48, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x78, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d8 @ cfa - 16 - 8 * VG
392
418
; PAIR-NEXT: .cfi_escape 0x10, 0x49, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x70, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d9 @ cfa - 16 - 16 * VG
393
419
; PAIR-NEXT: .cfi_escape 0x10, 0x4a, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x68, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d10 @ cfa - 16 - 24 * VG
394
420
; PAIR-NEXT: //APP
395
421
; PAIR-NEXT: //NO_APP
396
- ; PAIR-NEXT: ptrue pn9.b
397
422
; PAIR-NEXT: ldr z10, [sp, #1, mul vl] // 16-byte Folded Reload
423
+ ; PAIR-NEXT: ldr z9, [sp, #2, mul vl] // 16-byte Folded Reload
424
+ ; PAIR-NEXT: ldr z8, [sp, #3, mul vl] // 16-byte Folded Reload
398
425
; PAIR-NEXT: ldr p10, [sp, #6, mul vl] // 2-byte Folded Reload
399
- ; PAIR-NEXT: ld1b { z8.b, z9.b }, pn9/z, [sp, #4, mul vl] // 32-byte Folded Reload
400
426
; PAIR-NEXT: ldr p9, [sp, #7, mul vl] // 2-byte Folded Reload
401
427
; PAIR-NEXT: addvl sp, sp, #4
402
428
; PAIR-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
@@ -429,20 +455,18 @@ define aarch64_sve_vector_pcs void @test_clobbers_z_regs() {
429
455
; PAIR-LABEL: test_clobbers_z_regs:
430
456
; PAIR: // %bb.0:
431
457
; PAIR-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
432
- ; PAIR-NEXT: addvl sp, sp, #-3
433
- ; PAIR-NEXT: str p8, [sp, #7, mul vl] // 2-byte Folded Spill
434
- ; PAIR-NEXT: ptrue pn8.b
435
- ; PAIR-NEXT: st1b { z8.b, z9.b }, pn8, [sp, #2, mul vl] // 32-byte Folded Spill
436
- ; PAIR-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 24 * VG
458
+ ; PAIR-NEXT: addvl sp, sp, #-2
459
+ ; PAIR-NEXT: str z9, [sp] // 16-byte Folded Spill
460
+ ; PAIR-NEXT: str z8, [sp, #1, mul vl] // 16-byte Folded Spill
461
+ ; PAIR-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 16 * VG
437
462
; PAIR-NEXT: .cfi_offset w29, -16
438
463
; PAIR-NEXT: .cfi_escape 0x10, 0x48, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x78, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d8 @ cfa - 16 - 8 * VG
439
464
; PAIR-NEXT: .cfi_escape 0x10, 0x49, 0x0a, 0x11, 0x70, 0x22, 0x11, 0x70, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d9 @ cfa - 16 - 16 * VG
440
465
; PAIR-NEXT: //APP
441
466
; PAIR-NEXT: //NO_APP
442
- ; PAIR-NEXT: ptrue pn8.b
443
- ; PAIR-NEXT: ld1b { z8.b, z9.b }, pn8/z, [sp, #2, mul vl] // 32-byte Folded Reload
444
- ; PAIR-NEXT: ldr p8, [sp, #7, mul vl] // 2-byte Folded Reload
445
- ; PAIR-NEXT: addvl sp, sp, #3
467
+ ; PAIR-NEXT: ldr z9, [sp] // 16-byte Folded Reload
468
+ ; PAIR-NEXT: ldr z8, [sp, #1, mul vl] // 16-byte Folded Reload
469
+ ; PAIR-NEXT: addvl sp, sp, #2
446
470
; PAIR-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
447
471
; PAIR-NEXT: ret
448
472
call void asm sideeffect "" , "~{z8},~{z9}" ()
0 commit comments