gcc/
commitcf1911bce35ca4995962614e09f3c5ac6a89fa80
authoryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Jul 2014 06:21:27 +0000 (17 06:21 +0000)
committeryroux <yroux@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Jul 2014 06:21:27 +0000 (17 06:21 +0000)
tree7dd6934d5b25bb7b8ef65cfed4766154fd2a0102
parent29b3215edf20d25820ff8dc42c777cca700af7dc
gcc/
2014-07-17  Yvan Roux  <yvan.roux@linaro.org>

Backport from trunk r211440.
2014-06-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* 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.

gcc/testsuite
2014-07-17  Yvan Roux  <yvan.roux@linaro.org>

Backport from trunk r211441.
2014-06-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.target/aarch64/acle/acle.exp: New.
* gcc.target/aarch64/acle/crc32b.c: New test.
* gcc.target/aarch64/acle/crc32cb.c: Likewise.
* gcc.target/aarch64/acle/crc32cd.c: Likewise.
* gcc.target/aarch64/acle/crc32ch.c: Likewise.
* gcc.target/aarch64/acle/crc32cw.c: Likewise.
* gcc.target/aarch64/acle/crc32d.c: Likewise.
* gcc.target/aarch64/acle/crc32h.c: Likewise.
* gcc.target/aarch64/acle/crc32w.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro@212720 138bc75d-0d04-0410-961f-82ee72b054a4
20 files changed:
gcc-4_9-branch/gcc/ChangeLog.linaro
gcc-4_9-branch/gcc/Makefile.in
gcc-4_9-branch/gcc/config.gcc
gcc-4_9-branch/gcc/config/aarch64/aarch64-builtins.c
gcc-4_9-branch/gcc/config/aarch64/aarch64.h
gcc-4_9-branch/gcc/config/aarch64/aarch64.md
gcc-4_9-branch/gcc/config/aarch64/arm_acle.h [new file with mode: 0644]
gcc-4_9-branch/gcc/config/aarch64/iterators.md
gcc-4_9-branch/gcc/doc/aarch64-acle-intrinsics.texi [new file with mode: 0644]
gcc-4_9-branch/gcc/doc/extend.texi
gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/acle.exp [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32b.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32cb.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32cd.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32ch.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32cw.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32d.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32h.c [new file with mode: 0644]
gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/acle/crc32w.c [new file with mode: 0644]