Commit 27dc0551 by David Edelsohn Committed by David Edelsohn

rs6000.md (movti_string): Remove clobber.

        * config/rs6000/rs6000.md (movti_string): Remove clobber.
        * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
        generate PARALLEL with clobber for TARGET_POWER.

From-SVN: r61398
parent 73f84924
2003-01-16 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (movti_string): Remove clobber.
* config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
generate PARALLEL with clobber for TARGET_POWER.
2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ra-colorize.c (colorize_one_web): Initialize variable.
......
......@@ -2859,6 +2859,16 @@ rs6000_emit_move (dest, source, mode)
operands[1]
= replace_equiv_address (operands[1],
copy_addr_to_reg (XEXP (operands[1], 0)));
if (TARGET_POWER)
{
emit_insn (gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (2,
gen_rtx_SET (VOIDmode,
operands[0], operands[1]),
gen_rtx_CLOBBER (VOIDmode,
gen_rtx_SCRATCH (SImode)))));
return;
}
break;
default:
......
......@@ -9305,10 +9305,8 @@
case 0:
return \"{stsi|stswi} %1,%P0,16\";
case 1:
return \"{st%U0|stw%U0} %1,%0\;{st|stw} %L1,%L0\;{st|stw} %Y1,%Y0\;{st|stw} %Z1,%Z0\";
case 2:
/* Normally copy registers with lowest numbered register copied first.
But copy in the other order if the first register of the output
......@@ -9346,8 +9344,7 @@
(define_insn "*movti_string"
[(set (match_operand:TI 0 "reg_or_mem_operand" "=Q,m,????r,????r,????r")
(match_operand:TI 1 "reg_or_mem_operand" "r,r,r,Q,m"))
(clobber (match_scratch:SI 2 "X,X,X,X,X"))]
(match_operand:TI 1 "reg_or_mem_operand" "r,r,r,Q,m"))]
"TARGET_STRING && ! TARGET_POWER && ! TARGET_POWERPC64
&& (gpc_reg_operand (operands[0], TImode) || gpc_reg_operand (operands[1], TImode))"
"*
......
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