https://gcc.gnu.org/g:e348a878cb7b60e13c06ed526aa32265f8fdd978
commit e348a878cb7b60e13c06ed526aa32265f8fdd978 Author: Craig Blackmore <craig.blackm...@embecosm.com> Date: Fri Oct 18 09:06:58 2024 -0600 [PATCH 2/7] RISC-V: Fix uninitialized reg in memcpy gcc/ChangeLog: * config/riscv/riscv-string.cc (expand_block_move): Replace `end` with `length_rtx` in gen_rtx_NE. (cherry picked from commit 212d8685e4590c9f1168f503a383e3ea2639b418) Diff: --- gcc/config/riscv/riscv-string.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/config/riscv/riscv-string.cc b/gcc/config/riscv/riscv-string.cc index 0c5ffd7d861e..0f1353baba3b 100644 --- a/gcc/config/riscv/riscv-string.cc +++ b/gcc/config/riscv/riscv-string.cc @@ -1078,7 +1078,6 @@ expand_block_move (rtx dst_in, rtx src_in, rtx length_in) bool need_loop = true; bool size_p = optimize_function_for_size_p (cfun); rtx src, dst; - rtx end = gen_reg_rtx (Pmode); rtx vec; rtx length_rtx = length_in; @@ -1245,7 +1244,7 @@ expand_block_move (rtx dst_in, rtx src_in, rtx length_in) emit_insn (gen_rtx_SET (length_rtx, gen_rtx_MINUS (Pmode, length_rtx, cnt))); /* Emit the loop condition. */ - rtx test = gen_rtx_NE (VOIDmode, end, const0_rtx); + rtx test = gen_rtx_NE (VOIDmode, length_rtx, const0_rtx); emit_jump_insn (gen_cbranch4 (Pmode, test, length_rtx, const0_rtx, label)); emit_insn (gen_nop ()); }