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

--- Comment #2 from GCC 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:670df03e5294a31efff1554c9a751ef893dc1f71

commit r15-6389-g670df03e5294a31efff1554c9a751ef893dc1f71
Author: Christophe Lyon <christophe.l...@linaro.org>
Date:   Thu Dec 19 16:25:59 2024 +0000

    arm: [MVE intrinsics] Fix moves of tuples (PR target/118131)

    Commit r15-6245-g4f4e13dd235b introduced new modes for MVE tuples, but
    missed adding support for them in a few places.

    Adding them to the list in arm_attr_length_move_neon is not sufficient
    since we later face another ICE where the compiler does not know how
    to split move of such data.

    The patch therefore enhances the define_splits for OI and XI moves in
    neon.md, via the introduction of new iterators.

    In addition, it seems consistent to update output_move_neon such that
    VALID_NEON_*_MODE are used only when TARGET_NEON.

    gcc/ChangeLog:

            PR target/118131
            * config/arm/arm.cc (output_move_neon): Check TARGET_NEON as
            needed.
            (arm_attr_length_move_neon): Add support for V2x and V4x MVE tuple
            modes.
            * config/arm/iterators.md (VSTRUCT2, VSTRUCT4): New.
            * config/arm/neon.md: Use VSTRUCT2 instead of OI and VSTRUCT4
            instead of XI in define_split.

Reply via email to