aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Bolton <ian.bolton@arm.com>2013-03-14 10:48:51 +0000
committerIan Bolton <ibolton@gcc.gnu.org>2013-03-14 10:48:51 +0000
commita8504f223d6174ae6760c94f0e03dad86bce9d7d (patch)
tree203caf420ebeb96b5a5df6db5ea0ad9516c73efc
parentfbd28bc3b2c3394db09577ff2f5a594d50c75b2c (diff)
downloadgcc-a8504f223d6174ae6760c94f0e03dad86bce9d7d.zip
gcc-a8504f223d6174ae6760c94f0e03dad86bce9d7d.tar.gz
gcc-a8504f223d6174ae6760c94f0e03dad86bce9d7d.tar.bz2
AArch64 should return CC_NZ for AND operation.
From-SVN: r196654
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c403ca7..71c8b9f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 8c8532c..ce572f9 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -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,