aboutsummaryrefslogtreecommitdiff
path: root/gcc/hooks.h
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2020-11-12 20:16:05 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2020-12-10 12:13:58 +0000
commit11a0beff64f71d03fa6614a985b6a870da6cc821 (patch)
treef99c82ff5331da8be93e309f1ba293b8f741afae /gcc/hooks.h
parent4cf70c20cb10acd6fb1016611d05540728176b60 (diff)
downloadgcc-11a0beff64f71d03fa6614a985b6a870da6cc821.zip
gcc-11a0beff64f71d03fa6614a985b6a870da6cc821.tar.gz
gcc-11a0beff64f71d03fa6614a985b6a870da6cc821.tar.bz2
arm: Auto-vectorization for MVE: vand
This patch enables MVE vandq instructions for auto-vectorization. MVE vandq insns in mve.md are modified to use 'and' instead of unspec expression to support and<mode>3. The and<mode>3 expander is added to vec-common.md 2020-12-03 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/iterators.md (supf): Remove VANDQ_S and VANDQ_U. (VANQ): Remove. (VDQ): Add TARGET_HAVE_MVE condition where relevant. * config/arm/mve.md (mve_vandq_u<mode>): New entry for vand instruction using expression 'and'. (mve_vandq_s<mode>): New expander. (mve_vaddq_n_f<mode>): Use 'and' code instead of unspec. * config/arm/neon.md (and<mode>3): Rename into and<mode>3_neon. * config/arm/predicates.md (imm_for_neon_inv_logic_operand): Enable for MVE. * config/arm/unspecs.md (VANDQ_S, VANDQ_U, VANDQ_F): Remove. * config/arm/vec-common.md (and<mode>3): New expander. gcc/testsuite/ * gcc.target/arm/simd/mve-vand.c: New test.
Diffstat (limited to 'gcc/hooks.h')
0 files changed, 0 insertions, 0 deletions