Commit 668443c9 by Richard Kenner

(expand_divmod): Always call expand_twoval_binop with psuedos as

targets.

From-SVN: r8905
parent ef0e53ce
...@@ -3159,14 +3159,17 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) ...@@ -3159,14 +3159,17 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
and return the result right away. */ and return the result right away. */
if (target == 0) if (target == 0)
target = gen_reg_rtx (compute_mode); target = gen_reg_rtx (compute_mode);
if (rem_flag) if (rem_flag)
{ {
remainder = target; remainder
= GET_CODE (target) == REG ? target : gen_reg_rtx (compute_mode);
quotient = gen_reg_rtx (compute_mode); quotient = gen_reg_rtx (compute_mode);
} }
else else
{ {
quotient = target; quotient
= GET_CODE (target) == REG ? target : gen_reg_rtx (compute_mode);
remainder = gen_reg_rtx (compute_mode); remainder = gen_reg_rtx (compute_mode);
} }
...@@ -3283,14 +3286,17 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) ...@@ -3283,14 +3286,17 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
value here, and return the result right away. */ value here, and return the result right away. */
if (target == 0) if (target == 0)
target = gen_reg_rtx (compute_mode); target = gen_reg_rtx (compute_mode);
if (rem_flag) if (rem_flag)
{ {
remainder = target; remainder = (GET_CODE (target) == REG
? target : gen_reg_rtx (compute_mode));
quotient = gen_reg_rtx (compute_mode); quotient = gen_reg_rtx (compute_mode);
} }
else else
{ {
quotient = target; quotient = (GET_CODE (target) == REG
? target : gen_reg_rtx (compute_mode));
remainder = gen_reg_rtx (compute_mode); remainder = gen_reg_rtx (compute_mode);
} }
...@@ -3384,12 +3390,14 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) ...@@ -3384,12 +3390,14 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
target = gen_reg_rtx (compute_mode); target = gen_reg_rtx (compute_mode);
if (rem_flag) if (rem_flag)
{ {
remainder = target; remainder= (GET_CODE (target) == REG
? target : gen_reg_rtx (compute_mode));
quotient = gen_reg_rtx (compute_mode); quotient = gen_reg_rtx (compute_mode);
} }
else else
{ {
quotient = target; quotient = (GET_CODE (target) == REG
? target : gen_reg_rtx (compute_mode));
remainder = gen_reg_rtx (compute_mode); remainder = gen_reg_rtx (compute_mode);
} }
......
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