summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-23 09:09:17 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-23 09:09:17 +0000
commit3f980c569197e288a293a04298e7a9473188244c (patch)
tree249a35b893096b2eca9d69131904d3e421ac92a5
parent71aaaa89157081336d0ea8ea324ce79f75ba93f5 (diff)
downloadppe42-gcc-3f980c569197e288a293a04298e7a9473188244c.tar.gz
ppe42-gcc-3f980c569197e288a293a04298e7a9473188244c.zip
2005-02-23 Paolo Bonzini <bonzini@gnu.org>
* genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands. (write_predicate_expr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95447 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genpreds.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ee37f3eeda8..fb6c31763ca 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
+ (write_predicate_expr): Likewise.
+
2005-02-22 Diego Novillo <dnovillo@redhat.com>
PR tree-optimization/20100
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index 874925de998..cb22908fb56 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -167,7 +167,7 @@ mark_mode_tests (rtx exp)
struct pred_data *p = lookup_predicate (XSTR (exp, 1));
if (!p)
error ("reference to undefined predicate '%s'", XSTR (exp, 1));
- else if (p->special)
+ else if (p->special || GET_MODE (exp) != VOIDmode)
NO_MODE_TEST (exp) = 1;
}
break;
@@ -366,7 +366,10 @@ write_predicate_expr (const char *name, rtx exp)
break;
case MATCH_OPERAND:
- printf ("%s (op, mode)", XSTR (exp, 1));
+ if (GET_MODE (exp) == VOIDmode)
+ printf ("%s (op, mode)", XSTR (exp, 1));
+ else
+ printf ("%s (op, %smode)", XSTR (exp, 1), mode_name[GET_MODE (exp)]);
break;
case MATCH_CODE:
OpenPOWER on IntegriCloud