reload.c (push_secondary_reload): Don't check for "=" in output constraint after ""->ALL_REGS check.

* reload.c (push_secondary_reload): Don't check for "=" in output
        constraint after ""->ALL_REGS check.

From-SVN: r45739
This commit is contained in:
Richard Henderson 2001-09-21 14:06:18 -07:00 committed by Richard Henderson
parent 24ee7caee0
commit 8a9a857e91
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2001-09-21 Richard Henderson <rth@redhat.com>
* reload.c (push_secondary_reload): Don't check for "=" in output
constraint after ""->ALL_REGS check.
2001-09-21 Richard Henderson <rth@redhat.com>
* predict.c (expected_value_to_br_prob): Use pc_set.

View File

@ -381,13 +381,16 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
insn_class
= (insn_letter == 'r' ? GENERAL_REGS
: REG_CLASS_FROM_LETTER ((unsigned char) insn_letter));
if (insn_class == NO_REGS)
abort ();
if (in_p
&& insn_data[(int) icode].operand[!in_p].constraint[0] != '=')
abort ();
}
if (insn_class == NO_REGS
|| (in_p
&& insn_data[(int) icode].operand[!in_p].constraint[0] != '=')
/* The scratch register's constraint must start with "=&". */
|| insn_data[(int) icode].operand[2].constraint[0] != '='
/* The scratch register's constraint must start with "=&". */
if (insn_data[(int) icode].operand[2].constraint[0] != '='
|| insn_data[(int) icode].operand[2].constraint[1] != '&')
abort ();