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