[Aarch64] Exploiting BFXIL when OR-ing two AND-operations with appropriate bitmasks
commit4b603f8b518b5624a96e0a3da0b340eea3f6e9c4
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Sep 2018 09:46:55 +0000 (13 09:46 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Sep 2018 09:46:55 +0000 (13 09:46 +0000)
tree9948e709e928eeb72cdc570996803a9b6ddce0a1
parentb6438e36f52e68b1f34c7d8df40dffee9ded2747
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264264 138bc75d-0d04-0410-961f-82ee72b054a4
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]