diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2020-11-13 13:05:43 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2020-12-14 10:47:29 +0000 |
commit | 434fb3b6cc7d4a8d9d07c7e0052a89093953c8c0 (patch) | |
tree | 2ebe83e351e0e892bb39c63edc19348d196798a4 /libcpp | |
parent | ebc15a4e1eee66f68b106e93d4fbf4ed9c8ef07a (diff) | |
download | gcc-434fb3b6cc7d4a8d9d07c7e0052a89093953c8c0.zip gcc-434fb3b6cc7d4a8d9d07c7e0052a89093953c8c0.tar.gz gcc-434fb3b6cc7d4a8d9d07c7e0052a89093953c8c0.tar.bz2 |
arm: Auto-vectorization for MVE: veor
This patch enables MVE veorq instructions for auto-vectorization. MVE
veorq insns in mve.md are modified to use xor instead of unspec
expression to support xor<mode>3. The xor<mode>3 expander is added to
vec-common.md
2020-12-11 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/iterators.md (supf): Remove VEORQ_S and VEORQ_U.
(VEORQ): Remove.
* config/arm/mve.md (mve_veorq_u<mode>): New entry for veor
instruction using expression xor.
(mve_veorq_s<mode>): New expander.
(mve_veorq_f<mode>): Use 'xor' code instead of unspec.
* config/arm/neon.md (xor<mode>3): Renamed into xor<mode>3_neon.
* config/arm/unspecs.md (VEORQ_S, VEORQ_U, VEORQ_F): Remove.
* config/arm/vec-common.md (xor<mode>3): New expander.
gcc/testsuite/
* gcc.target/arm/simd/mve-veor.c: Add tests for veor.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions