From bb56fc3933231b44dc310671911e1c73138fb753 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Feb 2005 09:09:17 +0000 Subject: [PATCH] genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands. 2005-02-23 Paolo Bonzini * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands. (write_predicate_expr): Likewise. From-SVN: r95447 --- gcc/ChangeLog | 5 +++++ gcc/genpreds.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee37f3eeda89..fb6c31763cab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-02-23 Paolo Bonzini + + * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands. + (write_predicate_expr): Likewise. + 2005-02-22 Diego Novillo PR tree-optimization/20100 diff --git a/gcc/genpreds.c b/gcc/genpreds.c index 874925de998b..cb22908fb567 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: