diff options
author | jgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-26 10:03:14 +0000 |
---|---|---|
committer | jgreenhalgh <jgreenhalgh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-26 10:03:14 +0000 |
commit | 408987fbc17985e016a768a2a4dc2a99d18487d8 (patch) | |
tree | b2fa6662c10162f57cba60f6459f47e49c4d4064 /gcc/config/aarch64/aarch64-simd-builtins.def | |
parent | 777beb696ccd0bf125ae44894b2a839a6b51807d (diff) | |
download | gcc-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.def | 5 |
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) + |