diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-06-11 09:17:18 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-06-11 09:17:18 +0000 |
commit | 5d357f260ce3312db63b4fb69bec250fa07de553 (patch) | |
tree | 55b9ca10dd9ea346fb1cc2257ff6aca943a18246 /gcc/config.gcc | |
parent | e1377713ce21a9ee25b3d6b7dbb9aaf7b7f7d4a5 (diff) | |
download | gcc-5d357f260ce3312db63b4fb69bec250fa07de553.zip gcc-5d357f260ce3312db63b4fb69bec250fa07de553.tar.gz gcc-5d357f260ce3312db63b4fb69bec250fa07de553.tar.bz2 |
[AArch64] Implement CRC32 ACLE intrinsics.
* config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
* Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
dependencies.
* config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
(aarch64_crc_builtin_datum): New struct.
(aarch64_crc_builtin_data): New.
(aarch64_init_crc32_builtins): New function.
(aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
(aarch64_crc32_expand_builtin): New.
(aarch64_expand_builtin): Add CRC32 builtin expansion case.
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_FEATURE_CRC32 when appropriate.
(TARGET_CRC32): Define.
* config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
(aarch64_<crc_variant>): New pattern.
* config/aarch64/arm_acle.h: New file.
* config/aarch64/iterators.md (CRC): New int iterator.
(crc_variant, crc_mode): New int attributes.
* doc/aarch64-acle-intrinsics.texi: New file.
* doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
Include aarch64-acle-intrinsics.texi.
From-SVN: r211440
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index c3f3ea6..80bb3db 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -302,7 +302,7 @@ m32c*-*-*) ;; aarch64*-*-*) cpu_type=aarch64 - extra_headers="arm_neon.h" + extra_headers="arm_neon.h arm_acle.h" extra_objs="aarch64-builtins.o aarch-common.o" target_has_targetm_common=yes ;; |