-
- Downloads
arm: Auto-vectorization for MVE: vshr
This patch enables MVE vshr instructions for auto-vectorization. New MVE patterns are introduced that take a vector of constants as second operand, all constants being equal. The existing mve_vshrq_n_<supf><mode> is kept, as it takes a single immediate as second operand, and is used by arm_mve.h. The vashr<mode>3 and vlshr<mode>3 expanders are moved fron neon.md to vec-common.md, updated to rely on the normal expansion scheme to generate shifts by immediate. 2020-12-03 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry. (mve_vshrq_n_u<mode>_imm): Likewise. * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ... * config/arm/vec-common.md: ... here. gcc/testsuite/ * gcc.target/arm/simd/mve-vshr.c: Add tests for vshr.
Showing
- gcc/config/arm/mve.md 34 additions, 0 deletionsgcc/config/arm/mve.md
- gcc/config/arm/neon.md 0 additions, 34 deletionsgcc/config/arm/neon.md
- gcc/config/arm/vec-common.md 37 additions, 1 deletiongcc/config/arm/vec-common.md
- gcc/testsuite/gcc.target/arm/simd/mve-vshr.c 59 additions, 0 deletionsgcc/testsuite/gcc.target/arm/simd/mve-vshr.c
Loading
Please register or sign in to comment