@@ -13,13 +13,12 @@ define void @array_1D(ptr %addr) #0 {
13
13
; CHECK-NEXT: addvl sp, sp, #-3
14
14
; CHECK-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 24 * VG
15
15
; CHECK-NEXT: .cfi_offset w29, -16
16
- ; CHECK-NEXT: ptrue p0.d
17
- ; CHECK-NEXT: ld1d { z0.d }, p0/z, [x0]
18
- ; CHECK-NEXT: ld1d { z1.d }, p0/z, [x0, #2, mul vl]
19
- ; CHECK-NEXT: ld1d { z2.d }, p0/z, [x0, #1, mul vl]
20
- ; CHECK-NEXT: st1d { z0.d }, p0, [sp]
21
- ; CHECK-NEXT: st1d { z1.d }, p0, [sp, #2, mul vl]
22
- ; CHECK-NEXT: st1d { z2.d }, p0, [sp, #1, mul vl]
16
+ ; CHECK-NEXT: ldr z0, [x0]
17
+ ; CHECK-NEXT: ldr z1, [x0, #2, mul vl]
18
+ ; CHECK-NEXT: ldr z2, [x0, #1, mul vl]
19
+ ; CHECK-NEXT: str z0, [sp]
20
+ ; CHECK-NEXT: str z1, [sp, #2, mul vl]
21
+ ; CHECK-NEXT: str z2, [sp, #1, mul vl]
23
22
; CHECK-NEXT: addvl sp, sp, #3
24
23
; CHECK-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
25
24
; CHECK-NEXT: ret
@@ -37,8 +36,7 @@ define %my_subtype @array_1D_extract(ptr %addr) #0 {
37
36
; CHECK-NEXT: addvl sp, sp, #-3
38
37
; CHECK-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 24 * VG
39
38
; CHECK-NEXT: .cfi_offset w29, -16
40
- ; CHECK-NEXT: ptrue p0.d
41
- ; CHECK-NEXT: ld1d { z0.d }, p0/z, [x0, #1, mul vl]
39
+ ; CHECK-NEXT: ldr z0, [x0, #1, mul vl]
42
40
; CHECK-NEXT: addvl sp, sp, #3
43
41
; CHECK-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
44
42
; CHECK-NEXT: ret
@@ -56,12 +54,11 @@ define void @array_1D_insert(ptr %addr, %my_subtype %elt) #0 {
56
54
; CHECK-NEXT: addvl sp, sp, #-3
57
55
; CHECK-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 24 * VG
58
56
; CHECK-NEXT: .cfi_offset w29, -16
59
- ; CHECK-NEXT: ptrue p0.d
60
- ; CHECK-NEXT: ld1d { z1.d }, p0/z, [x0, #2, mul vl]
61
- ; CHECK-NEXT: ld1d { z2.d }, p0/z, [x0]
62
- ; CHECK-NEXT: st1d { z0.d }, p0, [sp, #1, mul vl]
63
- ; CHECK-NEXT: st1d { z1.d }, p0, [sp, #2, mul vl]
64
- ; CHECK-NEXT: st1d { z2.d }, p0, [sp]
57
+ ; CHECK-NEXT: ldr z1, [x0, #2, mul vl]
58
+ ; CHECK-NEXT: ldr z2, [x0]
59
+ ; CHECK-NEXT: str z0, [sp, #1, mul vl]
60
+ ; CHECK-NEXT: str z1, [sp, #2, mul vl]
61
+ ; CHECK-NEXT: str z2, [sp]
65
62
; CHECK-NEXT: addvl sp, sp, #3
66
63
; CHECK-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
67
64
; CHECK-NEXT: ret
@@ -80,19 +77,18 @@ define void @array_2D(ptr %addr) #0 {
80
77
; CHECK-NEXT: addvl sp, sp, #-6
81
78
; CHECK-NEXT: .cfi_escape 0x0f, 0x0c, 0x8f, 0x00, 0x11, 0x10, 0x22, 0x11, 0x30, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 16 + 48 * VG
82
79
; CHECK-NEXT: .cfi_offset w29, -16
83
- ; CHECK-NEXT: ptrue p0.d
84
- ; CHECK-NEXT: ld1d { z0.d }, p0/z, [x0]
85
- ; CHECK-NEXT: ld1d { z1.d }, p0/z, [x0, #5, mul vl]
86
- ; CHECK-NEXT: ld1d { z2.d }, p0/z, [x0, #1, mul vl]
87
- ; CHECK-NEXT: ld1d { z3.d }, p0/z, [x0, #4, mul vl]
88
- ; CHECK-NEXT: ld1d { z4.d }, p0/z, [x0, #2, mul vl]
89
- ; CHECK-NEXT: ld1d { z5.d }, p0/z, [x0, #3, mul vl]
90
- ; CHECK-NEXT: st1d { z0.d }, p0, [sp]
91
- ; CHECK-NEXT: st1d { z1.d }, p0, [sp, #5, mul vl]
92
- ; CHECK-NEXT: st1d { z3.d }, p0, [sp, #4, mul vl]
93
- ; CHECK-NEXT: st1d { z5.d }, p0, [sp, #3, mul vl]
94
- ; CHECK-NEXT: st1d { z4.d }, p0, [sp, #2, mul vl]
95
- ; CHECK-NEXT: st1d { z2.d }, p0, [sp, #1, mul vl]
80
+ ; CHECK-NEXT: ldr z0, [x0]
81
+ ; CHECK-NEXT: ldr z1, [x0, #5, mul vl]
82
+ ; CHECK-NEXT: ldr z2, [x0, #1, mul vl]
83
+ ; CHECK-NEXT: ldr z3, [x0, #4, mul vl]
84
+ ; CHECK-NEXT: ldr z4, [x0, #2, mul vl]
85
+ ; CHECK-NEXT: ldr z5, [x0, #3, mul vl]
86
+ ; CHECK-NEXT: str z0, [sp]
87
+ ; CHECK-NEXT: str z1, [sp, #5, mul vl]
88
+ ; CHECK-NEXT: str z3, [sp, #4, mul vl]
89
+ ; CHECK-NEXT: str z5, [sp, #3, mul vl]
90
+ ; CHECK-NEXT: str z4, [sp, #2, mul vl]
91
+ ; CHECK-NEXT: str z2, [sp, #1, mul vl]
96
92
; CHECK-NEXT: addvl sp, sp, #6
97
93
; CHECK-NEXT: ldr x29, [sp], #16 // 8-byte Folded Reload
98
94
; CHECK-NEXT: ret
0 commit comments