diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2020-12-02 12:20:02 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2020-12-14 10:47:29 +0000 |
commit | fd43603414a9b7bdbac5a822af144dcd559733eb (patch) | |
tree | edf2a306554388a1828200197fa8606e7f58faa3 /libcpp | |
parent | 5391cf07be7117c2df605acbfad31a4f9c6b7a65 (diff) | |
download | gcc-fd43603414a9b7bdbac5a822af144dcd559733eb.zip gcc-fd43603414a9b7bdbac5a822af144dcd559733eb.tar.gz gcc-fd43603414a9b7bdbac5a822af144dcd559733eb.tar.bz2 |
arm: Auto-vectorization for MVE: vmvn
This patch enables MVE vmvnq instructions for auto-vectorization. MVE
vmvnq insns in mve.md are modified to use 'not' instead of unspec
expression to support one_cmpl<mode>2. The one_cmpl<mode>2 expander
is added to vec-common.md.
2020-12-11 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/iterators.md (VDQNOTM2): New mode iterator.
(supf): Remove VMVNQ_S and VMVNQ_U.
(VMVNQ): Remove.
* config/arm/mve.md (mve_vmvnq_u<mode>): New entry for vmvn
instruction using expression not.
(mve_vmvnq_s<mode>): New expander.
* config/arm/neon.md (one_cmpl<mode>2): Renamed into
one_cmpl<mode>2_neon.
* config/arm/unspecs.md (VMVNQ_S, VMVNQ_U): Remove.
* config/arm/vec-common.md (one_cmpl<mode>2): New expander.
gcc/testsuite/
* gcc.target/arm/simd/mve-vmvn.c: Add tests for vmvn.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions