]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[PATCH 2/7] RISC-V: Fix uninitialized reg in memcpy
authorCraig Blackmore <craig.blackmore@embecosm.com>
Fri, 18 Oct 2024 15:06:58 +0000 (09:06 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Fri, 18 Oct 2024 15:06:58 +0000 (09:06 -0600)
gcc/ChangeLog:

* config/riscv/riscv-string.cc (expand_block_move): Replace
`end` with `length_rtx` in gen_rtx_NE.

gcc/config/riscv/riscv-string.cc

index 0c5ffd7d861e7e60688c1d1d8c0b24982ae5628a..0f1353baba3b76878122e784e550e306dd41c586 100644 (file)
@@ -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 ());
     }