Implement support for AArch64 Crypto PMULL.64.
authorTejas Belagod <tejas.belagod@arm.com>
Thu, 19 Dec 2013 15:04:19 +0000 (15:04 +0000)
committerTejas Belagod <belagod@gcc.gnu.org>
Thu, 19 Dec 2013 15:04:19 +0000 (15:04 +0000)
commit7baa225d39f48e6761e1e6e8e15249aca79224e6
treec7239247854dedb3af283c2ef0df8afb13b3f583
parentb9cb0a44c1e940f4c577b67e504c3a8aacae6a3e
Implement support for AArch64 Crypto PMULL.64.

gcc/
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
Define builtin types for poly64_t poly128_t.
(TYPES_BINOPP, aarch64_types_binopp_qualifiers): New.
* aarch64/aarch64-simd-builtins.def: Update builtins table.
* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi,
aarch64_crypto_pmullv2di): New.
* config/aarch64/aarch64.c (aarch64_simd_mangle_map): Update table for
poly64x2_t mangler.
* config/aarch64/arm_neon.h (poly64x2_t, poly64_t, poly128_t): Define.
(vmull_p64, vmull_high_p64): New.
* config/aarch64/iterators.md (UNSPEC_PMULL<2>): New.

testsuite/

* gcc.target/aarch64/pmull_1.c: New.

From-SVN: r206120
gcc/ChangeLog
gcc/config/aarch64/aarch64-builtins.c
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/arm_neon.h
gcc/config/aarch64/iterators.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/pmull_1.c [new file with mode: 0644]