From: amylaar Date: Wed, 14 Dec 2005 14:18:36 +0000 (+0000) Subject: * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=3c9776d0206c105f1f76e48572a8bc41c6d0ca18;p=pf3gnuchains%2Fgcc-fork.git * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108511 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 282307950c3..1e656357f61 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-12-14 J"orn Rennecke + + * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for + PARALLELs with a mode. + 2005-12-14 Sebastian Pop * cfgloopmanip.c (lv_adjust_loop_entry_edge): Adjust the type of diff --git a/gcc/struct-equiv.c b/gcc/struct-equiv.c index 3e6ba5deaba..fc563b64fe7 100644 --- a/gcc/struct-equiv.c +++ b/gcc/struct-equiv.c @@ -637,7 +637,10 @@ rtx_equiv_p (rtx *xp, rtx y, int rvalue, struct equiv_info *info) return (rtx_equiv_p (&XEXP (x, 0), XEXP (y, 0), 0, info) && rtx_equiv_p (&XEXP (x, 0), XEXP (y, 0), 1, info)); case PARALLEL: - gcc_assert (rvalue < 0); + /* If this is a top-level PATTERN PARALLEL, we expect the caller to + have handled the SET_DESTs. A complex or vector PARALLEL can be + identified by having a mode. */ + gcc_assert (rvalue < 0 || GET_MODE (x) != VOIDmode); break; case LABEL_REF: /* Check special tablejump match case. */