aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Carlotti <andrew.carlotti@arm.com>2024-07-30 16:26:04 +0100
committerAndrew Carlotti <andrew.carlotti@arm.com>2025-01-10 14:12:06 +0000
commit20385cb92cbd4a1934661ab97a162c1e25935836 (patch)
tree3675ba724ca7c834c7ba12d542652a2a75447875 /gcc
parent76b7f60ffdb26c56d2c71bbeddf7da601de0e50e (diff)
downloadgcc-20385cb92cbd4a1934661ab97a162c1e25935836.zip
gcc-20385cb92cbd4a1934661ab97a162c1e25935836.tar.gz
gcc-20385cb92cbd4a1934661ab97a162c1e25935836.tar.bz2
aarch64: Use PAUTH instead of V8_3A in some places
gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_expand_epilogue): Use TARGET_PAUTH. * config/aarch64/aarch64.md: Update comment.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/aarch64/aarch64.cc6
-rw-r--r--gcc/config/aarch64/aarch64.md8
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 6fe0fa2..ad31e9d 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -10283,12 +10283,12 @@ aarch64_expand_epilogue (rtx_call_insn *sibcall)
1) Sibcalls don't return in a normal way, so if we're about to call one
we must authenticate.
- 2) The RETAA instruction is not available before ARMv8.3-A, so if we are
- generating code for !TARGET_ARMV8_3 we can't use it and must
+ 2) The RETAA instruction is not available without FEAT_PAuth, so if we
+ are generating code for !TARGET_PAUTH we can't use it and must
explicitly authenticate.
*/
if (aarch64_return_address_signing_enabled ()
- && (sibcall || !TARGET_ARMV8_3))
+ && (sibcall || !TARGET_PAUTH))
{
switch (aarch64_ra_sign_key)
{
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 0ed3c93..44f5b7a 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -7846,11 +7846,11 @@
[(set_attr "type" "f_cvtf2i")]
)
-;; Pointer authentication patterns are always provided. In architecture
-;; revisions prior to ARMv8.3-A these HINT instructions operate as NOPs.
+;; Pointer authentication patterns are always provided. On targets that
+;; don't implement FEAT_PAuth these HINT instructions operate as NOPs.
;; This lets the user write portable software which authenticates pointers
-;; when run on something which implements ARMv8.3-A, and which runs
-;; correctly, but does not authenticate pointers, where ARMv8.3-A is not
+;; when run on something which implements FEAT_PAuth, and which runs
+;; correctly, but does not authenticate pointers, where FEAT_PAuth is not
;; implemented.
;; Signing/Authenticating R30 using SP as the salt.