From: Uros Bizjak Date: Wed, 3 Nov 2010 22:46:08 +0000 (+0100) Subject: Revert: X-Git-Tag: releases/gcc-4.3.6~293 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c32b83e0dd3cc094eef483064a00ac8d4564ffd;p=thirdparty%2Fgcc.git Revert: 2010-10-30 Uros Bizjak PR middle-end/44569 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. From-SVN: r166283 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ade93195a72..6b5b2d9b4195 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,9 +1,3 @@ -2010-10-30 Uros Bizjak - - PR middle-end/44569 - * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, - determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. - 2010-10-22 Uros Bizjak PR target/45946 diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index d36338406446..fa3a2c87a985 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -390,7 +390,7 @@ simplify_subreg_concatn (enum machine_mode outermode, rtx op, unsigned int byte) { unsigned int inner_size; - enum machine_mode innermode, partmode; + enum machine_mode innermode; rtx part; unsigned int final_offset; @@ -403,19 +403,11 @@ simplify_subreg_concatn (enum machine_mode outermode, rtx op, inner_size = GET_MODE_SIZE (innermode) / XVECLEN (op, 0); part = XVECEXP (op, 0, byte / inner_size); - partmode = GET_MODE (part); - - if (partmode == VOIDmode) - { - gcc_assert (VECTOR_MODE_P (innermode)); - partmode = GET_MODE_INNER (innermode); - } - final_offset = byte % inner_size; if (final_offset + GET_MODE_SIZE (outermode) > inner_size) return NULL_RTX; - return simplify_gen_subreg (outermode, part, partmode, final_offset); + return simplify_gen_subreg (outermode, part, GET_MODE (part), final_offset); } /* Wrapper around simplify_gen_subreg which handles CONCATN. */