aarch64: Support unpacked CNOT on SVE
authorRichard Sandiford <richard.sandiford@arm.com>
Fri, 8 Jan 2021 10:49:38 +0000 (10:49 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Fri, 8 Jan 2021 10:49:38 +0000 (10:49 +0000)
commit5fe3e6bf061da8d9b0e759927c340fe8e0f44725
treea929a8f3f861e2abfb21b74093074ac73f6a7967
parentf3c5d1fa53ad85424ce05f19583223ad2f413cfa
aarch64: Support unpacked CNOT on SVE

This patch adds unpacked support for unconditional and
conditional CNOT.  The type suffix has to be taken from
the element size rather than the container size.

gcc/
* config/aarch64/aarch64-sve.md (*cnot<mode>): Extend from
SVE_FULL_I to SVE_I.
(*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise.

gcc/testsuite/
* gcc.target/aarch64/sve/cnot_2.c: New test.
* gcc.target/aarch64/sve/cond_cnot_4.c: Likewise.
* gcc.target/aarch64/sve/cond_cnot_4_run.c: Likewise.
* gcc.target/aarch64/sve/cond_cnot_5.c: Likewise.
* gcc.target/aarch64/sve/cond_cnot_5_run.c: Likewise.
* gcc.target/aarch64/sve/cond_cnot_6.c: Likewise.
* gcc.target/aarch64/sve/cond_cnot_6_run.c: Likewise.
gcc/config/aarch64/aarch64-sve.md
gcc/testsuite/gcc.target/aarch64/sve/cnot_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_4_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_5_run.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/cond_cnot_6_run.c [new file with mode: 0644]