aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/m68k/m68k.md104
2 files changed, 42 insertions, 70 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 94e2501..80307a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2007-09-18 Roman Zippel <zippel@linux-m68k.org>
+
+ * config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered,
+ bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev,
+ bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev,
+ bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev,
+ bunlt_rev, bltgt_rev): Replace all fbcc with fjcc.
+
2007-09-18 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/m68k/m68k-devices.def (51qe): New device.
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 63c0a0e..bb0cdd0 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -6484,10 +6484,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbeq %l0", "fbeq %l0", "jbeq %l0");
- else
- OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
+ OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
}
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")])
@@ -6500,10 +6497,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbne %l0", "fbne %l0", "jbne %l0");
- else
- OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
+ OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
}
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")])
@@ -6516,10 +6510,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbgt %l0", "fbgt %l0", 0);
- else
- OUTPUT_JUMP ("jgt %l0", "fjgt %l0", 0);
+ OUTPUT_JUMP ("jgt %l0", "fjgt %l0", 0);
}
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")])
@@ -6544,10 +6535,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jblt %l0", "fblt %l0", "jbmi %l0");
- else
- OUTPUT_JUMP ("jlt %l0", "fjlt %l0", "jmi %l0");
+ OUTPUT_JUMP ("jlt %l0", "fjlt %l0", "jmi %l0");
}
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")])
@@ -6572,10 +6560,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbge %l0", "fbge %l0", "jbpl %l0");
- else
- OUTPUT_JUMP ("jge %l0", "fjge %l0", "jpl %l0");
+ OUTPUT_JUMP ("jge %l0", "fjge %l0", "jpl %l0");
})
(define_insn "bgeu"
@@ -6598,10 +6583,7 @@
(pc)))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jble %l0", "fble %l0", 0);
- else
- OUTPUT_JUMP ("jle %l0", "fjle %l0", 0);
+ OUTPUT_JUMP ("jle %l0", "fjle %l0", 0);
}
[(set_attr "type" "bcc")])
@@ -6625,7 +6607,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbor %l0" : "fjor %l0";
+ return "fjor %l0";
})
(define_insn "bunordered"
@@ -6636,7 +6618,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbun %l0" : "fjun %l0";
+ return "fjun %l0";
})
(define_insn "buneq"
@@ -6647,7 +6629,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbueq %l0" : "fjueq %l0";
+ return "fjueq %l0";
})
(define_insn "bunge"
@@ -6658,7 +6640,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbuge %l0" : "fjuge %l0";
+ return "fjuge %l0";
})
(define_insn "bungt"
@@ -6669,7 +6651,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbugt %l0" : "fjugt %l0";
+ return "fjugt %l0";
})
(define_insn "bunle"
@@ -6680,7 +6662,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbule %l0" : "fjule %l0";
+ return "fjule %l0";
})
(define_insn "bunlt"
@@ -6691,7 +6673,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbult %l0" : "fjult %l0";
+ return "fjult %l0";
})
(define_insn "bltgt"
@@ -6702,12 +6684,12 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbogl %l0" : "fjogl %l0";
+ return "fjogl %l0";
})
;; Negated conditional jump instructions.
-(define_insn "*beq2"
+(define_insn "*beq_rev"
[(set (pc)
(if_then_else (eq (cc0)
(const_int 0))
@@ -6715,14 +6697,11 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbne %l0", "fbne %l0", "jbne %l0");
- else
- OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
+ OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
}
[(set_attr "type" "bcc")])
-(define_insn "*bne2"
+(define_insn "*bne_rev"
[(set (pc)
(if_then_else (ne (cc0)
(const_int 0))
@@ -6730,14 +6709,11 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbeq %l0", "fbeq %l0", "jbeq %l0");
- else
- OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
+ OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
}
[(set_attr "type" "bcc")])
-(define_insn "*bgt2"
+(define_insn "*bgt_rev"
[(set (pc)
(if_then_else (gt (cc0)
(const_int 0))
@@ -6745,10 +6721,7 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jble %l0", "fbngt %l0", 0);
- else
- OUTPUT_JUMP ("jle %l0", "fjngt %l0", 0);
+ OUTPUT_JUMP ("jle %l0", "fjngt %l0", 0);
}
[(set_attr "type" "bcc")])
@@ -6764,7 +6737,7 @@
}
[(set_attr "type" "bcc")])
-(define_insn "*blt2"
+(define_insn "*blt_rev"
[(set (pc)
(if_then_else (lt (cc0)
(const_int 0))
@@ -6772,10 +6745,7 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbge %l0", "fbnlt %l0", "jbpl %l0");
- else
- OUTPUT_JUMP ("jge %l0", "fjnlt %l0", "jpl %l0");
+ OUTPUT_JUMP ("jge %l0", "fjnlt %l0", "jpl %l0");
}
[(set_attr "type" "bcc")])
@@ -6791,7 +6761,7 @@
}
[(set_attr "type" "bcc")])
-(define_insn "*bge2"
+(define_insn "*bge_rev"
[(set (pc)
(if_then_else (ge (cc0)
(const_int 0))
@@ -6799,10 +6769,7 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jblt %l0", "fbnge %l0", "jbmi %l0");
- else
- OUTPUT_JUMP ("jlt %l0", "fjnge %l0", "jmi %l0");
+ OUTPUT_JUMP ("jlt %l0", "fjnge %l0", "jmi %l0");
}
[(set_attr "type" "bcc")])
@@ -6818,7 +6785,7 @@
}
[(set_attr "type" "bcc")])
-(define_insn "*ble2"
+(define_insn "*ble_rev"
[(set (pc)
(if_then_else (le (cc0)
(const_int 0))
@@ -6826,10 +6793,7 @@
(label_ref (match_operand 0 "" ""))))]
""
{
- if (MOTOROLA)
- OUTPUT_JUMP ("jbgt %l0", "fbnle %l0", 0);
- else
- OUTPUT_JUMP ("jgt %l0", "fjnle %l0", 0);
+ OUTPUT_JUMP ("jgt %l0", "fjnle %l0", 0);
}
[(set_attr "type" "bcc")])
@@ -6853,7 +6817,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbun %l0" : "fjun %l0";
+ return "fjun %l0";
})
(define_insn "*bunordered_rev"
@@ -6864,7 +6828,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbor %l0" : "fjor %l0";
+ return "fjor %l0";
})
(define_insn "*buneq_rev"
@@ -6875,7 +6839,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbogl %l0" : "fjogl %l0";
+ return "fjogl %l0";
})
(define_insn "*bunge_rev"
@@ -6886,7 +6850,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbolt %l0" : "fjolt %l0";
+ return "fjolt %l0";
})
(define_insn "*bungt_rev"
@@ -6897,7 +6861,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbole %l0" : "fjole %l0";
+ return "fjole %l0";
})
(define_insn "*bunle_rev"
@@ -6908,7 +6872,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbogt %l0" : "fjogt %l0";
+ return "fjogt %l0";
})
(define_insn "*bunlt_rev"
@@ -6919,7 +6883,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fboge %l0" : "fjoge %l0";
+ return "fjoge %l0";
})
(define_insn "*bltgt_rev"
@@ -6930,7 +6894,7 @@
"TARGET_HARD_FLOAT"
{
gcc_assert (cc_prev_status.flags & CC_IN_68881);
- return MOTOROLA ? "fbueq %l0" : "fjueq %l0";
+ return "fjueq %l0";
})
;; Unconditional and other jump instructions