Commit f2974b07 by Richard Kenner

(movsf): Don't truncate if not register; clean up.

From-SVN: r7907
parent 1d12df72
...@@ -3794,18 +3794,18 @@ ...@@ -3794,18 +3794,18 @@
if (GET_CODE (operands[0]) == MEM) if (GET_CODE (operands[0]) == MEM)
{ {
operands[1] = force_reg (SFmode, operands[1]); /* If operands[1] is a register, it may have double-precision data
if (! TARGET_POWERPC) in it, so truncate it to single precision. We need not do
if (reload_in_progress || reload_completed) this for POWERPC. */
emit_insn (gen_truncdfsf2 (operands[1], if (! TARGET_POWERPC && GET_CODE (operands[1]) == REG)
{
rtx newreg = reload_in_progress ? operands[1] : gen_reg_rtx (SFmode);
emit_insn (gen_truncdfsf2 (newreg,
gen_rtx (SUBREG, DFmode, operands[1], 0))); gen_rtx (SUBREG, DFmode, operands[1], 0)));
else operands[1] = newreg;
{ }
rtx newreg = gen_reg_rtx (SFmode);
emit_insn (gen_truncdfsf2 (newreg, operands[1] = force_reg (SFmode, operands[1]);
gen_rtx (SUBREG, DFmode, operands[1], 0)));
operands[1] = newreg;
}
} }
if (GET_CODE (operands[0]) == REG && REGNO (operands[0]) < 32) if (GET_CODE (operands[0]) == REG && REGNO (operands[0]) < 32)
......
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