[AArch64][v2] Improve comparison with complex immediates followed by branch/cset
commit51ba582e7be7041c5f935fdee5fd061c0b9e3365
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 13:08:56 +0000 (24 13:08 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 13:08:56 +0000 (24 13:08 +0000)
tree9f39e12c374484b29285b9f51564dca909447dc0
parent186e88ff6fbdf24be4274dbc4811e96177c0a77b
[AArch64][v2] Improve comparison with complex immediates followed by branch/cset

* config/aarch64/aarch64.md (*condjump): Rename to...
(condjump): ... This.
(*compare_condjump<mode>): New define_insn_and_split.
(*compare_cstore<mode>_insn): Likewise.
(*cstore<mode>_insn): Rename to...
(cstore<mode>_insn): ... This.
* config/aarch64/iterators.md (CMP): Handle ne code.
* config/aarch64/predicates.md (aarch64_imm24): New predicate.

* gcc.target/aarch64/cmpimm_branch_1.c: New test.
* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230805 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/iterators.md
gcc/config/aarch64/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/cmpimm_branch_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/cmpimm_cset_1.c [new file with mode: 0644]