2012-12-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Dec 2012 15:20:06 +0000 (15:20 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Dec 2012 15:20:06 +0000 (15:20 +0000)
PR target/55754
* config/arm/arm.c (arm_canonicalize_comparison): Remove
op0_preserve_value check for zero_extend to and transformation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194636 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index ca9844f..5c51847 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       PR target/55754
+       * config/arm/arm.c (arm_canonicalize_comparison): Remove
+       op0_preserve_value check for zero_extend to and transformation.
+
 2012-12-20  Teresa Johnson  <tejohnson@google.com>
            Jakub Jelinek  <jakub@redhat.com>
 
index be4428b..4484bc9 100644 (file)
@@ -3619,8 +3619,7 @@ arm_canonicalize_comparison (int *code, rtx *op0, rtx *op1,
   /* If *op0 is (zero_extend:SI (subreg:QI (reg:SI) 0)) and comparing
      with const0_rtx, change it to (and:SI (reg:SI) (const_int 255)),
      to facilitate possible combining with a cmp into 'ands'.  */
-  if (!op0_preserve_value
-      && mode == SImode
+  if (mode == SImode
       && GET_CODE (*op0) == ZERO_EXTEND
       && GET_CODE (XEXP (*op0, 0)) == SUBREG
       && GET_MODE (XEXP (*op0, 0)) == QImode