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 ());
     }

Reply via email to