arm: Auto-vectorization for MVE: vorn
authorChristophe Lyon <christophe.lyon@linaro.org>
Fri, 15 Jan 2021 10:02:25 +0000 (10:02 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Tue, 2 Feb 2021 08:53:57 +0000 (08:53 +0000)
commit250fd9fb118a6897e6c824a0faac634861ea7716
treefba4a1a876cdda7d4477f55e238e9b57053c7bc7
parent788113556899304501fd119f9c7ba93a74835c33
arm: Auto-vectorization for MVE: vorn

This patch enables MVE vornq instructions for auto-vectorization.  MVE
vornq insns in mve.md are modified to use ior instead of unspec
expression.

2021-02-01  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/iterators.md (supf): Remove VORNQ_S and VORNQ_U.
(VORNQ): Remove.
* config/arm/mve.md (mve_vornq_s<mode>): New entry for vorn
instruction using expression ior.
(mve_vornq_u<mode>): New expander.
(mve_vornq_f<mode>): Use ior code instead of unspec.
* config/arm/unspecs.md (VORNQ_S, VORNQ_U, VORNQ_F): Remove.

gcc/testsuite/
* gcc.target/arm/simd/mve-vorn.c: Add vorn tests.
gcc/config/arm/iterators.md
gcc/config/arm/mve.md
gcc/config/arm/unspecs.md
gcc/testsuite/gcc.target/arm/simd/mve-vorn.c [new file with mode: 0644]