https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113550
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:8eead1148cd0ac086b39a7abccea404041c85cb5 commit r14-8421-g8eead1148cd0ac086b39a7abccea404041c85cb5 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Thu Jan 25 12:03:18 2024 +0000 aarch64: Handle overlapping registers in movv8di [PR113550] The LS64 movv8di pattern didn't handle loads that overlapped with the address register (unless the overlap happened to be in the last subload). gcc/ PR target/113550 * config/aarch64/aarch64-simd.md: In the movv8di splitter, check whether each split instruction is a load that clobbers the source address. Emit that instruction last if so. gcc/testsuite/ PR target/113550 * gcc.target/aarch64/pr113550.c: New test.