diff options
author | Ian Bolton <ian.bolton@arm.com> | 2013-03-14 12:04:26 +0000 |
---|---|---|
committer | Ian Bolton <ibolton@gcc.gnu.org> | 2013-03-14 12:04:26 +0000 |
commit | d803a4912e3cb9ffcfa57a790d26073bff5086ee (patch) | |
tree | 8a5e50f4ef1e27d5abb7e5ff28725fff2d0175b7 | |
parent | 430b9e22a7e0de45bff4b8ff45a4212e041e7bf8 (diff) | |
download | gcc-d803a4912e3cb9ffcfa57a790d26073bff5086ee.zip gcc-d803a4912e3cb9ffcfa57a790d26073bff5086ee.tar.gz gcc-d803a4912e3cb9ffcfa57a790d26073bff5086ee.tar.bz2 |
AArch64 should return CC_NZ for AND operation (part 2)
From-SVN: r196656
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.md | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71c8b9f..19ecdba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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 CC mode for AND. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 73d86a7..76a5125 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -2547,8 +2547,8 @@ ) (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)))] @@ -2558,8 +2558,8 @@ (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")) |