[AArch64][SVE2] Support for EOR3 and variants of BSL
authorYuliang Wang <yuliang.wang@arm.com>
Thu, 17 Oct 2019 13:23:52 +0000 (13:23 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 17 Oct 2019 13:23:52 +0000 (13:23 +0000)
commit2d57b12e2acd52b843adbcd6d5909cb0b9f7196b
treef6350632f43285714ca4ca45428d2d9eb4e72ad4
parent9309a5470833460a6ee80cfa422b5258411be29e
[AArch64][SVE2] Support for EOR3 and variants of BSL

2019-10-17  Yuliang Wang  <yuliang.wang@arm.com>

gcc/
* config/aarch64/aarch64-sve2.md (aarch64_sve2_eor3<mode>)
(aarch64_sve2_nor<mode>, aarch64_sve2_nand<mode>)
(aarch64_sve2_bsl<mode>, aarch64_sve2_nbsl<mode>)
(aarch64_sve2_bsl1n<mode>, aarch64_sve2_bsl2n<mode>):
New combine patterns.
* config/aarch64/iterators.md (BSL_DUP): New int iterator for the
above.
(bsl_1st, bsl_2nd, bsl_dup, bsl_mov): Attributes for the above.

gcc/testsuite/
* gcc.target/aarch64/sve2/eor3_1.c: New test.
* gcc.target/aarch64/sve2/nlogic_1.c: As above.
* gcc.target/aarch64/sve2/nlogic_2.c: As above.
* gcc.target/aarch64/sve2/bitsel_1.c: As above.
* gcc.target/aarch64/sve2/bitsel_2.c: As above.
* gcc.target/aarch64/sve2/bitsel_3.c: As above.
* gcc.target/aarch64/sve2/bitsel_4.c: As above.

From-SVN: r277110
gcc/ChangeLog
gcc/config/aarch64/aarch64-sve2.md
gcc/config/aarch64/iterators.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve2/bitsel_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/bitsel_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/bitsel_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/bitsel_4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/eor3_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/nlogic_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/nlogic_2.c [new file with mode: 0644]