Commit d56993f2 by Richard Earnshaw Committed by Richard Earnshaw

arm.md (addsi3, [...]): Rework to avoid use of preserve_subexpressions_p.

* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
avoid use of preserve_subexpressions_p.

From-SVN: r86159
parent 504c0e4f
2004-08-18 Richard Earnshaw <rearnsha@arm.com>
* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
avoid use of preserve_subexpressions_p.
2004-08-17 Richard Henderson <rth@redhat.com> 2004-08-17 Richard Henderson <rth@redhat.com>
PR 17051 PR 17051
......
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
{ {
arm_split_constant (PLUS, SImode, NULL_RTX, arm_split_constant (PLUS, SImode, NULL_RTX,
INTVAL (operands[2]), operands[0], operands[1], INTVAL (operands[2]), operands[0], operands[1],
(no_new_pseudos ? 0 : preserve_subexpressions_p ())); optimize && !no_new_pseudos);
DONE; DONE;
} }
" "
...@@ -935,9 +935,7 @@ ...@@ -935,9 +935,7 @@
{ {
arm_split_constant (MINUS, SImode, NULL_RTX, arm_split_constant (MINUS, SImode, NULL_RTX,
INTVAL (operands[1]), operands[0], INTVAL (operands[1]), operands[0],
operands[2], operands[2], optimize && !no_new_pseudos);
(no_new_pseudos ? 0
: preserve_subexpressions_p ()));
DONE; DONE;
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
...@@ -1512,9 +1510,8 @@ ...@@ -1512,9 +1510,8 @@
{ {
arm_split_constant (AND, SImode, NULL_RTX, arm_split_constant (AND, SImode, NULL_RTX,
INTVAL (operands[2]), operands[0], INTVAL (operands[2]), operands[0],
operands[1], operands[1], optimize && !no_new_pseudos);
(no_new_pseudos
? 0 : preserve_subexpressions_p ()));
DONE; DONE;
} }
} }
...@@ -2167,8 +2164,7 @@ ...@@ -2167,8 +2164,7 @@
{ {
arm_split_constant (IOR, SImode, NULL_RTX, arm_split_constant (IOR, SImode, NULL_RTX,
INTVAL (operands[2]), operands[0], operands[1], INTVAL (operands[2]), operands[0], operands[1],
(no_new_pseudos optimize && !no_new_pseudos);
? 0 : preserve_subexpressions_p ()));
DONE; DONE;
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
...@@ -4256,8 +4252,7 @@ ...@@ -4256,8 +4252,7 @@
{ {
arm_split_constant (SET, SImode, NULL_RTX, arm_split_constant (SET, SImode, NULL_RTX,
INTVAL (operands[1]), operands[0], NULL_RTX, INTVAL (operands[1]), operands[0], NULL_RTX,
(no_new_pseudos ? 0 optimize && !no_new_pseudos);
: preserve_subexpressions_p ()));
DONE; DONE;
} }
} }
...@@ -4653,7 +4648,7 @@ ...@@ -4653,7 +4648,7 @@
emit_insn (gen_movsi (reg, GEN_INT (val))); emit_insn (gen_movsi (reg, GEN_INT (val)));
operands[1] = gen_lowpart (HImode, reg); operands[1] = gen_lowpart (HImode, reg);
} }
else if (arm_arch4 && !no_new_pseudos && optimize > 0 else if (arm_arch4 && optimize && !no_new_pseudos
&& GET_CODE (operands[1]) == MEM) && GET_CODE (operands[1]) == MEM)
{ {
rtx reg = gen_reg_rtx (SImode); rtx reg = gen_reg_rtx (SImode);
......
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