Fix gcc.c-torture/compile/pr53410-2.c on sparc.
authorDavid S. Miller <davem@davemloft.net>
Fri, 16 Nov 2012 05:31:46 +0000 (05:31 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Fri, 16 Nov 2012 05:31:46 +0000 (21:31 -0800)
* expmed.c (expand_shift_1): Don't strip non-integral SUBREGs.

From-SVN: r193547

gcc/ChangeLog
gcc/expmed.c

index 9abd396b4bfff493964d47f40be722f351c739a1..62bde4e412c4851937e48e536b5138f67d95b8c8 100644 (file)
@@ -1,5 +1,7 @@
 2012-11-15  David S. Miller  <davem@davemloft.net>
 
+       * expmed.c (expand_shift_1): Don't strip non-integral SUBREGs.
+
        * configure.ac: Add check for assembler SPARC4 instruction
        support.
        * configure: Rebuild.
index 5b697a1cd2d765d1b6832e901973533711adaca4..86404277887acdd55c8c18918ed9edfe49e32127 100644 (file)
@@ -2165,7 +2165,8 @@ expand_shift_1 (enum tree_code code, enum machine_mode mode, rtx shifted,
                       % GET_MODE_BITSIZE (mode));
       else if (GET_CODE (op1) == SUBREG
               && subreg_lowpart_p (op1)
-              && INTEGRAL_MODE_P (GET_MODE (SUBREG_REG (op1))))
+              && INTEGRAL_MODE_P (GET_MODE (SUBREG_REG (op1)))
+              && INTEGRAL_MODE_P (GET_MODE (op1)))
        op1 = SUBREG_REG (op1);
     }