summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2017-08-10 15:19:05 +0200
committerYvan Roux <yvan.roux@linaro.org>2017-08-16 08:08:21 +0000
commitaeb3eebfce7f34983159bbaa6e9dc1ce0bdd96ef (patch)
treeef01f3e5c0bf935d9ae306b8410bfa3ed53b0ee0
parent436689e281efbae79c6bb241bfa4a1a726f33b7c (diff)
downloadgcc-aeb3eebfce7f34983159bbaa6e9dc1ce0bdd96ef.tar.gz
gcc/
Backport from trunk r249414. 2017-06-20 James Greenhalgh <james.greenhalgh@arm.com> * config/aarch64/aarch64-option-extensions.def (rcpc): New. * config/aarch64/aarch64.h (AARCH64_FL_RCPC): New. gcc/ Backport from trunk r249923. 2017-07-03 James Greenhalgh <james.greenhalgh@arm.com> * doc/invoke.texi (rcpc architecture extension): Document it. Change-Id: Ie75a68d08d0a55deaabd2b8ce314a5b2f123a8ce
-rw-r--r--gcc/config/aarch64/aarch64-option-extensions.def3
-rw-r--r--gcc/config/aarch64/aarch64.h1
-rw-r--r--gcc/doc/invoke.texi4
3 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64-option-extensions.def b/gcc/config/aarch64/aarch64-option-extensions.def
index b54de032ea7..c0752ce3470 100644
--- a/gcc/config/aarch64/aarch64-option-extensions.def
+++ b/gcc/config/aarch64/aarch64-option-extensions.def
@@ -60,4 +60,7 @@ AARCH64_OPT_EXTENSION("lse", AARCH64_FL_LSE, 0, 0, "atomics")
Disabling "fp16" just disables "fp16". */
AARCH64_OPT_EXTENSION("fp16", AARCH64_FL_F16, AARCH64_FL_FP, 0, "fphp asimdhp")
+/* Enabling or disabling "rcpc" only changes "rcpc". */
+AARCH64_OPT_EXTENSION("rcpc", AARCH64_FL_RCPC, 0, 0, "lrcpc")
+
#undef AARCH64_OPT_EXTENSION
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index e4fb96fd037..3b3f27e2f95 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -140,6 +140,7 @@ extern unsigned aarch64_architecture_version;
#define AARCH64_FL_F16 (1 << 9) /* Has ARMv8.2-A FP16 extensions. */
/* ARMv8.3-A architecture extensions. */
#define AARCH64_FL_V8_3 (1 << 10) /* Has ARMv8.3-A features. */
+#define AARCH64_FL_RCPC (1 << 11) /* Has support for RCpc model. */
/* Has FP and SIMD. */
#define AARCH64_FL_FPSIMD (AARCH64_FL_FP | AARCH64_FL_SIMD)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 896bbbcd30f..d196d83acf0 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -14075,6 +14075,10 @@ Enable Large System Extension instructions. This is on by default for
@option{-march=armv8.1-a}.
@item fp16
Enable FP16 extension. This also enables floating-point instructions.
+@item rcpc
+Enable the RcPc extension. This does not change code generation from GCC,
+but is passed on to the assembler, enabling inline asm statements to use
+instructions from the RcPc extension.
@end table