diff options
author | Bernd Schmidt <bernds@cygnus.co.uk> | 2000-03-09 16:07:33 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 2000-03-09 16:07:33 +0000 |
commit | 37c5269a9f449dcba7506876258aa75548c5766b (patch) | |
tree | 4c49dd90dfaf22c5b7df7ce9115e1485fb67a5c9 | |
parent | aa5524a98e895542d7ce243bca3f3f0646f1ccb6 (diff) | |
download | gcc-37c5269a9f449dcba7506876258aa75548c5766b.zip gcc-37c5269a9f449dcba7506876258aa75548c5766b.tar.gz gcc-37c5269a9f449dcba7506876258aa75548c5766b.tar.bz2 |
Fix a bug in preprocess_constraints
From-SVN: r32447
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/recog.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c721bf5..824e4d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2000-03-09 Bernd Schmidt <bernds@cygnus.co.uk> + * recog.c (preprocess_constraints): Matching constraints affect + same alternative/different operand, not same operand/different + alternative. + * reload1.c (eliminate_regs_in_insn): Handle additions of eliminable register and a constant specially. diff --git a/gcc/recog.c b/gcc/recog.c index 56f8634..c732dc2 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2131,7 +2131,7 @@ preprocess_constraints () case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': op_alt[j].matches = c - '0'; - op_alt[op_alt[j].matches].matched = i; + recog_op_alt[op_alt[j].matches][j].matched = i; break; case 'm': |