From: Charles Baylis <[email protected]>
This patch series fixes up the error messages for single lane vector
load/stores, similarly to AArch64.
make check on arm-linux-gnueabihf/qemu completes with no new regressions.
Changes since the last version:
. removed the duplicate arm_neon_lane_bounds function
. resolved conflicts with other NEON work
. whitespace clean up
Charles Baylis (3):
[ARM] PR63870 Add qualifiers for NEON builtins
[ARM] PR63870 Mark lane indices of vldN/vstN with appropriate
qualifier
[ARM] PR63870 Enable test cases for ARM
gcc/config/arm/arm-builtins.c | 50 ++++++++++++++--------
gcc/config/arm/arm.c | 1 +
gcc/config/arm/arm.h | 3 ++
gcc/config/arm/neon.md | 49 +++++++++++----------
.../advsimd-intrinsics/vld2_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld2q_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld3q_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vld4q_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst2q_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst3q_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4_lane_u8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_f16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_f32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_f64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_p8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_s16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_s32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_s64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_s8_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_u16_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_u32_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_u64_indices_1.c | 5 +--
.../advsimd-intrinsics/vst4q_lane_u8_indices_1.c | 5 +--
148 files changed, 350 insertions(+), 473 deletions(-)
--
1.9.1