summaryrefslogtreecommitdiffstats
path: root/gcc/genrecog.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-14 09:58:41 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-14 09:58:41 +0000
commit8e493b2f5ce05a6b9f327ba79280cba3f95f350c (patch)
tree14107dfc41f1980eaeb4ee41dd1754ba36b2e72f /gcc/genrecog.c
parent3a074b0f1ccc1ff96d03adbeea2b344113f96d8a (diff)
downloadppe42-gcc-8e493b2f5ce05a6b9f327ba79280cba3f95f350c.tar.gz
ppe42-gcc-8e493b2f5ce05a6b9f327ba79280cba3f95f350c.zip
* genrecog.c (validate_pattern): Typo last change. Verify
that output operands have output reloads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29968 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r--gcc/genrecog.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index f36e8796576..36362151176 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -525,7 +525,7 @@ validate_pattern (pattern, insn, set_dest)
&& pred_name[0] != '\0'
&& allows_non_const
&& ! special_mode_pred
- && strstr (c_test, "operands") != NULL
+ && strstr (c_test, "operands") == NULL
&& GET_CODE (insn) == DEFINE_INSN)
{
message_with_line (pattern_lineno,
@@ -533,6 +533,19 @@ validate_pattern (pattern, insn, set_dest)
XINT (pattern, 0));
}
+ /* A MATCH_OPERAND that is a SET should have an output reload. */
+ if (set_dest
+ && code == MATCH_OPERAND
+ && XSTR (pattern, 2)[0] != '\0'
+ && XSTR (pattern, 2)[0] != '='
+ && XSTR (pattern, 2)[0] != '+')
+ {
+ message_with_line (pattern_lineno,
+ "operand %d missing output reload",
+ XINT (pattern, 0));
+ error_count++;
+ }
+
return;
}
OpenPOWER on IntegriCloud