aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2020-11-13 13:05:43 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2020-12-14 10:47:29 +0000
commit434fb3b6cc7d4a8d9d07c7e0052a89093953c8c0 (patch)
tree2ebe83e351e0e892bb39c63edc19348d196798a4 /libcpp
parentebc15a4e1eee66f68b106e93d4fbf4ed9c8ef07a (diff)
downloadgcc-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