simplify-rtx: Add missing line for previous commit (PR78583)
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 30 Nov 2016 08:41:26 +0000 (09:41 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 30 Nov 2016 08:41:26 +0000 (09:41 +0100)
The comment for the added case to simplify_truncation reads

  /* Turn (truncate:M1 (*_extract:M2 (reg:M2) (len) (pos))) into
     (*_extract:M1 (truncate:M1 (reg:M2)) (len) (pos')) if possible without
     changing len.  */

but I forgot to check the two modes M2 are actually the same.

PR rtl-optimization/78583
* simplify-rtx.c (simplify_truncation): Add check missing from the
previous commit.

From-SVN: r243000

gcc/ChangeLog
gcc/simplify-rtx.c

index 1febcad25e58781d916a0f75b9af7160509c8b41..8f8e450f8f06c857175771e90741c8bb1d1f2188 100644 (file)
@@ -1,3 +1,9 @@
+2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/78583
+       * simplify-rtx.c (simplify_truncation): Add check missing from the
+       previous commit.
+
 2016-11-30  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR rtl-optimization/78590
index 7778db55a24a37aaf6185457f40cbee847b442b3..7ed849f92bb2188ca627a79fbae362ba36ed7cce 100644 (file)
@@ -752,6 +752,7 @@ simplify_truncation (machine_mode mode, rtx op,
      changing len.  */
   if ((GET_CODE (op) == ZERO_EXTRACT || GET_CODE (op) == SIGN_EXTRACT)
       && REG_P (XEXP (op, 0))
+      && GET_MODE (XEXP (op, 0)) == mode
       && CONST_INT_P (XEXP (op, 1))
       && CONST_INT_P (XEXP (op, 2)))
     {