From d8064a5d0ab07d0e39867ee22f8545ec6c4bb904 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Wed, 27 May 1992 20:52:20 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r1101 --- gcc/expmed.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/expmed.c b/gcc/expmed.c index 07a6c272d7b..9d0962e6bcc 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -2262,6 +2262,11 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) if (rem_flag && GET_CODE (op1) == MEM && MEM_VOLATILE_P (op1)) op1 = force_reg (compute_mode, op1); + /* If we are computing the remainder, op0 will be needed later to calculate + X - Y * (X / Y), therefore cannot be clobbered. */ + if (rem_flag) + can_clobber_op0 = 0; + if (target == 0 || GET_MODE (target) != compute_mode) target = gen_reg_rtx (compute_mode); -- 2.30.2