[08/44] RISC-V: Simplify EQ vs NE selection in `riscv_expand_conditional_move'

Message ID alpine.DEB.2.20.2311171455150.5892@tpp.orcam.me.uk
State Unresolved
Headers
Series RISC-V: Various if-conversion fixes and improvements |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Maciej W. Rozycki Nov. 19, 2023, 5:36 a.m. UTC
  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
  

Patch

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