aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2020-12-02 12:20:02 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2020-12-14 10:47:29 +0000
commitfd43603414a9b7bdbac5a822af144dcd559733eb (patch)
treeedf2a306554388a1828200197fa8606e7f58faa3 /libcpp
parent5391cf07be7117c2df605acbfad31a4f9c6b7a65 (diff)
downloadgcc-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