* combine.c (try_combine): Allow split to create a single insn.

From-SVN: r36504
This commit is contained in:
Richard Henderson 2000-09-18 11:08:19 -07:00 committed by Richard Henderson
parent a191f0ee83
commit d340408c13
2 changed files with 13 additions and 5 deletions

View File

@ -1,5 +1,7 @@
2000-09-18 Richard Henderson <rth@cygnus.com>
* combine.c (try_combine): Allow split to create a single insn.
* machmode.def: Add BImode. Add a column for bitsize.
* machmode.h (DEF_MACHMODE): Adjust for extra column.
(GET_MODE_BITSIZE): Use it.

View File

@ -2107,11 +2107,17 @@ try_combine (i3, i2, i1, new_direct_jump_p)
i3);
}
if (m_split && GET_CODE (m_split) == SEQUENCE
&& XVECLEN (m_split, 0) == 2
&& (next_real_insn (i2) == i3
|| ! use_crosses_set_p (PATTERN (XVECEXP (m_split, 0, 0)),
INSN_CUID (i2))))
if (m_split && GET_CODE (m_split) != SEQUENCE)
{
insn_code_number = recog_for_combine (&m_split, i3, &new_i3_notes);
if (insn_code_number >= 0)
newpat = m_split;
}
else if (m_split && GET_CODE (m_split) == SEQUENCE
&& XVECLEN (m_split, 0) == 2
&& (next_real_insn (i2) == i3
|| ! use_crosses_set_p (PATTERN (XVECEXP (m_split, 0, 0)),
INSN_CUID (i2))))
{
rtx i2set, i3set;
rtx newi3pat = PATTERN (XVECEXP (m_split, 0, 1));