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