]> gcc.gnu.org Git - gcc.git/commit
Add missing AArch64 NEON instrinctics for Armv8.2-a to Armv8.4-a
authorTamar Christina <tamar.christina@arm.com>
Mon, 21 May 2018 10:33:30 +0000 (10:33 +0000)
committerJakub Jelinek <jakub@redhat.com>
Mon, 28 Sep 2020 09:13:51 +0000 (11:13 +0200)
commite4e74854c72a7b5df543c23f0c1d03f9bd507633
tree145d72c69c766f628aa1008b0233f89d7b8efb62
parentc59429da1465870573efe7c86fc90eccd3d956a5
Add missing AArch64 NEON instrinctics for Armv8.2-a to Armv8.4-a

This patch adds the missing neon intrinsics for all 128 bit vector Integer modes for the
three-way XOR and negate and xor instructions for Arm8.2-a to Armv8.4-a.

gcc/
PR target/71233
* config/aarch64/aarch64-simd.md (aarch64_eor3qv8hi): Change to
eor3q<mode>4.
(aarch64_bcaxqv8hi): Change to bcaxq<mode>4.
* config/aarch64/aarch64-simd-builtins.def (veor3q_u8, veor3q_u32,
veor3q_u64, veor3q_s8, veor3q_s16, veor3q_s32, veor3q_s64, vbcaxq_u8,
vbcaxq_u32, vbcaxq_u64, vbcaxq_s8, vbcaxq_s16, vbcaxq_s32,
vbcaxq_s64): New.
* config/aarch64/arm_neon.h: Likewise.
* config/aarch64/iterators.md (VQ_I): New.

gcc/testsuite/
PR target/71233
* gcc.target/aarch64/sha3.h (veor3q_u8, veor3q_u32,
veor3q_u64, veor3q_s8, veor3q_s16, veor3q_s32, veor3q_s64, vbcaxq_u8,
vbcaxq_u32, vbcaxq_u64, vbcaxq_s8, vbcaxq_s16, vbcaxq_s32,
vbcaxq_s64): New.
* gcc.target/aarch64/sha3_1.c: Likewise.
* gcc.target/aarch64/sha3_2.c: Likewise.
* gcc.target/aarch64/sha3_3.c: Likewise.

(cherry picked from commit d21052ebd7ac9d545a26dde3229c57f872c1d5f3)
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/arm_neon.h
gcc/config/aarch64/iterators.md
gcc/testsuite/gcc.target/aarch64/sha3.h
gcc/testsuite/gcc.target/aarch64/sha3_1.c
gcc/testsuite/gcc.target/aarch64/sha3_2.c
gcc/testsuite/gcc.target/aarch64/sha3_3.c
This page took 0.062944 seconds and 6 git commands to generate.