@@ -24,12 +24,12 @@ define void @se_memcpy(i64 noundef %n) "aarch64_pstate_sm_enabled" nounwind {
24
24
; CHECK-NO-SME-ROUTINES-NEXT: stp d15, d14, [sp, #-80]! // 16-byte Folded Spill
25
25
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
26
26
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
27
- ; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
28
- ; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
29
- ; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
30
27
; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
28
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
31
29
; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
32
30
; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
31
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
32
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
33
33
; CHECK-NO-SME-ROUTINES-NEXT: ldr x0, [x0, :got_lo12:dst]
34
34
; CHECK-NO-SME-ROUTINES-NEXT: ldr x1, [x1, :got_lo12:src]
35
35
; CHECK-NO-SME-ROUTINES-NEXT: smstop sm
@@ -73,12 +73,12 @@ define void @se_memset(i64 noundef %n) "aarch64_pstate_sm_enabled" nounwind {
73
73
; CHECK-NO-SME-ROUTINES: // %bb.0: // %entry
74
74
; CHECK-NO-SME-ROUTINES-NEXT: stp d15, d14, [sp, #-80]! // 16-byte Folded Spill
75
75
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
76
+ ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
77
+ ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
76
78
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
77
79
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
78
80
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
79
81
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
80
- ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
81
- ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
82
82
; CHECK-NO-SME-ROUTINES-NEXT: ldr x0, [x0, :got_lo12:dst]
83
83
; CHECK-NO-SME-ROUTINES-NEXT: smstop sm
84
84
; CHECK-NO-SME-ROUTINES-NEXT: mov w1, #2 // =0x2
@@ -123,12 +123,12 @@ define void @se_memmove(i64 noundef %n) "aarch64_pstate_sm_enabled" nounwind {
123
123
; CHECK-NO-SME-ROUTINES-NEXT: stp d15, d14, [sp, #-80]! // 16-byte Folded Spill
124
124
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
125
125
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
126
- ; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
127
- ; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
128
- ; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
129
126
; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
127
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
130
128
; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
131
129
; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
130
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
131
+ ; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
132
132
; CHECK-NO-SME-ROUTINES-NEXT: ldr x0, [x0, :got_lo12:dst]
133
133
; CHECK-NO-SME-ROUTINES-NEXT: ldr x1, [x1, :got_lo12:src]
134
134
; CHECK-NO-SME-ROUTINES-NEXT: smstop sm
@@ -174,11 +174,11 @@ define void @sc_memcpy(i64 noundef %n) "aarch64_pstate_sm_compatible" nounwind {
174
174
; CHECK-NO-SME-ROUTINES-NEXT: stp d15, d14, [sp, #-96]! // 16-byte Folded Spill
175
175
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
176
176
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
177
+ ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
177
178
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
178
179
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
179
180
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
180
181
; CHECK-NO-SME-ROUTINES-NEXT: str x19, [sp, #80] // 8-byte Folded Spill
181
- ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
182
182
; CHECK-NO-SME-ROUTINES-NEXT: bl __arm_sme_state
183
183
; CHECK-NO-SME-ROUTINES-NEXT: adrp x8, :got:dst
184
184
; CHECK-NO-SME-ROUTINES-NEXT: and x19, x0, #0x1
@@ -224,13 +224,13 @@ define void @sb_memcpy(i64 noundef %n) "aarch64_pstate_sm_body" nounwind {
224
224
; CHECK-NEXT: stp d15, d14, [sp, #-96]! // 16-byte Folded Spill
225
225
; CHECK-NEXT: rdsvl x9, #1
226
226
; CHECK-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
227
+ ; CHECK-NEXT: mov x2, x0
227
228
; CHECK-NEXT: lsr x9, x9, #3
228
229
; CHECK-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
229
230
; CHECK-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
230
231
; CHECK-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
231
232
; CHECK-NEXT: cntd x9
232
233
; CHECK-NEXT: str x9, [sp, #80] // 8-byte Folded Spill
233
- ; CHECK-NEXT: mov x2, x0
234
234
; CHECK-NEXT: smstart sm
235
235
; CHECK-NEXT: adrp x0, :got:dst
236
236
; CHECK-NEXT: adrp x1, :got:src
@@ -250,13 +250,13 @@ define void @sb_memcpy(i64 noundef %n) "aarch64_pstate_sm_body" nounwind {
250
250
; CHECK-NO-SME-ROUTINES-NEXT: stp d15, d14, [sp, #-96]! // 16-byte Folded Spill
251
251
; CHECK-NO-SME-ROUTINES-NEXT: rdsvl x9, #1
252
252
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
253
+ ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
253
254
; CHECK-NO-SME-ROUTINES-NEXT: lsr x9, x9, #3
254
255
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
255
256
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
256
257
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
257
258
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
258
259
; CHECK-NO-SME-ROUTINES-NEXT: str x9, [sp, #80] // 8-byte Folded Spill
259
- ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
260
260
; CHECK-NO-SME-ROUTINES-NEXT: smstart sm
261
261
; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
262
262
; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
0 commit comments