diff --git a/gcc/ChangeLog b/gcc/ChangeLog index adf51dfcccd9..bdb5aeaad047 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Oct 10 02:41:41 1999 Richard Henderson + + * genrecog.c (add_to_sequence): Move allow_const_int test outside + known predicate block; default allow_const_int true. + Sun Oct 10 00:43:08 1999 Richard Henderson * i386.h (CC1_SPEC): Typo -- use cc1_cpu. diff --git a/gcc/genrecog.c b/gcc/genrecog.c index 45cb3a3b1161..371e5b259cb2 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -402,6 +402,7 @@ add_to_sequence (pattern, last, position, insn_type, top) { const char *pred_name; RTX_CODE was_code = code; + int allows_const_int = 1; if (code == MATCH_SCRATCH) { @@ -462,10 +463,6 @@ add_to_sequence (pattern, last, position, insn_type, top) allows_const_int = 1; break; } - - /* Can't enforce a mode if we allow const_int. */ - if (allows_const_int) - mode = VOIDmode; } else { @@ -478,12 +475,10 @@ add_to_sequence (pattern, last, position, insn_type, top) #endif } } - else - { - /* Wildcard match. Can't enforce a mode because we allow - anything -- const_int included. */ - mode = VOIDmode; - } + + /* Can't enforce a mode if we allow const_int. */ + if (allows_const_int) + mode = VOIDmode; /* Accept the operand, ie. record it in `operands'. */ test = new_decision_test (DT_accept_op, &place); @@ -2417,3 +2412,14 @@ debug_decision (d) { debug_decision_0 (d, 0, 1000000); } + +void +debug_decision_list (d) + struct decision *d; +{ + while (d) + { + debug_decision_0 (d, 0, 0); + d = d->next; + } +}