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