brintos

brintos / llvm-project-archived public Read only

0
0
Text · 39.0 KiB · a35891c Raw
621 lines · c
1// RUN: %clang_cc1 -triple aarch64-linux-gnu -target-feature +neon  -ffreestanding -fsyntax-only -verify %s2 3#include <arm_neon.h>4// REQUIRES: aarch64-registered-target5 6 7void test_vector_store_s8(int8x8_t arg_i8x8, int8x8x3_t arg_i8x8x3, int8_t* arg_i8_ptr,8						  int8x16x3_t arg_i8x16x3,  int8x8x4_t arg_i8x8x4, int8x16x4_t arg_i8x16x4,9						  int8x8x2_t arg_i8x8x2, int8x16_t arg_i8x16, int8x16x2_t arg_i8x16x2) {10	vst1_lane_s8(arg_i8_ptr, arg_i8x8, 0);11	vst1_lane_s8(arg_i8_ptr, arg_i8x8, 7);12	vst1_lane_s8(arg_i8_ptr, arg_i8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}13	vst1_lane_s8(arg_i8_ptr, arg_i8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}14 15	vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 0);16	vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 15);17	vst1q_lane_s8(arg_i8_ptr, arg_i8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}18	vst1q_lane_s8(arg_i8_ptr, arg_i8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}19 20	vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 0);21	vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 7);22	vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}23	vst2_lane_s8(arg_i8_ptr, arg_i8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}24 25	vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 0);26	vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 7);27	vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}28	vst3_lane_s8(arg_i8_ptr, arg_i8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}29 30	vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 0);31	vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 7);32	vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}33	vst4_lane_s8(arg_i8_ptr, arg_i8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}34 35	vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 0);36	vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 15);37	vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}38	vst2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}39 40	vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 0);41	vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 15);42	vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}43	vst3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}44 45	vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 0);46	vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 15);47	vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}48	vst4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}49 50}51 52void test_vector_store_s16(int16x8x3_t arg_i16x8x3, int16x4_t arg_i16x4, int16x4x3_t arg_i16x4x3,53						   int16x8_t arg_i16x8, int16_t* arg_i16_ptr, int16x8x2_t arg_i16x8x2,54						   int16x8x4_t arg_i16x8x4, int16x4x4_t arg_i16x4x4, int16x4x2_t arg_i16x4x2) {55	vst1_lane_s16(arg_i16_ptr, arg_i16x4, 0);56	vst1_lane_s16(arg_i16_ptr, arg_i16x4, 3);57	vst1_lane_s16(arg_i16_ptr, arg_i16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}58	vst1_lane_s16(arg_i16_ptr, arg_i16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}59 60	vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 0);61	vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 7);62	vst1q_lane_s16(arg_i16_ptr, arg_i16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}63	vst1q_lane_s16(arg_i16_ptr, arg_i16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}64 65	vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 0);66	vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 3);67	vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}68	vst2_lane_s16(arg_i16_ptr, arg_i16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}69 70	vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 0);71	vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 7);72	vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}73	vst2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}74 75	vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 0);76	vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 3);77	vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}78	vst3_lane_s16(arg_i16_ptr, arg_i16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}79 80	vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 0);81	vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 7);82	vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}83	vst3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}84 85	vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 0);86	vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 3);87	vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}88	vst4_lane_s16(arg_i16_ptr, arg_i16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}89 90	vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 0);91	vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 7);92	vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}93	vst4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}94 95}96 97void test_vector_store_s32(int32x4x3_t arg_i32x4x3, int32x4_t arg_i32x4, int32x2x2_t arg_i32x2x2,98						   int32x2x3_t arg_i32x2x3, int32x4x4_t arg_i32x4x4, int32x4x2_t arg_i32x4x2,99						   int32x2_t arg_i32x2, int32x2x4_t arg_i32x2x4, int32_t* arg_i32_ptr) {100	vst1_lane_s32(arg_i32_ptr, arg_i32x2, 0);101	vst1_lane_s32(arg_i32_ptr, arg_i32x2, 1);102	vst1_lane_s32(arg_i32_ptr, arg_i32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}103	vst1_lane_s32(arg_i32_ptr, arg_i32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}104 105	vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 0);106	vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 3);107	vst1q_lane_s32(arg_i32_ptr, arg_i32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}108	vst1q_lane_s32(arg_i32_ptr, arg_i32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}109 110	vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 0);111	vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 1);112	vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}113	vst2_lane_s32(arg_i32_ptr, arg_i32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}114 115	vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 0);116	vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 3);117	vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}118	vst2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}119 120	vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 0);121	vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 1);122	vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}123	vst3_lane_s32(arg_i32_ptr, arg_i32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}124 125	vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 0);126	vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 3);127	vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}128	vst3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}129 130	vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 0);131	vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 1);132	vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}133	vst4_lane_s32(arg_i32_ptr, arg_i32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}134 135	vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 0);136	vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 3);137	vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}138	vst4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}139 140}141 142void test_vector_store_s64(int64x2x2_t arg_i64x2x2, int64_t* arg_i64_ptr, int64x1_t arg_i64x1,143						   int64x2x4_t arg_i64x2x4, int64x1x4_t arg_i64x1x4, int64x1x2_t arg_i64x1x2,144						   int64x1x3_t arg_i64x1x3, int64x2x3_t arg_i64x2x3, int64x2_t arg_i64x2) {145	vst1_lane_s64(arg_i64_ptr, arg_i64x1, 0);146	vst1_lane_s64(arg_i64_ptr, arg_i64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}147	vst1_lane_s64(arg_i64_ptr, arg_i64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}148 149	vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 0);150	vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 1);151	vst1q_lane_s64(arg_i64_ptr, arg_i64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}152	vst1q_lane_s64(arg_i64_ptr, arg_i64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}153 154	vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, 0);155	vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}156	vst2_lane_s64(arg_i64_ptr, arg_i64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}157 158	vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 0);159	vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 1);160	vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}161	vst2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}162 163	vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, 0);164	vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}165	vst3_lane_s64(arg_i64_ptr, arg_i64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}166 167	vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 0);168	vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 1);169	vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}170	vst3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}171 172	vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, 0);173	vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}174	vst4_lane_s64(arg_i64_ptr, arg_i64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}175 176	vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 0);177	vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 1);178	vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}179	vst4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}180 181}182 183void test_vector_store_u8(uint8x16_t arg_u8x16, uint8x16x3_t arg_u8x16x3, uint8x8x4_t arg_u8x8x4,184						  uint8x16x2_t arg_u8x16x2, uint8x8_t arg_u8x8, uint8x8x3_t arg_u8x8x3,185						  uint8x16x4_t arg_u8x16x4, uint8_t* arg_u8_ptr, uint8x8x2_t arg_u8x8x2) {186	vst1_lane_u8(arg_u8_ptr, arg_u8x8, 0);187	vst1_lane_u8(arg_u8_ptr, arg_u8x8, 7);188	vst1_lane_u8(arg_u8_ptr, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}189	vst1_lane_u8(arg_u8_ptr, arg_u8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}190 191	vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 0);192	vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 15);193	vst1q_lane_u8(arg_u8_ptr, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}194	vst1q_lane_u8(arg_u8_ptr, arg_u8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}195 196	vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 0);197	vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 7);198	vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}199	vst2_lane_u8(arg_u8_ptr, arg_u8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}200 201	vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 0);202	vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 7);203	vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}204	vst3_lane_u8(arg_u8_ptr, arg_u8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}205 206	vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 0);207	vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 7);208	vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}209	vst4_lane_u8(arg_u8_ptr, arg_u8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}210 211	vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 0);212	vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 15);213	vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}214	vst2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}215 216	vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 0);217	vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 15);218	vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}219	vst3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}220 221	vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 0);222	vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 15);223	vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}224	vst4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}225 226}227 228void test_vector_store_u16(uint16x8x3_t arg_u16x8x3, uint16x4x4_t arg_u16x4x4, uint16_t* arg_u16_ptr,229						   uint16x4_t arg_u16x4, uint16x4x2_t arg_u16x4x2, uint16x4x3_t arg_u16x4x3,230						   uint16x8_t arg_u16x8, uint16x8x2_t arg_u16x8x2, uint16x8x4_t arg_u16x8x4) {231	vst1_lane_u16(arg_u16_ptr, arg_u16x4, 0);232	vst1_lane_u16(arg_u16_ptr, arg_u16x4, 3);233	vst1_lane_u16(arg_u16_ptr, arg_u16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}234	vst1_lane_u16(arg_u16_ptr, arg_u16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}235 236	vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 0);237	vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 7);238	vst1q_lane_u16(arg_u16_ptr, arg_u16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}239	vst1q_lane_u16(arg_u16_ptr, arg_u16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}240 241	vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 0);242	vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 3);243	vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}244	vst2_lane_u16(arg_u16_ptr, arg_u16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}245 246	vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 0);247	vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 7);248	vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}249	vst2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}250 251	vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 0);252	vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 3);253	vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}254	vst3_lane_u16(arg_u16_ptr, arg_u16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}255 256	vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 0);257	vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 7);258	vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}259	vst3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}260 261	vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 0);262	vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 3);263	vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}264	vst4_lane_u16(arg_u16_ptr, arg_u16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}265 266	vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 0);267	vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 7);268	vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}269	vst4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}270 271}272 273void test_vector_store_u32(uint32x4x3_t arg_u32x4x3, uint32x2_t arg_u32x2, uint32x2x3_t arg_u32x2x3,274						   uint32x4x4_t arg_u32x4x4, uint32x4_t arg_u32x4, uint32x2x2_t arg_u32x2x2,275						   uint32_t* arg_u32_ptr, uint32x2x4_t arg_u32x2x4, uint32x4x2_t arg_u32x4x2) {276	vst1_lane_u32(arg_u32_ptr, arg_u32x2, 0);277	vst1_lane_u32(arg_u32_ptr, arg_u32x2, 1);278	vst1_lane_u32(arg_u32_ptr, arg_u32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}279	vst1_lane_u32(arg_u32_ptr, arg_u32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}280 281	vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 0);282	vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 3);283	vst1q_lane_u32(arg_u32_ptr, arg_u32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}284	vst1q_lane_u32(arg_u32_ptr, arg_u32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}285 286	vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 0);287	vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 1);288	vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}289	vst2_lane_u32(arg_u32_ptr, arg_u32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}290 291	vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 0);292	vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 3);293	vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}294	vst2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}295 296	vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 0);297	vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 1);298	vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}299	vst3_lane_u32(arg_u32_ptr, arg_u32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}300 301	vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 0);302	vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 3);303	vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}304	vst3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}305 306	vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 0);307	vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 1);308	vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}309	vst4_lane_u32(arg_u32_ptr, arg_u32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}310 311	vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 0);312	vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 3);313	vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}314	vst4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}315 316}317 318void test_vector_store_u64(uint64x2x3_t arg_u64x2x3, uint64x1_t arg_u64x1, uint64x2_t arg_u64x2,319						   uint64x1x2_t arg_u64x1x2, uint64x2x2_t arg_u64x2x2, uint64x1x3_t arg_u64x1x3,320						   uint64_t* arg_u64_ptr, uint64x2x4_t arg_u64x2x4, uint64x1x4_t arg_u64x1x4) {321	vst1_lane_u64(arg_u64_ptr, arg_u64x1, 0);322	vst1_lane_u64(arg_u64_ptr, arg_u64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}323	vst1_lane_u64(arg_u64_ptr, arg_u64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}324 325	vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 0);326	vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 1);327	vst1q_lane_u64(arg_u64_ptr, arg_u64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}328	vst1q_lane_u64(arg_u64_ptr, arg_u64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}329 330	vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, 0);331	vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}332	vst2_lane_u64(arg_u64_ptr, arg_u64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}333 334	vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 0);335	vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 1);336	vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}337	vst2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}338 339	vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, 0);340	vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}341	vst3_lane_u64(arg_u64_ptr, arg_u64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}342 343	vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 0);344	vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 1);345	vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}346	vst3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}347 348	vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, 0);349	vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}350	vst4_lane_u64(arg_u64_ptr, arg_u64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}351 352	vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 0);353	vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 1);354	vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}355	vst4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}356 357}358 359void test_vector_store_p64(poly64x2x4_t arg_p64x2x4, poly64x1x3_t arg_p64x1x3, poly64x1_t arg_p64x1,360						   poly64x2x2_t arg_p64x2x2, poly64x1x4_t arg_p64x1x4, poly64_t* arg_p64_ptr,361						   poly64x1x2_t arg_p64x1x2, poly64x2_t arg_p64x2, poly64x2x3_t arg_p64x2x3) {362	vst1_lane_p64(arg_p64_ptr, arg_p64x1, 0);363	vst1_lane_p64(arg_p64_ptr, arg_p64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}364	vst1_lane_p64(arg_p64_ptr, arg_p64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}365 366	vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 0);367	vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 1);368	vst1q_lane_p64(arg_p64_ptr, arg_p64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}369	vst1q_lane_p64(arg_p64_ptr, arg_p64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}370 371	vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, 0);372	vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}373	vst2_lane_p64(arg_p64_ptr, arg_p64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}374 375	vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 0);376	vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 1);377	vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}378	vst2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}379 380	vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, 0);381	vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}382	vst3_lane_p64(arg_p64_ptr, arg_p64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}383 384	vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 0);385	vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 1);386	vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}387	vst3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}388 389	vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, 0);390	vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}391	vst4_lane_p64(arg_p64_ptr, arg_p64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}392 393	vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 0);394	vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 1);395	vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}396	vst4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}397 398}399 400void test_vector_store_f16(float16x4x4_t arg_f16x4x4, float16x8_t arg_f16x8, float16x8x2_t arg_f16x8x2,401						   float16x8x3_t arg_f16x8x3, float16x4x2_t arg_f16x4x2, float16x4x3_t arg_f16x4x3,402						   float16x4_t arg_f16x4, float16_t* arg_f16_ptr, float16x8x4_t arg_f16x8x4) {403	vst1_lane_f16(arg_f16_ptr, arg_f16x4, 0);404	vst1_lane_f16(arg_f16_ptr, arg_f16x4, 3);405	vst1_lane_f16(arg_f16_ptr, arg_f16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}406	vst1_lane_f16(arg_f16_ptr, arg_f16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}407 408	vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 0);409	vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 7);410	vst1q_lane_f16(arg_f16_ptr, arg_f16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}411	vst1q_lane_f16(arg_f16_ptr, arg_f16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}412 413	vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 0);414	vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 3);415	vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}416	vst2_lane_f16(arg_f16_ptr, arg_f16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}417 418	vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 0);419	vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 7);420	vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}421	vst2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}422 423	vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 0);424	vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 3);425	vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}426	vst3_lane_f16(arg_f16_ptr, arg_f16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}427 428	vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 0);429	vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 7);430	vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}431	vst3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}432 433	vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 0);434	vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 3);435	vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}436	vst4_lane_f16(arg_f16_ptr, arg_f16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}437 438	vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 0);439	vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 7);440	vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}441	vst4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}442 443}444 445void test_vector_store_f32(float32x2x3_t arg_f32x2x3, float32x2x2_t arg_f32x2x2, float32x4_t arg_f32x4,446						   float32x4x3_t arg_f32x4x3, float32_t* arg_f32_ptr, float32x4x4_t arg_f32x4x4,447						   float32x2x4_t arg_f32x2x4, float32x2_t arg_f32x2, float32x4x2_t arg_f32x4x2) {448	vst1_lane_f32(arg_f32_ptr, arg_f32x2, 0);449	vst1_lane_f32(arg_f32_ptr, arg_f32x2, 1);450	vst1_lane_f32(arg_f32_ptr, arg_f32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}451	vst1_lane_f32(arg_f32_ptr, arg_f32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}452 453	vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 0);454	vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 3);455	vst1q_lane_f32(arg_f32_ptr, arg_f32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}456	vst1q_lane_f32(arg_f32_ptr, arg_f32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}457 458	vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 0);459	vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 1);460	vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}461	vst2_lane_f32(arg_f32_ptr, arg_f32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}462 463	vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 0);464	vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 3);465	vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}466	vst2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}467 468	vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 0);469	vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 1);470	vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}471	vst3_lane_f32(arg_f32_ptr, arg_f32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}472 473	vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 0);474	vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 3);475	vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}476	vst3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}477 478	vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 0);479	vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 1);480	vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}481	vst4_lane_f32(arg_f32_ptr, arg_f32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}482 483	vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 0);484	vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 3);485	vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}486	vst4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}487 488}489 490void test_vector_store_p8(poly8x16_t arg_p8x16, poly8x16x2_t arg_p8x16x2, poly8x8x3_t arg_p8x8x3,491						  poly8x16x3_t arg_p8x16x3, poly8x16x4_t arg_p8x16x4, poly8x8x4_t arg_p8x8x4,492						  poly8_t* arg_p8_ptr, poly8x8_t arg_p8x8, poly8x8x2_t arg_p8x8x2) {493	vst1_lane_p8(arg_p8_ptr, arg_p8x8, 0);494	vst1_lane_p8(arg_p8_ptr, arg_p8x8, 7);495	vst1_lane_p8(arg_p8_ptr, arg_p8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}496	vst1_lane_p8(arg_p8_ptr, arg_p8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}497 498	vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 0);499	vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 15);500	vst1q_lane_p8(arg_p8_ptr, arg_p8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}501	vst1q_lane_p8(arg_p8_ptr, arg_p8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}502 503	vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 0);504	vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 7);505	vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}506	vst2_lane_p8(arg_p8_ptr, arg_p8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}507 508	vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 0);509	vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 7);510	vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}511	vst3_lane_p8(arg_p8_ptr, arg_p8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}512 513	vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 0);514	vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 7);515	vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}516	vst4_lane_p8(arg_p8_ptr, arg_p8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}517 518	vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 0);519	vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 15);520	vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}521	vst2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}522 523	vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 0);524	vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 15);525	vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}526	vst3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}527 528	vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 0);529	vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 15);530	vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}531	vst4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}532 533}534 535void test_vector_store_p16(poly16x4x4_t arg_p16x4x4, poly16x4_t arg_p16x4, poly16x8x2_t arg_p16x8x2,536						   poly16_t* arg_p16_ptr, poly16x8_t arg_p16x8, poly16x8x3_t arg_p16x8x3,537						   poly16x4x3_t arg_p16x4x3, poly16x8x4_t arg_p16x8x4, poly16x4x2_t arg_p16x4x2) {538	vst1_lane_p16(arg_p16_ptr, arg_p16x4, 0);539	vst1_lane_p16(arg_p16_ptr, arg_p16x4, 3);540	vst1_lane_p16(arg_p16_ptr, arg_p16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}541	vst1_lane_p16(arg_p16_ptr, arg_p16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}542 543	vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 0);544	vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 7);545	vst1q_lane_p16(arg_p16_ptr, arg_p16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}546	vst1q_lane_p16(arg_p16_ptr, arg_p16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}547 548	vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 0);549	vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 3);550	vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}551	vst2_lane_p16(arg_p16_ptr, arg_p16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}552 553	vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 0);554	vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 7);555	vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}556	vst2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}557 558	vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 0);559	vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 3);560	vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}561	vst3_lane_p16(arg_p16_ptr, arg_p16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}562 563	vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 0);564	vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 7);565	vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}566	vst3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}567 568	vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 0);569	vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 3);570	vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}571	vst4_lane_p16(arg_p16_ptr, arg_p16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}572 573	vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 0);574	vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 7);575	vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}576	vst4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}577 578}579 580void test_vector_store_f64(float64_t* arg_f64_ptr, float64x2_t arg_f64x2, float64x1x3_t arg_f64x1x3,581						   float64x2x4_t arg_f64x2x4, float64x1x4_t arg_f64x1x4, float64x1x2_t arg_f64x1x2,582						   float64x1_t arg_f64x1, float64x2x2_t arg_f64x2x2, float64x2x3_t arg_f64x2x3) {583	vst1_lane_f64(arg_f64_ptr, arg_f64x1, 0);584	vst1_lane_f64(arg_f64_ptr, arg_f64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}585	vst1_lane_f64(arg_f64_ptr, arg_f64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}586 587	vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 0);588	vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 1);589	vst1q_lane_f64(arg_f64_ptr, arg_f64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}590	vst1q_lane_f64(arg_f64_ptr, arg_f64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}591 592	vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, 0);593	vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}594	vst2_lane_f64(arg_f64_ptr, arg_f64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}595 596	vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 0);597	vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 1);598	vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}599	vst2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}600 601	vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, 0);602	vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}603	vst3_lane_f64(arg_f64_ptr, arg_f64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}604 605	vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 0);606	vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 1);607	vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}608	vst3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}609 610	vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, 0);611	vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}612	vst4_lane_f64(arg_f64_ptr, arg_f64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}613 614	vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 0);615	vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 1);616	vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}617	vst4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}618 619}620 621