summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-04-19 20:00:41 +0000
committerRichard Stallman <rms@gnu.org>1992-04-19 20:00:41 +0000
commit62946075afce674ab5925867323eafeee58e5ea7 (patch)
tree8015a260e997440420b87f37c273c14b64eaa903 /gcc/recog.c
parentdf589359dd00b39b27fcf86814431906e5d2c5af (diff)
downloadgcc-62946075afce674ab5925867323eafeee58e5ea7.tar.gz
*** empty log message ***
From-SVN: r796
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index b986811693a..b9fcdbe7aa2 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1878,7 +1878,11 @@ constrain_operands (insn_code_num, strict)
if (strict > 0)
for (eopno = 0; eopno < noperands; eopno++)
- if (earlyclobber[eopno])
+ /* Ignore earlyclobber operands now in memory,
+ because we would often report failure when we have
+ two memory operands, one of which was formerly a REG. */
+ if (earlyclobber[eopno]
+ && GET_CODE (recog_operand[eopno]) == REG)
for (opno = 0; opno < noperands; opno++)
if ((GET_CODE (recog_operand[opno]) == MEM
|| op_types[opno] != OP_OUT)