(expand_divmod): Use target as copy_to_suggested_reg
authorRichard Stallman <rms@gnu.org>
Wed, 3 Nov 1993 20:24:18 +0000 (20:24 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 3 Nov 1993 20:24:18 +0000 (20:24 +0000)
argument only if it has the same mode as op0.

From-SVN: r5984

gcc/expmed.c

index fe8eb27c114a2740c53258bcf8896ae1b088975b..fb4b9f0598aacf46e66cae2ad1813ec4963c05db 100644 (file)
@@ -2418,7 +2418,14 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
        op0 = force_reg (compute_mode, op0);
 
       if (! can_clobber_op0)
-       adjusted_op0 = copy_to_suggested_reg (op0, target, compute_mode);
+       {
+         if (target && GET_MODE (target) == compute_mode)
+           adjusted_op0 = target;
+         else
+           adjusted_op0 = 0;
+         adjusted_op0 = copy_to_suggested_reg (op0, adjusted_op0,
+                                               compute_mode);
+       }
     }
 
   /* Adjust ADJUSTED_OP0 as described above.  Unless CAN_CLOBBER_OP0