[Aarch64] Exploiting BFXIL when OR-ing two AND-operations with appropriate bitmasks
authorSam Tebbs <sam.tebbs@arm.com>
Thu, 13 Sep 2018 09:46:55 +0000 (09:46 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 13 Sep 2018 09:46:55 +0000 (09:46 +0000)
commit231c52ae41a335649013f9fbfabca337d1ea98fa
tree9948e709e928eeb72cdc570996803a9b6ddce0a1
parent0795f659b09677e0c51832ecaef0680863049424
[Aarch64] Exploiting BFXIL when OR-ing two AND-operations with appropriate bitmasks

2018-09-13  Sam Tebbs  <sam.tebbs@arm.com>

PR target/85628
* config/aarch64/aarch64.md (*aarch64_bfxil):
Define.
* config/aarch64/constraints.md (Ulc): Define.
* config/aarch64/aarch64-protos.h (aarch64_high_bits_all_ones_p):
Define.
* config/aarch64/aarch64.c (aarch64_high_bits_all_ones_p):
New function.

* gcc.target/aarch64/combine_bfxil.c: New file.
* gcc.target/aarch64/combine_bfxil_2.c: New file.

From-SVN: r264264
gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/constraints.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/combine_bfxil.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/combine_bfxil_2.c [new file with mode: 0644]