diff options
author | Dennis Zhang <dennis.zh@live.com> | 2020-10-22 01:09:33 +0100 |
---|---|---|
committer | Dennis Zhang <dennis.zh@live.com> | 2020-10-22 01:09:33 +0100 |
commit | 0f41b5e02fa47db2080b77e4e1f7cd3305457c05 (patch) | |
tree | fb604198a910464fbb37f7d83da87304460f8b85 /gcc/gimple-range.cc | |
parent | ca5f4666f7a9404cdb04832324de3dd7d71e35c3 (diff) | |
download | gcc-0f41b5e02fa47db2080b77e4e1f7cd3305457c05.zip gcc-0f41b5e02fa47db2080b77e4e1f7cd3305457c05.tar.gz gcc-0f41b5e02fa47db2080b77e4e1f7cd3305457c05.tar.bz2 |
arm: Auto-vectorization for MVE: vmul
This patch enables MVE vmul instructions for auto-vectorization.
It includes MVE in expander mul<mode>3 to enable vectorization for MVE.
Related MVE vmul insns are modified to support the expander by using
expression 'mult' instead of unspec.
The mul<mode>3 for vectorization in vec-common.md uses mode iterator
VDQWH instead of VALLW to cover all supported modes.
The macros ARM_HAVE_NEON_<MODE>_ARITH are used to select supported
modes for different targets.
The redundant mul<mode>3 in neon.md is removed.
gcc/ChangeLog:
2020-10-22 Dennis Zhang <dennis.zhang@arm.com>
* config/arm/mve.md (mve_vmulq<mode>): New entry for vmul instruction
using expression 'mult'.
(mve_vmulq_f<mode>): Use mult instead of VMULQ_F.
* config/arm/neon.md (mul<mode>3): Removed.
* config/arm/vec-common.md (mul<mode>3): Use the new mode macros
ARM_HAVE_<MODE>_ARITH. Use mode iterator VDQWH instead of VALLW.
gcc/testsuite/ChangeLog:
* gcc.target/arm/simd/mve-vmul_1.c: New test.
Diffstat (limited to 'gcc/gimple-range.cc')
0 files changed, 0 insertions, 0 deletions