]> git.ipfire.org Git - thirdparty/gcc.git/commit
arm: vld1q_types_x3 ACLE intrinsics
authorEzra Sitorus <ezra.sitorus@arm.com>
Tue, 2 Jan 2024 09:23:35 +0000 (09:23 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Fri, 12 Jan 2024 17:00:33 +0000 (17:00 +0000)
commitc8ec3e1327cb1e5f09f51e11053400803754d614
tree8cd0a110afbdadbc96e6af39cb48b19ddefe175e
parentace4b8e7f9ec6ba47d581be486970609de13e0ae
arm: vld1q_types_x3 ACLE intrinsics

This patch is part of a series of patches implementing the _xN
variants of the vld1q intrinsic for the arm port. This patch adds the
_x3 variants of the vld1q intrinsic.

ACLE documents:
https://developer.arm.com/documentation/ihi0053/latest/

ISA documents:
https://developer.arm.com/documentation/ddi0487/latest/

gcc/ChangeLog:
* config/arm/arm_neon.h
(vld1q_u8_x3, vld1q_u16_x3, vld1q_u32_x3, vld1q_u64_x3): New.
(vld1q_s8_x3, vld1q_s16_x3, vld1q_s32_x3, vld1q_s64_x3): New.
(vld1q_f16_x3, vld1q_f32_x3): New.
(vld1q_p8_x3, vld1q_p16_x3, vld1q_p64_x3): New.
(vld1q_bf16_x3): New.
* config/arm/arm_neon_builtins.def (vld1_x3): New entries.
* config/arm/neon.md
(neon_vld1_x3<mode>): New.
(neon_vld1x3qa<mode>, neon_vld1x3qb<mode>): New.
* config/arm/unspecs.md
(UNSPEC_VLD1X3A, UNSPEC_VLD1X3B): New.

gcc/testsuite/ChangeLog:
* gcc.target/arm/simd/vld1q_base_xN_1.c: Add new tests.
* gcc.target/arm/simd/vld1q_bf16_xN_1.c: Add new tests.
* gcc.target/arm/simd/vld1q_fp16_xN_1.c: Add new tests.
* gcc.target/arm/simd/vld1q_p64_xN_1.c: Add new tests.
gcc/config/arm/arm_neon.h
gcc/config/arm/arm_neon_builtins.def
gcc/config/arm/neon.md
gcc/config/arm/unspecs.md
gcc/testsuite/gcc.target/arm/simd/vld1q_base_xN_1.c
gcc/testsuite/gcc.target/arm/simd/vld1q_bf16_xN_1.c
gcc/testsuite/gcc.target/arm/simd/vld1q_fp16_xN_1.c
gcc/testsuite/gcc.target/arm/simd/vld1q_p64_xN_1.c