aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-09-05 11:30:14 +0000
committerYufeng Zhang <yufeng@gcc.gnu.org>2013-09-05 11:30:14 +0000
commit5922847b1c0a2d90468a1cc75b25b190a6035d97 (patch)
treef12a0247adb4c3108a079c1bde76934b75c80c9d
parent996746aa210bc2e21c573619b2575f4c075df326 (diff)
downloadgcc-5922847b1c0a2d90468a1cc75b25b190a6035d97.zip
gcc-5922847b1c0a2d90468a1cc75b25b190a6035d97.tar.gz
gcc-5922847b1c0a2d90468a1cc75b25b190a6035d97.tar.bz2
[AArch64] Support the 'crc' extension in -march and -mcpu options.
gcc/ * config/aarch64/aarch64-option-extensions.def: Add AARCH64_OPT_EXTENSION of 'crc'. * config/aarch64/aarch64.h (AARCH64_FL_CRC): New define. (AARCH64_ISA_CRC): Ditto. * doc/invoke.texi (-march and -mcpu feature modifiers): Add description of the CRC extension. From-SVN: r202275
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/aarch64/aarch64-option-extensions.def1
-rw-r--r--gcc/config/aarch64/aarch64.h2
-rw-r--r--gcc/doc/invoke.texi2
4 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a5743b..e8a0764 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2013-09-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def: Add
+ AARCH64_OPT_EXTENSION of 'crc'.
+ * config/aarch64/aarch64.h (AARCH64_FL_CRC): New define.
+ (AARCH64_ISA_CRC): Ditto.
+ * doc/invoke.texi (-march and -mcpu feature modifiers): Add
+ description of the CRC extension.
+
2013-09-05 Alexander Ivchenko <alexander.ivchenko@intel.com>
* config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
diff --git a/gcc/config/aarch64/aarch64-option-extensions.def b/gcc/config/aarch64/aarch64-option-extensions.def
index 58e8154..371e74c 100644
--- a/gcc/config/aarch64/aarch64-option-extensions.def
+++ b/gcc/config/aarch64/aarch64-option-extensions.def
@@ -35,3 +35,4 @@
AARCH64_OPT_EXTENSION("fp", AARCH64_FL_FP, AARCH64_FL_FPSIMD | AARCH64_FL_CRYPTO)
AARCH64_OPT_EXTENSION("simd", AARCH64_FL_FPSIMD, AARCH64_FL_SIMD | AARCH64_FL_CRYPTO)
AARCH64_OPT_EXTENSION("crypto", AARCH64_FL_CRYPTO | AARCH64_FL_FPSIMD, AARCH64_FL_CRYPTO)
+AARCH64_OPT_EXTENSION("crc", AARCH64_FL_CRC, AARCH64_FL_CRC)
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 0924269..d8012f8 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -158,6 +158,7 @@
#define AARCH64_FL_FP (1 << 1) /* Has FP. */
#define AARCH64_FL_CRYPTO (1 << 2) /* Has crypto. */
#define AARCH64_FL_SLOWMUL (1 << 3) /* A slow multiply core. */
+#define AARCH64_FL_CRC (1 << 4) /* Has CRC. */
/* Has FP and SIMD. */
#define AARCH64_FL_FPSIMD (AARCH64_FL_FP | AARCH64_FL_SIMD)
@@ -170,6 +171,7 @@
/* Macros to test ISA flags. */
extern unsigned long aarch64_isa_flags;
+#define AARCH64_ISA_CRC (aarch64_isa_flags & AARCH64_FL_CRC)
#define AARCH64_ISA_CRYPTO (aarch64_isa_flags & AARCH64_FL_CRYPTO)
#define AARCH64_ISA_FP (aarch64_isa_flags & AARCH64_FL_FP)
#define AARCH64_ISA_SIMD (aarch64_isa_flags & AARCH64_FL_SIMD)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 9dfb4d7..4995a5d 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11173,6 +11173,8 @@ Feature modifiers used with @option{-march} and @option{-mcpu} can be one
the following:
@table @samp
+@item crc
+Enable CRC extension.
@item crypto
Enable Crypto extension. This implies Advanced SIMD is enabled.
@item fp