]> git.ipfire.org Git - thirdparty/gcc.git/commit
[AArch64] Use CC_Z and CC_NZ with csinc and similar instructions.
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 2 Sep 2014 15:53:08 +0000 (15:53 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 2 Sep 2014 15:53:08 +0000 (15:53 +0000)
commitcd5660ab1229ff6b47987f81769d908970ea0950
tree4a49b13722470fe0ae6029e3f651362067132e2a
parentcec362c90b53bec41a0571220216401978b3a6ad
[AArch64] Use CC_Z and CC_NZ with csinc and similar instructions.

* config/aarch64/predicates.md (aarch64_comparison_operation):
New special predicate.
* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use
aarch64_comparison_operation instead of matching an operator.
Update operand numbers.
(csinc3<mode>_insn): Likewise.
(*csinv3<mode>_insn): Likewise.
(*csneg3<mode>_insn): Likewise.
(ffs<mode>2): Update gen_csinc3<mode>_insn callsite.
* config/aarch64/aarch64.c (aarch64_get_condition_code):
Return -1 instead of aborting on invalid condition codes.
(aarch64_print_operand): Update aarch64_get_condition_code callsites
to assert that the returned condition code is valid.
* config/aarch64/aarch64-protos.h (aarch64_get_condition_code): Export.

From-SVN: r214824
gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/predicates.md