aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-transform.c
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2013-09-02 16:22:10 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2013-09-02 16:22:10 +0000
commit91bd4114a73ca69e5ce3d904282b402b9f2128d3 (patch)
treeff97297f82a36c9eca0cec44a4668205e70e35e2 /gcc/ipa-inline-transform.c
parentd617d2d806dd4a1cb6c25f06de191593831bcd40 (diff)
downloadgcc-91bd4114a73ca69e5ce3d904282b402b9f2128d3.zip
gcc-91bd4114a73ca69e5ce3d904282b402b9f2128d3.tar.gz
gcc-91bd4114a73ca69e5ce3d904282b402b9f2128d3.tar.bz2
[AArch64] Rewrite the vdup_lane intrinsics in C
gcc/ * config/aarch64/aarch64-simd-builtins.def (dup_lane_scalar): Remove. * config/aarch64/aarch64-simd.md (aarch64_simd_dup): Add 'w->w' alternative. (aarch64_dup_lane<mode>): Allow for VALL. (aarch64_dup_lane_scalar<mode>): Remove. (aarch64_dup_lane_<vswap_width_name><mode>): New. (aarch64_get_lane_signed<mode>): Add w->w altenative. (aarch64_get_lane_unsigned<mode>): Likewise. (aarch64_get_lane<mode>): Likewise. * config/aarch64/aarch64.c (aarch64_evpc_dup): New. (aarch64_expand_vec_perm_const_1): Use aarch64_evpc_dup. * config/aarch64/iterators.md (VSWAP_WIDTH): New. (VCON): Change container of V2SF. (vswap_width_name): Likewise. * config/aarch64/arm_neon.h (__aarch64_vdup_lane_any): New. (__aarch64_vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise. (vdup<q>_n_<psuf><8,16,32,64>): Convert to C implementation. (vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise. gcc/testsuite/ * gcc.target/aarch64/scalar_intrinsics.c (vdup<bhsd>_lane<su><8,16,32,64>): Force values to SIMD registers. From-SVN: r202180
Diffstat (limited to 'gcc/ipa-inline-transform.c')
0 files changed, 0 insertions, 0 deletions