-
Notifications
You must be signed in to change notification settings - Fork 13.9k
[AArch64] Update __gcsss intrinsic to match revised ACLE specification #136850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-backend-aarch64 @llvm/pr-subscribers-clang Author: SivanShani-Arm (sivan-shani) ChangesThe original __gcsss intrinsic was implemented based on: ARM-software/acle#260 Per the updated specification in: This aligns the implementation with the latest ACLE definition. Full diff: https://github.com/llvm/llvm-project/pull/136850.diff 1 Files Affected:
diff --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h
index 89db5dc2d7aaa..7681a8e9d2985 100644
--- a/clang/lib/Headers/arm_acle.h
+++ b/clang/lib/Headers/arm_acle.h
@@ -841,8 +841,9 @@ __gcspopm() {
return __builtin_arm_gcspopm(0);
}
-static __inline__ const void * __attribute__((__always_inline__, __nodebug__, target("gcs")))
-__gcsss(const void *__stack) {
+static __inline__ void *
+ __attribute__((__always_inline__, __nodebug__, target("gcs")))
+ __gcsss(void *__stack) {
return __builtin_arm_gcsss(__stack);
}
#endif
|
✅ With the latest revision this PR passed the C/C++ code formatter. |
The original __gcsss intrinsic was implemented based on: ARM-software/acle#260 with the signature: const void *__gcsss(const void *) Per the updated specification in: ARM-software/acle#364 both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *) This aligns the implementation with the latest ACLE definition.
I think clang/test/CodeGen/AArch64/gcs.c should also be updated (this PR doesn't cause it to fail, but it does mean it has a warning about discarded const qualifier, and it would be better not to have that). |
clang/test/CodeGen/AArch64/gcs.c updated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
llvm#136850) The original __gcsss intrinsic was implemented based on: ARM-software/acle#260 with the signature: const void *__gcsss(const void *) Per the updated specification in: ARM-software/acle#364 both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *) This aligns the implementation with the latest ACLE definition.
llvm#136850) The original __gcsss intrinsic was implemented based on: ARM-software/acle#260 with the signature: const void *__gcsss(const void *) Per the updated specification in: ARM-software/acle#364 both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *) This aligns the implementation with the latest ACLE definition.
llvm#136850) The original __gcsss intrinsic was implemented based on: ARM-software/acle#260 with the signature: const void *__gcsss(const void *) Per the updated specification in: ARM-software/acle#364 both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *) This aligns the implementation with the latest ACLE definition.
llvm#136850) The original __gcsss intrinsic was implemented based on: ARM-software/acle#260 with the signature: const void *__gcsss(const void *) Per the updated specification in: ARM-software/acle#364 both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *) This aligns the implementation with the latest ACLE definition.
The original __gcsss intrinsic was implemented based on: ARM-software/acle#260
with the signature: const void *__gcsss(const void *)
Per the updated specification in:
ARM-software/acle#364
both const qualifiers have been removed. This commit updates the signature accordingly to: void *__gcsss(void *)
This aligns the implementation with the latest ACLE definition.