Commit 515dfc7a by Torbjorn Granlund

(expand_divmod): Clear out TARGET also if OP1 is a constant,

when TARGET == OP0.

From-SVN: r7661
parent 9a0e77ba
...@@ -2605,7 +2605,7 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) ...@@ -2605,7 +2605,7 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
and function-inlining gets confused by this. */ and function-inlining gets confused by this. */
&& ((REG_P (target) && REG_FUNCTION_VALUE_P (target)) && ((REG_P (target) && REG_FUNCTION_VALUE_P (target))
/* Don't clobber an operand while doing a multi-step calculation. */ /* Don't clobber an operand while doing a multi-step calculation. */
|| (rem_flag || ((rem_flag || op1_is_constant)
&& (reg_mentioned_p (target, op0) && (reg_mentioned_p (target, op0)
|| (GET_CODE (op0) == MEM && GET_CODE (target) == MEM))) || (GET_CODE (op0) == MEM && GET_CODE (target) == MEM)))
|| reg_mentioned_p (target, op1) || reg_mentioned_p (target, op1)
......
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