From: Richard Kenner Date: Sat, 11 Feb 1995 18:09:17 +0000 (-0500) Subject: (expand_divmod): Always call expand_twoval_binop with psuedos as X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=668443c98adf0e658a3b2cff251a01ee781f5033;p=gcc.git (expand_divmod): Always call expand_twoval_binop with psuedos as targets. From-SVN: r8905 --- diff --git a/gcc/expmed.c b/gcc/expmed.c index 7ba833bb808..75e0cf2cf19 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3159,14 +3159,17 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) and return the result right away. */ if (target == 0) target = gen_reg_rtx (compute_mode); + if (rem_flag) { - remainder = target; + remainder + = GET_CODE (target) == REG ? target : gen_reg_rtx (compute_mode); quotient = gen_reg_rtx (compute_mode); } else { - quotient = target; + quotient + = GET_CODE (target) == REG ? target : 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) value here, and return the result right away. */ if (target == 0) target = gen_reg_rtx (compute_mode); + if (rem_flag) { - remainder = target; + remainder = (GET_CODE (target) == REG + ? target : gen_reg_rtx (compute_mode)); quotient = gen_reg_rtx (compute_mode); } else { - quotient = target; + quotient = (GET_CODE (target) == REG + ? target : 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) target = gen_reg_rtx (compute_mode); if (rem_flag) { - remainder = target; + remainder= (GET_CODE (target) == REG + ? target : gen_reg_rtx (compute_mode)); quotient = gen_reg_rtx (compute_mode); } else { - quotient = target; + quotient = (GET_CODE (target) == REG + ? target : gen_reg_rtx (compute_mode)); remainder = gen_reg_rtx (compute_mode); }