OSDN Git Service

* simplify-rtx.c (simplify_relational_operation): Canonicalize
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Feb 2000 10:56:56 +0000 (10:56 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Feb 2000 10:56:56 +0000 (10:56 +0000)
        constant to op1 for testing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31825 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/simplify-rtx.c

index 85ddc65..3831f59 100644 (file)
@@ -1,3 +1,8 @@
+2000-02-06  Richard Henderson  <rth@cygnus.com>
+
+       * simplify-rtx.c (simplify_relational_operation): Canonicalize
+       constant to op1 for testing.
+
 2000-02-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
        * config/c4x/c4x.md (*ldi_on_overflow): New pattern.
 2000-02-04  Jan Hubicka  <jh@suse.cz>
            Richard Henderson  <rth@cygnus.com>
 
-        * i386.c (SAVE_REGS_FIRST): Remove.
-        (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
-        (ix86_compute_frame_size): Likewise.
+       * i386.c (SAVE_REGS_FIRST): Remove.
+       (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
+       (ix86_compute_frame_size): Likewise.
        (ix86_expand_prologue): Likewise.  Use pro_epilogue_adjust_stack.
-        (ix86_emit_restore_regs): Remove.
+       (ix86_emit_restore_regs): Remove.
        (ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
        when a frame pointer is in use.
-        (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode.  Use mov
+       (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode.  Use mov
        instead of pop to restore a register when profitable; emit leave
        when profitable.
-        (ix86_attr_length_default): Handle pro_epilogue_adjust_stack
-        as a TYPE_LEA insn.
+       (ix86_attr_length_default): Handle pro_epilogue_adjust_stack
+       as a TYPE_LEA insn.
        (ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
-        * i386.md (prologue_allocate_stack): Remove.
+       * i386.md (prologue_allocate_stack): Remove.
        (epilogue_deallocate_stack): Remove.
        (pro_epilogue_adjust_stack): New.
 
index 12d1d8c..c02248e 100644 (file)
@@ -1591,6 +1591,14 @@ simplify_relational_operation (code, mode, op0, op1)
       )
     return 0;
 
+  /* Make sure the constant is second.  */
+  if ((CONSTANT_P (op0) && ! CONSTANT_P (op1))
+      || (GET_CODE (op0) == CONST_INT && GET_CODE (op1) != CONST_INT))
+    {
+      tem = op0, op0 = op1, op1 = tem;
+      code = swap_condition (code);
+    }
+
   /* For integer comparisons of A and B maybe we can simplify A - B and can
      then simplify a comparison of that with zero.  If A and B are both either
      a register or a CONST_INT, this can't help; testing for these cases will