AArch64 should return CC_NZ for AND operation.
authorIan Bolton <ian.bolton@arm.com>
Thu, 14 Mar 2013 10:48:51 +0000 (10:48 +0000)
committerIan Bolton <ibolton@gcc.gnu.org>
Thu, 14 Mar 2013 10:48:51 +0000 (10:48 +0000)
From-SVN: r196654

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index c403ca7..71c8b9f 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-14  Ian Bolton  <ian.bolton@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
+       CC mode for AND.
+
 2013-03-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/53265
index 8c8532c..ce572f9 100644 (file)
@@ -3086,7 +3086,7 @@ aarch64_select_cc_mode (RTX_CODE code, rtx x, rtx y)
   if ((GET_MODE (x) == SImode || GET_MODE (x) == DImode)
       && y == const0_rtx
       && (code == EQ || code == NE || code == LT || code == GE)
-      && (GET_CODE (x) == PLUS || GET_CODE (x) == MINUS))
+      && (GET_CODE (x) == PLUS || GET_CODE (x) == MINUS || GET_CODE (x) == AND))
     return CC_NZmode;
 
   /* A compare with a shifted operand.  Because of canonicalization,