@@ -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: mov x2, x0
28
27
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
29
- ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
30
- ; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
31
28
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
32
29
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
30
+ ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
31
+ ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
32
+ ; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
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
78
76
; CHECK-NO-SME-ROUTINES-NEXT: stp d13, d12, [sp, #16] // 16-byte Folded Spill
79
77
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
80
78
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
81
79
; 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: mov x2, x0
127
126
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
128
- ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
129
- ; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
130
127
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
131
128
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
129
+ ; CHECK-NO-SME-ROUTINES-NEXT: mov x2, x0
130
+ ; CHECK-NO-SME-ROUTINES-NEXT: adrp x0, :got:dst
131
+ ; CHECK-NO-SME-ROUTINES-NEXT: adrp x1, :got:src
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
178
177
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
179
178
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
180
179
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
181
180
; 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
228
227
; CHECK-NEXT: lsr x9, x9, #3
229
228
; CHECK-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
230
229
; CHECK-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
231
230
; CHECK-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
232
231
; CHECK-NEXT: cntd x9
233
232
; 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
254
253
; CHECK-NO-SME-ROUTINES-NEXT: lsr x9, x9, #3
255
254
; CHECK-NO-SME-ROUTINES-NEXT: stp d11, d10, [sp, #32] // 16-byte Folded Spill
256
255
; CHECK-NO-SME-ROUTINES-NEXT: stp d9, d8, [sp, #48] // 16-byte Folded Spill
257
256
; CHECK-NO-SME-ROUTINES-NEXT: stp x30, x9, [sp, #64] // 16-byte Folded Spill
258
257
; CHECK-NO-SME-ROUTINES-NEXT: cntd x9
259
258
; 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