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