Don't check zero/sign extended hard registers.
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 20 Jun 2011 17:03:16 +0000 (17:03 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 20 Jun 2011 17:03:16 +0000 (10:03 -0700)
2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Don't check zero/sign
extended hard registers.

From-SVN: r175222

gcc/ChangeLog
gcc/combine.c

index 455fdcffb6bce429753a343bc14977932385d4ed..30b07fabb4de1005fe046eefd7c5b128060441c2 100644 (file)
@@ -1,3 +1,9 @@
+2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/47725
+       * combine.c (cant_combine_insn_p): Don't check zero/sign
+       extended hard registers.
+
 2011-06-21  Alan Modra  <amodra@gmail.com>
 
        * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
index 004ae27687d3ce9b4640bbde4201d9a1c3419661..56fb44eaf42b949fcfe97cee7aadbed50d395aa6 100644 (file)
@@ -2168,12 +2168,6 @@ cant_combine_insn_p (rtx insn)
     return 0;
   src = SET_SRC (set);
   dest = SET_DEST (set);
-  if (GET_CODE (src) == ZERO_EXTEND
-      || GET_CODE (src) == SIGN_EXTEND)
-    src = XEXP (src, 0);
-  if (GET_CODE (dest) == ZERO_EXTEND
-      || GET_CODE (dest) == SIGN_EXTEND)
-    dest = XEXP (dest, 0);
   if (GET_CODE (src) == SUBREG)
     src = SUBREG_REG (src);
   if (GET_CODE (dest) == SUBREG)