]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert:
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 3 Nov 2010 22:46:08 +0000 (23:46 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 3 Nov 2010 22:46:08 +0000 (23:46 +0100)
2010-10-30  Uros Bizjak  <ubizjak@gmail.com>

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

gcc/ChangeLog
gcc/lower-subreg.c

index 2ade93195a72d97f2f765107dabc3676da9cc765..6b5b2d9b419580587a2501b881ac2faef00b43cd 100644 (file)
@@ -1,9 +1,3 @@
-2010-10-30  Uros Bizjak  <ubizjak@gmail.com>
-
-       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  <ubizjak@gmail.com>
 
        PR target/45946
index d363384064462bf7dbaa789741d70c9c73e68ab6..fa3a2c87a985a2a9cb1e625b89b94555db9f6d05 100644 (file)
@@ -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.  */