This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ColdFire 43/63] Use floating-point branches on ColdFire too


The 68881 FPU branches apply equally well to the ColdFire FPU, so this
patch changes the condition from TARGET_68881 to TARGET_HARD_FLOAT.

Richard


gcc/
	* config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
	(bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
	(bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
	condition from TARGET_68881 to TARGET_HARD_FLOAT.

Index: gcc/config/m68k/m68k.md
===================================================================
--- gcc/config/m68k/m68k.md	2007-01-09 15:02:19.000000000 +0000
+++ gcc/config/m68k/m68k.md	2007-01-09 15:02:20.000000000 +0000
@@ -5929,7 +5929,7 @@ (define_insn "bordered"
 	(if_then_else (ordered (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbor %l0" : "fjor %l0";
@@ -5940,7 +5940,7 @@ (define_insn "bunordered"
 	(if_then_else (unordered (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbun %l0" : "fjun %l0";
@@ -5951,7 +5951,7 @@ (define_insn "buneq"
 	(if_then_else (uneq (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbueq %l0" : "fjueq %l0";
@@ -5962,7 +5962,7 @@ (define_insn "bunge"
 	(if_then_else (unge (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbuge %l0" : "fjuge %l0";
@@ -5973,7 +5973,7 @@ (define_insn "bungt"
 	(if_then_else (ungt (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbugt %l0" : "fjugt %l0";
@@ -5984,7 +5984,7 @@ (define_insn "bunle"
 	(if_then_else (unle (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbule %l0" : "fjule %l0";
@@ -5995,7 +5995,7 @@ (define_insn "bunlt"
 	(if_then_else (unlt (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbult %l0" : "fjult %l0";
@@ -6006,7 +6006,7 @@ (define_insn "bltgt"
 	(if_then_else (ltgt (cc0) (const_int 0))
 		      (label_ref (match_operand 0 "" ""))
 		      (pc)))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbogl %l0" : "fjogl %l0";
@@ -6147,7 +6147,7 @@ (define_insn "*bordered_rev"
 	(if_then_else (ordered (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbun %l0" : "fjun %l0";
@@ -6158,7 +6158,7 @@ (define_insn "*bunordered_rev"
 	(if_then_else (unordered (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbor %l0" : "fjor %l0";
@@ -6169,7 +6169,7 @@ (define_insn "*buneq_rev"
 	(if_then_else (uneq (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbogl %l0" : "fjogl %l0";
@@ -6180,7 +6180,7 @@ (define_insn "*bunge_rev"
 	(if_then_else (unge (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbolt %l0" : "fjolt %l0";
@@ -6191,7 +6191,7 @@ (define_insn "*bungt_rev"
 	(if_then_else (ungt (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbole %l0" : "fjole %l0";
@@ -6202,7 +6202,7 @@ (define_insn "*bunle_rev"
 	(if_then_else (unle (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbogt %l0" : "fjogt %l0";
@@ -6213,7 +6213,7 @@ (define_insn "*bunlt_rev"
 	(if_then_else (unlt (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fboge %l0" : "fjoge %l0";
@@ -6224,7 +6224,7 @@ (define_insn "*bltgt_rev"
 	(if_then_else (ltgt (cc0) (const_int 0))
 		      (pc)
 		      (label_ref (match_operand 0 "" ""))))]
-  "TARGET_68881"
+  "TARGET_HARD_FLOAT"
 {
   gcc_assert (cc_prev_status.flags & CC_IN_68881);
   return MOTOROLA ? "fbueq %l0" : "fjueq %l0";


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]