aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range.cc
diff options
context:
space:
mode:
authorDennis Zhang <dennis.zh@live.com>2020-10-22 01:09:33 +0100
committerDennis Zhang <dennis.zh@live.com>2020-10-22 01:09:33 +0100
commit0f41b5e02fa47db2080b77e4e1f7cd3305457c05 (patch)
treefb604198a910464fbb37f7d83da87304460f8b85 /gcc/gimple-range.cc
parentca5f4666f7a9404cdb04832324de3dd7d71e35c3 (diff)
downloadgcc-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