From: J"orn Rennecke Date: Wed, 14 Dec 2005 14:18:36 +0000 (+0000) Subject: struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a... X-Git-Tag: releases/gcc-4.2.0~5367 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5216df748ac5f68468f06e4cfded3c42d6c3b7c9;p=thirdparty%2Fgcc.git struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a mode. * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for PARALLELs with a mode. From-SVN: r108511 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 282307950c3c..1e656357f617 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 3e6ba5deaba9..fc563b64fe7d 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. */