[compiler-rt] [compiler-rt][ARM] Add missing PACBTI support to assembly aeabi functions (PR #142400)
Peter Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 5 03:32:59 PDT 2025
================
@@ -37,23 +42,34 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cfcmpeq)
movs r0, #0xF
lsls r0, r0, #31
pop {r0-r3, pc}
+#else
+#if defined(__ARM_FEATURE_PAC_DEFAULT)
+ pop {r0-r3, r12, lr}
+ beq 2f
+ aut r12, lr, sp
+ b __aeabi_cfcmple
#else
pop {r0-r3, lr}
-
// NaN has been ruled out, so __aeabi_cfcmple can't trap
// Use "it ne" + unconditional branch to guarantee a supported relocation if
// __aeabi_cfcmple is in a different section for some builds.
IT(ne)
bne __aeabi_cfcmple
+#endif
+2:
#if defined(USE_THUMB_2)
- mov ip, #APSR_C
- msr APSR_nzcvq, ip
+ mov r0, #APSR_C
----------------
smithp35 wrote:
Same comment about not corrupting r0 due to the custom procedure calling standard.
https://github.com/llvm/llvm-project/pull/142400
More information about the llvm-commits
mailing list