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 dfff20cdaa4b81e535915b9b36417a068c15510c..3784190c92390033c4b0b884b9a18b61944b61e2 100644 (file)
@@ -1,3 +1,8 @@
+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
index 5e6c9e40b17e3a2b2bc7da42d55298df75ce2896..7d05102193695cc34e3603d2d5abc838c31e0477 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);