diff options
author | Dennis Zhang <dennis.zh@live.com> | 2020-10-23 08:53:53 +0100 |
---|---|---|
committer | Dennis Zhang <dennis.zh@live.com> | 2020-10-23 08:53:53 +0100 |
commit | 98161c248c88f873bbffba23664c540f551d89d5 (patch) | |
tree | 85788a59de2faac58f11a54183b20d7717a31bb0 /gcc/ada | |
parent | 6fade5a6044b7102758f4ca66c8715ebc12a6306 (diff) | |
download | gcc-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