[AArch64] Improve arm_neon.h vml<as>_lane handling.
commit828e70c1d7bb5c849a2df44aa832793c71833058
authorJames Greenhalgh <james.greenhalgh@arm.com>
Mon, 16 Sep 2013 09:53:11 +0000 (16 09:53 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Mon, 16 Sep 2013 09:53:11 +0000 (16 09:53 +0000)
tree8fa3db5b4d674a6afa031fe0d47a15cbe1e15109
parent779aea46cc3b6b1a62f989ee0c04e68803733ba0
[AArch64] Improve arm_neon.h vml<as>_lane handling.

gcc/
* config/aarch64/aarch64-simd-builtins.def (fma): New.
* config/aarch64/aarch64-simd.md
(aarch64_mla_elt<mode>): New.
(aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
(aarch64_mls_elt<mode>): Likewise.
(aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt<mode>): Likewise.
(aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt_to_128v2df): Likewise.
(aarch64_fma4_elt_to_64df): Likewise.
(fnma<mode>4): Likewise.
(aarch64_fnma4_elt<mode>): Likewise.
(aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fnma4_elt_to_128v2df): Likewise.
(aarch64_fnma4_elt_to_64df): Likewise.
* config/aarch64/iterators.md (VDQSF): New.
* config/aarch64/arm_neon.h
(vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation.
(vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise.

gcc/testsuite/
* gcc.target/aarch64/fmla-intrinsic.c: New.
* gcc.target/aarch64/mla-intrinsic.c: Likewise.
* gcc.target/aarch64/fmls-intrinsic.c: Likewise.
* gcc.target/aarch64/mls-intrinsic.c: Likewise.

From-SVN: r202625
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h
gcc/config/aarch64/iterators.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/fmla_intrinsic_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fmls_intrinsic_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mla_intrinsic_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/mls_intrinsic_1.c [new file with mode: 0644]