diff options
author | Richard Stallman <rms@gnu.org> | 1993-11-03 20:24:18 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-11-03 20:24:18 +0000 |
commit | 937aa51bbad438b069d7a6219bfecd5c344c922e (patch) | |
tree | 48c3325ff0dd50eecf4229aa9ebe578e860beacb | |
parent | 55abdd3ce263d28b41e66ca73bef1cf320a8f584 (diff) | |
download | gcc-937aa51bbad438b069d7a6219bfecd5c344c922e.zip gcc-937aa51bbad438b069d7a6219bfecd5c344c922e.tar.gz gcc-937aa51bbad438b069d7a6219bfecd5c344c922e.tar.bz2 |
(expand_divmod): Use target as copy_to_suggested_reg
argument only if it has the same mode as op0.
From-SVN: r5984
-rw-r--r-- | gcc/expmed.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index fe8eb27..fb4b9f0 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -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 |