Commit 4c99e795 by Richard Kenner

({load,store}_multiple): Don't use indirect_operand in define_insn;

use explicit MEM of register_operand instead.

From-SVN: r10066
parent 2dfd595d
......@@ -4627,7 +4627,7 @@
(define_insn ""
[(match_parallel 0 "load_multiple_operation"
[(set (match_operand:SI 1 "gpc_reg_operand" "=r")
(match_operand:SI 2 "indirect_operand" "Q"))])]
(mem:SI (match_operand:SI 2 "register_operand" "b")))])]
"TARGET_STRING"
"*
{
......@@ -4640,14 +4640,14 @@
char newload[40];
int i;
strcpy (result, \"{lsi|lswi} %1,%P2,%N0\");
strcpy (result, \"{lsi|lswi} %1,%2,%N0\");
for (i = 0; i < XVECLEN (operands[0], 0); i++)
if (refers_to_regno_p (REGNO (operands[1]) + i,
REGNO (operands[1]) + i + 1, operands[2], 0))
{
sprintf (newload, \"\;{l|lwz} %d,%d(%d)\",
REGNO (operands[1]) + i,
i * 4, REGNO (XEXP (operands[2], 0)));
i * 4, REGNO (operands[2]));
strcat (result, newload);
}
......@@ -4709,11 +4709,11 @@
(define_insn ""
[(match_parallel 0 "store_multiple_operation"
[(set (match_operand:SI 1 "indirect_operand" "=Q")
[(set (mem:SI (match_operand:SI 1 "register_operand" "b"))
(match_operand:SI 2 "gpc_reg_operand" "r"))
(clobber (match_scratch:SI 3 "X"))])]
"TARGET_STRING && !TARGET_POWER"
"{stsi|stswi} %2,%P1,%O0")
"{stsi|stswi} %2,%1,%O0")
;; String/block move insn.
......
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