Hi,

This patch adds the support for the crc extension option to the aarch64 gcc driver.

OK for the trunk?

Thanks,
Yufeng

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.
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 14955dd..0843178 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11138,6 +11138,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

Reply via email to