[AArch64] Update __gcsss intrinsic to match revised ACLE specification#136850
[AArch64] Update __gcsss intrinsic to match revised ACLE specification#136850sivan-shani merged 2 commits intollvm:mainfrom
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 |
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.