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.
