Skip to content

Commit dca9f00

Browse files
- Rebased on main
- Used a single callee() function in sme-zt0-state.ll and added attributes at the callsite
1 parent f901ecf commit dca9f00

File tree

1 file changed

+13
-23
lines changed

1 file changed

+13
-23
lines changed

llvm/test/CodeGen/AArch64/sme-zt0-state.ll

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
22
; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme2 -start-after=simplifycfg -enable-tail-merge=false -verify-machineinstrs < %s | FileCheck %s
33

4-
; Callee with no ZT state
5-
declare void @no_state_callee();
6-
7-
; Callees with ZT0 state
8-
declare void @zt0_shared_callee() "aarch64_in_zt0";
9-
declare void @zt0_new_callee() "aarch64_new_zt0";
10-
11-
; Callees with ZA state
12-
13-
declare void @za_shared_callee() "aarch64_pstate_za_shared";
14-
declare void @za_zt0_shared_callee() "aarch64_pstate_za_shared" "aarch64_in_zt0";
4+
declare void @callee();
155

166
;
177
; Private-ZA Callee
@@ -27,13 +17,13 @@ define void @zt0_in_caller_no_state_callee() "aarch64_in_zt0" nounwind {
2717
; CHECK-NEXT: mov x19, sp
2818
; CHECK-NEXT: str zt0, [x19]
2919
; CHECK-NEXT: smstop za
30-
; CHECK-NEXT: bl no_state_callee
20+
; CHECK-NEXT: bl callee
3121
; CHECK-NEXT: smstart za
3222
; CHECK-NEXT: ldr zt0, [x19]
3323
; CHECK-NEXT: ldp x30, x19, [sp, #64] // 16-byte Folded Reload
3424
; CHECK-NEXT: add sp, sp, #80
3525
; CHECK-NEXT: ret
36-
call void @no_state_callee();
26+
call void @callee();
3727
ret void;
3828
}
3929

@@ -59,7 +49,7 @@ define void @za_zt0_shared_caller_no_state_callee() "aarch64_pstate_za_shared" "
5949
; CHECK-NEXT: sturh w8, [x29, #-8]
6050
; CHECK-NEXT: msr TPIDR2_EL0, x10
6151
; CHECK-NEXT: str zt0, [x19]
62-
; CHECK-NEXT: bl no_state_callee
52+
; CHECK-NEXT: bl callee
6353
; CHECK-NEXT: smstart za
6454
; CHECK-NEXT: ldr zt0, [x19]
6555
; CHECK-NEXT: mrs x8, TPIDR2_EL0
@@ -73,7 +63,7 @@ define void @za_zt0_shared_caller_no_state_callee() "aarch64_pstate_za_shared" "
7363
; CHECK-NEXT: ldr x19, [sp, #16] // 8-byte Folded Reload
7464
; CHECK-NEXT: ldp x29, x30, [sp], #32 // 16-byte Folded Reload
7565
; CHECK-NEXT: ret
76-
call void @no_state_callee();
66+
call void @callee();
7767
ret void;
7868
}
7969

@@ -86,10 +76,10 @@ define void @zt0_shared_caller_zt0_shared_callee() "aarch64_in_zt0" nounwind {
8676
; CHECK-LABEL: zt0_shared_caller_zt0_shared_callee:
8777
; CHECK: // %bb.0:
8878
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
89-
; CHECK-NEXT: bl zt0_shared_callee
79+
; CHECK-NEXT: bl callee
9080
; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload
9181
; CHECK-NEXT: ret
92-
call void @zt0_shared_callee();
82+
call void @callee() "aarch64_in_zt0";
9383
ret void;
9484
}
9585

@@ -110,13 +100,13 @@ define void @za_zt0_shared_caller_za_shared_callee() "aarch64_pstate_za_shared"
110100
; CHECK-NEXT: sturh wzr, [x29, #-6]
111101
; CHECK-NEXT: stur x8, [x29, #-16]
112102
; CHECK-NEXT: str zt0, [x19]
113-
; CHECK-NEXT: bl za_shared_callee
103+
; CHECK-NEXT: bl callee
114104
; CHECK-NEXT: ldr zt0, [x19]
115105
; CHECK-NEXT: mov sp, x29
116106
; CHECK-NEXT: ldr x19, [sp, #16] // 8-byte Folded Reload
117107
; CHECK-NEXT: ldp x29, x30, [sp], #32 // 16-byte Folded Reload
118108
; CHECK-NEXT: ret
119-
call void @za_shared_callee();
109+
call void @callee() "aarch64_pstate_za_shared";
120110
ret void;
121111
}
122112

@@ -134,11 +124,11 @@ define void @za_zt0_shared_caller_za_zt0_shared_callee() "aarch64_pstate_za_shar
134124
; CHECK-NEXT: stur wzr, [x29, #-4]
135125
; CHECK-NEXT: sturh wzr, [x29, #-6]
136126
; CHECK-NEXT: stur x8, [x29, #-16]
137-
; CHECK-NEXT: bl za_zt0_shared_callee
127+
; CHECK-NEXT: bl callee
138128
; CHECK-NEXT: mov sp, x29
139129
; CHECK-NEXT: ldp x29, x30, [sp], #16 // 16-byte Folded Reload
140130
; CHECK-NEXT: ret
141-
call void @za_zt0_shared_callee();
131+
call void @callee() "aarch64_pstate_za_shared" "aarch64_in_zt0";
142132
ret void;
143133
}
144134

@@ -154,12 +144,12 @@ define void @zt0_in_caller_zt0_new_callee() "aarch64_in_zt0" nounwind {
154144
; CHECK-NEXT: mov x19, sp
155145
; CHECK-NEXT: str zt0, [x19]
156146
; CHECK-NEXT: smstop za
157-
; CHECK-NEXT: bl zt0_new_callee
147+
; CHECK-NEXT: bl callee
158148
; CHECK-NEXT: smstart za
159149
; CHECK-NEXT: ldr zt0, [x19]
160150
; CHECK-NEXT: ldp x30, x19, [sp, #64] // 16-byte Folded Reload
161151
; CHECK-NEXT: add sp, sp, #80
162152
; CHECK-NEXT: ret
163-
call void @zt0_new_callee();
153+
call void @callee() "aarch64_new_zt0";
164154
ret void;
165155
}

0 commit comments

Comments
 (0)