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/fortran/expr.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/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions
