LGTM
On Sun, Nov 19, 2023 at 1:37 PM Maciej W. Rozycki <ma...@embecosm.com> wrote: > > Just choose between EQ and NE at `gen_rtx_fmt_ee' invocation, removing > an extraneous variable only referred once and improving code clarity. > > gcc/ > * config/riscv/riscv.cc (riscv_expand_conditional_move): Remove > extraneous variable for EQ vs NE operation selection. > --- > FWIW I have no idea what "We need to know where so that we can adjust it > for our needs." refers to, but that would have to be for another change. > --- > gcc/config/riscv/riscv.cc | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > gcc-riscv-expand-conditional-move-new-code.diff > Index: gcc/gcc/config/riscv/riscv.cc > =================================================================== > --- gcc.orig/gcc/config/riscv/riscv.cc > +++ gcc/gcc/config/riscv/riscv.cc > @@ -4023,10 +4023,12 @@ riscv_expand_conditional_move (rtx dest, > we can then use an equality comparison against zero. */ > if (!equality_operator (op, VOIDmode) || op1 != CONST0_RTX (mode)) > { > - enum rtx_code new_code = NE; > bool *invert_ptr = nullptr; > bool invert = false; > > + /* If riscv_expand_int_scc inverts the condition, then it will > + flip the value of INVERT. We need to know where so that > + we can adjust it for our needs. */ > if (code == LE || code == GE) > invert_ptr = &invert; > > @@ -4043,13 +4045,7 @@ riscv_expand_conditional_move (rtx dest, > else > return false; > > - /* If riscv_expand_int_scc inverts the condition, then it will > - flip the value of INVERT. We need to know where so that > - we can adjust it for our needs. */ > - if (invert) > - new_code = EQ; > - > - op = gen_rtx_fmt_ee (new_code, mode, tmp, const0_rtx); > + op = gen_rtx_fmt_ee (invert ? EQ : NE, mode, tmp, const0_rtx); > > /* We've generated a new comparison. Update the local variables. > */ > code = GET_CODE (op);