[Aarch64][SVE] Add copysign and xorsign support
authorAlejandro Martinez <alejandro.martinezvicente@arm.com>
Wed, 9 Jan 2019 13:57:06 +0000 (13:57 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Wed, 9 Jan 2019 13:57:06 +0000 (13:57 +0000)
commit6c9c7b735c04bbcf4b840634d484441e764a7175
tree86e8baa94db41644e538b9f293562c2e01f9692f
parentd3c8a7cfdbe30993cc051deba0a93f2f541ab88b
[Aarch64][SVE] Add copysign and xorsign support

This patch adds support for copysign and xorsign builtins to SVE. With the new
expands, they can be vectorized using bitwise logical operations.

I tested this patch in an aarch64 machine bootstrapping the compiler and
running the checks.

2019-01-09  Alejandro Martinez  <alejandro.martinezvicente@arm.com>

* config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
(xorsign<mode>3): Likewise.

2019-01-09  Alejandro Martinez  <alejandro.martinezvicente@arm.com>

* gcc.target/aarch64/sve/copysign_1.c: New test for SVE vectorized
copysign.
* gcc.target/aarch64/sve/copysign_1_run.c: Likewise.
* gcc.target/aarch64/sve/xorsign_1.c: New test for SVE vectorized
xorsign.
* gcc.target/aarch64/sve/xorsign_1_run.c: Likewise.

From-SVN: r267764
gcc/ChangeLog
gcc/config/aarch64/aarch64-sve.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/copysign_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/copysign_1_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/xorsign_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/xorsign_1_run.c [new file with mode: 0644]