This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[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";