brintos

brintos / llvm-project-archived public Read only

0
0
Text · 43.8 KiB · 3259d47 Raw
693 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_load_s8(int8x8x2_t arg_i8x8x2, int8x8x3_t arg_i8x8x3, int8x16x2_t arg_i8x16x2,8						 int8x16x3_t arg_i8x16x3, int8x8_t arg_i8x8, int8x16x4_t arg_i8x16x4,9						 int8x16_t arg_i8x16, int8x8x4_t arg_i8x8x4, int8_t* arg_i8_ptr) {10	vld1_lane_s8(arg_i8_ptr, arg_i8x8, 0);11	vld1_lane_s8(arg_i8_ptr, arg_i8x8, 7);12	vld1_lane_s8(arg_i8_ptr, arg_i8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}13	vld1_lane_s8(arg_i8_ptr, arg_i8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}14 15	vld1q_lane_s8(arg_i8_ptr, arg_i8x16, 0);16	vld1q_lane_s8(arg_i8_ptr, arg_i8x16, 15);17	vld1q_lane_s8(arg_i8_ptr, arg_i8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}18	vld1q_lane_s8(arg_i8_ptr, arg_i8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}19 20	vld2_lane_s8(arg_i8_ptr, arg_i8x8x2, 0);21	vld2_lane_s8(arg_i8_ptr, arg_i8x8x2, 7);22	vld2_lane_s8(arg_i8_ptr, arg_i8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}23	vld2_lane_s8(arg_i8_ptr, arg_i8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}24 25	vld2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 0);26	vld2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 15);27	vld2q_lane_s8(arg_i8_ptr, arg_i8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}28	vld2q_lane_s8(arg_i8_ptr, arg_i8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}29 30	vld3_lane_s8(arg_i8_ptr, arg_i8x8x3, 0);31	vld3_lane_s8(arg_i8_ptr, arg_i8x8x3, 7);32	vld3_lane_s8(arg_i8_ptr, arg_i8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}33	vld3_lane_s8(arg_i8_ptr, arg_i8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}34 35	vld3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 0);36	vld3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 15);37	vld3q_lane_s8(arg_i8_ptr, arg_i8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}38	vld3q_lane_s8(arg_i8_ptr, arg_i8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}39 40	vld4_lane_s8(arg_i8_ptr, arg_i8x8x4, 0);41	vld4_lane_s8(arg_i8_ptr, arg_i8x8x4, 7);42	vld4_lane_s8(arg_i8_ptr, arg_i8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}43	vld4_lane_s8(arg_i8_ptr, arg_i8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}44 45	vld4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 0);46	vld4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 15);47	vld4q_lane_s8(arg_i8_ptr, arg_i8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}48	vld4q_lane_s8(arg_i8_ptr, arg_i8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}49 50}51 52void test_vector_load_s16(int16x8x2_t arg_i16x8x2, int16x8x3_t arg_i16x8x3, int16x8x4_t arg_i16x8x4,53						  int16_t* arg_i16_ptr, int16x4x2_t arg_i16x4x2, int16x4x3_t arg_i16x4x3,54						  int16x8_t arg_i16x8, int16x4x4_t arg_i16x4x4, int16x4_t arg_i16x4) {55	vld1_lane_s16(arg_i16_ptr, arg_i16x4, 0);56	vld1_lane_s16(arg_i16_ptr, arg_i16x4, 3);57	vld1_lane_s16(arg_i16_ptr, arg_i16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}58	vld1_lane_s16(arg_i16_ptr, arg_i16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}59 60	vld1q_lane_s16(arg_i16_ptr, arg_i16x8, 0);61	vld1q_lane_s16(arg_i16_ptr, arg_i16x8, 7);62	vld1q_lane_s16(arg_i16_ptr, arg_i16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}63	vld1q_lane_s16(arg_i16_ptr, arg_i16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}64 65	vld2_lane_s16(arg_i16_ptr, arg_i16x4x2, 0);66	vld2_lane_s16(arg_i16_ptr, arg_i16x4x2, 3);67	vld2_lane_s16(arg_i16_ptr, arg_i16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}68	vld2_lane_s16(arg_i16_ptr, arg_i16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}69 70	vld2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 0);71	vld2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 7);72	vld2q_lane_s16(arg_i16_ptr, arg_i16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}73	vld2q_lane_s16(arg_i16_ptr, arg_i16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}74 75	vld3_lane_s16(arg_i16_ptr, arg_i16x4x3, 0);76	vld3_lane_s16(arg_i16_ptr, arg_i16x4x3, 3);77	vld3_lane_s16(arg_i16_ptr, arg_i16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}78	vld3_lane_s16(arg_i16_ptr, arg_i16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}79 80	vld3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 0);81	vld3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 7);82	vld3q_lane_s16(arg_i16_ptr, arg_i16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}83	vld3q_lane_s16(arg_i16_ptr, arg_i16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}84 85	vld4_lane_s16(arg_i16_ptr, arg_i16x4x4, 0);86	vld4_lane_s16(arg_i16_ptr, arg_i16x4x4, 3);87	vld4_lane_s16(arg_i16_ptr, arg_i16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}88	vld4_lane_s16(arg_i16_ptr, arg_i16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}89 90	vld4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 0);91	vld4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 7);92	vld4q_lane_s16(arg_i16_ptr, arg_i16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}93	vld4q_lane_s16(arg_i16_ptr, arg_i16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}94 95}96 97void test_vector_load_s32(int32x2x4_t arg_i32x2x4, int32x4_t arg_i32x4, int32x2_t arg_i32x2,98						  int32x4x2_t arg_i32x4x2, int32x4x4_t arg_i32x4x4, int32_t* arg_i32_ptr,99						  int32x2x3_t arg_i32x2x3, int32x4x3_t arg_i32x4x3, int32x2x2_t arg_i32x2x2) {100	vld1_lane_s32(arg_i32_ptr, arg_i32x2, 0);101	vld1_lane_s32(arg_i32_ptr, arg_i32x2, 1);102	vld1_lane_s32(arg_i32_ptr, arg_i32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}103	vld1_lane_s32(arg_i32_ptr, arg_i32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}104 105	vld1q_lane_s32(arg_i32_ptr, arg_i32x4, 0);106	vld1q_lane_s32(arg_i32_ptr, arg_i32x4, 3);107	vld1q_lane_s32(arg_i32_ptr, arg_i32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}108	vld1q_lane_s32(arg_i32_ptr, arg_i32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}109 110	vld2_lane_s32(arg_i32_ptr, arg_i32x2x2, 0);111	vld2_lane_s32(arg_i32_ptr, arg_i32x2x2, 1);112	vld2_lane_s32(arg_i32_ptr, arg_i32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}113	vld2_lane_s32(arg_i32_ptr, arg_i32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}114 115	vld2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 0);116	vld2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 3);117	vld2q_lane_s32(arg_i32_ptr, arg_i32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}118	vld2q_lane_s32(arg_i32_ptr, arg_i32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}119 120	vld3_lane_s32(arg_i32_ptr, arg_i32x2x3, 0);121	vld3_lane_s32(arg_i32_ptr, arg_i32x2x3, 1);122	vld3_lane_s32(arg_i32_ptr, arg_i32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}123	vld3_lane_s32(arg_i32_ptr, arg_i32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}124 125	vld3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 0);126	vld3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 3);127	vld3q_lane_s32(arg_i32_ptr, arg_i32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}128	vld3q_lane_s32(arg_i32_ptr, arg_i32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}129 130	vld4_lane_s32(arg_i32_ptr, arg_i32x2x4, 0);131	vld4_lane_s32(arg_i32_ptr, arg_i32x2x4, 1);132	vld4_lane_s32(arg_i32_ptr, arg_i32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}133	vld4_lane_s32(arg_i32_ptr, arg_i32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}134 135	vld4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 0);136	vld4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 3);137	vld4q_lane_s32(arg_i32_ptr, arg_i32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}138	vld4q_lane_s32(arg_i32_ptr, arg_i32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}139 140}141 142void test_vector_load_s64(int64x1x4_t arg_i64x1x4, int64x1_t arg_i64x1, int64x2x2_t arg_i64x2x2,143						  int64x2x4_t arg_i64x2x4, int64x1x3_t arg_i64x1x3, int64x1x2_t arg_i64x1x2,144						  int64x2_t arg_i64x2, int64x2x3_t arg_i64x2x3, int64_t* arg_i64_ptr) {145	vld1_lane_s64(arg_i64_ptr, arg_i64x1, 0);146	vld1_lane_s64(arg_i64_ptr, arg_i64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}147	vld1_lane_s64(arg_i64_ptr, arg_i64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}148 149	vld1q_lane_s64(arg_i64_ptr, arg_i64x2, 0);150	vld1q_lane_s64(arg_i64_ptr, arg_i64x2, 1);151	vld1q_lane_s64(arg_i64_ptr, arg_i64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}152	vld1q_lane_s64(arg_i64_ptr, arg_i64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}153 154	vldap1_lane_s64(arg_i64_ptr, arg_i64x1, 0);155	vldap1_lane_s64(arg_i64_ptr, arg_i64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}156	vldap1_lane_s64(arg_i64_ptr, arg_i64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}157 158	vldap1q_lane_s64(arg_i64_ptr, arg_i64x2, 0);159	vldap1q_lane_s64(arg_i64_ptr, arg_i64x2, 1);160	vldap1q_lane_s64(arg_i64_ptr, arg_i64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}161	vldap1q_lane_s64(arg_i64_ptr, arg_i64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}162 163	vstl1_lane_s64(arg_i64_ptr, arg_i64x1, 0);164	vstl1_lane_s64(arg_i64_ptr, arg_i64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}165	vstl1_lane_s64(arg_i64_ptr, arg_i64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}166 167	vstl1q_lane_s64(arg_i64_ptr, arg_i64x2, 0);168	vstl1q_lane_s64(arg_i64_ptr, arg_i64x2, 1);169	vstl1q_lane_s64(arg_i64_ptr, arg_i64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}170	vstl1q_lane_s64(arg_i64_ptr, arg_i64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}171 172	vld2_lane_s64(arg_i64_ptr, arg_i64x1x2, 0);173	vld2_lane_s64(arg_i64_ptr, arg_i64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}174	vld2_lane_s64(arg_i64_ptr, arg_i64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}175 176	vld2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 0);177	vld2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 1);178	vld2q_lane_s64(arg_i64_ptr, arg_i64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}179	vld2q_lane_s64(arg_i64_ptr, arg_i64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}180 181	vld3_lane_s64(arg_i64_ptr, arg_i64x1x3, 0);182	vld3_lane_s64(arg_i64_ptr, arg_i64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}183	vld3_lane_s64(arg_i64_ptr, arg_i64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}184 185	vld3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 0);186	vld3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 1);187	vld3q_lane_s64(arg_i64_ptr, arg_i64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}188	vld3q_lane_s64(arg_i64_ptr, arg_i64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}189 190	vld4_lane_s64(arg_i64_ptr, arg_i64x1x4, 0);191	vld4_lane_s64(arg_i64_ptr, arg_i64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}192	vld4_lane_s64(arg_i64_ptr, arg_i64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}193 194	vld4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 0);195	vld4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 1);196	vld4q_lane_s64(arg_i64_ptr, arg_i64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}197	vld4q_lane_s64(arg_i64_ptr, arg_i64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}198 199}200 201void test_vector_load_u8(uint8x8x2_t arg_u8x8x2, uint8x16x2_t arg_u8x16x2, uint8x8x4_t arg_u8x8x4,202						uint8x8_t arg_u8x8, uint8x8x3_t arg_u8x8x3, uint8x16_t arg_u8x16,203						uint8x16x4_t arg_u8x16x4, uint8_t *arg_u8_ptr, uint8x16x3_t arg_u8x16x3) {204	vld1_lane_u8(arg_u8_ptr, arg_u8x8, 0);205	vld1_lane_u8(arg_u8_ptr, arg_u8x8, 7);206	vld1_lane_u8(arg_u8_ptr, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}207	vld1_lane_u8(arg_u8_ptr, arg_u8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}208 209	vld1q_lane_u8(arg_u8_ptr, arg_u8x16, 0);210	vld1q_lane_u8(arg_u8_ptr, arg_u8x16, 15);211	vld1q_lane_u8(arg_u8_ptr, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}212	vld1q_lane_u8(arg_u8_ptr, arg_u8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}213 214	vld2_lane_u8(arg_u8_ptr, arg_u8x8x2, 0);215	vld2_lane_u8(arg_u8_ptr, arg_u8x8x2, 7);216	vld2_lane_u8(arg_u8_ptr, arg_u8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}217	vld2_lane_u8(arg_u8_ptr, arg_u8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}218 219	vld2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 0);220	vld2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 15);221	vld2q_lane_u8(arg_u8_ptr, arg_u8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}222	vld2q_lane_u8(arg_u8_ptr, arg_u8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}223 224	vld3_lane_u8(arg_u8_ptr, arg_u8x8x3, 0);225	vld3_lane_u8(arg_u8_ptr, arg_u8x8x3, 7);226	vld3_lane_u8(arg_u8_ptr, arg_u8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}227	vld3_lane_u8(arg_u8_ptr, arg_u8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}228 229	vld3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 0);230	vld3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 15);231	vld3q_lane_u8(arg_u8_ptr, arg_u8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}232	vld3q_lane_u8(arg_u8_ptr, arg_u8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}233 234	vld4_lane_u8(arg_u8_ptr, arg_u8x8x4, 0);235	vld4_lane_u8(arg_u8_ptr, arg_u8x8x4, 7);236	vld4_lane_u8(arg_u8_ptr, arg_u8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}237	vld4_lane_u8(arg_u8_ptr, arg_u8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}238 239	vld4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 0);240	vld4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 15);241	vld4q_lane_u8(arg_u8_ptr, arg_u8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}242	vld4q_lane_u8(arg_u8_ptr, arg_u8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}243 244}245 246void test_vector_load_u16(uint16x8x2_t arg_u16x8x2, uint16x8x4_t arg_u16x8x4, uint16x4x4_t arg_u16x4x4,247						  uint16x4x2_t arg_u16x4x2, uint16x8_t arg_u16x8, uint16_t *arg_u16_ptr,248						  uint16x8x3_t arg_u16x8x3, uint16x4_t arg_u16x4, uint16x4x3_t arg_u16x4x3) {249	vld1_lane_u16(arg_u16_ptr, arg_u16x4, 0);250	vld1_lane_u16(arg_u16_ptr, arg_u16x4, 3);251	vld1_lane_u16(arg_u16_ptr, arg_u16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}252	vld1_lane_u16(arg_u16_ptr, arg_u16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}253 254	vld1q_lane_u16(arg_u16_ptr, arg_u16x8, 0);255	vld1q_lane_u16(arg_u16_ptr, arg_u16x8, 7);256	vld1q_lane_u16(arg_u16_ptr, arg_u16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}257	vld1q_lane_u16(arg_u16_ptr, arg_u16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}258 259	vld2_lane_u16(arg_u16_ptr, arg_u16x4x2, 0);260	vld2_lane_u16(arg_u16_ptr, arg_u16x4x2, 3);261	vld2_lane_u16(arg_u16_ptr, arg_u16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}262	vld2_lane_u16(arg_u16_ptr, arg_u16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}263 264	vld2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 0);265	vld2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 7);266	vld2q_lane_u16(arg_u16_ptr, arg_u16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}267	vld2q_lane_u16(arg_u16_ptr, arg_u16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}268 269	vld3_lane_u16(arg_u16_ptr, arg_u16x4x3, 0);270	vld3_lane_u16(arg_u16_ptr, arg_u16x4x3, 3);271	vld3_lane_u16(arg_u16_ptr, arg_u16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}272	vld3_lane_u16(arg_u16_ptr, arg_u16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}273 274	vld3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 0);275	vld3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 7);276	vld3q_lane_u16(arg_u16_ptr, arg_u16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}277	vld3q_lane_u16(arg_u16_ptr, arg_u16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}278 279	vld4_lane_u16(arg_u16_ptr, arg_u16x4x4, 0);280	vld4_lane_u16(arg_u16_ptr, arg_u16x4x4, 3);281	vld4_lane_u16(arg_u16_ptr, arg_u16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}282	vld4_lane_u16(arg_u16_ptr, arg_u16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}283 284	vld4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 0);285	vld4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 7);286	vld4q_lane_u16(arg_u16_ptr, arg_u16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}287	vld4q_lane_u16(arg_u16_ptr, arg_u16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}288 289}290 291void test_vector_load_u32(uint32x2x3_t arg_u32x2x3, uint32x2_t arg_u32x2, uint32x2x4_t arg_u32x2x4,292						  uint32x4_t arg_u32x4, uint32x4x2_t arg_u32x4x2, uint32x2x2_t arg_u32x2x2,293						  void *arg_u32_ptr, uint32x4x4_t arg_u32x4x4, uint32x4x3_t arg_u32x4x3) {294	vld1_lane_u32(arg_u32_ptr, arg_u32x2, 0);295	vld1_lane_u32(arg_u32_ptr, arg_u32x2, 1);296	vld1_lane_u32(arg_u32_ptr, arg_u32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}297	vld1_lane_u32(arg_u32_ptr, arg_u32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}298 299	vld1q_lane_u32(arg_u32_ptr, arg_u32x4, 0);300	vld1q_lane_u32(arg_u32_ptr, arg_u32x4, 3);301	vld1q_lane_u32(arg_u32_ptr, arg_u32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}302	vld1q_lane_u32(arg_u32_ptr, arg_u32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}303 304	vld2_lane_u32(arg_u32_ptr, arg_u32x2x2, 0);305	vld2_lane_u32(arg_u32_ptr, arg_u32x2x2, 1);306	vld2_lane_u32(arg_u32_ptr, arg_u32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}307	vld2_lane_u32(arg_u32_ptr, arg_u32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}308 309	vld2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 0);310	vld2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 3);311	vld2q_lane_u32(arg_u32_ptr, arg_u32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}312	vld2q_lane_u32(arg_u32_ptr, arg_u32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}313 314	vld3_lane_u32(arg_u32_ptr, arg_u32x2x3, 0);315	vld3_lane_u32(arg_u32_ptr, arg_u32x2x3, 1);316	vld3_lane_u32(arg_u32_ptr, arg_u32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}317	vld3_lane_u32(arg_u32_ptr, arg_u32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}318 319	vld3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 0);320	vld3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 3);321	vld3q_lane_u32(arg_u32_ptr, arg_u32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}322	vld3q_lane_u32(arg_u32_ptr, arg_u32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}323 324	vld4_lane_u32(arg_u32_ptr, arg_u32x2x4, 0);325	vld4_lane_u32(arg_u32_ptr, arg_u32x2x4, 1);326	vld4_lane_u32(arg_u32_ptr, arg_u32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}327	vld4_lane_u32(arg_u32_ptr, arg_u32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}328 329	vld4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 0);330	vld4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 3);331	vld4q_lane_u32(arg_u32_ptr, arg_u32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}332	vld4q_lane_u32(arg_u32_ptr, arg_u32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}333 334}335 336void test_vector_load_u64(uint64x2x2_t arg_u64x2x2, uint64x1x2_t arg_u64x1x2, uint64x2x3_t arg_u64x2x3,337						  uint64x1_t arg_u64x1, uint64x1x4_t arg_u64x1x4, uint64x1x3_t arg_u64x1x3,338						  uint64_t *arg_u64_ptr, uint64x2_t arg_u64x2, uint64x2x4_t arg_u64x2x4) {339	vld1_lane_u64(arg_u64_ptr, arg_u64x1, 0);340	vld1_lane_u64(arg_u64_ptr, arg_u64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}341	vld1_lane_u64(arg_u64_ptr, arg_u64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}342 343	vld1q_lane_u64(arg_u64_ptr, arg_u64x2, 0);344	vld1q_lane_u64(arg_u64_ptr, arg_u64x2, 1);345	vld1q_lane_u64(arg_u64_ptr, arg_u64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}346	vld1q_lane_u64(arg_u64_ptr, arg_u64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}347 348	vldap1_lane_u64(arg_u64_ptr, arg_u64x1, 0);349	vldap1_lane_u64(arg_u64_ptr, arg_u64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}350	vldap1_lane_u64(arg_u64_ptr, arg_u64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}351 352	vldap1q_lane_u64(arg_u64_ptr, arg_u64x2, 0);353	vldap1q_lane_u64(arg_u64_ptr, arg_u64x2, 1);354	vldap1q_lane_u64(arg_u64_ptr, arg_u64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}355	vldap1q_lane_u64(arg_u64_ptr, arg_u64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}356 357	vstl1_lane_u64(arg_u64_ptr, arg_u64x1, 0);358	vstl1_lane_u64(arg_u64_ptr, arg_u64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}359	vstl1_lane_u64(arg_u64_ptr, arg_u64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}360 361	vstl1q_lane_u64(arg_u64_ptr, arg_u64x2, 0);362	vstl1q_lane_u64(arg_u64_ptr, arg_u64x2, 1);363	vstl1q_lane_u64(arg_u64_ptr, arg_u64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}364	vstl1q_lane_u64(arg_u64_ptr, arg_u64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}365 366	vld2_lane_u64(arg_u64_ptr, arg_u64x1x2, 0);367	vld2_lane_u64(arg_u64_ptr, arg_u64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}368	vld2_lane_u64(arg_u64_ptr, arg_u64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}369 370	vld2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 0);371	vld2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 1);372	vld2q_lane_u64(arg_u64_ptr, arg_u64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}373	vld2q_lane_u64(arg_u64_ptr, arg_u64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}374 375	vld3_lane_u64(arg_u64_ptr, arg_u64x1x3, 0);376	vld3_lane_u64(arg_u64_ptr, arg_u64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}377	vld3_lane_u64(arg_u64_ptr, arg_u64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}378 379	vld3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 0);380	vld3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 1);381	vld3q_lane_u64(arg_u64_ptr, arg_u64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}382	vld3q_lane_u64(arg_u64_ptr, arg_u64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}383 384	vld4_lane_u64(arg_u64_ptr, arg_u64x1x4, 0);385	vld4_lane_u64(arg_u64_ptr, arg_u64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}386	vld4_lane_u64(arg_u64_ptr, arg_u64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}387 388	vld4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 0);389	vld4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 1);390	vld4q_lane_u64(arg_u64_ptr, arg_u64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}391	vld4q_lane_u64(arg_u64_ptr, arg_u64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}392 393}394 395void test_vector_load_p64(poly64_t *arg_p64_ptr, poly64x2x2_t arg_p64x2x2, poly64x1x2_t arg_p64x1x2,396						  poly64x2x4_t arg_p64x2x4, poly64x1x3_t arg_p64x1x3, poly64x2x3_t arg_p64x2x3,397						  poly64x1_t arg_p64x1, poly64x2_t arg_p64x2, poly64x1x4_t arg_p64x1x4) {398	vld1_lane_p64(arg_p64_ptr, arg_p64x1, 0);399	vld1_lane_p64(arg_p64_ptr, arg_p64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}400	vld1_lane_p64(arg_p64_ptr, arg_p64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}401 402	vld1q_lane_p64(arg_p64_ptr, arg_p64x2, 0);403	vld1q_lane_p64(arg_p64_ptr, arg_p64x2, 1);404	vld1q_lane_p64(arg_p64_ptr, arg_p64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}405	vld1q_lane_p64(arg_p64_ptr, arg_p64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}406 407	vldap1_lane_p64(arg_p64_ptr, arg_p64x1, 0);408	vldap1_lane_p64(arg_p64_ptr, arg_p64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}409	vldap1_lane_p64(arg_p64_ptr, arg_p64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}410 411	vldap1q_lane_p64(arg_p64_ptr, arg_p64x2, 0);412	vldap1q_lane_p64(arg_p64_ptr, arg_p64x2, 1);413	vldap1q_lane_p64(arg_p64_ptr, arg_p64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}414	vldap1q_lane_p64(arg_p64_ptr, arg_p64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}415 416	vstl1_lane_p64(arg_p64_ptr, arg_p64x1, 0);417	vstl1_lane_p64(arg_p64_ptr, arg_p64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}418	vstl1_lane_p64(arg_p64_ptr, arg_p64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}419 420	vstl1q_lane_p64(arg_p64_ptr, arg_p64x2, 0);421	vstl1q_lane_p64(arg_p64_ptr, arg_p64x2, 1);422	vstl1q_lane_p64(arg_p64_ptr, arg_p64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}423	vstl1q_lane_p64(arg_p64_ptr, arg_p64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}424 425	vld2_lane_p64(arg_p64_ptr, arg_p64x1x2, 0);426	vld2_lane_p64(arg_p64_ptr, arg_p64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}427	vld2_lane_p64(arg_p64_ptr, arg_p64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}428 429	vld2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 0);430	vld2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 1);431	vld2q_lane_p64(arg_p64_ptr, arg_p64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}432	vld2q_lane_p64(arg_p64_ptr, arg_p64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}433 434	vld3_lane_p64(arg_p64_ptr, arg_p64x1x3, 0);435	vld3_lane_p64(arg_p64_ptr, arg_p64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}436	vld3_lane_p64(arg_p64_ptr, arg_p64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}437 438	vld3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 0);439	vld3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 1);440	vld3q_lane_p64(arg_p64_ptr, arg_p64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}441	vld3q_lane_p64(arg_p64_ptr, arg_p64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}442 443	vld4_lane_p64(arg_p64_ptr, arg_p64x1x4, 0);444	vld4_lane_p64(arg_p64_ptr, arg_p64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}445	vld4_lane_p64(arg_p64_ptr, arg_p64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}446 447	vld4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 0);448	vld4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 1);449	vld4q_lane_p64(arg_p64_ptr, arg_p64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}450	vld4q_lane_p64(arg_p64_ptr, arg_p64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}451 452}453 454void test_vector_load_f16(float16_t *arg_f16_ptr, float16x8_t arg_f16x8, float16x8x2_t arg_f16x8x2,455						  float16x8x3_t arg_f16x8x3, float16x4x4_t arg_f16x4x4, float16x8x4_t arg_f16x8x4,456						  float16x4x2_t arg_f16x4x2, float16x4_t arg_f16x4, float16x4x3_t arg_f16x4x3) {457	vld1_lane_f16(arg_f16_ptr, arg_f16x4, 0);458	vld1_lane_f16(arg_f16_ptr, arg_f16x4, 3);459	vld1_lane_f16(arg_f16_ptr, arg_f16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}460	vld1_lane_f16(arg_f16_ptr, arg_f16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}461 462	vld1q_lane_f16(arg_f16_ptr, arg_f16x8, 0);463	vld1q_lane_f16(arg_f16_ptr, arg_f16x8, 7);464	vld1q_lane_f16(arg_f16_ptr, arg_f16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}465	vld1q_lane_f16(arg_f16_ptr, arg_f16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}466 467	vld2_lane_f16(arg_f16_ptr, arg_f16x4x2, 0);468	vld2_lane_f16(arg_f16_ptr, arg_f16x4x2, 3);469	vld2_lane_f16(arg_f16_ptr, arg_f16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}470	vld2_lane_f16(arg_f16_ptr, arg_f16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}471 472	vld2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 0);473	vld2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 7);474	vld2q_lane_f16(arg_f16_ptr, arg_f16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}475	vld2q_lane_f16(arg_f16_ptr, arg_f16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}476 477	vld3_lane_f16(arg_f16_ptr, arg_f16x4x3, 0);478	vld3_lane_f16(arg_f16_ptr, arg_f16x4x3, 3);479	vld3_lane_f16(arg_f16_ptr, arg_f16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}480	vld3_lane_f16(arg_f16_ptr, arg_f16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}481 482	vld3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 0);483	vld3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 7);484	vld3q_lane_f16(arg_f16_ptr, arg_f16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}485	vld3q_lane_f16(arg_f16_ptr, arg_f16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}486 487	vld4_lane_f16(arg_f16_ptr, arg_f16x4x4, 0);488	vld4_lane_f16(arg_f16_ptr, arg_f16x4x4, 3);489	vld4_lane_f16(arg_f16_ptr, arg_f16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}490	vld4_lane_f16(arg_f16_ptr, arg_f16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}491 492	vld4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 0);493	vld4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 7);494	vld4q_lane_f16(arg_f16_ptr, arg_f16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}495	vld4q_lane_f16(arg_f16_ptr, arg_f16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}496 497}498 499void test_vector_load_f32(float32_t *arg_f32_ptr, float32x4x3_t arg_f32x4x3, float32x2x4_t arg_f32x2x4,500						  float32x4x4_t arg_f32x4x4, float32x2x3_t arg_f32x2x3, float32x2x2_t arg_f32x2x2,501						  float32x4x2_t arg_f32x4x2, float32x2_t arg_f32x2, float32x4_t arg_f32x4) {502	vld1_lane_f32(arg_f32_ptr, arg_f32x2, 0);503	vld1_lane_f32(arg_f32_ptr, arg_f32x2, 1);504	vld1_lane_f32(arg_f32_ptr, arg_f32x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}505	vld1_lane_f32(arg_f32_ptr, arg_f32x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}506 507	vld1q_lane_f32(arg_f32_ptr, arg_f32x4, 0);508	vld1q_lane_f32(arg_f32_ptr, arg_f32x4, 3);509	vld1q_lane_f32(arg_f32_ptr, arg_f32x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}510	vld1q_lane_f32(arg_f32_ptr, arg_f32x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}511 512	vld2_lane_f32(arg_f32_ptr, arg_f32x2x2, 0);513	vld2_lane_f32(arg_f32_ptr, arg_f32x2x2, 1);514	vld2_lane_f32(arg_f32_ptr, arg_f32x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}515	vld2_lane_f32(arg_f32_ptr, arg_f32x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}516 517	vld2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 0);518	vld2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 3);519	vld2q_lane_f32(arg_f32_ptr, arg_f32x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}520	vld2q_lane_f32(arg_f32_ptr, arg_f32x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}521 522	vld3_lane_f32(arg_f32_ptr, arg_f32x2x3, 0);523	vld3_lane_f32(arg_f32_ptr, arg_f32x2x3, 1);524	vld3_lane_f32(arg_f32_ptr, arg_f32x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}525	vld3_lane_f32(arg_f32_ptr, arg_f32x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}526 527	vld3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 0);528	vld3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 3);529	vld3q_lane_f32(arg_f32_ptr, arg_f32x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}530	vld3q_lane_f32(arg_f32_ptr, arg_f32x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}531 532	vld4_lane_f32(arg_f32_ptr, arg_f32x2x4, 0);533	vld4_lane_f32(arg_f32_ptr, arg_f32x2x4, 1);534	vld4_lane_f32(arg_f32_ptr, arg_f32x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}535	vld4_lane_f32(arg_f32_ptr, arg_f32x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}536 537	vld4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 0);538	vld4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 3);539	vld4q_lane_f32(arg_f32_ptr, arg_f32x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}540	vld4q_lane_f32(arg_f32_ptr, arg_f32x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}541 542}543 544void test_vector_load_p8(poly8x16_t arg_p8x16, poly8x8x2_t arg_p8x8x2, poly8x16x4_t arg_p8x16x4,545						 poly8_t *arg_p8_ptr, poly8x8_t arg_p8x8, poly8x8x4_t arg_p8x8x4,546						 poly8x16x2_t arg_p8x16x2, poly8x8x3_t arg_p8x8x3, poly8x16x3_t arg_p8x16x3) {547	vld1_lane_p8(arg_p8_ptr, arg_p8x8, 0);548	vld1_lane_p8(arg_p8_ptr, arg_p8x8, 7);549	vld1_lane_p8(arg_p8_ptr, arg_p8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}550	vld1_lane_p8(arg_p8_ptr, arg_p8x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}551 552	vld1q_lane_p8(arg_p8_ptr, arg_p8x16, 0);553	vld1q_lane_p8(arg_p8_ptr, arg_p8x16, 15);554	vld1q_lane_p8(arg_p8_ptr, arg_p8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}555	vld1q_lane_p8(arg_p8_ptr, arg_p8x16, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}556 557	vld2_lane_p8(arg_p8_ptr, arg_p8x8x2, 0);558	vld2_lane_p8(arg_p8_ptr, arg_p8x8x2, 7);559	vld2_lane_p8(arg_p8_ptr, arg_p8x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}560	vld2_lane_p8(arg_p8_ptr, arg_p8x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}561 562	vld2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 0);563	vld2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 15);564	vld2q_lane_p8(arg_p8_ptr, arg_p8x16x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}565	vld2q_lane_p8(arg_p8_ptr, arg_p8x16x2, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}566 567	vld3_lane_p8(arg_p8_ptr, arg_p8x8x3, 0);568	vld3_lane_p8(arg_p8_ptr, arg_p8x8x3, 7);569	vld3_lane_p8(arg_p8_ptr, arg_p8x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}570	vld3_lane_p8(arg_p8_ptr, arg_p8x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}571 572	vld3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 0);573	vld3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 15);574	vld3q_lane_p8(arg_p8_ptr, arg_p8x16x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}575	vld3q_lane_p8(arg_p8_ptr, arg_p8x16x3, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}576 577	vld4_lane_p8(arg_p8_ptr, arg_p8x8x4, 0);578	vld4_lane_p8(arg_p8_ptr, arg_p8x8x4, 7);579	vld4_lane_p8(arg_p8_ptr, arg_p8x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}580	vld4_lane_p8(arg_p8_ptr, arg_p8x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}581 582	vld4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 0);583	vld4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 15);584	vld4q_lane_p8(arg_p8_ptr, arg_p8x16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}585	vld4q_lane_p8(arg_p8_ptr, arg_p8x16x4, 16); // expected-error-re {{argument value {{.*}} is outside the valid range}}586 587}588 589void test_vector_load_p16(poly16x8x4_t arg_p16x8x4, poly16x8_t arg_p16x8, poly16x4x4_t arg_p16x4x4,590						  poly16x8x3_t arg_p16x8x3, poly16_t *arg_p16_ptr, poly16x4_t arg_p16x4,591						  poly16x8x2_t arg_p16x8x2, poly16x4x2_t arg_p16x4x2, poly16x4x3_t arg_p16x4x3) {592	vld1_lane_p16(arg_p16_ptr, arg_p16x4, 0);593	vld1_lane_p16(arg_p16_ptr, arg_p16x4, 3);594	vld1_lane_p16(arg_p16_ptr, arg_p16x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}595	vld1_lane_p16(arg_p16_ptr, arg_p16x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}596 597	vld1q_lane_p16(arg_p16_ptr, arg_p16x8, 0);598	vld1q_lane_p16(arg_p16_ptr, arg_p16x8, 7);599	vld1q_lane_p16(arg_p16_ptr, arg_p16x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}600	vld1q_lane_p16(arg_p16_ptr, arg_p16x8, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}601 602	vld2_lane_p16(arg_p16_ptr, arg_p16x4x2, 0);603	vld2_lane_p16(arg_p16_ptr, arg_p16x4x2, 3);604	vld2_lane_p16(arg_p16_ptr, arg_p16x4x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}605	vld2_lane_p16(arg_p16_ptr, arg_p16x4x2, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}606 607	vld2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 0);608	vld2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 7);609	vld2q_lane_p16(arg_p16_ptr, arg_p16x8x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}610	vld2q_lane_p16(arg_p16_ptr, arg_p16x8x2, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}611 612	vld3_lane_p16(arg_p16_ptr, arg_p16x4x3, 0);613	vld3_lane_p16(arg_p16_ptr, arg_p16x4x3, 3);614	vld3_lane_p16(arg_p16_ptr, arg_p16x4x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}615	vld3_lane_p16(arg_p16_ptr, arg_p16x4x3, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}616 617	vld3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 0);618	vld3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 7);619	vld3q_lane_p16(arg_p16_ptr, arg_p16x8x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}620	vld3q_lane_p16(arg_p16_ptr, arg_p16x8x3, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}621 622	vld4_lane_p16(arg_p16_ptr, arg_p16x4x4, 0);623	vld4_lane_p16(arg_p16_ptr, arg_p16x4x4, 3);624	vld4_lane_p16(arg_p16_ptr, arg_p16x4x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}625	vld4_lane_p16(arg_p16_ptr, arg_p16x4x4, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}626 627	vld4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 0);628	vld4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 7);629	vld4q_lane_p16(arg_p16_ptr, arg_p16x8x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}630	vld4q_lane_p16(arg_p16_ptr, arg_p16x8x4, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}631 632}633 634void test_vector_load_f64(float64x1_t arg_f64x1, float64x1x2_t arg_f64x1x2, float64_t* arg_f64_ptr,635						  float64x2x3_t arg_f64x2x3, float64x2x4_t arg_f64x2x4, float64x2x2_t arg_f64x2x2,636						  float64x2_t arg_f64x2, float64x1x3_t arg_f64x1x3, float64x1x4_t arg_f64x1x4) {637	vld1_lane_f64(arg_f64_ptr, arg_f64x1, 0);638	vld1_lane_f64(arg_f64_ptr, arg_f64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}639	vld1_lane_f64(arg_f64_ptr, arg_f64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}640 641	vld1q_lane_f64(arg_f64_ptr, arg_f64x2, 0);642	vld1q_lane_f64(arg_f64_ptr, arg_f64x2, 1);643	vld1q_lane_f64(arg_f64_ptr, arg_f64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}644	vld1q_lane_f64(arg_f64_ptr, arg_f64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}645 646	vldap1_lane_f64(arg_f64_ptr, arg_f64x1, 0);647	vldap1_lane_f64(arg_f64_ptr, arg_f64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}648	vldap1_lane_f64(arg_f64_ptr, arg_f64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}649 650	vldap1q_lane_f64(arg_f64_ptr, arg_f64x2, 0);651	vldap1q_lane_f64(arg_f64_ptr, arg_f64x2, 1);652	vldap1q_lane_f64(arg_f64_ptr, arg_f64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}653	vldap1q_lane_f64(arg_f64_ptr, arg_f64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}654 655	vstl1_lane_f64(arg_f64_ptr, arg_f64x1, 0);656	vstl1_lane_f64(arg_f64_ptr, arg_f64x1, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}657	vstl1_lane_f64(arg_f64_ptr, arg_f64x1, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}658 659	vstl1q_lane_f64(arg_f64_ptr, arg_f64x2, 0);660	vstl1q_lane_f64(arg_f64_ptr, arg_f64x2, 1);661	vstl1q_lane_f64(arg_f64_ptr, arg_f64x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}662	vstl1q_lane_f64(arg_f64_ptr, arg_f64x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}663 664	vld2_lane_f64(arg_f64_ptr, arg_f64x1x2, 0);665	vld2_lane_f64(arg_f64_ptr, arg_f64x1x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}666	vld2_lane_f64(arg_f64_ptr, arg_f64x1x2, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}667 668	vld2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 0);669	vld2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 1);670	vld2q_lane_f64(arg_f64_ptr, arg_f64x2x2, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}671	vld2q_lane_f64(arg_f64_ptr, arg_f64x2x2, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}672 673	vld3_lane_f64(arg_f64_ptr, arg_f64x1x3, 0);674	vld3_lane_f64(arg_f64_ptr, arg_f64x1x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}675	vld3_lane_f64(arg_f64_ptr, arg_f64x1x3, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}676 677	vld3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 0);678	vld3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 1);679	vld3q_lane_f64(arg_f64_ptr, arg_f64x2x3, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}680	vld3q_lane_f64(arg_f64_ptr, arg_f64x2x3, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}681 682	vld4_lane_f64(arg_f64_ptr, arg_f64x1x4, 0);683	vld4_lane_f64(arg_f64_ptr, arg_f64x1x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}684	vld4_lane_f64(arg_f64_ptr, arg_f64x1x4, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}685 686	vld4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 0);687	vld4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 1);688	vld4q_lane_f64(arg_f64_ptr, arg_f64x2x4, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}689	vld4q_lane_f64(arg_f64_ptr, arg_f64x2x4, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}690 691}692 693