aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorDennis Zhang <dennis.zh@live.com>2020-10-23 08:53:53 +0100
committerDennis Zhang <dennis.zh@live.com>2020-10-23 08:53:53 +0100
commit98161c248c88f873bbffba23664c540f551d89d5 (patch)
tree85788a59de2faac58f11a54183b20d7717a31bb0 /gcc/ada
parent6fade5a6044b7102758f4ca66c8715ebc12a6306 (diff)
downloadgcc-98161c248c88f873bbffba23664c540f551d89d5.zip
gcc-98161c248c88f873bbffba23664c540f551d89d5.tar.gz
gcc-98161c248c88f873bbffba23664c540f551d89d5.tar.bz2
arm: Auto-vectorization for MVE: vsub
This patch enables MVE vsub instructions for auto-vectorization. The sub<mode>3 in vec-common.md is modified to use new mode macros to include MVE extension for vectorization. MVE vsub insns in mve.md are modified to use 'minus' instead of unspec expression to support sub<mode>3. Use VDQ instead fo VALL to cover all supported modes. The redundant sub<mode>3 insns in neon.md are then removed. gcc/ChangeLog: 2020-10-23 Dennis Zhang <dennis.zhang@arm.com> * config/arm/mve.md (mve_vsubq<mode>): New entry for vsub instruction using expression 'minus'. (mve_vsubq_f<mode>): Use minus instead of VSUBQ_F unspec. * config/arm/neon.md (sub<mode>3, sub<mode>3_fp16): Removed. (neon_vsub<mode>): Use gen_sub<mode>3 instead of gen_sub<mode>3_fp16. * config/arm/vec-common.md (sub<mode>3): Use the new mode macros ARM_HAVE_<MODE>_ARITH. Use iterator VDQ instead of VALL. gcc/testsuite/ChangeLog: * gcc.target/arm/simd/mve-vsub_1.c: New test.
Diffstat (limited to 'gcc/ada')
0 files changed, 0 insertions, 0 deletions