https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103302
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alexandre Oliva <aol...@gcc.gnu.org>: https://gcc.gnu.org/g:50e8b0c9bca6cdc57804f860ec5311b641753fbb commit r12-5852-g50e8b0c9bca6cdc57804f860ec5311b641753fbb Author: Alexandre Oliva <ol...@adacore.com> Date: Wed Dec 8 23:37:14 2021 -0300 [PR103302] skip multi-word pre-move clobber during lra If we emit clobbers before multi-word moves during lra, we get confused if a copy ends up with input or output replaced with each other: the clobber then kills the previous set, and it gets deleted. This patch avoids emitting such clobbers when lra_in_progress. for gcc/ChangeLog PR target/103302 * expr.c (emit_move_multi_word): Skip clobber during lra. for gcc/testsuite/ChangeLog PR target/103302 * gcc.target/riscv/pr103302.c: New.