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 1febcad..8f8e450 100644 (file)
@@ -1,5 +1,11 @@
 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
        * combine.c (change_zero_ext): Transform zero_extend of subregs only
        if the subreg_reg is a scalar integer mode.
index 7778db5..7ed849f 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)))
     {