[AArch64] Use SVE [SU]ABD in conditional arithmetic
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 15 Aug 2019 08:08:49 +0000 (08:08 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 15 Aug 2019 08:08:49 +0000 (08:08 +0000)
commit9730c5ccd522cd955bcb6e65295023621cade8b6
tree97bb1c94dad62b6270672a293661523cd4c870b3
parent20103c0ea9336d2b5286eb7f2605ace3fd49a431
[AArch64] Use SVE [SU]ABD in conditional arithmetic

This patch extends the [SU]ABD support so that it handles
conditional arithmetic.  We're relying on combine for this,
since there's no associated IFN_COND_* (yet?).

2019-08-15  Richard Sandiford  <richard.sandiford@arm.com>
    Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

gcc/
* config/aarch64/aarch64-sve.md (*aarch64_cond_<su>abd<mode>_2)
(*aarch64_cond_<su>abd<mode>_any): New patterns.

gcc/testsuite/
* gcc.target/aarch64/sve/cond_abd_1.c: New test.
* gcc.target/aarch64/sve/cond_abd_1_run.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_2.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_2_run.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_3.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_3_run.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_4.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_4_run.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_5.c: Likewise.
* gcc.target/aarch64/sve/cond_abd_5_run.c: Likewise.

Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>
From-SVN: r274506
13 files changed:
gcc/ChangeLog
gcc/config/aarch64/aarch64-sve.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_1_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_2_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_3_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_4_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_abd_5_run.c [new file with mode: 0644]