On 12/7/2021 10:37 PM, Alexandre Oliva via Gcc-patches wrote:
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. Regstrapped on x86_64-linux-gnu. Verified that, applied on a riscv64 compiler that failed the test, the asm statements are no longer dropped in the reload dumps. Running a x86_64-x-riscv64 regression testing now. Ok to install? 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.
OK. Nit in the ChangeLog. You forgot a '*' before the expr.c entry. jeff