AArch64 should return CC_NZ for AND operation (part 2)
authorIan Bolton <ian.bolton@arm.com>
Thu, 14 Mar 2013 12:04:26 +0000 (12:04 +0000)
committerIan Bolton <ibolton@gcc.gnu.org>
Thu, 14 Mar 2013 12:04:26 +0000 (12:04 +0000)
From-SVN: r196656

gcc/ChangeLog
gcc/config/aarch64/aarch64.md

index 71c8b9fdfbee2904c78ef159386e4f535f5881aa..19ecdba0b88e892a742e43dc9fc67e46c9ce15fb 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-14  Ian Bolton  <ian.bolton@arm.com>
+
+       * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
+       (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
+
 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
 
        * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
index 73d86a7a184d0fd6365f1c1600c226b0cfa4dbd9..76a51259728c398a9152f0e5cc1de4fe97ea9dec 100644 (file)
 )
 
 (define_insn "*and<mode>3nr_compare0"
-  [(set (reg:CC CC_REGNUM)
-       (compare:CC
+  [(set (reg:CC_NZ CC_REGNUM)
+       (compare:CC_NZ
         (and:GPI (match_operand:GPI 0 "register_operand" "%r,r")
                  (match_operand:GPI 1 "aarch64_logical_operand" "r,<lconst>"))
         (const_int 0)))]
    (set_attr "mode" "<MODE>")])
 
 (define_insn "*and_<SHIFT:optab><mode>3nr_compare0"
-  [(set (reg:CC CC_REGNUM)
-       (compare:CC
+  [(set (reg:CC_NZ CC_REGNUM)
+       (compare:CC_NZ
         (and:GPI (SHIFT:GPI
                   (match_operand:GPI 0 "register_operand" "r")
                   (match_operand:QI 1 "aarch64_shift_imm_<mode>" "n"))