Commit 09e21d09 by Roman Zippel Committed by Roman Zippel

m68k.md (beq, [...]): Replace all fbcc with fjcc.

	* 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.

From-SVN: r128575
parent 8c5c99dc
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> 2007-09-18 Maxim Kuvyrkov <maxim@codesourcery.com>
* config/m68k/m68k-devices.def (51qe): New device. * config/m68k/m68k-devices.def (51qe): New device.
...@@ -6484,10 +6484,7 @@ ...@@ -6484,10 +6484,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
OUTPUT_JUMP ("jbeq %l0", "fbeq %l0", "jbeq %l0");
else
OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
} }
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)")) [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")]) (set_attr "split" "done")])
...@@ -6500,10 +6497,7 @@ ...@@ -6500,10 +6497,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
OUTPUT_JUMP ("jbne %l0", "fbne %l0", "jbne %l0");
else
OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
} }
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)")) [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")]) (set_attr "split" "done")])
...@@ -6516,10 +6510,7 @@ ...@@ -6516,10 +6510,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jgt %l0", "fjgt %l0", 0);
OUTPUT_JUMP ("jbgt %l0", "fbgt %l0", 0);
else
OUTPUT_JUMP ("jgt %l0", "fjgt %l0", 0);
} }
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)")) [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")]) (set_attr "split" "done")])
...@@ -6544,10 +6535,7 @@ ...@@ -6544,10 +6535,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jlt %l0", "fjlt %l0", "jmi %l0");
OUTPUT_JUMP ("jblt %l0", "fblt %l0", "jbmi %l0");
else
OUTPUT_JUMP ("jlt %l0", "fjlt %l0", "jmi %l0");
} }
[(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)")) [(set (attr "type") (symbol_ref "m68k_sched_branch_type (insn)"))
(set_attr "split" "done")]) (set_attr "split" "done")])
...@@ -6572,10 +6560,7 @@ ...@@ -6572,10 +6560,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jge %l0", "fjge %l0", "jpl %l0");
OUTPUT_JUMP ("jbge %l0", "fbge %l0", "jbpl %l0");
else
OUTPUT_JUMP ("jge %l0", "fjge %l0", "jpl %l0");
}) })
(define_insn "bgeu" (define_insn "bgeu"
...@@ -6598,10 +6583,7 @@ ...@@ -6598,10 +6583,7 @@
(pc)))] (pc)))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jle %l0", "fjle %l0", 0);
OUTPUT_JUMP ("jble %l0", "fble %l0", 0);
else
OUTPUT_JUMP ("jle %l0", "fjle %l0", 0);
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
...@@ -6625,7 +6607,7 @@ ...@@ -6625,7 +6607,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbor %l0" : "fjor %l0"; return "fjor %l0";
}) })
(define_insn "bunordered" (define_insn "bunordered"
...@@ -6636,7 +6618,7 @@ ...@@ -6636,7 +6618,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbun %l0" : "fjun %l0"; return "fjun %l0";
}) })
(define_insn "buneq" (define_insn "buneq"
...@@ -6647,7 +6629,7 @@ ...@@ -6647,7 +6629,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbueq %l0" : "fjueq %l0"; return "fjueq %l0";
}) })
(define_insn "bunge" (define_insn "bunge"
...@@ -6658,7 +6640,7 @@ ...@@ -6658,7 +6640,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbuge %l0" : "fjuge %l0"; return "fjuge %l0";
}) })
(define_insn "bungt" (define_insn "bungt"
...@@ -6669,7 +6651,7 @@ ...@@ -6669,7 +6651,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbugt %l0" : "fjugt %l0"; return "fjugt %l0";
}) })
(define_insn "bunle" (define_insn "bunle"
...@@ -6680,7 +6662,7 @@ ...@@ -6680,7 +6662,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbule %l0" : "fjule %l0"; return "fjule %l0";
}) })
(define_insn "bunlt" (define_insn "bunlt"
...@@ -6691,7 +6673,7 @@ ...@@ -6691,7 +6673,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbult %l0" : "fjult %l0"; return "fjult %l0";
}) })
(define_insn "bltgt" (define_insn "bltgt"
...@@ -6702,12 +6684,12 @@ ...@@ -6702,12 +6684,12 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbogl %l0" : "fjogl %l0"; return "fjogl %l0";
}) })
;; Negated conditional jump instructions. ;; Negated conditional jump instructions.
(define_insn "*beq2" (define_insn "*beq_rev"
[(set (pc) [(set (pc)
(if_then_else (eq (cc0) (if_then_else (eq (cc0)
(const_int 0)) (const_int 0))
...@@ -6715,14 +6697,11 @@ ...@@ -6715,14 +6697,11 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
OUTPUT_JUMP ("jbne %l0", "fbne %l0", "jbne %l0");
else
OUTPUT_JUMP ("jne %l0", "fjne %l0", "jne %l0");
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
(define_insn "*bne2" (define_insn "*bne_rev"
[(set (pc) [(set (pc)
(if_then_else (ne (cc0) (if_then_else (ne (cc0)
(const_int 0)) (const_int 0))
...@@ -6730,14 +6709,11 @@ ...@@ -6730,14 +6709,11 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
OUTPUT_JUMP ("jbeq %l0", "fbeq %l0", "jbeq %l0");
else
OUTPUT_JUMP ("jeq %l0", "fjeq %l0", "jeq %l0");
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
(define_insn "*bgt2" (define_insn "*bgt_rev"
[(set (pc) [(set (pc)
(if_then_else (gt (cc0) (if_then_else (gt (cc0)
(const_int 0)) (const_int 0))
...@@ -6745,10 +6721,7 @@ ...@@ -6745,10 +6721,7 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jle %l0", "fjngt %l0", 0);
OUTPUT_JUMP ("jble %l0", "fbngt %l0", 0);
else
OUTPUT_JUMP ("jle %l0", "fjngt %l0", 0);
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
...@@ -6764,7 +6737,7 @@ ...@@ -6764,7 +6737,7 @@
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
(define_insn "*blt2" (define_insn "*blt_rev"
[(set (pc) [(set (pc)
(if_then_else (lt (cc0) (if_then_else (lt (cc0)
(const_int 0)) (const_int 0))
...@@ -6772,10 +6745,7 @@ ...@@ -6772,10 +6745,7 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jge %l0", "fjnlt %l0", "jpl %l0");
OUTPUT_JUMP ("jbge %l0", "fbnlt %l0", "jbpl %l0");
else
OUTPUT_JUMP ("jge %l0", "fjnlt %l0", "jpl %l0");
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
...@@ -6791,7 +6761,7 @@ ...@@ -6791,7 +6761,7 @@
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
(define_insn "*bge2" (define_insn "*bge_rev"
[(set (pc) [(set (pc)
(if_then_else (ge (cc0) (if_then_else (ge (cc0)
(const_int 0)) (const_int 0))
...@@ -6799,10 +6769,7 @@ ...@@ -6799,10 +6769,7 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jlt %l0", "fjnge %l0", "jmi %l0");
OUTPUT_JUMP ("jblt %l0", "fbnge %l0", "jbmi %l0");
else
OUTPUT_JUMP ("jlt %l0", "fjnge %l0", "jmi %l0");
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
...@@ -6818,7 +6785,7 @@ ...@@ -6818,7 +6785,7 @@
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
(define_insn "*ble2" (define_insn "*ble_rev"
[(set (pc) [(set (pc)
(if_then_else (le (cc0) (if_then_else (le (cc0)
(const_int 0)) (const_int 0))
...@@ -6826,10 +6793,7 @@ ...@@ -6826,10 +6793,7 @@
(label_ref (match_operand 0 "" ""))))] (label_ref (match_operand 0 "" ""))))]
"" ""
{ {
if (MOTOROLA) OUTPUT_JUMP ("jgt %l0", "fjnle %l0", 0);
OUTPUT_JUMP ("jbgt %l0", "fbnle %l0", 0);
else
OUTPUT_JUMP ("jgt %l0", "fjnle %l0", 0);
} }
[(set_attr "type" "bcc")]) [(set_attr "type" "bcc")])
...@@ -6853,7 +6817,7 @@ ...@@ -6853,7 +6817,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbun %l0" : "fjun %l0"; return "fjun %l0";
}) })
(define_insn "*bunordered_rev" (define_insn "*bunordered_rev"
...@@ -6864,7 +6828,7 @@ ...@@ -6864,7 +6828,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbor %l0" : "fjor %l0"; return "fjor %l0";
}) })
(define_insn "*buneq_rev" (define_insn "*buneq_rev"
...@@ -6875,7 +6839,7 @@ ...@@ -6875,7 +6839,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbogl %l0" : "fjogl %l0"; return "fjogl %l0";
}) })
(define_insn "*bunge_rev" (define_insn "*bunge_rev"
...@@ -6886,7 +6850,7 @@ ...@@ -6886,7 +6850,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbolt %l0" : "fjolt %l0"; return "fjolt %l0";
}) })
(define_insn "*bungt_rev" (define_insn "*bungt_rev"
...@@ -6897,7 +6861,7 @@ ...@@ -6897,7 +6861,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbole %l0" : "fjole %l0"; return "fjole %l0";
}) })
(define_insn "*bunle_rev" (define_insn "*bunle_rev"
...@@ -6908,7 +6872,7 @@ ...@@ -6908,7 +6872,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbogt %l0" : "fjogt %l0"; return "fjogt %l0";
}) })
(define_insn "*bunlt_rev" (define_insn "*bunlt_rev"
...@@ -6919,7 +6883,7 @@ ...@@ -6919,7 +6883,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fboge %l0" : "fjoge %l0"; return "fjoge %l0";
}) })
(define_insn "*bltgt_rev" (define_insn "*bltgt_rev"
...@@ -6930,7 +6894,7 @@ ...@@ -6930,7 +6894,7 @@
"TARGET_HARD_FLOAT" "TARGET_HARD_FLOAT"
{ {
gcc_assert (cc_prev_status.flags & CC_IN_68881); gcc_assert (cc_prev_status.flags & CC_IN_68881);
return MOTOROLA ? "fbueq %l0" : "fjueq %l0"; return "fjueq %l0";
}) })
;; Unconditional and other jump instructions ;; Unconditional and other jump instructions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment