OSDN Git Service

* config/i386/i386-protos.h: Add a prototype for
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Mar 2004 23:29:22 +0000 (23:29 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Mar 2004 23:29:22 +0000 (23:29 +0000)
ix86_reverse_condition.
* config/i386/i386.c (ix86_reverse_condition): New.
* config/i386/i386.h (REVERSE_CONDITION): Use
ix86_reverse_condition.
* config/i386/i386.md: Use ix86_reverse_condition instead of
REVERSE_CONDITION.

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

gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md

index d5a91c1..4cb1068 100644 (file)
@@ -1,3 +1,13 @@
+2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i386/i386-protos.h: Add a prototype for
+       ix86_reverse_condition.
+       * config/i386/i386.c (ix86_reverse_condition): New.
+       * config/i386/i386.h (REVERSE_CONDITION): Use
+       ix86_reverse_condition.
+       * config/i386/i386.md: Use ix86_reverse_condition instead of
+       REVERSE_CONDITION.
+
 2004-03-16  J. Brobecker  <brobecker@gnat.com>
 
        * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
index ba7dda1..947f15d 100644 (file)
@@ -182,6 +182,7 @@ extern void x86_order_regs_for_local_alloc (void);
 extern void x86_function_profiler (FILE *, int);
 extern void x86_emit_floatuns (rtx [2]);
 
+extern enum rtx_code ix86_reverse_condition (enum rtx_code, enum machine_mode);
 
 #ifdef TREE_CODE
 extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree);
index 814a5f7..ff4d4bf 100644 (file)
@@ -15851,4 +15851,14 @@ ix86_md_asm_clobbers (tree clobbers)
   return clobbers;
 }
 
+/* Worker function for REVERSE_CONDITION.  */
+
+enum rtx_code
+ix86_reverse_condition (enum rtx_code code, enum machine_mode mode)
+{
+  return (mode != CCFPmode && mode != CCFPUmode
+         ? reverse_condition (code)
+         : reverse_condition_maybe_unordered (code));
+}
+
 #include "gt-i386.h"
index b90f590..ba98806 100644 (file)
@@ -2660,9 +2660,7 @@ do {                                                      \
 
 /* A C expression whose value is reversed condition code of the CODE for
    comparison done in CC_MODE mode.  */
-#define REVERSE_CONDITION(CODE, MODE) \
-  ((MODE) != CCFPmode && (MODE) != CCFPUmode ? reverse_condition (CODE) \
-   : reverse_condition_maybe_unordered (CODE))
+#define REVERSE_CONDITION(CODE, MODE) ix86_reverse_condition ((CODE), (MODE))
 
 \f
 /* Control the assembler format that we output, to the extent
index c9e7c8c..781b0ca 100644 (file)
   rtx new_op1 = copy_rtx (operands[1]);
   operands[1] = new_op1;
   PUT_MODE (new_op1, QImode);
-  PUT_CODE (new_op1, REVERSE_CONDITION (GET_CODE (new_op1),
-                                       GET_MODE (XEXP (new_op1, 0))));
+  PUT_CODE (new_op1, ix86_reverse_condition (GET_CODE (new_op1),
+                                            GET_MODE (XEXP (new_op1, 0))));
 
   /* Make sure that (a) the CCmode we have for the flags is strong
      enough for the reversed compare or (b) we have a valid FP compare.  */
   rtx new_op1 = copy_rtx (operands[1]);
   operands[1] = new_op1;
   PUT_MODE (new_op1, QImode);
-  PUT_CODE (new_op1, REVERSE_CONDITION (GET_CODE (new_op1),
-                                       GET_MODE (XEXP (new_op1, 0))));
+  PUT_CODE (new_op1, ix86_reverse_condition (GET_CODE (new_op1),
+                                            GET_MODE (XEXP (new_op1, 0))));
 
   /* Make sure that (a) the CCmode we have for the flags is strong
      enough for the reversed compare or (b) we have a valid FP compare.  */
   rtx new_op0 = copy_rtx (operands[0]);
   operands[0] = new_op0;
   PUT_MODE (new_op0, VOIDmode);
-  PUT_CODE (new_op0, REVERSE_CONDITION (GET_CODE (new_op0),
-                                       GET_MODE (XEXP (new_op0, 0))));
+  PUT_CODE (new_op0, ix86_reverse_condition (GET_CODE (new_op0),
+                                            GET_MODE (XEXP (new_op0, 0))));
 
   /* Make sure that (a) the CCmode we have for the flags is strong
      enough for the reversed compare or (b) we have a valid FP compare.  */