diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2000-01-13 10:19:39 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2000-01-13 10:19:39 +0000 |
commit | 8f496bc2d55cbb3725c964b79af0f86eb1876a63 (patch) | |
tree | fa6a9bf99540912b88790817c375c2670a55c92e /gcc | |
parent | 668bcf76c4001dcb54013ef416bf7ced08c3da48 (diff) | |
download | gcc-8f496bc2d55cbb3725c964b79af0f86eb1876a63.zip gcc-8f496bc2d55cbb3725c964b79af0f86eb1876a63.tar.gz gcc-8f496bc2d55cbb3725c964b79af0f86eb1876a63.tar.bz2 |
ns32k.md: Revert Jan 9 change.
* config/ns32k/ns32k.md: Revert Jan 9 change.
* genrecog.c (maybe_both_true_2): Do not compare a predicate-test
to a mode-test, if the predicate is address_operand.
From-SVN: r31384
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/ns32k/ns32k.md | 2 | ||||
-rw-r--r-- | gcc/genrecog.c | 9 |
3 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5471bc..0a6a8a6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Wed Jan 12 23:12:47 2000 Hans-Peter Nilsson <hp@axis.com> + + * config/ns32k/ns32k.md: Revert Jan 9 change. + + * genrecog.c (maybe_both_true_2): Do not compare a predicate-test + to a mode-test, if the predicate is address_operand. + Wed Jan 12 22:34:00 2000 Jeffrey A Law (law@cygnus.com) * combine.c (if_then_else_cond): Be careful about what kinds diff --git a/gcc/config/ns32k/ns32k.md b/gcc/config/ns32k/ns32k.md index d8378e3..7f411d3 100644 --- a/gcc/config/ns32k/ns32k.md +++ b/gcc/config/ns32k/ns32k.md @@ -2032,7 +2032,7 @@ (define_insn "" [(set (match_operand:SI 0 "general_operand" "=g<") - (match_operand:SI 1 "address_operand" "p"))] + (match_operand:QI 1 "address_operand" "p"))] "" "* { diff --git a/gcc/genrecog.c b/gcc/genrecog.c index ce5f9104..eb973fd 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -1,5 +1,5 @@ /* Generate code from machine description to recognize rtl as insns. - Copyright (C) 1987, 88, 92-95, 97-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 92-95, 97-99, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -1012,7 +1012,12 @@ maybe_both_true_2 (d1, d2) { if (d2->type == DT_mode) { - if (d1->u.pred.mode != d2->u.mode) + if (d1->u.pred.mode != d2->u.mode + /* The mode of an address_operand predicate is the + mode of the memory, not the operand. It can only + be used for testing the predicate, so we must + ignore it here. */ + && strcmp (d1->u.pred.name, "address_operand") != 0) return 0; } /* Don't check two predicate modes here, because if both predicates |