summaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64-simd-builtins.def
diff options
context:
space:
mode:
authorjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-26 10:03:14 +0000
committerjgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-26 10:03:14 +0000
commit408987fbc17985e016a768a2a4dc2a99d18487d8 (patch)
treeb2fa6662c10162f57cba60f6459f47e49c4d4064 /gcc/config/aarch64/aarch64-simd-builtins.def
parent777beb696ccd0bf125ae44894b2a839a6b51807d (diff)
downloadgcc-408987fbc17985e016a768a2a4dc2a99d18487d8.tar.gz
[AArch64] [3/4 Fix vtbx1]Implement bsl intrinsics using builtins
gcc/ * config/aarch64/aarch64-builtins.c (aarch64_types_bsl_p_qualifiers): New. (aarch64_types_bsl_s_qualifiers): Likewise. (aarch64_types_bsl_u_qualifiers): Likewise. (TYPES_BSL_P): Likewise. (TYPES_BSL_S): Likewise. (TYPES_BSL_U): Likewise. (BUILTIN_VALLDIF): Likewise. (BUILTIN_VDQQH): Likewise. * config/aarch64/aarch64-simd-builtins.def (simd_bsl): New. * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal): Handle more modes. (aarch64_simd_bsl<mode>): Likewise. * config/aarch64/arm_neon.h (vbsl<q>_<fpsu><8,16,32,64): Implement using builtins. * config/aarch64/iterators.md (VALLDIF): New. (Vbtype): Handle more modes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205385 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/aarch64/aarch64-simd-builtins.def')
-rw-r--r--gcc/config/aarch64/aarch64-simd-builtins.def5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def
index c18b150a1f5..1dc3c1fe33f 100644
--- a/gcc/config/aarch64/aarch64-simd-builtins.def
+++ b/gcc/config/aarch64/aarch64-simd-builtins.def
@@ -362,3 +362,8 @@
/* Implemented by fma<mode>4. */
BUILTIN_VDQF (TERNOP, fma, 4)
+ /* Implemented by aarch64_simd_bsl<mode>. */
+ BUILTIN_VDQQH (BSL_P, simd_bsl, 0)
+ BUILTIN_VSDQ_I_DI (BSL_U, simd_bsl, 0)
+ BUILTIN_VALLDIF (BSL_S, simd_bsl, 0)
+