void f_vst2q_lane_s8 (int8_t * p, int8x16x2_t v) { /* { dg-error "lane 16 out of range 0 - 15" "" { xfail arm*-*-* } 0 } */ vst2q_lane_s8 (p, v, 16); /* { dg-error "lane -1 out of range 0 - 15" "" { xfail arm*-*-* } 0 } */ vst2q_lane_s8 (p, v, -1); return; }
void test_ld2st2(int8x8x2_t small8, int8x16x2_t big8, int16x4x2_t small16, int16x8x2_t big16, int32x2x2_t small32, int32x4x2_t big32, int64x1x2_t small64, int64x2x2_t big64, void *addr) { vld2_lane_s8(addr, small8, 7); vld2_lane_s16(addr, small16, 3); vld2_lane_s32(addr, small32, 1); vld2_lane_s64(addr, small64, 0); vld2q_lane_s8(addr, big8, 15); vld2q_lane_s16(addr, big16, 7); vld2q_lane_s32(addr, big32, 3); vld2q_lane_s64(addr, big64, 1); vld2_lane_s8(addr, small8, 8); // expected-error {{argument should be a value from 0 to 7}} vld2_lane_s16(addr, small16, 4); // expected-error {{argument should be a value from 0 to 3}} vld2_lane_s32(addr, small32, 2); // expected-error {{argument should be a value from 0 to 1}} vld2_lane_s64(addr, small64, 1); // expected-error {{argument should be a value from 0 to 0}} vld2q_lane_s8(addr, big8, 16); // expected-error {{argument should be a value from 0 to 15}} vld2q_lane_s16(addr, big16, 8); // expected-error {{argument should be a value from 0 to 7}} vld2q_lane_s32(addr, big32, 4); // expected-error {{argument should be a value from 0 to 3}} vld2q_lane_s64(addr, big64, 2); // expected-error {{argument should be a value from 0 to 1}} vst2_lane_s8(addr, small8, 7); vst2_lane_s16(addr, small16, 3); vst2_lane_s32(addr, small32, 1); vst2_lane_s64(addr, small64, 0); vst2q_lane_s8(addr, big8, 15); vst2q_lane_s16(addr, big16, 7); vst2q_lane_s32(addr, big32, 3); vst2q_lane_s64(addr, big64, 1); vst2_lane_s8(addr, small8, 8); // expected-error {{argument should be a value from 0 to 7}} vst2_lane_s16(addr, small16, 4); // expected-error {{argument should be a value from 0 to 3}} vst2_lane_s32(addr, small32, 2); // expected-error {{argument should be a value from 0 to 1}} vst2_lane_s64(addr, small64, 1); // expected-error {{argument should be a value from 0 to 0}} vst2q_lane_s8(addr, big8, 16); // expected-error {{argument should be a value from 0 to 15}} vst2q_lane_s16(addr, big16, 8); // expected-error {{argument should be a value from 0 to 7}} vst2q_lane_s32(addr, big32, 4); // expected-error {{argument should be a value from 0 to 3}} vst2q_lane_s64(addr, big64, 2); // expected-error {{argument should be a value from 0 to 1}} }