aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-08-14 09:06:12 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-08-14 09:06:12 +0000
commite0a0be93d7c2b760779c3085c5abfd0496e3458b (patch)
tree17baa373c4ffe1295960726017011cd0a73766f0 /gcc/builtins.c
parentbca5a9971f47cf5fe79e6595beb762539f200f46 (diff)
downloadgcc-e0a0be93d7c2b760779c3085c5abfd0496e3458b.zip
gcc-e0a0be93d7c2b760779c3085c5abfd0496e3458b.tar.gz
gcc-e0a0be93d7c2b760779c3085c5abfd0496e3458b.tar.bz2
[AArch64] Add support for SVE CNOT
This patch adds support for predicated and unpredicated CNOT (logical NOT on integers). In RTL terms, this is a select between 1 and 0 in which the predicate is fed by a comparison with zero. 2019-08-14 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/predicates.md (aarch64_simd_imm_one): New predicate. * config/aarch64/aarch64-sve.md (*cnot<mode>): New pattern. (*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise. gcc/testsuite/ * gcc.target/aarch64/sve/cnot_1.c: New test. * gcc.target/aarch64/sve/cond_cnot_1.c: Likewise. * gcc.target/aarch64/sve/cond_cnot_1_run.c: Likewise. * gcc.target/aarch64/sve/cond_cnot_2.c: Likewise. * gcc.target/aarch64/sve/cond_cnot_2_run.c: Likewise. * gcc.target/aarch64/sve/cond_cnot_3.c: Likewise. * gcc.target/aarch64/sve/cond_cnot_3_run.c: Likewise. From-SVN: r274438
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions