diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2021-06-09 16:07:43 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2021-06-09 16:07:43 +0000 |
commit | 7969d9c83d061e57ea80795768469cffb1a859f8 (patch) | |
tree | 95c092922d62441444d7909210507f2ae410272d /gcc/gcc.c | |
parent | 880198da50e1beac9b7cf8ff1bff570359c5f2a0 (diff) | |
download | gcc-7969d9c83d061e57ea80795768469cffb1a859f8.zip gcc-7969d9c83d061e57ea80795768469cffb1a859f8.tar.gz gcc-7969d9c83d061e57ea80795768469cffb1a859f8.tar.bz2 |
arm: Auto-vectorization for MVE: vclz
This patch adds support for auto-vectorization of clz for MVE.
It does so by removing the unspec from mve_vclzq_<supf><mode> and uses
'clz' instead. It moves to neon_vclz<mode> expander from neon.md to
vec-common.md and renames it into the standard name clz<mode>2.
2021-06-09 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/iterators.md (<supf>): Remove VCLZQ_U, VCLZQ_S.
(VCLZQ): Remove.
* config/arm/mve.md (mve_vclzq_<supf><mode>): Add '@' prefix,
remove <supf> iterator.
(mve_vclzq_u<mode>): New.
* config/arm/neon.md (clz<mode>2): Rename to neon_vclz<mode>.
(neon_vclz<mode): Move to ...
* config/arm/unspecs.md (VCLZQ_U, VCLZQ_S): Remove.
* config/arm/vec-common.md: ... here. Add support for MVE.
gcc/testsuite/
* gcc.target/arm/simd/mve-vclz.c: New test.
Diffstat (limited to 'gcc/gcc.c')
0 files changed, 0 insertions, 0 deletions