aarch64-neon-ldst-one.c revision c568f1e98938584c0ef0b12ae5018ff7d90a4072
1// REQUIRES: aarch64-registered-target 2// RUN: %clang_cc1 -triple arm64-none-linux-gnu -target-feature +neon \ 3// RUN: -ffp-contract=fast -S -O3 -o - %s | FileCheck %s 4 5#include <arm_neon.h> 6 7uint8x16_t test_vld1q_dup_u8(uint8_t *a) { 8 // CHECK-LABEL: test_vld1q_dup_u8 9 return vld1q_dup_u8(a); 10 // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 11} 12 13uint16x8_t test_vld1q_dup_u16(uint16_t *a) { 14 // CHECK-LABEL: test_vld1q_dup_u16 15 return vld1q_dup_u16(a); 16 // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 17} 18 19uint32x4_t test_vld1q_dup_u32(uint32_t *a) { 20 // CHECK-LABEL: test_vld1q_dup_u32 21 return vld1q_dup_u32(a); 22 // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 23} 24 25uint64x2_t test_vld1q_dup_u64(uint64_t *a) { 26 // CHECK-LABEL: test_vld1q_dup_u64 27 return vld1q_dup_u64(a); 28 // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 29} 30 31int8x16_t test_vld1q_dup_s8(int8_t *a) { 32 // CHECK-LABEL: test_vld1q_dup_s8 33 return vld1q_dup_s8(a); 34 // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 35} 36 37int16x8_t test_vld1q_dup_s16(int16_t *a) { 38 // CHECK-LABEL: test_vld1q_dup_s16 39 return vld1q_dup_s16(a); 40 // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 41} 42 43int32x4_t test_vld1q_dup_s32(int32_t *a) { 44 // CHECK-LABEL: test_vld1q_dup_s32 45 return vld1q_dup_s32(a); 46 // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 47} 48 49int64x2_t test_vld1q_dup_s64(int64_t *a) { 50 // CHECK-LABEL: test_vld1q_dup_s64 51 return vld1q_dup_s64(a); 52 // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 53} 54 55float16x8_t test_vld1q_dup_f16(float16_t *a) { 56 // CHECK-LABEL: test_vld1q_dup_f16 57 return vld1q_dup_f16(a); 58 // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 59} 60 61float32x4_t test_vld1q_dup_f32(float32_t *a) { 62 // CHECK-LABEL: test_vld1q_dup_f32 63 return vld1q_dup_f32(a); 64 // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 65} 66 67float64x2_t test_vld1q_dup_f64(float64_t *a) { 68 // CHECK-LABEL: test_vld1q_dup_f64 69 return vld1q_dup_f64(a); 70 // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 71} 72 73poly8x16_t test_vld1q_dup_p8(poly8_t *a) { 74 // CHECK-LABEL: test_vld1q_dup_p8 75 return vld1q_dup_p8(a); 76 // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 77} 78 79poly16x8_t test_vld1q_dup_p16(poly16_t *a) { 80 // CHECK-LABEL: test_vld1q_dup_p16 81 return vld1q_dup_p16(a); 82 // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 83} 84 85poly64x2_t test_vld1q_dup_p64(poly64_t *a) { 86 // CHECK-LABEL: test_vld1q_dup_p64 87 return vld1q_dup_p64(a); 88 // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 89} 90 91uint8x8_t test_vld1_dup_u8(uint8_t *a) { 92 // CHECK-LABEL: test_vld1_dup_u8 93 return vld1_dup_u8(a); 94 // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 95} 96 97uint16x4_t test_vld1_dup_u16(uint16_t *a) { 98 // CHECK-LABEL: test_vld1_dup_u16 99 return vld1_dup_u16(a); 100 // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 101} 102 103uint32x2_t test_vld1_dup_u32(uint32_t *a) { 104 // CHECK-LABEL: test_vld1_dup_u32 105 return vld1_dup_u32(a); 106 // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 107} 108 109uint64x1_t test_vld1_dup_u64(uint64_t *a) { 110 // CHECK-LABEL: test_vld1_dup_u64 111 return vld1_dup_u64(a); 112 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 113} 114 115int8x8_t test_vld1_dup_s8(int8_t *a) { 116 // CHECK-LABEL: test_vld1_dup_s8 117 return vld1_dup_s8(a); 118 // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 119} 120 121int16x4_t test_vld1_dup_s16(int16_t *a) { 122 // CHECK-LABEL: test_vld1_dup_s16 123 return vld1_dup_s16(a); 124 // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 125} 126 127int32x2_t test_vld1_dup_s32(int32_t *a) { 128 // CHECK-LABEL: test_vld1_dup_s32 129 return vld1_dup_s32(a); 130 // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 131} 132 133int64x1_t test_vld1_dup_s64(int64_t *a) { 134 // CHECK-LABEL: test_vld1_dup_s64 135 return vld1_dup_s64(a); 136 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 137} 138 139float16x4_t test_vld1_dup_f16(float16_t *a) { 140 // CHECK-LABEL: test_vld1_dup_f16 141 return vld1_dup_f16(a); 142 // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 143} 144 145float32x2_t test_vld1_dup_f32(float32_t *a) { 146 // CHECK-LABEL: test_vld1_dup_f32 147 return vld1_dup_f32(a); 148 // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 149} 150 151float64x1_t test_vld1_dup_f64(float64_t *a) { 152 // CHECK-LABEL: test_vld1_dup_f64 153 return vld1_dup_f64(a); 154 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 155} 156 157poly8x8_t test_vld1_dup_p8(poly8_t *a) { 158 // CHECK-LABEL: test_vld1_dup_p8 159 return vld1_dup_p8(a); 160 // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 161} 162 163poly16x4_t test_vld1_dup_p16(poly16_t *a) { 164 // CHECK-LABEL: test_vld1_dup_p16 165 return vld1_dup_p16(a); 166 // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 167} 168 169poly64x1_t test_vld1_dup_p64(poly64_t *a) { 170 // CHECK-LABEL: test_vld1_dup_p64 171 return vld1_dup_p64(a); 172 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 173} 174 175uint8x16x2_t test_vld2q_dup_u8(uint8_t *a) { 176 // CHECK-LABEL: test_vld2q_dup_u8 177 return vld2q_dup_u8(a); 178 // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 179} 180 181uint16x8x2_t test_vld2q_dup_u16(uint16_t *a) { 182 // CHECK-LABEL: test_vld2q_dup_u16 183 return vld2q_dup_u16(a); 184 // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 185} 186 187uint32x4x2_t test_vld2q_dup_u32(uint32_t *a) { 188 // CHECK-LABEL: test_vld2q_dup_u32 189 return vld2q_dup_u32(a); 190 // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 191} 192 193uint64x2x2_t test_vld2q_dup_u64(uint64_t *a) { 194 // CHECK-LABEL: test_vld2q_dup_u64 195 return vld2q_dup_u64(a); 196 // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 197} 198 199int8x16x2_t test_vld2q_dup_s8(int8_t *a) { 200 // CHECK-LABEL: test_vld2q_dup_s8 201 return vld2q_dup_s8(a); 202 // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 203} 204 205int16x8x2_t test_vld2q_dup_s16(int16_t *a) { 206 // CHECK-LABEL: test_vld2q_dup_s16 207 return vld2q_dup_s16(a); 208 // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 209} 210 211int32x4x2_t test_vld2q_dup_s32(int32_t *a) { 212 // CHECK-LABEL: test_vld2q_dup_s32 213 return vld2q_dup_s32(a); 214 // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 215} 216 217int64x2x2_t test_vld2q_dup_s64(int64_t *a) { 218 // CHECK-LABEL: test_vld2q_dup_s64 219 return vld2q_dup_s64(a); 220 // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 221} 222 223float16x8x2_t test_vld2q_dup_f16(float16_t *a) { 224 // CHECK-LABEL: test_vld2q_dup_f16 225 return vld2q_dup_f16(a); 226 // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 227} 228 229float32x4x2_t test_vld2q_dup_f32(float32_t *a) { 230 // CHECK-LABEL: test_vld2q_dup_f32 231 return vld2q_dup_f32(a); 232 // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 233} 234 235float64x2x2_t test_vld2q_dup_f64(float64_t *a) { 236 // CHECK-LABEL: test_vld2q_dup_f64 237 return vld2q_dup_f64(a); 238 // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 239} 240 241poly8x16x2_t test_vld2q_dup_p8(poly8_t *a) { 242 // CHECK-LABEL: test_vld2q_dup_p8 243 return vld2q_dup_p8(a); 244 // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 245} 246 247poly16x8x2_t test_vld2q_dup_p16(poly16_t *a) { 248 // CHECK-LABEL: test_vld2q_dup_p16 249 return vld2q_dup_p16(a); 250 // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 251} 252 253poly64x2x2_t test_vld2q_dup_p64(poly64_t *a) { 254 // CHECK-LABEL: test_vld2q_dup_p64 255 return vld2q_dup_p64(a); 256 // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 257} 258 259uint8x8x2_t test_vld2_dup_u8(uint8_t *a) { 260 // CHECK-LABEL: test_vld2_dup_u8 261 return vld2_dup_u8(a); 262 // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 263} 264 265uint16x4x2_t test_vld2_dup_u16(uint16_t *a) { 266 // CHECK-LABEL: test_vld2_dup_u16 267 return vld2_dup_u16(a); 268 // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 269} 270 271uint32x2x2_t test_vld2_dup_u32(uint32_t *a) { 272 // CHECK-LABEL: test_vld2_dup_u32 273 return vld2_dup_u32(a); 274 // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 275} 276 277uint64x1x2_t test_vld2_dup_u64(uint64_t *a) { 278 // CHECK-LABEL: test_vld2_dup_u64 279 return vld2_dup_u64(a); 280 // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 281} 282 283int8x8x2_t test_vld2_dup_s8(int8_t *a) { 284 // CHECK-LABEL: test_vld2_dup_s8 285 return vld2_dup_s8(a); 286 // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 287} 288 289int16x4x2_t test_vld2_dup_s16(int16_t *a) { 290 // CHECK-LABEL: test_vld2_dup_s16 291 return vld2_dup_s16(a); 292 // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 293} 294 295int32x2x2_t test_vld2_dup_s32(int32_t *a) { 296 // CHECK-LABEL: test_vld2_dup_s32 297 return vld2_dup_s32(a); 298 // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 299} 300 301int64x1x2_t test_vld2_dup_s64(int64_t *a) { 302 // CHECK-LABEL: test_vld2_dup_s64 303 return vld2_dup_s64(a); 304 // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 305} 306 307float16x4x2_t test_vld2_dup_f16(float16_t *a) { 308 // CHECK-LABEL: test_vld2_dup_f16 309 return vld2_dup_f16(a); 310 // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 311} 312 313float32x2x2_t test_vld2_dup_f32(float32_t *a) { 314 // CHECK-LABEL: test_vld2_dup_f32 315 return vld2_dup_f32(a); 316 // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 317} 318 319float64x1x2_t test_vld2_dup_f64(float64_t *a) { 320 // CHECK-LABEL: test_vld2_dup_f64 321 return vld2_dup_f64(a); 322 // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 323} 324 325poly8x8x2_t test_vld2_dup_p8(poly8_t *a) { 326 // CHECK-LABEL: test_vld2_dup_p8 327 return vld2_dup_p8(a); 328 // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 329} 330 331poly16x4x2_t test_vld2_dup_p16(poly16_t *a) { 332 // CHECK-LABEL: test_vld2_dup_p16 333 return vld2_dup_p16(a); 334 // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 335} 336 337poly64x1x2_t test_vld2_dup_p64(poly64_t *a) { 338 // CHECK-LABEL: test_vld2_dup_p64 339 return vld2_dup_p64(a); 340 // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 341} 342 343uint8x16x3_t test_vld3q_dup_u8(uint8_t *a) { 344 // CHECK-LABEL: test_vld3q_dup_u8 345 return vld3q_dup_u8(a); 346 // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, 347 // [{{x[0-9]+|sp}}] 348} 349 350uint16x8x3_t test_vld3q_dup_u16(uint16_t *a) { 351 // CHECK-LABEL: test_vld3q_dup_u16 352 return vld3q_dup_u16(a); 353 // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, 354 // [{{x[0-9]+|sp}}] 355} 356 357uint32x4x3_t test_vld3q_dup_u32(uint32_t *a) { 358 // CHECK-LABEL: test_vld3q_dup_u32 359 return vld3q_dup_u32(a); 360 // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, 361 // [{{x[0-9]+|sp}}] 362} 363 364uint64x2x3_t test_vld3q_dup_u64(uint64_t *a) { 365 // CHECK-LABEL: test_vld3q_dup_u64 366 return vld3q_dup_u64(a); 367 // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, 368 // [{{x[0-9]+|sp}}] 369} 370 371int8x16x3_t test_vld3q_dup_s8(int8_t *a) { 372 // CHECK-LABEL: test_vld3q_dup_s8 373 return vld3q_dup_s8(a); 374 // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, 375 // [{{x[0-9]+|sp}}] 376} 377 378int16x8x3_t test_vld3q_dup_s16(int16_t *a) { 379 // CHECK-LABEL: test_vld3q_dup_s16 380 return vld3q_dup_s16(a); 381 // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, 382 // [{{x[0-9]+|sp}}] 383} 384 385int32x4x3_t test_vld3q_dup_s32(int32_t *a) { 386 // CHECK-LABEL: test_vld3q_dup_s32 387 return vld3q_dup_s32(a); 388 // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, 389 // [{{x[0-9]+|sp}}] 390} 391 392int64x2x3_t test_vld3q_dup_s64(int64_t *a) { 393 // CHECK-LABEL: test_vld3q_dup_s64 394 return vld3q_dup_s64(a); 395 // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, 396 // [{{x[0-9]+|sp}}] 397} 398 399float16x8x3_t test_vld3q_dup_f16(float16_t *a) { 400 // CHECK-LABEL: test_vld3q_dup_f16 401 return vld3q_dup_f16(a); 402 // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, 403 // [{{x[0-9]+|sp}}] 404} 405 406float32x4x3_t test_vld3q_dup_f32(float32_t *a) { 407 // CHECK-LABEL: test_vld3q_dup_f32 408 return vld3q_dup_f32(a); 409 // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, 410 // [{{x[0-9]+|sp}}] 411} 412 413float64x2x3_t test_vld3q_dup_f64(float64_t *a) { 414 // CHECK-LABEL: test_vld3q_dup_f64 415 return vld3q_dup_f64(a); 416 // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, 417 // [{{x[0-9]+|sp}}] 418} 419 420poly8x16x3_t test_vld3q_dup_p8(poly8_t *a) { 421 // CHECK-LABEL: test_vld3q_dup_p8 422 return vld3q_dup_p8(a); 423 // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, 424 // [{{x[0-9]+|sp}}] 425} 426 427poly16x8x3_t test_vld3q_dup_p16(poly16_t *a) { 428 // CHECK-LABEL: test_vld3q_dup_p16 429 return vld3q_dup_p16(a); 430 // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, 431 // [{{x[0-9]+|sp}}] 432} 433 434poly64x2x3_t test_vld3q_dup_p64(poly64_t *a) { 435 // CHECK-LABEL: test_vld3q_dup_p64 436 return vld3q_dup_p64(a); 437 // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, 438 // [{{x[0-9]+|sp}}] 439} 440 441uint8x8x3_t test_vld3_dup_u8(uint8_t *a) { 442 // CHECK-LABEL: test_vld3_dup_u8 443 return vld3_dup_u8(a); 444 // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, 445 // [{{x[0-9]+|sp}}] 446} 447 448uint16x4x3_t test_vld3_dup_u16(uint16_t *a) { 449 // CHECK-LABEL: test_vld3_dup_u16 450 return vld3_dup_u16(a); 451 // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, 452 // [{{x[0-9]+|sp}}] 453} 454 455uint32x2x3_t test_vld3_dup_u32(uint32_t *a) { 456 // CHECK-LABEL: test_vld3_dup_u32 457 return vld3_dup_u32(a); 458 // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, 459 // [{{x[0-9]+|sp}}] 460} 461 462uint64x1x3_t test_vld3_dup_u64(uint64_t *a) { 463 // CHECK-LABEL: test_vld3_dup_u64 464 return vld3_dup_u64(a); 465 // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, 466 // [{{x[0-9]+|sp}}] 467} 468 469int8x8x3_t test_vld3_dup_s8(int8_t *a) { 470 // CHECK-LABEL: test_vld3_dup_s8 471 return vld3_dup_s8(a); 472 // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, 473 // [{{x[0-9]+|sp}}] 474} 475 476int16x4x3_t test_vld3_dup_s16(int16_t *a) { 477 // CHECK-LABEL: test_vld3_dup_s16 478 return vld3_dup_s16(a); 479 // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, 480 // [{{x[0-9]+|sp}}] 481} 482 483int32x2x3_t test_vld3_dup_s32(int32_t *a) { 484 // CHECK-LABEL: test_vld3_dup_s32 485 return vld3_dup_s32(a); 486 // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, 487 // [{{x[0-9]+|sp}}] 488} 489 490int64x1x3_t test_vld3_dup_s64(int64_t *a) { 491 // CHECK-LABEL: test_vld3_dup_s64 492 return vld3_dup_s64(a); 493 // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, 494 // [{{x[0-9]+|sp}}] 495} 496 497float16x4x3_t test_vld3_dup_f16(float16_t *a) { 498 // CHECK-LABEL: test_vld3_dup_f16 499 return vld3_dup_f16(a); 500 // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, 501 // [{{x[0-9]+|sp}}] 502} 503 504float32x2x3_t test_vld3_dup_f32(float32_t *a) { 505 // CHECK-LABEL: test_vld3_dup_f32 506 return vld3_dup_f32(a); 507 // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, 508 // [{{x[0-9]+|sp}}] 509} 510 511float64x1x3_t test_vld3_dup_f64(float64_t *a) { 512 // CHECK-LABEL: test_vld3_dup_f64 513 return vld3_dup_f64(a); 514 // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, 515 // [{{x[0-9]+|sp}}] 516} 517 518poly8x8x3_t test_vld3_dup_p8(poly8_t *a) { 519 // CHECK-LABEL: test_vld3_dup_p8 520 return vld3_dup_p8(a); 521 // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, 522 // [{{x[0-9]+|sp}}] 523} 524 525poly16x4x3_t test_vld3_dup_p16(poly16_t *a) { 526 // CHECK-LABEL: test_vld3_dup_p16 527 return vld3_dup_p16(a); 528 // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, 529 // [{{x[0-9]+|sp}}] 530} 531 532poly64x1x3_t test_vld3_dup_p64(poly64_t *a) { 533 // CHECK-LABEL: test_vld3_dup_p64 534 return vld3_dup_p64(a); 535 // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, 536 // [{{x[0-9]+|sp}}] 537} 538 539uint8x16x4_t test_vld4q_dup_u8(uint8_t *a) { 540 // CHECK-LABEL: test_vld4q_dup_u8 541 return vld4q_dup_u8(a); 542 // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 543} 544 545uint16x8x4_t test_vld4q_dup_u16(uint16_t *a) { 546 // CHECK-LABEL: test_vld4q_dup_u16 547 return vld4q_dup_u16(a); 548 // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 549} 550 551uint32x4x4_t test_vld4q_dup_u32(uint32_t *a) { 552 // CHECK-LABEL: test_vld4q_dup_u32 553 return vld4q_dup_u32(a); 554 // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 555} 556 557uint64x2x4_t test_vld4q_dup_u64(uint64_t *a) { 558 // CHECK-LABEL: test_vld4q_dup_u64 559 return vld4q_dup_u64(a); 560 // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 561} 562 563int8x16x4_t test_vld4q_dup_s8(int8_t *a) { 564 // CHECK-LABEL: test_vld4q_dup_s8 565 return vld4q_dup_s8(a); 566 // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 567} 568 569int16x8x4_t test_vld4q_dup_s16(int16_t *a) { 570 // CHECK-LABEL: test_vld4q_dup_s16 571 return vld4q_dup_s16(a); 572 // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 573} 574 575int32x4x4_t test_vld4q_dup_s32(int32_t *a) { 576 // CHECK-LABEL: test_vld4q_dup_s32 577 return vld4q_dup_s32(a); 578 // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 579} 580 581int64x2x4_t test_vld4q_dup_s64(int64_t *a) { 582 // CHECK-LABEL: test_vld4q_dup_s64 583 return vld4q_dup_s64(a); 584 // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 585} 586 587float16x8x4_t test_vld4q_dup_f16(float16_t *a) { 588 // CHECK-LABEL: test_vld4q_dup_f16 589 return vld4q_dup_f16(a); 590 // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 591} 592 593float32x4x4_t test_vld4q_dup_f32(float32_t *a) { 594 // CHECK-LABEL: test_vld4q_dup_f32 595 return vld4q_dup_f32(a); 596 // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}] 597} 598 599float64x2x4_t test_vld4q_dup_f64(float64_t *a) { 600 // CHECK-LABEL: test_vld4q_dup_f64 601 return vld4q_dup_f64(a); 602 // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 603} 604 605poly8x16x4_t test_vld4q_dup_p8(poly8_t *a) { 606 // CHECK-LABEL: test_vld4q_dup_p8 607 return vld4q_dup_p8(a); 608 // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}] 609} 610 611poly16x8x4_t test_vld4q_dup_p16(poly16_t *a) { 612 // CHECK-LABEL: test_vld4q_dup_p16 613 return vld4q_dup_p16(a); 614 // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}] 615} 616 617poly64x2x4_t test_vld4q_dup_p64(poly64_t *a) { 618 // CHECK-LABEL: test_vld4q_dup_p64 619 return vld4q_dup_p64(a); 620 // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}] 621} 622 623uint8x8x4_t test_vld4_dup_u8(uint8_t *a) { 624 // CHECK-LABEL: test_vld4_dup_u8 625 return vld4_dup_u8(a); 626 // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 627} 628 629uint16x4x4_t test_vld4_dup_u16(uint16_t *a) { 630 // CHECK-LABEL: test_vld4_dup_u16 631 return vld4_dup_u16(a); 632 // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 633} 634 635uint32x2x4_t test_vld4_dup_u32(uint32_t *a) { 636 // CHECK-LABEL: test_vld4_dup_u32 637 return vld4_dup_u32(a); 638 // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 639} 640 641uint64x1x4_t test_vld4_dup_u64(uint64_t *a) { 642 // CHECK-LABEL: test_vld4_dup_u64 643 return vld4_dup_u64(a); 644 // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 645} 646 647int8x8x4_t test_vld4_dup_s8(int8_t *a) { 648 // CHECK-LABEL: test_vld4_dup_s8 649 return vld4_dup_s8(a); 650 // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 651} 652 653int16x4x4_t test_vld4_dup_s16(int16_t *a) { 654 // CHECK-LABEL: test_vld4_dup_s16 655 return vld4_dup_s16(a); 656 // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 657} 658 659int32x2x4_t test_vld4_dup_s32(int32_t *a) { 660 // CHECK-LABEL: test_vld4_dup_s32 661 return vld4_dup_s32(a); 662 // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 663} 664 665int64x1x4_t test_vld4_dup_s64(int64_t *a) { 666 // CHECK-LABEL: test_vld4_dup_s64 667 return vld4_dup_s64(a); 668 // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 669} 670 671float16x4x4_t test_vld4_dup_f16(float16_t *a) { 672 // CHECK-LABEL: test_vld4_dup_f16 673 return vld4_dup_f16(a); 674 // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 675} 676 677float32x2x4_t test_vld4_dup_f32(float32_t *a) { 678 // CHECK-LABEL: test_vld4_dup_f32 679 return vld4_dup_f32(a); 680 // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}] 681} 682 683float64x1x4_t test_vld4_dup_f64(float64_t *a) { 684 // CHECK-LABEL: test_vld4_dup_f64 685 return vld4_dup_f64(a); 686 // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 687} 688 689poly8x8x4_t test_vld4_dup_p8(poly8_t *a) { 690 // CHECK-LABEL: test_vld4_dup_p8 691 return vld4_dup_p8(a); 692 // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}] 693} 694 695poly16x4x4_t test_vld4_dup_p16(poly16_t *a) { 696 // CHECK-LABEL: test_vld4_dup_p16 697 return vld4_dup_p16(a); 698 // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}] 699} 700 701poly64x1x4_t test_vld4_dup_p64(poly64_t *a) { 702 // CHECK-LABEL: test_vld4_dup_p64 703 return vld4_dup_p64(a); 704 // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}] 705} 706 707uint8x16_t test_vld1q_lane_u8(uint8_t *a, uint8x16_t b) { 708 // CHECK-LABEL: test_vld1q_lane_u8 709 return vld1q_lane_u8(a, b, 15); 710 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 711} 712 713uint16x8_t test_vld1q_lane_u16(uint16_t *a, uint16x8_t b) { 714 // CHECK-LABEL: test_vld1q_lane_u16 715 return vld1q_lane_u16(a, b, 7); 716 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 717} 718 719uint32x4_t test_vld1q_lane_u32(uint32_t *a, uint32x4_t b) { 720 // CHECK-LABEL: test_vld1q_lane_u32 721 return vld1q_lane_u32(a, b, 3); 722 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 723} 724 725uint64x2_t test_vld1q_lane_u64(uint64_t *a, uint64x2_t b) { 726 // CHECK-LABEL: test_vld1q_lane_u64 727 return vld1q_lane_u64(a, b, 1); 728 // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 729} 730 731int8x16_t test_vld1q_lane_s8(int8_t *a, int8x16_t b) { 732 // CHECK-LABEL: test_vld1q_lane_s8 733 return vld1q_lane_s8(a, b, 15); 734 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 735} 736 737int16x8_t test_vld1q_lane_s16(int16_t *a, int16x8_t b) { 738 // CHECK-LABEL: test_vld1q_lane_s16 739 return vld1q_lane_s16(a, b, 7); 740 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 741} 742 743int32x4_t test_vld1q_lane_s32(int32_t *a, int32x4_t b) { 744 // CHECK-LABEL: test_vld1q_lane_s32 745 return vld1q_lane_s32(a, b, 3); 746 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 747} 748 749int64x2_t test_vld1q_lane_s64(int64_t *a, int64x2_t b) { 750 // CHECK-LABEL: test_vld1q_lane_s64 751 return vld1q_lane_s64(a, b, 1); 752 // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 753} 754 755float16x8_t test_vld1q_lane_f16(float16_t *a, float16x8_t b) { 756 // CHECK-LABEL: test_vld1q_lane_f16 757 return vld1q_lane_f16(a, b, 7); 758 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 759} 760 761float32x4_t test_vld1q_lane_f32(float32_t *a, float32x4_t b) { 762 // CHECK-LABEL: test_vld1q_lane_f32 763 return vld1q_lane_f32(a, b, 3); 764 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 765} 766 767float64x2_t test_vld1q_lane_f64(float64_t *a, float64x2_t b) { 768 // CHECK-LABEL: test_vld1q_lane_f64 769 return vld1q_lane_f64(a, b, 1); 770 // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 771} 772 773poly8x16_t test_vld1q_lane_p8(poly8_t *a, poly8x16_t b) { 774 // CHECK-LABEL: test_vld1q_lane_p8 775 return vld1q_lane_p8(a, b, 15); 776 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 777} 778 779poly16x8_t test_vld1q_lane_p16(poly16_t *a, poly16x8_t b) { 780 // CHECK-LABEL: test_vld1q_lane_p16 781 return vld1q_lane_p16(a, b, 7); 782 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 783} 784 785poly64x2_t test_vld1q_lane_p64(poly64_t *a, poly64x2_t b) { 786 // CHECK-LABEL: test_vld1q_lane_p64 787 return vld1q_lane_p64(a, b, 1); 788 // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 789} 790 791uint8x8_t test_vld1_lane_u8(uint8_t *a, uint8x8_t b) { 792 // CHECK-LABEL: test_vld1_lane_u8 793 return vld1_lane_u8(a, b, 7); 794 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 795} 796 797uint16x4_t test_vld1_lane_u16(uint16_t *a, uint16x4_t b) { 798 // CHECK-LABEL: test_vld1_lane_u16 799 return vld1_lane_u16(a, b, 3); 800 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 801} 802 803uint32x2_t test_vld1_lane_u32(uint32_t *a, uint32x2_t b) { 804 // CHECK-LABEL: test_vld1_lane_u32 805 return vld1_lane_u32(a, b, 1); 806 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 807} 808 809uint64x1_t test_vld1_lane_u64(uint64_t *a, uint64x1_t b) { 810 // CHECK-LABEL: test_vld1_lane_u64 811 return vld1_lane_u64(a, b, 0); 812 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 813} 814 815int8x8_t test_vld1_lane_s8(int8_t *a, int8x8_t b) { 816 // CHECK-LABEL: test_vld1_lane_s8 817 return vld1_lane_s8(a, b, 7); 818 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 819} 820 821int16x4_t test_vld1_lane_s16(int16_t *a, int16x4_t b) { 822 // CHECK-LABEL: test_vld1_lane_s16 823 return vld1_lane_s16(a, b, 3); 824 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 825} 826 827int32x2_t test_vld1_lane_s32(int32_t *a, int32x2_t b) { 828 // CHECK-LABEL: test_vld1_lane_s32 829 return vld1_lane_s32(a, b, 1); 830 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 831} 832 833int64x1_t test_vld1_lane_s64(int64_t *a, int64x1_t b) { 834 // CHECK-LABEL: test_vld1_lane_s64 835 return vld1_lane_s64(a, b, 0); 836 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 837} 838 839float16x4_t test_vld1_lane_f16(float16_t *a, float16x4_t b) { 840 // CHECK-LABEL: test_vld1_lane_f16 841 return vld1_lane_f16(a, b, 3); 842 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 843} 844 845float32x2_t test_vld1_lane_f32(float32_t *a, float32x2_t b) { 846 // CHECK-LABEL: test_vld1_lane_f32 847 return vld1_lane_f32(a, b, 1); 848 // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 849} 850 851float64x1_t test_vld1_lane_f64(float64_t *a, float64x1_t b) { 852 // CHECK-LABEL: test_vld1_lane_f64 853 return vld1_lane_f64(a, b, 0); 854 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 855} 856 857poly8x8_t test_vld1_lane_p8(poly8_t *a, poly8x8_t b) { 858 // CHECK-LABEL: test_vld1_lane_p8 859 return vld1_lane_p8(a, b, 7); 860 // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 861} 862 863poly16x4_t test_vld1_lane_p16(poly16_t *a, poly16x4_t b) { 864 // CHECK-LABEL: test_vld1_lane_p16 865 return vld1_lane_p16(a, b, 3); 866 // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 867} 868 869poly64x1_t test_vld1_lane_p64(poly64_t *a, poly64x1_t b) { 870 // CHECK-LABEL: test_vld1_lane_p64 871 return vld1_lane_p64(a, b, 0); 872 // CHECK: {{ld1r { v[0-9]+.1d }|ldr d[0-9]+}}, [{{x[0-9]+|sp}}] 873} 874 875int8x16x2_t test_vld2q_lane_s8(int8_t const * ptr, int8x16x2_t src) { 876 // CHECK-LABEL: test_vld2q_lane_s8 877 return vld2q_lane_s8(ptr, src, 15); 878 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [x0] 879} 880 881uint8x16x2_t test_vld2q_lane_u8(uint8_t const * ptr, uint8x16x2_t src) { 882 // CHECK-LABEL: test_vld2q_lane_u8 883 return vld2q_lane_u8(ptr, src, 15); 884 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [x0] 885} 886 887poly8x16x2_t test_vld2q_lane_p8(poly8_t const * ptr, poly8x16x2_t src) { 888 // CHECK-LABEL: test_vld2q_lane_p8 889 return vld2q_lane_p8(ptr, src, 15); 890 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [x0] 891} 892 893int8x16x3_t test_vld3q_lane_s8(int8_t const * ptr, int8x16x3_t src) { 894 // CHECK-LABEL: test_vld3q_lane_s8 895 return vld3q_lane_s8(ptr, src, 15); 896 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [x0] 897} 898 899uint8x16x3_t test_vld3q_lane_u8(uint8_t const * ptr, uint8x16x3_t src) { 900 // CHECK-LABEL: test_vld3q_lane_u8 901 return vld3q_lane_u8(ptr, src, 15); 902 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [x0] 903} 904 905uint16x8x2_t test_vld2q_lane_u16(uint16_t *a, uint16x8x2_t b) { 906 // CHECK-LABEL: test_vld2q_lane_u16 907 return vld2q_lane_u16(a, b, 7); 908 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 909} 910 911uint32x4x2_t test_vld2q_lane_u32(uint32_t *a, uint32x4x2_t b) { 912 // CHECK-LABEL: test_vld2q_lane_u32 913 return vld2q_lane_u32(a, b, 3); 914 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 915} 916 917uint64x2x2_t test_vld2q_lane_u64(uint64_t *a, uint64x2x2_t b) { 918 // CHECK-LABEL: test_vld2q_lane_u64 919 return vld2q_lane_u64(a, b, 1); 920 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 921} 922 923int16x8x2_t test_vld2q_lane_s16(int16_t *a, int16x8x2_t b) { 924 // CHECK-LABEL: test_vld2q_lane_s16 925 return vld2q_lane_s16(a, b, 7); 926 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 927} 928 929int32x4x2_t test_vld2q_lane_s32(int32_t *a, int32x4x2_t b) { 930 // CHECK-LABEL: test_vld2q_lane_s32 931 return vld2q_lane_s32(a, b, 3); 932 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 933} 934 935int64x2x2_t test_vld2q_lane_s64(int64_t *a, int64x2x2_t b) { 936 // CHECK-LABEL: test_vld2q_lane_s64 937 return vld2q_lane_s64(a, b, 1); 938 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 939} 940 941float16x8x2_t test_vld2q_lane_f16(float16_t *a, float16x8x2_t b) { 942 // CHECK-LABEL: test_vld2q_lane_f16 943 return vld2q_lane_f16(a, b, 7); 944 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 945} 946 947float32x4x2_t test_vld2q_lane_f32(float32_t *a, float32x4x2_t b) { 948 // CHECK-LABEL: test_vld2q_lane_f32 949 return vld2q_lane_f32(a, b, 3); 950 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 951} 952 953float64x2x2_t test_vld2q_lane_f64(float64_t *a, float64x2x2_t b) { 954 // CHECK-LABEL: test_vld2q_lane_f64 955 return vld2q_lane_f64(a, b, 1); 956 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 957} 958 959poly16x8x2_t test_vld2q_lane_p16(poly16_t *a, poly16x8x2_t b) { 960 // CHECK-LABEL: test_vld2q_lane_p16 961 return vld2q_lane_p16(a, b, 7); 962 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 963} 964 965poly64x2x2_t test_vld2q_lane_p64(poly64_t *a, poly64x2x2_t b) { 966 // CHECK-LABEL: test_vld2q_lane_p64 967 return vld2q_lane_p64(a, b, 1); 968 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 969} 970 971uint8x8x2_t test_vld2_lane_u8(uint8_t *a, uint8x8x2_t b) { 972 // CHECK-LABEL: test_vld2_lane_u8 973 return vld2_lane_u8(a, b, 7); 974 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 975} 976 977uint16x4x2_t test_vld2_lane_u16(uint16_t *a, uint16x4x2_t b) { 978 // CHECK-LABEL: test_vld2_lane_u16 979 return vld2_lane_u16(a, b, 3); 980 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 981} 982 983uint32x2x2_t test_vld2_lane_u32(uint32_t *a, uint32x2x2_t b) { 984 // CHECK-LABEL: test_vld2_lane_u32 985 return vld2_lane_u32(a, b, 1); 986 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 987} 988 989uint64x1x2_t test_vld2_lane_u64(uint64_t *a, uint64x1x2_t b) { 990 // CHECK-LABEL: test_vld2_lane_u64 991 return vld2_lane_u64(a, b, 0); 992 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 993} 994 995int8x8x2_t test_vld2_lane_s8(int8_t *a, int8x8x2_t b) { 996 // CHECK-LABEL: test_vld2_lane_s8 997 return vld2_lane_s8(a, b, 7); 998 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 999} 1000 1001int16x4x2_t test_vld2_lane_s16(int16_t *a, int16x4x2_t b) { 1002 // CHECK-LABEL: test_vld2_lane_s16 1003 return vld2_lane_s16(a, b, 3); 1004 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1005} 1006 1007int32x2x2_t test_vld2_lane_s32(int32_t *a, int32x2x2_t b) { 1008 // CHECK-LABEL: test_vld2_lane_s32 1009 return vld2_lane_s32(a, b, 1); 1010 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1011} 1012 1013int64x1x2_t test_vld2_lane_s64(int64_t *a, int64x1x2_t b) { 1014 // CHECK-LABEL: test_vld2_lane_s64 1015 return vld2_lane_s64(a, b, 0); 1016 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1017} 1018 1019float16x4x2_t test_vld2_lane_f16(float16_t *a, float16x4x2_t b) { 1020 // CHECK-LABEL: test_vld2_lane_f16 1021 return vld2_lane_f16(a, b, 3); 1022 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1023} 1024 1025float32x2x2_t test_vld2_lane_f32(float32_t *a, float32x2x2_t b) { 1026 // CHECK-LABEL: test_vld2_lane_f32 1027 return vld2_lane_f32(a, b, 1); 1028 // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1029} 1030 1031float64x1x2_t test_vld2_lane_f64(float64_t *a, float64x1x2_t b) { 1032 // CHECK-LABEL: test_vld2_lane_f64 1033 return vld2_lane_f64(a, b, 0); 1034 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1035} 1036 1037poly8x8x2_t test_vld2_lane_p8(poly8_t *a, poly8x8x2_t b) { 1038 // CHECK-LABEL: test_vld2_lane_p8 1039 return vld2_lane_p8(a, b, 7); 1040 // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1041} 1042 1043poly16x4x2_t test_vld2_lane_p16(poly16_t *a, poly16x4x2_t b) { 1044 // CHECK-LABEL: test_vld2_lane_p16 1045 return vld2_lane_p16(a, b, 3); 1046 // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1047} 1048 1049poly64x1x2_t test_vld2_lane_p64(poly64_t *a, poly64x1x2_t b) { 1050 // CHECK-LABEL: test_vld2_lane_p64 1051 return vld2_lane_p64(a, b, 0); 1052 // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1053} 1054 1055uint16x8x3_t test_vld3q_lane_u16(uint16_t *a, uint16x8x3_t b) { 1056 // CHECK-LABEL: test_vld3q_lane_u16 1057 return vld3q_lane_u16(a, b, 7); 1058 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1059} 1060 1061uint32x4x3_t test_vld3q_lane_u32(uint32_t *a, uint32x4x3_t b) { 1062 // CHECK-LABEL: test_vld3q_lane_u32 1063 return vld3q_lane_u32(a, b, 3); 1064 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1065} 1066 1067uint64x2x3_t test_vld3q_lane_u64(uint64_t *a, uint64x2x3_t b) { 1068 // CHECK-LABEL: test_vld3q_lane_u64 1069 return vld3q_lane_u64(a, b, 1); 1070 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1071} 1072 1073int16x8x3_t test_vld3q_lane_s16(int16_t *a, int16x8x3_t b) { 1074 // CHECK-LABEL: test_vld3q_lane_s16 1075 return vld3q_lane_s16(a, b, 7); 1076 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1077} 1078 1079int32x4x3_t test_vld3q_lane_s32(int32_t *a, int32x4x3_t b) { 1080 // CHECK-LABEL: test_vld3q_lane_s32 1081 return vld3q_lane_s32(a, b, 3); 1082 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1083} 1084 1085int64x2x3_t test_vld3q_lane_s64(int64_t *a, int64x2x3_t b) { 1086 // CHECK-LABEL: test_vld3q_lane_s64 1087 return vld3q_lane_s64(a, b, 1); 1088 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1089} 1090 1091float16x8x3_t test_vld3q_lane_f16(float16_t *a, float16x8x3_t b) { 1092 // CHECK-LABEL: test_vld3q_lane_f16 1093 return vld3q_lane_f16(a, b, 7); 1094 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1095} 1096 1097float32x4x3_t test_vld3q_lane_f32(float32_t *a, float32x4x3_t b) { 1098 // CHECK-LABEL: test_vld3q_lane_f32 1099 return vld3q_lane_f32(a, b, 3); 1100 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1101} 1102 1103float64x2x3_t test_vld3q_lane_f64(float64_t *a, float64x2x3_t b) { 1104 // CHECK-LABEL: test_vld3q_lane_f64 1105 return vld3q_lane_f64(a, b, 1); 1106 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1107} 1108 1109poly8x16x3_t test_vld3q_lane_p8(poly8_t *a, poly8x16x3_t b) { 1110 // CHECK-LABEL: test_vld3q_lane_p8 1111 return vld3q_lane_p8(a, b, 15); 1112 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1113} 1114 1115poly16x8x3_t test_vld3q_lane_p16(poly16_t *a, poly16x8x3_t b) { 1116 // CHECK-LABEL: test_vld3q_lane_p16 1117 return vld3q_lane_p16(a, b, 7); 1118 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1119} 1120 1121poly64x2x3_t test_vld3q_lane_p64(poly64_t *a, poly64x2x3_t b) { 1122 // CHECK-LABEL: test_vld3q_lane_p64 1123 return vld3q_lane_p64(a, b, 1); 1124 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1125} 1126 1127uint8x8x3_t test_vld3_lane_u8(uint8_t *a, uint8x8x3_t b) { 1128 // CHECK-LABEL: test_vld3_lane_u8 1129 return vld3_lane_u8(a, b, 7); 1130 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1131} 1132 1133uint16x4x3_t test_vld3_lane_u16(uint16_t *a, uint16x4x3_t b) { 1134 // CHECK-LABEL: test_vld3_lane_u16 1135 return vld3_lane_u16(a, b, 3); 1136 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1137} 1138 1139uint32x2x3_t test_vld3_lane_u32(uint32_t *a, uint32x2x3_t b) { 1140 // CHECK-LABEL: test_vld3_lane_u32 1141 return vld3_lane_u32(a, b, 1); 1142 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1143} 1144 1145uint64x1x3_t test_vld3_lane_u64(uint64_t *a, uint64x1x3_t b) { 1146 // CHECK-LABEL: test_vld3_lane_u64 1147 return vld3_lane_u64(a, b, 0); 1148 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1149} 1150 1151int8x8x3_t test_vld3_lane_s8(int8_t *a, int8x8x3_t b) { 1152 // CHECK-LABEL: test_vld3_lane_s8 1153 return vld3_lane_s8(a, b, 7); 1154 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1155} 1156 1157int16x4x3_t test_vld3_lane_s16(int16_t *a, int16x4x3_t b) { 1158 // CHECK-LABEL: test_vld3_lane_s16 1159 return vld3_lane_s16(a, b, 3); 1160 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1161} 1162 1163int32x2x3_t test_vld3_lane_s32(int32_t *a, int32x2x3_t b) { 1164 // CHECK-LABEL: test_vld3_lane_s32 1165 return vld3_lane_s32(a, b, 1); 1166 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1167} 1168 1169int64x1x3_t test_vld3_lane_s64(int64_t *a, int64x1x3_t b) { 1170 // CHECK-LABEL: test_vld3_lane_s64 1171 return vld3_lane_s64(a, b, 0); 1172 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1173} 1174 1175float16x4x3_t test_vld3_lane_f16(float16_t *a, float16x4x3_t b) { 1176 // CHECK-LABEL: test_vld3_lane_f16 1177 return vld3_lane_f16(a, b, 3); 1178 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1179} 1180 1181float32x2x3_t test_vld3_lane_f32(float32_t *a, float32x2x3_t b) { 1182 // CHECK-LABEL: test_vld3_lane_f32 1183 return vld3_lane_f32(a, b, 1); 1184 // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1185} 1186 1187float64x1x3_t test_vld3_lane_f64(float64_t *a, float64x1x3_t b) { 1188 // CHECK-LABEL: test_vld3_lane_f64 1189 return vld3_lane_f64(a, b, 0); 1190 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1191} 1192 1193poly8x8x3_t test_vld3_lane_p8(poly8_t *a, poly8x8x3_t b) { 1194 // CHECK-LABEL: test_vld3_lane_p8 1195 return vld3_lane_p8(a, b, 7); 1196 // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1197} 1198 1199poly16x4x3_t test_vld3_lane_p16(poly16_t *a, poly16x4x3_t b) { 1200 // CHECK-LABEL: test_vld3_lane_p16 1201 return vld3_lane_p16(a, b, 3); 1202 // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1203} 1204 1205poly64x1x3_t test_vld3_lane_p64(poly64_t *a, poly64x1x3_t b) { 1206 // CHECK-LABEL: test_vld3_lane_p64 1207 return vld3_lane_p64(a, b, 0); 1208 // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1209} 1210 1211uint8x16x4_t test_vld4q_lane_u8(uint8_t *a, uint8x16x4_t b) { 1212 // CHECK-LABEL: test_vld4q_lane_u8 1213 return vld4q_lane_u8(a, b, 15); 1214 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1215} 1216 1217uint16x8x4_t test_vld4q_lane_u16(uint16_t *a, uint16x8x4_t b) { 1218 // CHECK-LABEL: test_vld4q_lane_u16 1219 return vld4q_lane_u16(a, b, 7); 1220 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1221} 1222 1223uint32x4x4_t test_vld4q_lane_u32(uint32_t *a, uint32x4x4_t b) { 1224 // CHECK-LABEL: test_vld4q_lane_u32 1225 return vld4q_lane_u32(a, b, 3); 1226 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1227} 1228 1229uint64x2x4_t test_vld4q_lane_u64(uint64_t *a, uint64x2x4_t b) { 1230 // CHECK-LABEL: test_vld4q_lane_u64 1231 return vld4q_lane_u64(a, b, 1); 1232 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1233} 1234 1235int8x16x4_t test_vld4q_lane_s8(int8_t *a, int8x16x4_t b) { 1236 // CHECK-LABEL: test_vld4q_lane_s8 1237 return vld4q_lane_s8(a, b, 15); 1238 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1239} 1240 1241int16x8x4_t test_vld4q_lane_s16(int16_t *a, int16x8x4_t b) { 1242 // CHECK-LABEL: test_vld4q_lane_s16 1243 return vld4q_lane_s16(a, b, 7); 1244 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1245} 1246 1247int32x4x4_t test_vld4q_lane_s32(int32_t *a, int32x4x4_t b) { 1248 // CHECK-LABEL: test_vld4q_lane_s32 1249 return vld4q_lane_s32(a, b, 3); 1250 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1251} 1252 1253int64x2x4_t test_vld4q_lane_s64(int64_t *a, int64x2x4_t b) { 1254 // CHECK-LABEL: test_vld4q_lane_s64 1255 return vld4q_lane_s64(a, b, 1); 1256 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1257} 1258 1259float16x8x4_t test_vld4q_lane_f16(float16_t *a, float16x8x4_t b) { 1260 // CHECK-LABEL: test_vld4q_lane_f16 1261 return vld4q_lane_f16(a, b, 7); 1262 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1263} 1264 1265float32x4x4_t test_vld4q_lane_f32(float32_t *a, float32x4x4_t b) { 1266 // CHECK-LABEL: test_vld4q_lane_f32 1267 return vld4q_lane_f32(a, b, 3); 1268 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1269} 1270 1271float64x2x4_t test_vld4q_lane_f64(float64_t *a, float64x2x4_t b) { 1272 // CHECK-LABEL: test_vld4q_lane_f64 1273 return vld4q_lane_f64(a, b, 1); 1274 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1275} 1276 1277poly8x16x4_t test_vld4q_lane_p8(poly8_t *a, poly8x16x4_t b) { 1278 // CHECK-LABEL: test_vld4q_lane_p8 1279 return vld4q_lane_p8(a, b, 15); 1280 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1281} 1282 1283poly16x8x4_t test_vld4q_lane_p16(poly16_t *a, poly16x8x4_t b) { 1284 // CHECK-LABEL: test_vld4q_lane_p16 1285 return vld4q_lane_p16(a, b, 7); 1286 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1287} 1288 1289poly64x2x4_t test_vld4q_lane_p64(poly64_t *a, poly64x2x4_t b) { 1290 // CHECK-LABEL: test_vld4q_lane_p64 1291 return vld4q_lane_p64(a, b, 1); 1292 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1293} 1294 1295uint8x8x4_t test_vld4_lane_u8(uint8_t *a, uint8x8x4_t b) { 1296 // CHECK-LABEL: test_vld4_lane_u8 1297 return vld4_lane_u8(a, b, 7); 1298 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1299} 1300 1301uint16x4x4_t test_vld4_lane_u16(uint16_t *a, uint16x4x4_t b) { 1302 // CHECK-LABEL: test_vld4_lane_u16 1303 return vld4_lane_u16(a, b, 3); 1304 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1305} 1306 1307uint32x2x4_t test_vld4_lane_u32(uint32_t *a, uint32x2x4_t b) { 1308 // CHECK-LABEL: test_vld4_lane_u32 1309 return vld4_lane_u32(a, b, 1); 1310 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1311} 1312 1313uint64x1x4_t test_vld4_lane_u64(uint64_t *a, uint64x1x4_t b) { 1314 // CHECK-LABEL: test_vld4_lane_u64 1315 return vld4_lane_u64(a, b, 0); 1316 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1317} 1318 1319int8x8x4_t test_vld4_lane_s8(int8_t *a, int8x8x4_t b) { 1320 // CHECK-LABEL: test_vld4_lane_s8 1321 return vld4_lane_s8(a, b, 7); 1322 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1323} 1324 1325int16x4x4_t test_vld4_lane_s16(int16_t *a, int16x4x4_t b) { 1326 // CHECK-LABEL: test_vld4_lane_s16 1327 return vld4_lane_s16(a, b, 3); 1328 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1329} 1330 1331int32x2x4_t test_vld4_lane_s32(int32_t *a, int32x2x4_t b) { 1332 // CHECK-LABEL: test_vld4_lane_s32 1333 return vld4_lane_s32(a, b, 1); 1334 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1335} 1336 1337int64x1x4_t test_vld4_lane_s64(int64_t *a, int64x1x4_t b) { 1338 // CHECK-LABEL: test_vld4_lane_s64 1339 return vld4_lane_s64(a, b, 0); 1340 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1341} 1342 1343float16x4x4_t test_vld4_lane_f16(float16_t *a, float16x4x4_t b) { 1344 // CHECK-LABEL: test_vld4_lane_f16 1345 return vld4_lane_f16(a, b, 3); 1346 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1347} 1348 1349float32x2x4_t test_vld4_lane_f32(float32_t *a, float32x2x4_t b) { 1350 // CHECK-LABEL: test_vld4_lane_f32 1351 return vld4_lane_f32(a, b, 1); 1352 // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1353} 1354 1355float64x1x4_t test_vld4_lane_f64(float64_t *a, float64x1x4_t b) { 1356 // CHECK-LABEL: test_vld4_lane_f64 1357 return vld4_lane_f64(a, b, 0); 1358 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1359} 1360 1361poly8x8x4_t test_vld4_lane_p8(poly8_t *a, poly8x8x4_t b) { 1362 // CHECK-LABEL: test_vld4_lane_p8 1363 return vld4_lane_p8(a, b, 7); 1364 // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1365} 1366 1367poly16x4x4_t test_vld4_lane_p16(poly16_t *a, poly16x4x4_t b) { 1368 // CHECK-LABEL: test_vld4_lane_p16 1369 return vld4_lane_p16(a, b, 3); 1370 // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1371} 1372 1373poly64x1x4_t test_vld4_lane_p64(poly64_t *a, poly64x1x4_t b) { 1374 // CHECK-LABEL: test_vld4_lane_p64 1375 return vld4_lane_p64(a, b, 0); 1376 // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1377} 1378 1379void test_vst1q_lane_u8(uint8_t *a, uint8x16_t b) { 1380 // CHECK-LABEL: test_vst1q_lane_u8 1381 vst1q_lane_u8(a, b, 15); 1382 // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1383} 1384 1385void test_vst1q_lane_u16(uint16_t *a, uint16x8_t b) { 1386 // CHECK-LABEL: test_vst1q_lane_u16 1387 vst1q_lane_u16(a, b, 7); 1388 // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1389} 1390 1391void test_vst1q_lane_u32(uint32_t *a, uint32x4_t b) { 1392 // CHECK-LABEL: test_vst1q_lane_u32 1393 vst1q_lane_u32(a, b, 3); 1394 // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1395} 1396 1397void test_vst1q_lane_u64(uint64_t *a, uint64x2_t b) { 1398 // CHECK-LABEL: test_vst1q_lane_u64 1399 vst1q_lane_u64(a, b, 1); 1400 // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1401} 1402 1403void test_vst1q_lane_s8(int8_t *a, int8x16_t b) { 1404 // CHECK-LABEL: test_vst1q_lane_s8 1405 vst1q_lane_s8(a, b, 15); 1406 // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1407} 1408 1409void test_vst1q_lane_s16(int16_t *a, int16x8_t b) { 1410 // CHECK-LABEL: test_vst1q_lane_s16 1411 vst1q_lane_s16(a, b, 7); 1412 // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1413} 1414 1415void test_vst1q_lane_s32(int32_t *a, int32x4_t b) { 1416 // CHECK-LABEL: test_vst1q_lane_s32 1417 vst1q_lane_s32(a, b, 3); 1418 // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1419} 1420 1421void test_vst1q_lane_s64(int64_t *a, int64x2_t b) { 1422 // CHECK-LABEL: test_vst1q_lane_s64 1423 vst1q_lane_s64(a, b, 1); 1424 // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1425} 1426 1427void test_vst1q_lane_f16(float16_t *a, float16x8_t b) { 1428 // CHECK-LABEL: test_vst1q_lane_f16 1429 vst1q_lane_f16(a, b, 7); 1430 // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1431} 1432 1433void test_vst1q_lane_f32(float32_t *a, float32x4_t b) { 1434 // CHECK-LABEL: test_vst1q_lane_f32 1435 vst1q_lane_f32(a, b, 3); 1436 // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1437} 1438 1439void test_vst1q_lane_f64(float64_t *a, float64x2_t b) { 1440 // CHECK-LABEL: test_vst1q_lane_f64 1441 vst1q_lane_f64(a, b, 1); 1442 // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1443} 1444 1445void test_vst1q_lane_p8(poly8_t *a, poly8x16_t b) { 1446 // CHECK-LABEL: test_vst1q_lane_p8 1447 vst1q_lane_p8(a, b, 15); 1448 // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1449} 1450 1451void test_vst1q_lane_p16(poly16_t *a, poly16x8_t b) { 1452 // CHECK-LABEL: test_vst1q_lane_p16 1453 vst1q_lane_p16(a, b, 7); 1454 // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1455} 1456 1457void test_vst1q_lane_p64(poly64_t *a, poly64x2_t b) { 1458 // CHECK-LABEL: test_vst1q_lane_p64 1459 vst1q_lane_p64(a, b, 1); 1460 // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1461} 1462 1463void test_vst1_lane_u8(uint8_t *a, uint8x8_t b) { 1464 // CHECK-LABEL: test_vst1_lane_u8 1465 vst1_lane_u8(a, b, 7); 1466 // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1467} 1468 1469void test_vst1_lane_u16(uint16_t *a, uint16x4_t b) { 1470 // CHECK-LABEL: test_vst1_lane_u16 1471 vst1_lane_u16(a, b, 3); 1472 // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1473} 1474 1475void test_vst1_lane_u32(uint32_t *a, uint32x2_t b) { 1476 // CHECK-LABEL: test_vst1_lane_u32 1477 vst1_lane_u32(a, b, 1); 1478 // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1479} 1480 1481void test_vst1_lane_u64(uint64_t *a, uint64x1_t b) { 1482 // CHECK-LABEL: test_vst1_lane_u64 1483 vst1_lane_u64(a, b, 0); 1484 // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1485} 1486 1487void test_vst1_lane_s8(int8_t *a, int8x8_t b) { 1488 // CHECK-LABEL: test_vst1_lane_s8 1489 vst1_lane_s8(a, b, 7); 1490 // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1491} 1492 1493void test_vst1_lane_s16(int16_t *a, int16x4_t b) { 1494 // CHECK-LABEL: test_vst1_lane_s16 1495 vst1_lane_s16(a, b, 3); 1496 // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1497} 1498 1499void test_vst1_lane_s32(int32_t *a, int32x2_t b) { 1500 // CHECK-LABEL: test_vst1_lane_s32 1501 vst1_lane_s32(a, b, 1); 1502 // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1503} 1504 1505void test_vst1_lane_s64(int64_t *a, int64x1_t b) { 1506 // CHECK-LABEL: test_vst1_lane_s64 1507 vst1_lane_s64(a, b, 0); 1508 // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1509} 1510 1511void test_vst1_lane_f16(float16_t *a, float16x4_t b) { 1512 // CHECK-LABEL: test_vst1_lane_f16 1513 vst1_lane_f16(a, b, 3); 1514 // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1515} 1516 1517void test_vst1_lane_f32(float32_t *a, float32x2_t b) { 1518 // CHECK-LABEL: test_vst1_lane_f32 1519 vst1_lane_f32(a, b, 1); 1520 // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1521} 1522 1523void test_vst1_lane_f64(float64_t *a, float64x1_t b) { 1524 // CHECK-LABEL: test_vst1_lane_f64 1525 vst1_lane_f64(a, b, 0); 1526 // CHECK: {{st1 { v[0-9]+.d }\[0]|str d[0-9]+}}, [{{x[0-9]+|sp}}] 1527} 1528 1529void test_vst1_lane_p8(poly8_t *a, poly8x8_t b) { 1530 // CHECK-LABEL: test_vst1_lane_p8 1531 vst1_lane_p8(a, b, 7); 1532 // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1533} 1534 1535void test_vst1_lane_p16(poly16_t *a, poly16x4_t b) { 1536 // CHECK-LABEL: test_vst1_lane_p16 1537 vst1_lane_p16(a, b, 3); 1538 // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1539} 1540 1541void test_vst1_lane_p64(poly64_t *a, poly64x1_t b) { 1542 // CHECK-LABEL: test_vst1_lane_p64 1543 vst1_lane_p64(a, b, 0); 1544 // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1545} 1546 1547void test_vst2q_lane_u8(uint8_t *a, uint8x16x2_t b) { 1548 // CHECK-LABEL: test_vst2q_lane_u8 1549 vst2q_lane_u8(a, b, 15); 1550 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1551} 1552 1553void test_vst2q_lane_u16(uint16_t *a, uint16x8x2_t b) { 1554 // CHECK-LABEL: test_vst2q_lane_u16 1555 vst2q_lane_u16(a, b, 7); 1556 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1557} 1558 1559void test_vst2q_lane_u32(uint32_t *a, uint32x4x2_t b) { 1560 // CHECK-LABEL: test_vst2q_lane_u32 1561 vst2q_lane_u32(a, b, 3); 1562 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1563} 1564 1565void test_vst2q_lane_u64(uint64_t *a, uint64x2x2_t b) { 1566 // CHECK-LABEL: test_vst2q_lane_u64 1567 vst2q_lane_u64(a, b, 1); 1568 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1569} 1570 1571void test_vst2q_lane_s8(int8_t *a, int8x16x2_t b) { 1572 // CHECK-LABEL: test_vst2q_lane_s8 1573 vst2q_lane_s8(a, b, 15); 1574 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1575} 1576 1577void test_vst2q_lane_s16(int16_t *a, int16x8x2_t b) { 1578 // CHECK-LABEL: test_vst2q_lane_s16 1579 vst2q_lane_s16(a, b, 7); 1580 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1581} 1582 1583void test_vst2q_lane_s32(int32_t *a, int32x4x2_t b) { 1584 // CHECK-LABEL: test_vst2q_lane_s32 1585 vst2q_lane_s32(a, b, 3); 1586 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1587} 1588 1589void test_vst2q_lane_s64(int64_t *a, int64x2x2_t b) { 1590 // CHECK-LABEL: test_vst2q_lane_s64 1591 vst2q_lane_s64(a, b, 1); 1592 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1593} 1594 1595void test_vst2q_lane_f16(float16_t *a, float16x8x2_t b) { 1596 // CHECK-LABEL: test_vst2q_lane_f16 1597 vst2q_lane_f16(a, b, 7); 1598 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1599} 1600 1601void test_vst2q_lane_f32(float32_t *a, float32x4x2_t b) { 1602 // CHECK-LABEL: test_vst2q_lane_f32 1603 vst2q_lane_f32(a, b, 3); 1604 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1605} 1606 1607void test_vst2q_lane_f64(float64_t *a, float64x2x2_t b) { 1608 // CHECK-LABEL: test_vst2q_lane_f64 1609 vst2q_lane_f64(a, b, 1); 1610 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1611} 1612 1613void test_vst2q_lane_p8(poly8_t *a, poly8x16x2_t b) { 1614 // CHECK-LABEL: test_vst2q_lane_p8 1615 vst2q_lane_p8(a, b, 15); 1616 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1617} 1618 1619void test_vst2q_lane_p16(poly16_t *a, poly16x8x2_t b) { 1620 // CHECK-LABEL: test_vst2q_lane_p16 1621 vst2q_lane_p16(a, b, 7); 1622 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1623} 1624 1625void test_vst2q_lane_p64(poly64_t *a, poly64x2x2_t b) { 1626 // CHECK-LABEL: test_vst2q_lane_p64 1627 vst2q_lane_p64(a, b, 1); 1628 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1629} 1630 1631void test_vst2_lane_u8(uint8_t *a, uint8x8x2_t b) { 1632 // CHECK-LABEL: test_vst2_lane_u8 1633 vst2_lane_u8(a, b, 7); 1634 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1635} 1636 1637void test_vst2_lane_u16(uint16_t *a, uint16x4x2_t b) { 1638 // CHECK-LABEL: test_vst2_lane_u16 1639 vst2_lane_u16(a, b, 3); 1640 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1641} 1642 1643void test_vst2_lane_u32(uint32_t *a, uint32x2x2_t b) { 1644 // CHECK-LABEL: test_vst2_lane_u32 1645 vst2_lane_u32(a, b, 1); 1646 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1647} 1648 1649void test_vst2_lane_u64(uint64_t *a, uint64x1x2_t b) { 1650 // CHECK-LABEL: test_vst2_lane_u64 1651 vst2_lane_u64(a, b, 0); 1652 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1653} 1654 1655void test_vst2_lane_s8(int8_t *a, int8x8x2_t b) { 1656 // CHECK-LABEL: test_vst2_lane_s8 1657 vst2_lane_s8(a, b, 7); 1658 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1659} 1660 1661void test_vst2_lane_s16(int16_t *a, int16x4x2_t b) { 1662 // CHECK-LABEL: test_vst2_lane_s16 1663 vst2_lane_s16(a, b, 3); 1664 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1665} 1666 1667void test_vst2_lane_s32(int32_t *a, int32x2x2_t b) { 1668 // CHECK-LABEL: test_vst2_lane_s32 1669 vst2_lane_s32(a, b, 1); 1670 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1671} 1672 1673void test_vst2_lane_s64(int64_t *a, int64x1x2_t b) { 1674 // CHECK-LABEL: test_vst2_lane_s64 1675 vst2_lane_s64(a, b, 0); 1676 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1677} 1678 1679void test_vst2_lane_f16(float16_t *a, float16x4x2_t b) { 1680 // CHECK-LABEL: test_vst2_lane_f16 1681 vst2_lane_f16(a, b, 3); 1682 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1683} 1684 1685void test_vst2_lane_f32(float32_t *a, float32x2x2_t b) { 1686 // CHECK-LABEL: test_vst2_lane_f32 1687 vst2_lane_f32(a, b, 1); 1688 // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1689} 1690 1691void test_vst2_lane_f64(float64_t *a, float64x1x2_t b) { 1692 // CHECK-LABEL: test_vst2_lane_f64 1693 vst2_lane_f64(a, b, 0); 1694 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1695} 1696 1697void test_vst2_lane_p8(poly8_t *a, poly8x8x2_t b) { 1698 // CHECK-LABEL: test_vst2_lane_p8 1699 vst2_lane_p8(a, b, 7); 1700 // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1701} 1702 1703void test_vst2_lane_p16(poly16_t *a, poly16x4x2_t b) { 1704 // CHECK-LABEL: test_vst2_lane_p16 1705 vst2_lane_p16(a, b, 3); 1706 // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1707} 1708 1709void test_vst2_lane_p64(poly64_t *a, poly64x1x2_t b) { 1710 // CHECK-LABEL: test_vst2_lane_p64 1711 vst2_lane_p64(a, b, 0); 1712 // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1713} 1714 1715void test_vst3q_lane_u8(uint8_t *a, uint8x16x3_t b) { 1716 // CHECK-LABEL: test_vst3q_lane_u8 1717 vst3q_lane_u8(a, b, 15); 1718 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1719} 1720 1721void test_vst3q_lane_u16(uint16_t *a, uint16x8x3_t b) { 1722 // CHECK-LABEL: test_vst3q_lane_u16 1723 vst3q_lane_u16(a, b, 7); 1724 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1725} 1726 1727void test_vst3q_lane_u32(uint32_t *a, uint32x4x3_t b) { 1728 // CHECK-LABEL: test_vst3q_lane_u32 1729 vst3q_lane_u32(a, b, 3); 1730 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1731} 1732 1733void test_vst3q_lane_u64(uint64_t *a, uint64x2x3_t b) { 1734 // CHECK-LABEL: test_vst3q_lane_u64 1735 vst3q_lane_u64(a, b, 1); 1736 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1737} 1738 1739void test_vst3q_lane_s8(int8_t *a, int8x16x3_t b) { 1740 // CHECK-LABEL: test_vst3q_lane_s8 1741 vst3q_lane_s8(a, b, 15); 1742 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1743} 1744 1745void test_vst3q_lane_s16(int16_t *a, int16x8x3_t b) { 1746 // CHECK-LABEL: test_vst3q_lane_s16 1747 vst3q_lane_s16(a, b, 7); 1748 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1749} 1750 1751void test_vst3q_lane_s32(int32_t *a, int32x4x3_t b) { 1752 // CHECK-LABEL: test_vst3q_lane_s32 1753 vst3q_lane_s32(a, b, 3); 1754 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1755} 1756 1757void test_vst3q_lane_s64(int64_t *a, int64x2x3_t b) { 1758 // CHECK-LABEL: test_vst3q_lane_s64 1759 vst3q_lane_s64(a, b, 1); 1760 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1761} 1762 1763void test_vst3q_lane_f16(float16_t *a, float16x8x3_t b) { 1764 // CHECK-LABEL: test_vst3q_lane_f16 1765 vst3q_lane_f16(a, b, 7); 1766 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1767} 1768 1769void test_vst3q_lane_f32(float32_t *a, float32x4x3_t b) { 1770 // CHECK-LABEL: test_vst3q_lane_f32 1771 vst3q_lane_f32(a, b, 3); 1772 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1773} 1774 1775void test_vst3q_lane_f64(float64_t *a, float64x2x3_t b) { 1776 // CHECK-LABEL: test_vst3q_lane_f64 1777 vst3q_lane_f64(a, b, 1); 1778 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1779} 1780 1781void test_vst3q_lane_p8(poly8_t *a, poly8x16x3_t b) { 1782 // CHECK-LABEL: test_vst3q_lane_p8 1783 vst3q_lane_p8(a, b, 15); 1784 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1785} 1786 1787void test_vst3q_lane_p16(poly16_t *a, poly16x8x3_t b) { 1788 // CHECK-LABEL: test_vst3q_lane_p16 1789 vst3q_lane_p16(a, b, 7); 1790 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1791} 1792 1793void test_vst3q_lane_p64(poly64_t *a, poly64x2x3_t b) { 1794 // CHECK-LABEL: test_vst3q_lane_p64 1795 vst3q_lane_p64(a, b, 1); 1796 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1797} 1798 1799void test_vst3_lane_u8(uint8_t *a, uint8x8x3_t b) { 1800 // CHECK-LABEL: test_vst3_lane_u8 1801 vst3_lane_u8(a, b, 7); 1802 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1803} 1804 1805void test_vst3_lane_u16(uint16_t *a, uint16x4x3_t b) { 1806 // CHECK-LABEL: test_vst3_lane_u16 1807 vst3_lane_u16(a, b, 3); 1808 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1809} 1810 1811void test_vst3_lane_u32(uint32_t *a, uint32x2x3_t b) { 1812 // CHECK-LABEL: test_vst3_lane_u32 1813 vst3_lane_u32(a, b, 1); 1814 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1815} 1816 1817void test_vst3_lane_u64(uint64_t *a, uint64x1x3_t b) { 1818 // CHECK-LABEL: test_vst3_lane_u64 1819 vst3_lane_u64(a, b, 0); 1820 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1821} 1822 1823void test_vst3_lane_s8(int8_t *a, int8x8x3_t b) { 1824 // CHECK-LABEL: test_vst3_lane_s8 1825 vst3_lane_s8(a, b, 7); 1826 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1827} 1828 1829void test_vst3_lane_s16(int16_t *a, int16x4x3_t b) { 1830 // CHECK-LABEL: test_vst3_lane_s16 1831 vst3_lane_s16(a, b, 3); 1832 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1833} 1834 1835void test_vst3_lane_s32(int32_t *a, int32x2x3_t b) { 1836 // CHECK-LABEL: test_vst3_lane_s32 1837 vst3_lane_s32(a, b, 1); 1838 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1839} 1840 1841void test_vst3_lane_s64(int64_t *a, int64x1x3_t b) { 1842 // CHECK-LABEL: test_vst3_lane_s64 1843 vst3_lane_s64(a, b, 0); 1844 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1845} 1846 1847void test_vst3_lane_f16(float16_t *a, float16x4x3_t b) { 1848 // CHECK-LABEL: test_vst3_lane_f16 1849 vst3_lane_f16(a, b, 3); 1850 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1851} 1852 1853void test_vst3_lane_f32(float32_t *a, float32x2x3_t b) { 1854 // CHECK-LABEL: test_vst3_lane_f32 1855 vst3_lane_f32(a, b, 1); 1856 // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1857} 1858 1859void test_vst3_lane_f64(float64_t *a, float64x1x3_t b) { 1860 // CHECK-LABEL: test_vst3_lane_f64 1861 vst3_lane_f64(a, b, 0); 1862 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1863} 1864 1865void test_vst3_lane_p8(poly8_t *a, poly8x8x3_t b) { 1866 // CHECK-LABEL: test_vst3_lane_p8 1867 vst3_lane_p8(a, b, 7); 1868 // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1869} 1870 1871void test_vst3_lane_p16(poly16_t *a, poly16x4x3_t b) { 1872 // CHECK-LABEL: test_vst3_lane_p16 1873 vst3_lane_p16(a, b, 3); 1874 // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1875} 1876 1877void test_vst3_lane_p64(poly64_t *a, poly64x1x3_t b) { 1878 // CHECK-LABEL: test_vst3_lane_p64 1879 vst3_lane_p64(a, b, 0); 1880 // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1881} 1882 1883void test_vst4q_lane_u8(uint8_t *a, uint8x16x4_t b) { 1884 // CHECK-LABEL: test_vst4q_lane_u8 1885 vst4q_lane_u8(a, b, 15); 1886 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1887} 1888 1889void test_vst4q_lane_u16(uint16_t *a, uint16x8x4_t b) { 1890 // CHECK-LABEL: test_vst4q_lane_u16 1891 vst4q_lane_u16(a, b, 7); 1892 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1893} 1894 1895void test_vst4q_lane_u32(uint32_t *a, uint32x4x4_t b) { 1896 // CHECK-LABEL: test_vst4q_lane_u32 1897 vst4q_lane_u32(a, b, 3); 1898 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1899} 1900 1901void test_vst4q_lane_u64(uint64_t *a, uint64x2x4_t b) { 1902 // CHECK-LABEL: test_vst4q_lane_u64 1903 vst4q_lane_u64(a, b, 1); 1904 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1905} 1906 1907void test_vst4q_lane_s8(int8_t *a, int8x16x4_t b) { 1908 // CHECK-LABEL: test_vst4q_lane_s8 1909 vst4q_lane_s8(a, b, 15); 1910 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1911} 1912 1913void test_vst4q_lane_s16(int16_t *a, int16x8x4_t b) { 1914 // CHECK-LABEL: test_vst4q_lane_s16 1915 vst4q_lane_s16(a, b, 7); 1916 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1917} 1918 1919void test_vst4q_lane_s32(int32_t *a, int32x4x4_t b) { 1920 // CHECK-LABEL: test_vst4q_lane_s32 1921 vst4q_lane_s32(a, b, 3); 1922 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1923} 1924 1925void test_vst4q_lane_s64(int64_t *a, int64x2x4_t b) { 1926 // CHECK-LABEL: test_vst4q_lane_s64 1927 vst4q_lane_s64(a, b, 1); 1928 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1929} 1930 1931void test_vst4q_lane_f16(float16_t *a, float16x8x4_t b) { 1932 // CHECK-LABEL: test_vst4q_lane_f16 1933 vst4q_lane_f16(a, b, 7); 1934 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1935} 1936 1937void test_vst4q_lane_f32(float32_t *a, float32x4x4_t b) { 1938 // CHECK-LABEL: test_vst4q_lane_f32 1939 vst4q_lane_f32(a, b, 3); 1940 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}] 1941} 1942 1943void test_vst4q_lane_f64(float64_t *a, float64x2x4_t b) { 1944 // CHECK-LABEL: test_vst4q_lane_f64 1945 vst4q_lane_f64(a, b, 1); 1946 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1947} 1948 1949void test_vst4q_lane_p8(poly8_t *a, poly8x16x4_t b) { 1950 // CHECK-LABEL: test_vst4q_lane_p8 1951 vst4q_lane_p8(a, b, 15); 1952 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}] 1953} 1954 1955void test_vst4q_lane_p16(poly16_t *a, poly16x8x4_t b) { 1956 // CHECK-LABEL: test_vst4q_lane_p16 1957 vst4q_lane_p16(a, b, 7); 1958 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}] 1959} 1960 1961void test_vst4q_lane_p64(poly64_t *a, poly64x2x4_t b) { 1962 // CHECK-LABEL: test_vst4q_lane_p64 1963 vst4q_lane_p64(a, b, 1); 1964 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}] 1965} 1966 1967void test_vst4_lane_u8(uint8_t *a, uint8x8x4_t b) { 1968 // CHECK-LABEL: test_vst4_lane_u8 1969 vst4_lane_u8(a, b, 7); 1970 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1971} 1972 1973void test_vst4_lane_u16(uint16_t *a, uint16x4x4_t b) { 1974 // CHECK-LABEL: test_vst4_lane_u16 1975 vst4_lane_u16(a, b, 3); 1976 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 1977} 1978 1979void test_vst4_lane_u32(uint32_t *a, uint32x2x4_t b) { 1980 // CHECK-LABEL: test_vst4_lane_u32 1981 vst4_lane_u32(a, b, 1); 1982 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 1983} 1984 1985void test_vst4_lane_u64(uint64_t *a, uint64x1x4_t b) { 1986 // CHECK-LABEL: test_vst4_lane_u64 1987 vst4_lane_u64(a, b, 0); 1988 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 1989} 1990 1991void test_vst4_lane_s8(int8_t *a, int8x8x4_t b) { 1992 // CHECK-LABEL: test_vst4_lane_s8 1993 vst4_lane_s8(a, b, 7); 1994 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 1995} 1996 1997void test_vst4_lane_s16(int16_t *a, int16x4x4_t b) { 1998 // CHECK-LABEL: test_vst4_lane_s16 1999 vst4_lane_s16(a, b, 3); 2000 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 2001} 2002 2003void test_vst4_lane_s32(int32_t *a, int32x2x4_t b) { 2004 // CHECK-LABEL: test_vst4_lane_s32 2005 vst4_lane_s32(a, b, 1); 2006 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 2007} 2008 2009void test_vst4_lane_s64(int64_t *a, int64x1x4_t b) { 2010 // CHECK-LABEL: test_vst4_lane_s64 2011 vst4_lane_s64(a, b, 0); 2012 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 2013} 2014 2015void test_vst4_lane_f16(float16_t *a, float16x4x4_t b) { 2016 // CHECK-LABEL: test_vst4_lane_f16 2017 vst4_lane_f16(a, b, 3); 2018 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 2019} 2020 2021void test_vst4_lane_f32(float32_t *a, float32x2x4_t b) { 2022 // CHECK-LABEL: test_vst4_lane_f32 2023 vst4_lane_f32(a, b, 1); 2024 // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}] 2025} 2026 2027void test_vst4_lane_f64(float64_t *a, float64x1x4_t b) { 2028 // CHECK-LABEL: test_vst4_lane_f64 2029 vst4_lane_f64(a, b, 0); 2030 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 2031} 2032 2033void test_vst4_lane_p8(poly8_t *a, poly8x8x4_t b) { 2034 // CHECK-LABEL: test_vst4_lane_p8 2035 vst4_lane_p8(a, b, 7); 2036 // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}] 2037} 2038 2039void test_vst4_lane_p16(poly16_t *a, poly16x4x4_t b) { 2040 // CHECK-LABEL: test_vst4_lane_p16 2041 vst4_lane_p16(a, b, 3); 2042 // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}] 2043} 2044 2045void test_vst4_lane_p64(poly64_t *a, poly64x1x4_t b) { 2046 // CHECK-LABEL: test_vst4_lane_p64 2047 vst4_lane_p64(a, b, 0); 2048 // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}] 2049} 2050