[aarch64]: add intrinsics for vld1(q)_x4 and vst1(q)_x4

Programming / Compilers / GCC - ktkachov [138bc75d-0d04-0410-961f-82ee72b054a4] - 22 August 2019 11:28 EDT

This patch adds the intrinsic functions for:- vld1__x4- vst1__x4- vld1q__x4- vst1q__x4

Bootstrapped and tested on aarch64-none-linux-gnu.

Committed on behalf of Sylvia Taylor.

2019-08-22 Sylvia Taylor

- config/aarch64/aarch64-simd-builtins.def: (ld1x4): New. (st1x4): Likewise.
- config/aarch64/aarch64-simd.md: (aarch64_ld1x4): New pattern. (aarch64_st1x4): Likewise. (aarch64_ld1_x4_): Likewise. (aarch64_st1_x4_): Likewise.
- config/aarch64/arm_neon.h: (vld1_s8_x4): New function. (vld1q_s8_x4): Likewise. (vld1_s16_x4): Likewise. (vld1q_s16_x4): Likewise. (vld1_s32_x4): Likewise. (vld1q_s32_x4): Likewise. (vld1_u8_x4): Likewise. (vld1q_u8_x4): Likewise. (vld1_u16_x4): Likewise. (vld1q_u16_x4): Likewise. (vld1_u32_x4): Likewise. (vld1q_u32_x4): Likewise. (vld1_f16_x4): Likewise. (vld1q_f16_x4): Likewise. (vld1_f32_x4): Likewise. (vld1q_f32_x4): Likewise. (vld1_p8_x4): Likewise. (vld1q_p8_x4): Likewise. (vld1_p16_x4): Likewise. (vld1q_p16_x4): Likewise. (vld1_s64_x4): Likewise. (vld1_u64_x4): Likewise. (vld1_p64_x4): Likewise. (vld1q_s64_x4): Likewise. (vld1q_u64_x4): Likewise. (vld1q_p64_x4): Likewise. (vld1_f64_x4): Likewise. (vld1q_f64_x4): Likewise. (vst1_s8_x4): Likewise. (vst1q_s8_x4): Likewise. (vst1_s16_x4): Likewise. (vst1q_s16_x4): Likewise. (vst1_s32_x4): Likewise. (vst1q_s32_x4): Likewise. (vst1_u8_x4): Likewise. (vst1q_u8_x4): Likewise. (vst1_u16_x4): Likewise. (vst1q_u16_x4): Likewise. (vst1_u32_x4): Likewise. (vst1q_u32_x4): Likewise. (vst1_f16_x4): Likewise. (vst1q_f16_x4): Likewise. (vst1_f32_x4): Likewise. (vst1q_f32_x4): Likewise. (vst1_p8_x4): Likewise. (vst1q_p8_x4): Likewise. (vst1_p16_x4): Likewise. (vst1q_p16_x4): Likewise. (vst1_s64_x4): Likewise. (vst1_u64_x4): Likewise. (vst1_p64_x4): Likewise. (vst1q_s64_x4): Likewise. (vst1q_u64_x4): Likewise. (vst1q_p64_x4): Likewise. (vst1_f64_x4): Likewise. (vst1q_f64_x4): Likewise.

- gcc.target/aarch64/advsimd-intrinsics/vld1x4.c: New test.
- gcc.target/aarch64/advsimd-intrinsics/vst1x4.c: New test.

48665581293 [aarch64]: add intrinsics for vld1(q)_x4 and vst1(q)_x4
gcc/ChangeLog | 68 +++
gcc/config/aarch64/aarch64-simd-builtins.def | 6 +
gcc/config/aarch64/aarch64-simd.md | 44 ++
gcc/config/aarch64/arm_neon.h | 508 +++++++++++++++++++++
gcc/testsuite/ChangeLog | 5 +
.../gcc.target/aarch64/advsimd-intrinsics/vld1x4.c | 83 ++++
.../gcc.target/aarch64/advsimd-intrinsics/vst1x4.c | 83 ++++
7 files changed, 797 insertions(+)

Upstream: gcc.gnu.org


  • Share