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

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Robin Dapp <[email protected]>:

https://gcc.gnu.org/g:a88df55edc15ebfa61cc348c604205ce508d6473

commit r16-9644-ga88df55edc15ebfa61cc348c604205ce508d6473
Author: Robin Dapp <[email protected]>
Date:   Wed Sep 9 09:12:07 2026 +0200

    lower-subreg: Avoid unsplittable modes. [PR127256]

    This is split off of r17-3907-gec58d736cd572b.  The patch mainly avoids
    splitting subregs whose outer mode can be split but the inner cannot
    like in
      (subreg:TI (reg:VNx4SI 665) 0).
    Also, it filters out unsplittable modes and doesn't assert that an
    outermode in simplify_subreg_concatn is interesting.  It suffices that
    its size is constant so we can build subregs.

            PR middle-end/127256

    gcc/ChangeLog:

            * lower-subreg.cc (interesting_mode_p): Don't consider
            unsplittable modes as interesting.
            (simple_move_operand): Don't split subregs whose outer mode
            can be split but the inner mode cannot.
            (simplify_subreg_concatn): Don't insist the outer mode is
            interesting but rather check that its size is constant.

    gcc/testsuite/ChangeLog:

            * g++.target/aarch64/pr127256.C: New test.

Reply via email to