// RUN: %clang_cc1 -triple aarch64-linux-gnu -target-feature +neon -ffreestanding -fsyntax-only -verify %s #include // REQUIRES: aarch64-registered-target void test_vector_store_s8(int8x8_t arg_i8x8, int8x8x3_t arg_i8x8x3, int8_t* arg_i8_ptr, int8x16x3_t arg_i8x16x3, int8x8x4_t arg_i8x8x4, int8x16x4_t arg_i8x16x4, int8x8x2_t arg_i8x8x2, int8x16_t arg_i8x16, int8x16x2_t arg_i8x16x2) { vst1_lane_s8(arg_i8_ptr, arg_i8x8, 0); vst1_lane_s8(arg_i8_ptr, arg_i8x8, 7); vst1_lane_s8(arg_i8_ptr, arg_i8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_s8(arg_i8_ptr, arg_i8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 0); vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 15); vst1q_lane_s8(arg_i8_ptr, arg_i8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 0); vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 7); vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 0); vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 7); vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 0); vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 7); vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 0); vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 15); vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 0); vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 15); vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 0); vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 15); vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_s16(int16x8x3_t arg_i16x8x3, int16x4_t arg_i16x4, int16x4x3_t arg_i16x4x3, int16x8_t arg_i16x8, int16_t* arg_i16_ptr, int16x8x2_t arg_i16x8x2, int16x8x4_t arg_i16x8x4, int16x4x4_t arg_i16x4x4, int16x4x2_t arg_i16x4x2) { vst1_lane_s16(arg_i16_ptr, arg_i16x4, 0); vst1_lane_s16(arg_i16_ptr, arg_i16x4, 3); vst1_lane_s16(arg_i16_ptr, arg_i16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_s16(arg_i16_ptr, arg_i16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 0); vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 7); vst1q_lane_s16(arg_i16_ptr, arg_i16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 0); vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 3); vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 0); vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 7); vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 0); vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 3); vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 0); vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 7); vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 0); vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 3); vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 0); vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 7); vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_s32(int32x4x3_t arg_i32x4x3, int32x4_t arg_i32x4, int32x2x2_t arg_i32x2x2, int32x2x3_t arg_i32x2x3, int32x4x4_t arg_i32x4x4, int32x4x2_t arg_i32x4x2, int32x2_t arg_i32x2, int32x2x4_t arg_i32x2x4, int32_t* arg_i32_ptr) { vst1_lane_s32(arg_i32_ptr, arg_i32x2, 0); vst1_lane_s32(arg_i32_ptr, arg_i32x2, 1); vst1_lane_s32(arg_i32_ptr, arg_i32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_s32(arg_i32_ptr, arg_i32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 0); vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 3); vst1q_lane_s32(arg_i32_ptr, arg_i32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 0); vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 1); vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 0); vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 3); vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 0); vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 1); vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 0); vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 3); vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 0); vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 1); vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 0); vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 3); vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_s64(int64x2x2_t arg_i64x2x2, int64_t* arg_i64_ptr, int64x1_t arg_i64x1, int64x2x4_t arg_i64x2x4, int64x1x4_t arg_i64x1x4, int64x1x2_t arg_i64x1x2, int64x1x3_t arg_i64x1x3, int64x2x3_t arg_i64x2x3, int64x2_t arg_i64x2) { vst1_lane_s64(arg_i64_ptr, arg_i64x1, 0); vst1_lane_s64(arg_i64_ptr, arg_i64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_s64(arg_i64_ptr, arg_i64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 0); vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 1); vst1q_lane_s64(arg_i64_ptr, arg_i64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, 0); vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 0); vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 1); vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, 0); vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 0); vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 1); vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, 0); vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 0); vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 1); vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_u8(uint8x16_t arg_u8x16, uint8x16x3_t arg_u8x16x3, uint8x8x4_t arg_u8x8x4, uint8x16x2_t arg_u8x16x2, uint8x8_t arg_u8x8, uint8x8x3_t arg_u8x8x3, uint8x16x4_t arg_u8x16x4, uint8_t* arg_u8_ptr, uint8x8x2_t arg_u8x8x2) { vst1_lane_u8(arg_u8_ptr, arg_u8x8, 0); vst1_lane_u8(arg_u8_ptr, arg_u8x8, 7); vst1_lane_u8(arg_u8_ptr, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_u8(arg_u8_ptr, arg_u8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 0); vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 15); vst1q_lane_u8(arg_u8_ptr, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 0); vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 7); vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 0); vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 7); vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 0); vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 7); vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 0); vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 15); vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 0); vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 15); vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 0); vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 15); vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_u16(uint16x8x3_t arg_u16x8x3, uint16x4x4_t arg_u16x4x4, uint16_t* arg_u16_ptr, uint16x4_t arg_u16x4, uint16x4x2_t arg_u16x4x2, uint16x4x3_t arg_u16x4x3, uint16x8_t arg_u16x8, uint16x8x2_t arg_u16x8x2, uint16x8x4_t arg_u16x8x4) { vst1_lane_u16(arg_u16_ptr, arg_u16x4, 0); vst1_lane_u16(arg_u16_ptr, arg_u16x4, 3); vst1_lane_u16(arg_u16_ptr, arg_u16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_u16(arg_u16_ptr, arg_u16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 0); vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 7); vst1q_lane_u16(arg_u16_ptr, arg_u16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 0); vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 3); vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 0); vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 7); vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 0); vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 3); vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 0); vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 7); vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 0); vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 3); vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 0); vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 7); vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_u32(uint32x4x3_t arg_u32x4x3, uint32x2_t arg_u32x2, uint32x2x3_t arg_u32x2x3, uint32x4x4_t arg_u32x4x4, uint32x4_t arg_u32x4, uint32x2x2_t arg_u32x2x2, uint32_t* arg_u32_ptr, uint32x2x4_t arg_u32x2x4, uint32x4x2_t arg_u32x4x2) { vst1_lane_u32(arg_u32_ptr, arg_u32x2, 0); vst1_lane_u32(arg_u32_ptr, arg_u32x2, 1); vst1_lane_u32(arg_u32_ptr, arg_u32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_u32(arg_u32_ptr, arg_u32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 0); vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 3); vst1q_lane_u32(arg_u32_ptr, arg_u32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 0); vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 1); vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 0); vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 3); vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 0); vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 1); vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 0); vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 3); vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 0); vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 1); vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 0); vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 3); vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_u64(uint64x2x3_t arg_u64x2x3, uint64x1_t arg_u64x1, uint64x2_t arg_u64x2, uint64x1x2_t arg_u64x1x2, uint64x2x2_t arg_u64x2x2, uint64x1x3_t arg_u64x1x3, uint64_t* arg_u64_ptr, uint64x2x4_t arg_u64x2x4, uint64x1x4_t arg_u64x1x4) { vst1_lane_u64(arg_u64_ptr, arg_u64x1, 0); vst1_lane_u64(arg_u64_ptr, arg_u64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_u64(arg_u64_ptr, arg_u64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 0); vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 1); vst1q_lane_u64(arg_u64_ptr, arg_u64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, 0); vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 0); vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 1); vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, 0); vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 0); vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 1); vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, 0); vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 0); vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 1); vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_p64(poly64x2x4_t arg_p64x2x4, poly64x1x3_t arg_p64x1x3, poly64x1_t arg_p64x1, poly64x2x2_t arg_p64x2x2, poly64x1x4_t arg_p64x1x4, poly64_t* arg_p64_ptr, poly64x1x2_t arg_p64x1x2, poly64x2_t arg_p64x2, poly64x2x3_t arg_p64x2x3) { vst1_lane_p64(arg_p64_ptr, arg_p64x1, 0); vst1_lane_p64(arg_p64_ptr, arg_p64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_p64(arg_p64_ptr, arg_p64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 0); vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 1); vst1q_lane_p64(arg_p64_ptr, arg_p64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, 0); vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 0); vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 1); vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, 0); vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 0); vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 1); vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, 0); vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 0); vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 1); vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_f16(float16x4x4_t arg_f16x4x4, float16x8_t arg_f16x8, float16x8x2_t arg_f16x8x2, float16x8x3_t arg_f16x8x3, float16x4x2_t arg_f16x4x2, float16x4x3_t arg_f16x4x3, float16x4_t arg_f16x4, float16_t* arg_f16_ptr, float16x8x4_t arg_f16x8x4) { vst1_lane_f16(arg_f16_ptr, arg_f16x4, 0); vst1_lane_f16(arg_f16_ptr, arg_f16x4, 3); vst1_lane_f16(arg_f16_ptr, arg_f16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_f16(arg_f16_ptr, arg_f16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 0); vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 7); vst1q_lane_f16(arg_f16_ptr, arg_f16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 0); vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 3); vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 0); vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 7); vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 0); vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 3); vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 0); vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 7); vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 0); vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 3); vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 0); vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 7); vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_f32(float32x2x3_t arg_f32x2x3, float32x2x2_t arg_f32x2x2, float32x4_t arg_f32x4, float32x4x3_t arg_f32x4x3, float32_t* arg_f32_ptr, float32x4x4_t arg_f32x4x4, float32x2x4_t arg_f32x2x4, float32x2_t arg_f32x2, float32x4x2_t arg_f32x4x2) { vst1_lane_f32(arg_f32_ptr, arg_f32x2, 0); vst1_lane_f32(arg_f32_ptr, arg_f32x2, 1); vst1_lane_f32(arg_f32_ptr, arg_f32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_f32(arg_f32_ptr, arg_f32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 0); vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 3); vst1q_lane_f32(arg_f32_ptr, arg_f32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 0); vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 1); vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 0); vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 3); vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 0); vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 1); vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 0); vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 3); vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 0); vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 1); vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 0); vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 3); vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_p8(poly8x16_t arg_p8x16, poly8x16x2_t arg_p8x16x2, poly8x8x3_t arg_p8x8x3, poly8x16x3_t arg_p8x16x3, poly8x16x4_t arg_p8x16x4, poly8x8x4_t arg_p8x8x4, poly8_t* arg_p8_ptr, poly8x8_t arg_p8x8, poly8x8x2_t arg_p8x8x2) { vst1_lane_p8(arg_p8_ptr, arg_p8x8, 0); vst1_lane_p8(arg_p8_ptr, arg_p8x8, 7); vst1_lane_p8(arg_p8_ptr, arg_p8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_p8(arg_p8_ptr, arg_p8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 0); vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 15); vst1q_lane_p8(arg_p8_ptr, arg_p8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 0); vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 7); vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 0); vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 7); vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 0); vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 7); vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 0); vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 15); vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 0); vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 15); vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 0); vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 15); vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_p16(poly16x4x4_t arg_p16x4x4, poly16x4_t arg_p16x4, poly16x8x2_t arg_p16x8x2, poly16_t* arg_p16_ptr, poly16x8_t arg_p16x8, poly16x8x3_t arg_p16x8x3, poly16x4x3_t arg_p16x4x3, poly16x8x4_t arg_p16x8x4, poly16x4x2_t arg_p16x4x2) { vst1_lane_p16(arg_p16_ptr, arg_p16x4, 0); vst1_lane_p16(arg_p16_ptr, arg_p16x4, 3); vst1_lane_p16(arg_p16_ptr, arg_p16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_p16(arg_p16_ptr, arg_p16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 0); vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 7); vst1q_lane_p16(arg_p16_ptr, arg_p16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 0); vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 3); vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 0); vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 7); vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 0); vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 3); vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 0); vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 7); vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 0); vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 3); vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 0); vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 7); vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}} } void test_vector_store_f64(float64_t* arg_f64_ptr, float64x2_t arg_f64x2, float64x1x3_t arg_f64x1x3, float64x2x4_t arg_f64x2x4, float64x1x4_t arg_f64x1x4, float64x1x2_t arg_f64x1x2, float64x1_t arg_f64x1, float64x2x2_t arg_f64x2x2, float64x2x3_t arg_f64x2x3) { vst1_lane_f64(arg_f64_ptr, arg_f64x1, 0); vst1_lane_f64(arg_f64_ptr, arg_f64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1_lane_f64(arg_f64_ptr, arg_f64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 0); vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 1); vst1q_lane_f64(arg_f64_ptr, arg_f64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, 0); vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 0); vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 1); vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, 0); vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 0); vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 1); vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, 0); vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 0); vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 1); vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}} vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}} }