]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x) instead of x...
authorJakub Jelinek <jakub@redhat.com>
Tue, 17 Dec 2013 08:46:16 +0000 (09:46 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 17 Dec 2013 08:46:16 +0000 (09:46 +0100)
* expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x)
instead of x as last gen_lowpart argument.

From-SVN: r206040

gcc/ChangeLog
gcc/expr.c

index 1cf51b49db255368b9ee264137f32fad336d4d38..639ec9bf197267aaa430169222aae8b7d2014cbb 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x)
+       instead of x as last gen_lowpart argument.
+
 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
 
        * predict.h (PROB_LIKELY): Fix the value.
index cde0b859421c4292dc3f31d5f949965bf62732cf..1c5658923bdc412cb3a0e6e3abe217d811ba8bfa 100644 (file)
@@ -719,7 +719,7 @@ convert_modes (enum machine_mode mode, enum machine_mode oldmode, rtx x, int uns
   if (GET_CODE (x) == SUBREG && SUBREG_PROMOTED_VAR_P (x)
       && GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) >= GET_MODE_SIZE (mode)
       && SUBREG_PROMOTED_UNSIGNED_P (x) == unsignedp)
-    x = gen_lowpart (mode, x);
+    x = gen_lowpart (mode, SUBREG_REG (x));
 
   if (GET_MODE (x) != VOIDmode)
     oldmode = GET_MODE (x);