[clang] [AArch64] Update __gcsss intrinsic to match revised ACLE specification (PR #136850)

via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 23 04:48:36 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: SivanShani-Arm (sivan-shani)

<details>
<summary>Changes</summary>

The original __gcsss intrinsic was implemented based on: https://github.com/ARM-software/acle/pull/260
with the signature: const void *__gcsss(const void *)

Per the updated specification in:
https://github.com/ARM-software/acle/pull/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.

---
Full diff: https://github.com/llvm/llvm-project/pull/136850.diff


1 Files Affected:

- (modified) clang/lib/Headers/arm_acle.h (+3-2) 


``````````diff
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

``````````

</details>


https://github.com/llvm/llvm-project/pull/136850


More information about the cfe-commits mailing list