Commit 8ca17330 by Alexandre Oliva Committed by Alexandre Oliva

mn10300.md (movdi, movdf): Do not use `movu' when the operand is not constant.

* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
the operand is not constant.

From-SVN: r33321
parent aad2919f
Fri Apr 21 18:11:56 2000 Alexandre Oliva <aoliva@cygnus.com>
* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
the operand is not constant.
Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru>
* reload.c (find_equiv_reg): Checks all valueno and regno regs
......
......@@ -499,8 +499,10 @@
else
output_asm_insn (\"mov %L1,%L0\", operands);
}
else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
else if ((GET_CODE (operands[1]) == CONST_INT
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& (REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
&& (((val[0] & 0x80) && ! (val[0] & 0xffffff00))
|| ((val[0] & 0x800000) && ! (val[0] & 0xff000000))))
output_asm_insn (\"movu %1,%0\", operands);
......@@ -520,8 +522,10 @@
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& val[0] == val[1])
output_asm_insn (\"mov %L0,%H0\", operands);
else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
else if ((GET_CODE (operands[1]) == CONST_INT
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& (REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
&& (((val[1] & 0x80) && ! (val[1] & 0xffffff00))
|| ((val[1] & 0x800000) && ! (val[1] & 0xff000000))))
output_asm_insn (\"movu %1,%0\", operands);
......@@ -643,8 +647,10 @@
else
output_asm_insn (\"mov %L1,%L0\", operands);
}
else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
else if ((GET_CODE (operands[1]) == CONST_INT
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& (REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
&& (((val[0] & 0x80) && ! (val[0] & 0xffffff00))
|| ((val[0] & 0x800000) && ! (val[0] & 0xff000000))))
output_asm_insn (\"movu %1,%0\", operands);
......@@ -664,8 +670,10 @@
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& val[0] == val[1])
output_asm_insn (\"mov %L0,%H0\", operands);
else if ((REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
else if ((GET_CODE (operands[1]) == CONST_INT
|| GET_CODE (operands[1]) == CONST_DOUBLE)
&& (REGNO_REG_CLASS (true_regnum (operands[0]))
== EXTENDED_REGS)
&& (((val[1] & 0x80) && ! (val[1] & 0xffffff00))
|| ((val[1] & 0x800000) && ! (val[1] & 0xff000000))))
output_asm_insn (\"movu %1,%0\", operands);
......
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