https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104882

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Christophe Lyon <cl...@gcc.gnu.org>:

https://gcc.gnu.org/g:3ab5c8cd03d92bf4ec41e351820349d92fbc40c4

commit r12-7818-g3ab5c8cd03d92bf4ec41e351820349d92fbc40c4
Author: Christophe Lyon <christophe.l...@arm.com>
Date:   Fri Mar 18 08:30:00 2022 +0000

    arm: Revert Auto-vectorization for MVE: add pack/unpack patterns PR
target/104882

    This reverts commit r12-1434-g046a3beb1673bf to fix PR target/104882.

    As discussed in the PR, it turns out that the MVE ISA has no natural
    mapping with GCC's vec_pack_trunc / vec_unpack standard patterns, unlike
    Neon or SVE for instance.

    This patch also adds the executable testcase provided in the PR.
    This test passes at -O3 because the generated code does not need
    to use the pack/unpack patterns, hence the use of -O2 which now
    triggers vectorization since a few months ago.

    2022-03-18  Christophe Lyon  <christohe.l...@arm.com>

            PR target/104882
            Revert
            2021-06-11  Christophe Lyon  <christophe.l...@linaro.org>

            gcc/
            * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
            (mve_vec_unpack<US>_hi_<mode>): Delete.
            (@mve_vec_pack_trunc_lo_<mode>): Delete.
            (mve_vmovntq_<supf><mode>): Remove '@' prefix.
            * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
            from vec-common.md.
            (vec_unpack<US>_lo_<mode>): Likewise.
            (vec_pack_trunc_<mode>): Rename from
            neon_quad_vec_pack_trunc_<mode>.
            * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
            (vec_unpack<US>_lo_<mode>): Delete.
            (vec_pack_trunc_<mode>): Delete.

            PR target/104882
            gcc/testsuite/
            * gcc.target/arm/simd/mve-vclz.c: Update expected results.
            * gcc.target/arm/simd/mve-vshl.c: Likewise.
            * gcc.target/arm/simd/mve-vec-pack.c: Delete.
            * gcc.target/arm/simd/mve-vec-unpack.c: Delete.
            * gcc.target/arm/simd/pr104882.c: New test.

Reply via email to