aarch64: Add +pauth to -march
authorPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 9 Dec 2020 21:29:58 +0000 (21:29 +0000)
committerPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 9 Dec 2020 22:09:20 +0000 (22:09 +0000)
commitef33047a8b93d416f08f3f640dd65f3887fb05c1
treecacdfca027fae061923913482341d8220bf36cf2
parent4c61e35f20fe2ffeb9421dbd6f26c767a234a4a0
aarch64: Add +pauth to -march

New +pauth (Pointer Authentication from Armv8.3-A) feature option for
-march command line option.

Please note that majority of PAUTH instructions are implemented behind HINT
instruction. PAUTH stays an Armv8.3-A feature but now can be assigned to other
architectures or CPUs.

gcc/ChangeLog:

* config/aarch64/aarch64-option-extensions.def
(AARCH64_OPT_EXTENSION): New +pauth option in -march for AArch64.
* config/aarch64/aarch64.h (AARCH64_FL_PAUTH): New pauth extension bitmask.
(AARCH64_ISA_PUATH): New ISA bitmask for PAUTH.
(AARCH64_FL_FOR_ARCH8_3): Add PAUTH to Armv8.3-A.
(TARGET_PAUTH): New target mask to isolate PAUTH instructions.
* config/aarch64/aarch64.md (do_return): Condition set to TARGET_PAUTH.
* doc/invoke.texi: Update docs for +flagm and +pauth.
gcc/config/aarch64/aarch64-option-extensions.def
gcc/config/aarch64/aarch64.h
gcc/config/aarch64/aarch64.md
gcc/doc/invoke.texi