Hi Jeff, On Thu, May 15, 2025 at 10:11:19PM -0600, Jeff Law wrote: > This has been tested in my tester and is currently bootstrapping on > my BPI. Waiting on data from the pre-commit tester before moving > forward...
It looks like the Sourceware p550 and spacemit-x60 builders do flag a bootstrap issue with this: https://builder.sourceware.org/buildbot/#/builders/337/builds/255 https://builder.sourceware.org/buildbot/#/builders/338/builds/228 ../../gcc/gcc/config/riscv/riscv.cc: In function ‘bool synthesize_ior_xor(rtx_code, rtx_def**)’: ../../gcc/gcc/config/riscv/riscv.cc:14422:18: error: ‘output’ may be used uninitialized [-Werror=maybe-uninitialized] 14422 | emit_move_insn (operands[0], output); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../../gcc/gcc/config/riscv/riscv.cc:14393:7: note: ‘output’ was declared here 14393 | rtx output; | ^~~~~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:2728: riscv.o] Error 1 make[3]: *** Waiting for unfinished jobs.... > * config/riscv/riscv.cc (synthesize_ior_xor): Avoid writing > operands[0] more than once, use new pseudos instead. > > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index d996965d095..b908c4684ac 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > [...] > @@ -14378,6 +14394,7 @@ synthesize_ior_xor (rtx_code code, rtx operands[3]) > /* Synthesis is better than loading the constant. */ > ival = INTVAL (operands[2]); > rtx input = operands[1]; > + rtx output; > > /* Emit the [x]ori insn that sets the low 11 bits into > the proper state. */ Should output here be initialized to NULL_RTX? Thanks, Mark