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

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

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

commit r17-4722-g3d79c978b53474d2b613fe3e28037393c8d037b0
Author: Robin Dapp <[email protected]>
Date:   Mon Sep 21 22:24:25 2026 +0200

    RISC-V: Spill more unsplittable moves [PR127484].

    In the PRs we hit the same problem as before, just this time with a
    (subreg:TF (reg:V4SF)) pun on a 32-bit target and a complex int128.
    These are different quadword splits than before but they can be
    handled similarly.  This patch extends riscv_subpart so it
    can deal with sub-parts of arbitrary modes.  The new functionality
    is then used to move a spilled TFmode value in word-sized chunks.

            PR target/127484
            PR target/127547

    gcc/ChangeLog:

            * config/riscv/riscv.cc (riscv_subpart): Add parameters and
            handle more part sizes.
            (spill_subreg_move): Allow subreg bytes != 0.
            (riscv_split_quadword_move):  Use riscv_subpart for TFmode.
            * config/riscv/riscv.md (movtf): Add.

    gcc/testsuite/ChangeLog:

            * gcc.target/riscv/rvv/autovec/pr127484.c: New test.
            * gcc.target/riscv/rvv/autovec/pr127547.c: New test.

Reply via email to