cse.c (fold_rtx): Use swap_commutative_operands_p to determine whether to reorder...
authorRoger Sayle <roger@eyesopen.com>
Fri, 18 Jul 2003 00:28:14 +0000 (00:28 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Fri, 18 Jul 2003 00:28:14 +0000 (00:28 +0000)
* cse.c (fold_rtx): Use swap_commutative_operands_p to determine
whether to reorder the operands of a commutative binary operator.

From-SVN: r69534

gcc/ChangeLog
gcc/cse.c

index dfff20c..3784190 100644 (file)
@@ -1,5 +1,10 @@
 2003-07-17  Roger Sayle  <roger@eyesopen.com>
 
+       * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
+       whether to reorder the operands of a commutative binary operator.
+
+2003-07-17  Roger Sayle  <roger@eyesopen.com>
+
        * fold-const.c (const_binop): Avoid performing the FP operation at
        compile-time, if either operand is NaN and we honor signaling NaNs,
        or if we're dividing by zero and either flag_trapping_math is set
index 5e6c9e4..7d05102 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3783,10 +3783,11 @@ fold_rtx (rtx x, rtx insn)
       || code == LTGT || code == UNEQ || code == ORDERED
       || code == UNORDERED)
     {
-      if (must_swap || (const_arg0
-                       && (const_arg1 == 0
-                           || (GET_CODE (const_arg0) == CONST_INT
-                               && GET_CODE (const_arg1) != CONST_INT))))
+      if (must_swap
+         || swap_commutative_operands_p (const_arg0 ? const_arg0
+                                                    : XEXP (x, 0),
+                                         const_arg1 ? const_arg1
+                                                    : XEXP (x, 1)))
        {
          rtx tem = XEXP (x, 0);