diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.md | 104 |
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 |