diff options
author | Dennis Zhang <dennis.zh@live.com> | 2020-10-22 01:27:31 +0100 |
---|---|---|
committer | Dennis Zhang <dennis.zh@live.com> | 2020-10-22 01:27:31 +0100 |
commit | 76835dca95ab9f3f106a0db1e6152ad0740b38b3 (patch) | |
tree | 2256c95a661d1cda77d3fc324411095f5d4bb46b /gcc/tree-nested.c | |
parent | 966fdb2e12c0347aa3f9efaf5f4e1cd8237fa024 (diff) | |
download | gcc-76835dca95ab9f3f106a0db1e6152ad0740b38b3.zip gcc-76835dca95ab9f3f106a0db1e6152ad0740b38b3.tar.gz gcc-76835dca95ab9f3f106a0db1e6152ad0740b38b3.tar.bz2 |
arm: Auto-vectorization for MVE: vmin/vmax
This patch enables MVE vmin/vmax instructions for auto-vectorization.
MVE target is included in expander smin<mode>3, umin<mode>3, smax<mode>3
and umax<mode>3 for vectorization. Related insns for vmin/vmax in mve.md
are modified to use smin, umin, smax and umax expressions instead of
unspec to support the expanders.
gcc/ChangeLog:
2020-10-22 Dennis Zhang <dennis.zhang@arm.com>
* config/arm/mve.md (mve_vmaxq_<supf><mode>): Replace with ...
(mve_vmaxq_s<mode>, mve_vmaxq_u<mode>): ... these new insns to
use smax/umax instead of VMAXQ.
(mve_vminq_<supf><mode>): Replace with ...
(mve_vminq_s<mode>, mve_vminq_u<mode>): ... these new insns to
use smin/umin instead of VMINQ.
(mve_vmaxnmq_f<mode>): Use smax instead of VMAXNMQ_F.
(mve_vminnmq_f<mode>): Use smin instead of VMINNMQ_F.
* config/arm/vec-common.md (smin<mode>3): Use the new mode macros
ARM_HAVE_<MODE>_ARITH.
(umin<mode>3, smax<mode>3, umax<mode>3): Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/arm/simd/mve-vminmax_1.c: New test.
Diffstat (limited to 'gcc/tree-nested.c')
0 files changed, 0 insertions, 0 deletions