]> git.ipfire.org Git - thirdparty/gcc.git/commit
arm: vst1q_types_x2 ACLE intrinsics
authorEzra Sitorus <ezra.sitorus@arm.com>
Thu, 7 Dec 2023 15:36:50 +0000 (15:36 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Thu, 7 Dec 2023 17:14:50 +0000 (17:14 +0000)
commit2cd0d0261ef9d0e13e20407f131f32dcb67fcdd3
tree5a9af8a05c249ba468c5c6ae7f6cdaddf89b3433
parent2f48d846c794ba091b266133f73717361096d454
arm: vst1q_types_x2 ACLE intrinsics

This patch is part of a series of patches implementing the _xN
variants of the vst1q intrinsic for the arm port. This patch adds the
_x2 variants of the vst1q 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
(vst1q_u8_x2, vst1q_u16_x2, vst1q_u32_x2, vst1q_u64_x2): New.
(vst1q_s8_x2, vst1q_s16_x2, vst1q_s32_x2, vst1q_s64_x2): New.
(vst1q_f16_x2, vst1q_f32_x2): New.
(vst1q_p8_x2, vst1q_p16_x2, vst1q_p64_x2): New.
(vst1q_bf16_x2): New.
* config/arm/arm_neon_builtins.def (vst1q_x2): New entries.
* config/arm/neon.md
(neon_vst1<VMEMX2_q>_x2<VDQX:mode>): Updated from
neon_vst1_x2<mode>.
* config/arm/iterators.md (VMEMX2): New mode iterator.
(VMEMX2_q): New mode attribute.

gcc/testsuite/ChangeLog:
* gcc.target/arm/simd/vst1q_base_xN_1.c: Add new tests.
* gcc.target/arm/simd/vst1q_bf16_xN_1.c: Add new tests.
* gcc.target/arm/simd/vst1q_fp16_xN_1.c: Add new tests.
* gcc.target/arm/simd/vst1q_p64_xN_1.c: Add new tests.
gcc/config/arm/arm_neon.h
gcc/config/arm/arm_neon_builtins.def
gcc/config/arm/iterators.md
gcc/config/arm/neon.md
gcc/testsuite/gcc.target/arm/simd/vst1q_base_xN_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/simd/vst1q_bf16_xN_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/simd/vst1q_fp16_xN_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/simd/vst1q_p64_xN_1.c [new file with mode: 0644]