summaryrefslogtreecommitdiff
path: root/gcc/genpreds.c
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 /gcc/genpreds.c
parent71aaaa89157081336d0ea8ea324ce79f75ba93f5 (diff)
downloadgcc-3f980c569197e288a293a04298e7a9473188244c.tar.gz
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
Diffstat (limited to 'gcc/genpreds.c')
-rw-r--r--gcc/genpreds.c7
1 files changed, 5 insertions, 2 deletions
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: