summaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64-simd-builtins.def
diff options
context:
space:
mode:
authorjiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-21 16:56:21 +0000
committerjiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-21 16:56:21 +0000
commitcaa5509eb09ac5b5e6d26730c3907f6ab78b0929 (patch)
treeca2c3409b6bd33675545ecdcd44e19a830238f28 /gcc/config/aarch64/aarch64-simd-builtins.def
parent4e8a08d4ad626912106f6fbad06dfc2c7d367498 (diff)
downloadgcc-caa5509eb09ac5b5e6d26730c3907f6ab78b0929.tar.gz
[AArch64] Add vector pattern for __builtin_ctz
gcc/ * config/aarch64/iterators.md (VS): New mode iterator. (vsi2qi): New mode attribute. (VSI2QI): Likewise. * config/aarch64/aarch64-simd-builtins.def: New entry for ctz. * config/aarch64/aarch64-simd.md (ctz<mode>2): New pattern for ctz. * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Support BUILT_IN_CTZ. gcc/testsuite/ * gcc.target/aarch64/vect_ctz_1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217938 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/aarch64/aarch64-simd-builtins.def')
-rw-r--r--gcc/config/aarch64/aarch64-simd-builtins.def1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def
index 545c7da935e..936b671163d 100644
--- a/gcc/config/aarch64/aarch64-simd-builtins.def
+++ b/gcc/config/aarch64/aarch64-simd-builtins.def
@@ -45,6 +45,7 @@
BUILTIN_VD_BHSI (BINOP, addp, 0)
VAR1 (UNOP, addp, 0, di)
BUILTIN_VDQ_BHSI (UNOP, clz, 2)
+ BUILTIN_VS (UNOP, ctz, 2)
/* be_checked_get_lane does its own lane swapping, so not a lane index. */
BUILTIN_VALL (GETREG, be_checked_get_lane, 0)