summaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorgavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-03 12:42:12 +0000
committergavin <gavin@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-03 12:42:12 +0000
commitcf090d33f78675fa07e3d123fab440bbcc0ed892 (patch)
treed9d4fd84a5486afba4d7a0159bcced99b262dc20 /gcc/config/mips
parent7c1419e98c9094903d17678315eb997b2f33c9e9 (diff)
downloadgcc-cf090d33f78675fa07e3d123fab440bbcc0ed892.tar.gz
undo last revision; I commited more stuff than I intended.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25005 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips')
-rw-r--r--gcc/config/mips/mips.md37
1 files changed, 18 insertions, 19 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 71bd9a65edf..1e64a059514 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -2248,7 +2248,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2298,7 +2298,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2348,7 +2348,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
@@ -2389,7 +2389,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}
@@ -2414,7 +2414,7 @@
(define_expand "div_trap"
[(trap_if (eq (match_operand 0 "register_operand" "d")
- (match_operand 1 "true_reg_or_0_operand" "dJ"))
+ (match_operand 1 "reg_or_0_operand" "dJ"))
(match_operand 2 "immediate_operand" ""))]
""
"
@@ -2428,7 +2428,7 @@
(define_insn "div_trap_normal"
[(trap_if (eq (match_operand 0 "register_operand" "d")
- (match_operand 1 "true_reg_or_0_operand" "dJ"))
+ (match_operand 1 "reg_or_0_operand" "dJ"))
(match_operand 2 "immediate_operand" ""))]
"!TARGET_MIPS16"
"*
@@ -2471,7 +2471,7 @@
(define_insn "div_trap_mips16"
[(trap_if (eq (match_operand 0 "register_operand" "d")
- (match_operand 1 "true_reg_or_0_operand" "dJ"))
+ (match_operand 1 "reg_or_0_operand" "dJ"))
(match_operand 2 "immediate_operand" ""))
(clobber (reg:SI 24))]
"TARGET_MIPS16"
@@ -2490,16 +2490,15 @@
have_dep_anti = 1;
if (! have_dep_anti)
{
- /* No branch delay slots on mips16. */
if (GET_CODE (operands[1]) == CONST_INT)
- return \"%(bnez\\t%0,1f\\n\\tbreak\\t%2\\n1:%)\";
+ return \"%(bnez\\t%0,1f\\n\\tnop\\n\\tbreak\\t%2\\n1:%)\";
else
- return \"%(bne\\t%0,%1,1f\\n\\tbreak\\t%2\\n1:%)\";
+ return \"%(bne\\t%0,%1,1f\\n\\tnop\\n\\tbreak\\t%2\\n1:%)\";
}
return \"\";
}"
[(set_attr "type" "unknown")
- (set_attr "length" "3")])
+ (set_attr "length" "4")])
(define_expand "divsi3"
[(set (match_operand:SI 0 "register_operand" "=l")
@@ -2516,7 +2515,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2559,7 +2558,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2602,7 +2601,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2645,7 +2644,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}
if (TARGET_CHECK_RANGE_DIV)
@@ -2688,7 +2687,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
@@ -2722,7 +2721,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}
@@ -2756,7 +2755,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (SImode, GEN_INT (0)),
GEN_INT (0x7)));
}
@@ -2790,7 +2789,7 @@
if (!TARGET_NO_CHECK_ZERO_DIV)
{
emit_insn (gen_div_trap (operands[2],
- GEN_INT (0),
+ copy_to_mode_reg (DImode, GEN_INT (0)),
GEN_INT (0x7)));
}