aarch64: Enable the use of LDAPR for load-acquire semantics

This patch enables the use of LDAPR for load-acquire semantics.

2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

gcc/ChangeLog:

	* config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
	(TARGET_RCPC): New Macro.
	* config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
	(aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
	(aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
	* config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
	* doc/invoke.texi (rcpc): Ammend documentation to mention the effects
	on code generation.

gcc/testsuite/ChangeLog:

	* gcc.target/aarch64/ldapr.c: New test.
5 files changed