aarch64-neon-ldst-one.c revision 651f13cea278ec967336033dd032faef0e9fc2ec
111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu// REQUIRES: aarch64-registered-target
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// REQUIRES: arm64-registered-target
311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +neon \
411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu// RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple arm64-none-linux-gnu \
6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN:   -ffp-contract=fast -S -O3 -o - %s | FileCheck %s
711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu#include <arm_neon.h>
911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16_t test_vld1q_dup_u8(uint8_t  *a) {
1111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_u8
1211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_u8(a);
13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
1411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
1511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8_t test_vld1q_dup_u16(uint16_t  *a) {
1711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_u16
1811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_u16(a);
19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
2011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
2111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
22651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4_t test_vld1q_dup_u32(uint32_t  *a) {
2311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_u32
2411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_u32(a);
25651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
2611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
2711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
28651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2_t test_vld1q_dup_u64(uint64_t  *a) {
2911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_u64
3011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_u64(a);
31651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
3211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
3311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
34651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16_t test_vld1q_dup_s8(int8_t  *a) {
3511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_s8
3611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_s8(a);
37651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
3811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
3911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
40651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8_t test_vld1q_dup_s16(int16_t  *a) {
4111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_s16
4211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_s16(a);
43651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
4411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
4511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
46651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4_t test_vld1q_dup_s32(int32_t  *a) {
4711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_s32
4811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_s32(a);
49651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
5011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
5111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
52651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2_t test_vld1q_dup_s64(int64_t  *a) {
5311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_s64
5411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_s64(a);
55651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
5611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
5711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
58651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8_t test_vld1q_dup_f16(float16_t  *a) {
5911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_f16
6011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_f16(a);
61651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
6211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
6311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
64651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4_t test_vld1q_dup_f32(float32_t  *a) {
6511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_f32
6611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_f32(a);
67651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
6811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
6911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
70651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2_t test_vld1q_dup_f64(float64_t  *a) {
7111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_f64
7211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_f64(a);
73651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
7411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
7511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
76651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16_t test_vld1q_dup_p8(poly8_t  *a) {
7711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_p8
7811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_p8(a);
79651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
8011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
8111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
82651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8_t test_vld1q_dup_p16(poly16_t  *a) {
8311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_p16
8411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_p16(a);
85651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
8611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
8711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
88651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2_t test_vld1q_dup_p64(poly64_t  *a) {
8911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_dup_p64
9011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_dup_p64(a);
91651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
9211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
9311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
94651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8_t test_vld1_dup_u8(uint8_t  *a) {
9511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_u8
9611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_u8(a);
97651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
9811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
9911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
100651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4_t test_vld1_dup_u16(uint16_t  *a) {
10111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_u16
10211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_u16(a);
103651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
10411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
10511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
106651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2_t test_vld1_dup_u32(uint32_t  *a) {
10711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_u32
10811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_u32(a);
109651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
11011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
11111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
112651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1_t test_vld1_dup_u64(uint64_t  *a) {
11311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_u64
11411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_u64(a);
115651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
11611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
11711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
118651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8_t test_vld1_dup_s8(int8_t  *a) {
11911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_s8
12011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_s8(a);
121651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
12211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
12311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
124651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4_t test_vld1_dup_s16(int16_t  *a) {
12511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_s16
12611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_s16(a);
127651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
12811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
12911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
130651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2_t test_vld1_dup_s32(int32_t  *a) {
13111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_s32
13211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_s32(a);
133651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
13411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
13511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
136651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1_t test_vld1_dup_s64(int64_t  *a) {
13711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_s64
13811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_s64(a);
139651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
14011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
14111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
142651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4_t test_vld1_dup_f16(float16_t  *a) {
14311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_f16
14411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_f16(a);
145651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
14611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
14711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
148651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2_t test_vld1_dup_f32(float32_t  *a) {
14911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_f32
15011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_f32(a);
151651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
15211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
15311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
154651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1_t test_vld1_dup_f64(float64_t  *a) {
15511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_f64
15611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_f64(a);
157651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
15811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
15911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
160651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8_t test_vld1_dup_p8(poly8_t  *a) {
16111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_p8
16211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_p8(a);
163651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
16411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
16511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
166651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4_t test_vld1_dup_p16(poly16_t  *a) {
16711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_p16
16811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_p16(a);
169651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1r {{{ *v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
17011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
17111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
172651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1_t test_vld1_dup_p64(poly64_t  *a) {
17311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_dup_p64
17411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_dup_p64(a);
175651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
17611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
17711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
178651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x2_t test_vld2q_dup_u8(uint8_t  *a) {
17911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_u8
18011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_u8(a);
181651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
18211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
18311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
184651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x2_t test_vld2q_dup_u16(uint16_t  *a) {
18511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_u16
18611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_u16(a);
187651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
18811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
18911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
190651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x2_t test_vld2q_dup_u32(uint32_t  *a) {
19111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_u32
19211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_u32(a);
193651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
19411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
19511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
196651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x2_t test_vld2q_dup_u64(uint64_t  *a) {
19711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_u64
19811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_u64(a);
199651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
20011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
20111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
202651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x2_t test_vld2q_dup_s8(int8_t  *a) {
20311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_s8
20411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_s8(a);
205651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
20611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
20711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
208651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x2_t test_vld2q_dup_s16(int16_t  *a) {
20911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_s16
21011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_s16(a);
211651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
21211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
21311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
214651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x2_t test_vld2q_dup_s32(int32_t  *a) {
21511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_s32
21611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_s32(a);
217651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
21811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
21911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
220651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x2_t test_vld2q_dup_s64(int64_t  *a) {
22111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_s64
22211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_s64(a);
223651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
22411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
22511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
226651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x2_t test_vld2q_dup_f16(float16_t  *a) {
22711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_f16
22811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_f16(a);
229651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
23011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
23111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
232651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x2_t test_vld2q_dup_f32(float32_t  *a) {
23311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_f32
23411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_f32(a);
235651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
23611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
23711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
238651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x2_t test_vld2q_dup_f64(float64_t  *a) {
23911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_f64
24011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_f64(a);
241651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
24211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
24311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
244651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x2_t test_vld2q_dup_p8(poly8_t  *a) {
24511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_p8
24611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_p8(a);
247651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
24811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
24911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
250651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x2_t test_vld2q_dup_p16(poly16_t  *a) {
25111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_p16
25211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_p16(a);
253651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
25411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
25511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
256651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x2_t test_vld2q_dup_p64(poly64_t  *a) {
25711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_dup_p64
25811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_dup_p64(a);
259651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
26011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
26111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
262651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x2_t test_vld2_dup_u8(uint8_t  *a) {
26311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_u8
26411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_u8(a);
265651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
26611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
26711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
268651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x2_t test_vld2_dup_u16(uint16_t  *a) {
26911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_u16
27011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_u16(a);
271651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
27211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
27311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
274651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x2_t test_vld2_dup_u32(uint32_t  *a) {
27511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_u32
27611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_u32(a);
277651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
27811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
27911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
280651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x2_t test_vld2_dup_u64(uint64_t  *a) {
28111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_u64
28211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_u64(a);
283651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
28411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
28511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
286651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x2_t test_vld2_dup_s8(int8_t  *a) {
28711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_s8
28811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_s8(a);
289651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
29011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
29111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
292651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x2_t test_vld2_dup_s16(int16_t  *a) {
29311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_s16
29411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_s16(a);
295651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
29611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
29711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
298651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x2_t test_vld2_dup_s32(int32_t  *a) {
29911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_s32
30011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_s32(a);
301651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
30211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
30311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
304651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x2_t test_vld2_dup_s64(int64_t  *a) {
30511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_s64
30611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_s64(a);
307651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
30811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
30911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
310651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x2_t test_vld2_dup_f16(float16_t  *a) {
31111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_f16
31211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_f16(a);
313651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
31411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
31511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
316651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x2_t test_vld2_dup_f32(float32_t  *a) {
31711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_f32
31811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_f32(a);
319651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
32011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
32111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
322651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x2_t test_vld2_dup_f64(float64_t  *a) {
32311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_f64
32411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_f64(a);
325651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
32611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
32711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
328651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x2_t test_vld2_dup_p8(poly8_t  *a) {
32911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_p8
33011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_p8(a);
331651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
33211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
33311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
334651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x2_t test_vld2_dup_p16(poly16_t  *a) {
33511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_p16
33611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_p16(a);
337651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2r {{{ *v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
33811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
33911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
340651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x2_t test_vld2_dup_p64(poly64_t  *a) {
34111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_dup_p64
34211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_dup_p64(a);
343651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld2r}} {{{ *v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
34411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
34511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
346651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x3_t test_vld3q_dup_u8(uint8_t  *a) {
34711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_u8
34811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_u8(a);
349651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}},
35011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
35111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
35211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
353651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x3_t test_vld3q_dup_u16(uint16_t  *a) {
35411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_u16
35511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_u16(a);
356651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}},
35711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
35811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
35911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
360651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x3_t test_vld3q_dup_u32(uint32_t  *a) {
36111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_u32
36211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_u32(a);
363651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}},
36411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
36511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
36611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
367651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x3_t test_vld3q_dup_u64(uint64_t  *a) {
36811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_u64
36911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_u64(a);
370651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}},
37111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
37211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
37311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
374651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x3_t test_vld3q_dup_s8(int8_t  *a) {
37511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_s8
37611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_s8(a);
377651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}},
37811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
37911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
38011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
381651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x3_t test_vld3q_dup_s16(int16_t  *a) {
38211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_s16
38311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_s16(a);
384651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}},
38511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
38611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
38711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
388651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x3_t test_vld3q_dup_s32(int32_t  *a) {
38911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_s32
39011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_s32(a);
391651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}},
39211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
39311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
39411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
395651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x3_t test_vld3q_dup_s64(int64_t  *a) {
39611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_s64
39711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_s64(a);
398651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}},
39911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
40011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
40111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
402651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x3_t test_vld3q_dup_f16(float16_t  *a) {
40311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_f16
40411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_f16(a);
405651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}},
40611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
40711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
40811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
409651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x3_t test_vld3q_dup_f32(float32_t  *a) {
41011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_f32
41111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_f32(a);
412651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}},
41311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
41411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
41511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
416651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x3_t test_vld3q_dup_f64(float64_t  *a) {
41711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_f64
41811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_f64(a);
419651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}},
42011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
42111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
42211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
423651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x3_t test_vld3q_dup_p8(poly8_t  *a) {
42411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_p8
42511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_p8(a);
426651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}},
42711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
42811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
42911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
430651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x3_t test_vld3q_dup_p16(poly16_t  *a) {
43111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_p16
43211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_p16(a);
433651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}},
43411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
43511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
43611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
437651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x3_t test_vld3q_dup_p64(poly64_t  *a) {
43811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_dup_p64
43911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_dup_p64(a);
440651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}},
44111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
44211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
44311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
444651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x3_t test_vld3_dup_u8(uint8_t  *a) {
44511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_u8
44611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_u8(a);
447651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}},
44811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
44911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
45011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
451651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x3_t test_vld3_dup_u16(uint16_t  *a) {
45211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_u16
45311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_u16(a);
454651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}},
45511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
45611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
45711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
458651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x3_t test_vld3_dup_u32(uint32_t  *a) {
45911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_u32
46011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_u32(a);
461651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}},
46211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
46311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
46411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
465651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x3_t test_vld3_dup_u64(uint64_t  *a) {
46611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_u64
46711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_u64(a);
468651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}},
46911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
47011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
47111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
472651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x3_t test_vld3_dup_s8(int8_t  *a) {
47311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_s8
47411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_s8(a);
475651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}},
47611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
47711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
47811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
479651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x3_t test_vld3_dup_s16(int16_t  *a) {
48011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_s16
48111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_s16(a);
482651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}},
48311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
48411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
48511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
486651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x3_t test_vld3_dup_s32(int32_t  *a) {
48711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_s32
48811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_s32(a);
489651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}},
49011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
49111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
49211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
493651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x3_t test_vld3_dup_s64(int64_t  *a) {
49411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_s64
49511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_s64(a);
496651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}},
49711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
49811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
49911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
500651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x3_t test_vld3_dup_f16(float16_t  *a) {
50111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_f16
50211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_f16(a);
503651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}},
50411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
50511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
50611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
507651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x3_t test_vld3_dup_f32(float32_t  *a) {
50811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_f32
50911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_f32(a);
510651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}},
51111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
51211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
51311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
514651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x3_t test_vld3_dup_f64(float64_t  *a) {
51511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_f64
51611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_f64(a);
517651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}},
51811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
51911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
52011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
521651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x3_t test_vld3_dup_p8(poly8_t  *a) {
52211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_p8
52311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_p8(a);
524651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}},
52511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
52611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
52711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
528651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x3_t test_vld3_dup_p16(poly16_t  *a) {
52911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_p16
53011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_p16(a);
531651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}},
53211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
53311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
53411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
535651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x3_t test_vld3_dup_p64(poly64_t  *a) {
53611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_dup_p64
53711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_dup_p64(a);
538651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld3r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}},
53911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // [{{x[0-9]+|sp}}]
54011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
54111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
542651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x4_t test_vld4q_dup_u8(uint8_t  *a) {
54311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_u8
54411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_u8(a);
545651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
54611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
54711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
548651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x4_t test_vld4q_dup_u16(uint16_t  *a) {
54911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_u16
55011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_u16(a);
551651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
55211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
55311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
554651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x4_t test_vld4q_dup_u32(uint32_t  *a) {
55511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_u32
55611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_u32(a);
557651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
55811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
55911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
560651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x4_t test_vld4q_dup_u64(uint64_t  *a) {
56111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_u64
56211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_u64(a);
563651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
56411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
56511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
566651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x4_t test_vld4q_dup_s8(int8_t  *a) {
56711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_s8
56811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_s8(a);
569651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
57011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
57111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
572651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x4_t test_vld4q_dup_s16(int16_t  *a) {
57311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_s16
57411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_s16(a);
575651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
57611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
57711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
578651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x4_t test_vld4q_dup_s32(int32_t  *a) {
57911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_s32
58011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_s32(a);
581651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
58211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
58311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
584651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x4_t test_vld4q_dup_s64(int64_t  *a) {
58511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_s64
58611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_s64(a);
587651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
58811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
58911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
590651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x4_t test_vld4q_dup_f16(float16_t  *a) {
59111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_f16
59211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_f16(a);
593651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
59411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
59511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
596651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x4_t test_vld4q_dup_f32(float32_t  *a) {
59711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_f32
59811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_f32(a);
599651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s, v[0-9]+.4s *}}}, [{{x[0-9]+|sp}}]
60011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
60111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
602651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x4_t test_vld4q_dup_f64(float64_t  *a) {
60311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_f64
60411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_f64(a);
605651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
60611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
60711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
608651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x4_t test_vld4q_dup_p8(poly8_t  *a) {
60911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_p8
61011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_p8(a);
611651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b, v[0-9]+.16b *}}}, [{{x[0-9]+|sp}}]
61211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
61311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
614651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x4_t test_vld4q_dup_p16(poly16_t  *a) {
61511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_p16
61611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_p16(a);
617651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h, v[0-9]+.8h *}}}, [{{x[0-9]+|sp}}]
61811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
61911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
620651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x4_t test_vld4q_dup_p64(poly64_t  *a) {
62111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_dup_p64
62211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_dup_p64(a);
623651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d, v[0-9]+.2d *}}}, [{{x[0-9]+|sp}}]
62411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
62511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
626651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x4_t test_vld4_dup_u8(uint8_t  *a) {
62711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_u8
62811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_u8(a);
629651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
63011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
63111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
632651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x4_t test_vld4_dup_u16(uint16_t  *a) {
63311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_u16
63411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_u16(a);
635651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
63611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
63711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
638651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x4_t test_vld4_dup_u32(uint32_t  *a) {
63911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_u32
64011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_u32(a);
641651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
64211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
64311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
644651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x4_t test_vld4_dup_u64(uint64_t  *a) {
64511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_u64
64611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_u64(a);
647651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
64811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
64911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
650651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x4_t test_vld4_dup_s8(int8_t  *a) {
65111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_s8
65211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_s8(a);
653651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
65411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
65511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
656651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x4_t test_vld4_dup_s16(int16_t  *a) {
65711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_s16
65811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_s16(a);
659651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
66011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
66111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
662651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x4_t test_vld4_dup_s32(int32_t  *a) {
66311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_s32
66411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_s32(a);
665651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
66611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
66711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
668651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x4_t test_vld4_dup_s64(int64_t  *a) {
66911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_s64
67011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_s64(a);
671651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
67211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
67311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
674651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x4_t test_vld4_dup_f16(float16_t  *a) {
67511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_f16
67611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_f16(a);
677651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
67811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
67911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
680651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x4_t test_vld4_dup_f32(float32_t  *a) {
68111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_f32
68211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_f32(a);
683651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s, v[0-9]+.2s *}}}, [{{x[0-9]+|sp}}]
68411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
68511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
686651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x4_t test_vld4_dup_f64(float64_t  *a) {
68711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_f64
68811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_f64(a);
689651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
69011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
69111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
692651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x4_t test_vld4_dup_p8(poly8_t  *a) {
69311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_p8
69411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_p8(a);
695651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b, v[0-9]+.8b *}}}, [{{x[0-9]+|sp}}]
69611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
69711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
698651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x4_t test_vld4_dup_p16(poly16_t  *a) {
69911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_p16
70011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_p16(a);
701651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4r {{{ *v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h, v[0-9]+.4h *}}}, [{{x[0-9]+|sp}}]
70211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
70311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
704651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x4_t test_vld4_dup_p64(poly64_t  *a) {
70511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_dup_p64
70611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_dup_p64(a);
707651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1|ld4r}} {{{ *v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d, v[0-9]+.1d *}}}, [{{x[0-9]+|sp}}]
70811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
70911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
710651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16_t test_vld1q_lane_u8(uint8_t  *a, uint8x16_t b) {
71111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_u8
71211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_u8(a, b, 15);
713651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
71411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
71511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
716651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8_t test_vld1q_lane_u16(uint16_t  *a, uint16x8_t b) {
71711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_u16
71811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_u16(a, b, 7);
719651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
72011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
72111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
722651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4_t test_vld1q_lane_u32(uint32_t  *a, uint32x4_t b) {
72311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_u32
72411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_u32(a, b, 3);
725651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
72611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
72711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
728651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2_t test_vld1q_lane_u64(uint64_t  *a, uint64x2_t b) {
72911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_u64
73011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_u64(a, b, 1);
731651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
73211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
73311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
734651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16_t test_vld1q_lane_s8(int8_t  *a, int8x16_t b) {
73511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_s8
73611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_s8(a, b, 15);
737651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
73811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
73911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
740651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8_t test_vld1q_lane_s16(int16_t  *a, int16x8_t b) {
74111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_s16
74211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_s16(a, b, 7);
743651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
74411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
74511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
746651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4_t test_vld1q_lane_s32(int32_t  *a, int32x4_t b) {
74711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_s32
74811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_s32(a, b, 3);
749651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
75011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
75111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
752651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2_t test_vld1q_lane_s64(int64_t  *a, int64x2_t b) {
75311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_s64
75411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_s64(a, b, 1);
755651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
75611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
75711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
758651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8_t test_vld1q_lane_f16(float16_t  *a, float16x8_t b) {
75911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_f16
76011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_f16(a, b, 7);
761651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
76211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
76311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
764651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4_t test_vld1q_lane_f32(float32_t  *a, float32x4_t b) {
76511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_f32
76611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_f32(a, b, 3);
767651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
76811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
76911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
770651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2_t test_vld1q_lane_f64(float64_t  *a, float64x2_t b) {
77111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_f64
77211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_f64(a, b, 1);
773651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
77411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
77511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
776651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16_t test_vld1q_lane_p8(poly8_t  *a, poly8x16_t b) {
77711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_p8
77811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_p8(a, b, 15);
779651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
78011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
78111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
782651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8_t test_vld1q_lane_p16(poly16_t  *a, poly16x8_t b) {
78311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_p16
78411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_p16(a, b, 7);
785651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
78611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
78711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
788651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2_t test_vld1q_lane_p64(poly64_t  *a, poly64x2_t b) {
78911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1q_lane_p64
79011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1q_lane_p64(a, b, 1);
791651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
79211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
79311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
794651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8_t test_vld1_lane_u8(uint8_t  *a, uint8x8_t b) {
79511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_u8
79611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_u8(a, b, 7);
797651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
79811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
79911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
800651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4_t test_vld1_lane_u16(uint16_t  *a, uint16x4_t b) {
80111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_u16
80211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_u16(a, b, 3);
803651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
80411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
80511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
806651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2_t test_vld1_lane_u32(uint32_t  *a, uint32x2_t b) {
80711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_u32
80811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_u32(a, b, 1);
809651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
81011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
81111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
812651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1_t test_vld1_lane_u64(uint64_t  *a, uint64x1_t b) {
81311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_u64
81411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_u64(a, b, 0);
815651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
81611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
81711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
818651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8_t test_vld1_lane_s8(int8_t  *a, int8x8_t b) {
81911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_s8
82011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_s8(a, b, 7);
821651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
82211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
82311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
824651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4_t test_vld1_lane_s16(int16_t  *a, int16x4_t b) {
82511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_s16
82611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_s16(a, b, 3);
827651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
82811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
82911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
830651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2_t test_vld1_lane_s32(int32_t  *a, int32x2_t b) {
83111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_s32
83211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_s32(a, b, 1);
833651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
83411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
83511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
836651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1_t test_vld1_lane_s64(int64_t  *a, int64x1_t b) {
83711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_s64
83811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_s64(a, b, 0);
839651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
84011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
84111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
842651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4_t test_vld1_lane_f16(float16_t  *a, float16x4_t b) {
84311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_f16
84411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_f16(a, b, 3);
845651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
84611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
84711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
848651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2_t test_vld1_lane_f32(float32_t  *a, float32x2_t b) {
84911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_f32
85011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_f32(a, b, 1);
851651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
85211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
85311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
854651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1_t test_vld1_lane_f64(float64_t  *a, float64x1_t b) {
85511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_f64
85611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_f64(a, b, 0);
857651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
85811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
85911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
860651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8_t test_vld1_lane_p8(poly8_t  *a, poly8x8_t b) {
86111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_p8
86211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_p8(a, b, 7);
863651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
86411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
86511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
866651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4_t test_vld1_lane_p16(poly16_t  *a, poly16x4_t b) {
86711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_p16
86811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_p16(a, b, 3);
869651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
87011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
87111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
872651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1_t test_vld1_lane_p64(poly64_t  *a, poly64x1_t b) {
87311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld1_lane_p64
87411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld1_lane_p64(a, b, 0);
875651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{ld1r {v[0-9]+.1d}|ldr d[0-9]+}}, [{{x[0-9]+|sp}}]
876651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
877651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
878651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x2_t test_vld2q_lane_s8(int8_t const * ptr, int8x16x2_t src) {
879651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vld2q_lane_s8
880651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return vld2q_lane_s8(ptr, src, 15);
881651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b,  v[0-9]+.b *}}}[15], [x0]
882651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
883651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
884651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x2_t test_vld2q_lane_u8(uint8_t const * ptr, uint8x16x2_t src) {
885651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vld2q_lane_u8
886651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return vld2q_lane_u8(ptr, src, 15);
887651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [x0]
888651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
889651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
890651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x2_t test_vld2q_lane_p8(poly8_t const * ptr, poly8x16x2_t src) {
891651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vld2q_lane_p8
892651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return vld2q_lane_p8(ptr, src, 15);
893651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [x0]
894651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
895651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
896651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x3_t test_vld3q_lane_s8(int8_t const * ptr, int8x16x3_t src) {
897651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vld3q_lane_s8
898651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return vld3q_lane_s8(ptr, src, 15);
899651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [x0]
900651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
901651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
902651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x3_t test_vld3q_lane_u8(uint8_t const * ptr, uint8x16x3_t src) {
903651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK-LABEL: test_vld3q_lane_u8
904651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  return vld3q_lane_u8(ptr, src, 15);
905651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [x0]
90611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
90711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
908651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x2_t test_vld2q_lane_u16(uint16_t  *a, uint16x8x2_t b) {
90911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_u16
91011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_u16(a, b, 7);
911651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
91211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
91311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
914651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x2_t test_vld2q_lane_u32(uint32_t  *a, uint32x4x2_t b) {
91511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_u32
91611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_u32(a, b, 3);
917651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
91811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
91911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
920651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x2_t test_vld2q_lane_u64(uint64_t  *a, uint64x2x2_t b) {
92111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_u64
92211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_u64(a, b, 1);
923651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
92411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
92511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
926651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x2_t test_vld2q_lane_s16(int16_t  *a, int16x8x2_t b) {
92711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_s16
92811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_s16(a, b, 7);
929651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
93011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
93111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
932651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x2_t test_vld2q_lane_s32(int32_t  *a, int32x4x2_t b) {
93311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_s32
93411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_s32(a, b, 3);
935651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
93611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
93711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
938651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x2_t test_vld2q_lane_s64(int64_t  *a, int64x2x2_t b) {
93911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_s64
94011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_s64(a, b, 1);
941651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
94211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
94311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
944651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x2_t test_vld2q_lane_f16(float16_t  *a, float16x8x2_t b) {
94511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_f16
94611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_f16(a, b, 7);
947651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
94811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
94911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
950651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x2_t test_vld2q_lane_f32(float32_t  *a, float32x4x2_t b) {
95111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_f32
95211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_f32(a, b, 3);
953651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
95411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
95511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
956651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x2_t test_vld2q_lane_f64(float64_t  *a, float64x2x2_t b) {
95711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_f64
95811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_f64(a, b, 1);
959651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
96011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
96111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
962651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x2_t test_vld2q_lane_p16(poly16_t  *a, poly16x8x2_t b) {
96311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_p16
96411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_p16(a, b, 7);
965651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
96611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
96711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
968651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x2_t test_vld2q_lane_p64(poly64_t  *a, poly64x2x2_t b) {
96911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2q_lane_p64
97011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2q_lane_p64(a, b, 1);
971651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
97211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
97311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
974651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x2_t test_vld2_lane_u8(uint8_t  *a, uint8x8x2_t b) {
97511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_u8
97611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_u8(a, b, 7);
977651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
97811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
97911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
980651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x2_t test_vld2_lane_u16(uint16_t  *a, uint16x4x2_t b) {
98111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_u16
98211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_u16(a, b, 3);
983651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
98411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
98511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
986651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x2_t test_vld2_lane_u32(uint32_t  *a, uint32x2x2_t b) {
98711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_u32
98811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_u32(a, b, 1);
989651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
99011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
99111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
992651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x2_t test_vld2_lane_u64(uint64_t  *a, uint64x1x2_t b) {
99311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_u64
99411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_u64(a, b, 0);
995651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
99611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
99711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
998651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x2_t test_vld2_lane_s8(int8_t  *a, int8x8x2_t b) {
99911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_s8
100011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_s8(a, b, 7);
1001651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
100211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
100311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1004651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x2_t test_vld2_lane_s16(int16_t  *a, int16x4x2_t b) {
100511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_s16
100611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_s16(a, b, 3);
1007651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
100811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
100911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1010651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x2_t test_vld2_lane_s32(int32_t  *a, int32x2x2_t b) {
101111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_s32
101211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_s32(a, b, 1);
1013651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
101411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
101511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1016651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x2_t test_vld2_lane_s64(int64_t  *a, int64x1x2_t b) {
101711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_s64
101811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_s64(a, b, 0);
1019651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
102011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
102111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1022651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x2_t test_vld2_lane_f16(float16_t  *a, float16x4x2_t b) {
102311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_f16
102411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_f16(a, b, 3);
1025651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
102611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
102711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1028651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x2_t test_vld2_lane_f32(float32_t  *a, float32x2x2_t b) {
102911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_f32
103011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_f32(a, b, 1);
1031651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
103211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
103311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1034651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x2_t test_vld2_lane_f64(float64_t  *a, float64x1x2_t b) {
103511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_f64
103611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_f64(a, b, 0);
1037651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
103811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
103911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1040651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x2_t test_vld2_lane_p8(poly8_t  *a, poly8x8x2_t b) {
104111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_p8
104211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_p8(a, b, 7);
1043651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
104411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
104511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1046651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x2_t test_vld2_lane_p16(poly16_t  *a, poly16x4x2_t b) {
104711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_p16
104811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_p16(a, b, 3);
1049651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
105011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
105111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1052651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x2_t test_vld2_lane_p64(poly64_t  *a, poly64x1x2_t b) {
105311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld2_lane_p64
105411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld2_lane_p64(a, b, 0);
1055651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
105611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
105711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1058651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x3_t test_vld3q_lane_u16(uint16_t  *a, uint16x8x3_t b) {
105911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_u16
106011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_u16(a, b, 7);
1061651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
106211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
106311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1064651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x3_t test_vld3q_lane_u32(uint32_t  *a, uint32x4x3_t b) {
106511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_u32
106611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_u32(a, b, 3);
1067651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
106811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
106911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1070651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x3_t test_vld3q_lane_u64(uint64_t  *a, uint64x2x3_t b) {
107111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_u64
107211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_u64(a, b, 1);
1073651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
107411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
107511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1076651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x3_t test_vld3q_lane_s16(int16_t  *a, int16x8x3_t b) {
107711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_s16
107811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_s16(a, b, 7);
1079651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
108011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
108111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1082651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x3_t test_vld3q_lane_s32(int32_t  *a, int32x4x3_t b) {
108311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_s32
108411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_s32(a, b, 3);
1085651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
108611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
108711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1088651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x3_t test_vld3q_lane_s64(int64_t  *a, int64x2x3_t b) {
108911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_s64
109011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_s64(a, b, 1);
1091651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
109211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
109311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1094651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x3_t test_vld3q_lane_f16(float16_t  *a, float16x8x3_t b) {
109511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_f16
109611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_f16(a, b, 7);
1097651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
109811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
109911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1100651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x3_t test_vld3q_lane_f32(float32_t  *a, float32x4x3_t b) {
110111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_f32
110211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_f32(a, b, 3);
1103651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
110411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
110511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1106651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x3_t test_vld3q_lane_f64(float64_t  *a, float64x2x3_t b) {
110711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_f64
110811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_f64(a, b, 1);
1109651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
111011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
111111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1112651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x3_t test_vld3q_lane_p8(poly8_t  *a, poly8x16x3_t b) {
111311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_p8
111411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_p8(a, b, 15);
1115651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
111611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
111711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1118651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x3_t test_vld3q_lane_p16(poly16_t  *a, poly16x8x3_t b) {
111911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_p16
112011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_p16(a, b, 7);
1121651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
112211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
112311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1124651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x3_t test_vld3q_lane_p64(poly64_t  *a, poly64x2x3_t b) {
112511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3q_lane_p64
112611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3q_lane_p64(a, b, 1);
1127651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
112811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
112911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1130651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x3_t test_vld3_lane_u8(uint8_t  *a, uint8x8x3_t b) {
113111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_u8
113211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_u8(a, b, 7);
1133651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
113411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
113511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1136651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x3_t test_vld3_lane_u16(uint16_t  *a, uint16x4x3_t b) {
113711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_u16
113811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_u16(a, b, 3);
1139651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
114011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
114111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1142651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x3_t test_vld3_lane_u32(uint32_t  *a, uint32x2x3_t b) {
114311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_u32
114411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_u32(a, b, 1);
1145651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
114611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
114711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1148651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x3_t test_vld3_lane_u64(uint64_t  *a, uint64x1x3_t b) {
114911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_u64
115011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_u64(a, b, 0);
1151651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
115211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
115311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1154651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x3_t test_vld3_lane_s8(int8_t  *a, int8x8x3_t b) {
115511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_s8
115611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_s8(a, b, 7);
1157651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
115811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
115911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1160651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x3_t test_vld3_lane_s16(int16_t  *a, int16x4x3_t b) {
116111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_s16
116211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_s16(a, b, 3);
1163651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
116411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
116511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1166651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x3_t test_vld3_lane_s32(int32_t  *a, int32x2x3_t b) {
116711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_s32
116811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_s32(a, b, 1);
1169651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
117011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
117111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1172651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x3_t test_vld3_lane_s64(int64_t  *a, int64x1x3_t b) {
117311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_s64
117411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_s64(a, b, 0);
1175651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
117611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
117711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1178651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x3_t test_vld3_lane_f16(float16_t  *a, float16x4x3_t b) {
117911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_f16
118011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_f16(a, b, 3);
1181651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
118211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
118311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1184651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x3_t test_vld3_lane_f32(float32_t  *a, float32x2x3_t b) {
118511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_f32
118611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_f32(a, b, 1);
1187651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
118811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
118911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1190651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x3_t test_vld3_lane_f64(float64_t  *a, float64x1x3_t b) {
119111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_f64
119211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_f64(a, b, 0);
1193651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
119411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
119511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1196651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x3_t test_vld3_lane_p8(poly8_t  *a, poly8x8x3_t b) {
119711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_p8
119811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_p8(a, b, 7);
1199651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
120011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
120111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1202651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x3_t test_vld3_lane_p16(poly16_t  *a, poly16x4x3_t b) {
120311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_p16
120411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_p16(a, b, 3);
1205651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
120611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
120711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1208651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x3_t test_vld3_lane_p64(poly64_t  *a, poly64x1x3_t b) {
120911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld3_lane_p64
121011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld3_lane_p64(a, b, 0);
1211651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
121211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
121311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1214651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x16x4_t test_vld4q_lane_u8(uint8_t  *a, uint8x16x4_t b) {
121511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_u8
121611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_u8(a, b, 15);
1217651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
121811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
121911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1220651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x8x4_t test_vld4q_lane_u16(uint16_t  *a, uint16x8x4_t b) {
122111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_u16
122211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_u16(a, b, 7);
1223651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
122411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
122511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1226651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x4x4_t test_vld4q_lane_u32(uint32_t  *a, uint32x4x4_t b) {
122711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_u32
122811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_u32(a, b, 3);
1229651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
123011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
123111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1232651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x2x4_t test_vld4q_lane_u64(uint64_t  *a, uint64x2x4_t b) {
123311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_u64
123411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_u64(a, b, 1);
1235651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
123611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
123711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1238651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x16x4_t test_vld4q_lane_s8(int8_t  *a, int8x16x4_t b) {
123911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_s8
124011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_s8(a, b, 15);
1241651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
124211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
124311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1244651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x8x4_t test_vld4q_lane_s16(int16_t  *a, int16x8x4_t b) {
124511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_s16
124611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_s16(a, b, 7);
1247651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
124811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
124911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1250651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x4x4_t test_vld4q_lane_s32(int32_t  *a, int32x4x4_t b) {
125111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_s32
125211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_s32(a, b, 3);
1253651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
125411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
125511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1256651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x2x4_t test_vld4q_lane_s64(int64_t  *a, int64x2x4_t b) {
125711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_s64
125811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_s64(a, b, 1);
1259651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
126011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
126111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1262651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x8x4_t test_vld4q_lane_f16(float16_t  *a, float16x8x4_t b) {
126311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_f16
126411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_f16(a, b, 7);
1265651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
126611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
126711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1268651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x4x4_t test_vld4q_lane_f32(float32_t  *a, float32x4x4_t b) {
126911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_f32
127011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_f32(a, b, 3);
1271651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
127211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
127311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1274651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x2x4_t test_vld4q_lane_f64(float64_t  *a, float64x2x4_t b) {
127511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_f64
127611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_f64(a, b, 1);
1277651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
127811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
127911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1280651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x16x4_t test_vld4q_lane_p8(poly8_t  *a, poly8x16x4_t b) {
128111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_p8
128211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_p8(a, b, 15);
1283651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
128411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
128511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1286651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x8x4_t test_vld4q_lane_p16(poly16_t  *a, poly16x8x4_t b) {
128711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_p16
128811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_p16(a, b, 7);
1289651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
129011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
129111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1292651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x2x4_t test_vld4q_lane_p64(poly64_t  *a, poly64x2x4_t b) {
129311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4q_lane_p64
129411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4q_lane_p64(a, b, 1);
1295651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
129611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
129711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1298651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint8x8x4_t test_vld4_lane_u8(uint8_t  *a, uint8x8x4_t b) {
129911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_u8
130011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_u8(a, b, 7);
1301651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
130211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
130311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1304651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint16x4x4_t test_vld4_lane_u16(uint16_t  *a, uint16x4x4_t b) {
130511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_u16
130611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_u16(a, b, 3);
1307651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
130811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
130911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1310651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint32x2x4_t test_vld4_lane_u32(uint32_t  *a, uint32x2x4_t b) {
131111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_u32
131211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_u32(a, b, 1);
1313651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
131411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
131511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1316651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesuint64x1x4_t test_vld4_lane_u64(uint64_t  *a, uint64x1x4_t b) {
131711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_u64
131811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_u64(a, b, 0);
1319651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
132011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
132111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1322651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint8x8x4_t test_vld4_lane_s8(int8_t  *a, int8x8x4_t b) {
132311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_s8
132411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_s8(a, b, 7);
1325651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
132611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
132711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1328651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint16x4x4_t test_vld4_lane_s16(int16_t  *a, int16x4x4_t b) {
132911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_s16
133011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_s16(a, b, 3);
1331651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
133211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
133311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1334651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint32x2x4_t test_vld4_lane_s32(int32_t  *a, int32x2x4_t b) {
133511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_s32
133611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_s32(a, b, 1);
1337651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
133811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
133911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1340651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint64x1x4_t test_vld4_lane_s64(int64_t  *a, int64x1x4_t b) {
134111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_s64
134211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_s64(a, b, 0);
1343651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
134411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
134511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1346651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat16x4x4_t test_vld4_lane_f16(float16_t  *a, float16x4x4_t b) {
134711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_f16
134811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_f16(a, b, 3);
1349651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
135011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
135111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1352651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat32x2x4_t test_vld4_lane_f32(float32_t  *a, float32x2x4_t b) {
135311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_f32
135411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_f32(a, b, 1);
1355651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
135611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
135711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1358651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesfloat64x1x4_t test_vld4_lane_f64(float64_t  *a, float64x1x4_t b) {
135911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_f64
136011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_f64(a, b, 0);
1361651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
136211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
136311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1364651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly8x8x4_t test_vld4_lane_p8(poly8_t  *a, poly8x8x4_t b) {
136511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_p8
136611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_p8(a, b, 7);
1367651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
136811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
136911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1370651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly16x4x4_t test_vld4_lane_p16(poly16_t  *a, poly16x4x4_t b) {
137111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_p16
137211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_p16(a, b, 3);
1373651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
137411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
137511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1376651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinespoly64x1x4_t test_vld4_lane_p64(poly64_t  *a, poly64x1x4_t b) {
137711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vld4_lane_p64
137811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  return vld4_lane_p64(a, b, 0);
1379651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: ld4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
138011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
138111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1382651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_u8(uint8_t  *a, uint8x16_t b) {
138311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_u8
138411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_u8(a, b, 15);
1385651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
138611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
138711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1388651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_u16(uint16_t  *a, uint16x8_t b) {
138911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_u16
139011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_u16(a, b, 7);
1391651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
139211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
139311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1394651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_u32(uint32_t  *a, uint32x4_t b) {
139511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_u32
139611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_u32(a, b, 3);
1397651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
139811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
139911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1400651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_u64(uint64_t  *a, uint64x2_t b) {
140111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_u64
140211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_u64(a, b, 1);
1403651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
140411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
140511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1406651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_s8(int8_t  *a, int8x16_t b) {
140711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_s8
140811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_s8(a, b, 15);
1409651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
141011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
141111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1412651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_s16(int16_t  *a, int16x8_t b) {
141311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_s16
141411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_s16(a, b, 7);
1415651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
141611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
141711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1418651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_s32(int32_t  *a, int32x4_t b) {
141911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_s32
142011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_s32(a, b, 3);
1421651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
142211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
142311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1424651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_s64(int64_t  *a, int64x2_t b) {
142511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_s64
142611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_s64(a, b, 1);
1427651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
142811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
142911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1430651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_f16(float16_t  *a, float16x8_t b) {
143111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_f16
143211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_f16(a, b, 7);
1433651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
143411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
143511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1436651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_f32(float32_t  *a, float32x4_t b) {
143711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_f32
143811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_f32(a, b, 3);
1439651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
144011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
144111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1442651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_f64(float64_t  *a, float64x2_t b) {
144311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_f64
144411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_f64(a, b, 1);
1445651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
144611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
144711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1448651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_p8(poly8_t  *a, poly8x16_t b) {
144911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_p8
145011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_p8(a, b, 15);
1451651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
145211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
145311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1454651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_p16(poly16_t  *a, poly16x8_t b) {
145511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_p16
145611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_p16(a, b, 7);
1457651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
145811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
145911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1460651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1q_lane_p64(poly64_t  *a, poly64x2_t b) {
146111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1q_lane_p64
146211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1q_lane_p64(a, b, 1);
1463651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
146411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
146511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1466651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_u8(uint8_t  *a, uint8x8_t b) {
146711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_u8
146811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_u8(a, b, 7);
1469651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
147011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
147111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1472651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_u16(uint16_t  *a, uint16x4_t b) {
147311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_u16
147411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_u16(a, b, 3);
1475651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
147611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
147711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1478651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_u32(uint32_t  *a, uint32x2_t b) {
147911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_u32
148011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_u32(a, b, 1);
1481651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
148211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
148311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1484651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_u64(uint64_t  *a, uint64x1_t b) {
148511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_u64
148611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_u64(a, b, 0);
1487651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
148811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
148911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1490651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_s8(int8_t  *a, int8x8_t b) {
149111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_s8
149211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_s8(a, b, 7);
1493651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
149411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
149511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1496651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_s16(int16_t  *a, int16x4_t b) {
149711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_s16
149811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_s16(a, b, 3);
1499651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
150011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
150111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1502651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_s32(int32_t  *a, int32x2_t b) {
150311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_s32
150411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_s32(a, b, 1);
1505651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
150611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
150711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1508651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_s64(int64_t  *a, int64x1_t b) {
150911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_s64
151011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_s64(a, b, 0);
1511651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
151211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
151311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1514651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_f16(float16_t  *a, float16x4_t b) {
151511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_f16
151611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_f16(a, b, 3);
1517651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
151811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
151911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1520651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_f32(float32_t  *a, float32x2_t b) {
152111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_f32
152211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_f32(a, b, 1);
1523651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
152411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
152511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1526651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_f64(float64_t  *a, float64x1_t b) {
152711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_f64
152811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_f64(a, b, 0);
1529651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: {{st1 {v[0-9]+.d}\[0]|str d[0-9]+}}, [{{x[0-9]+|sp}}]
153011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
153111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1532651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_p8(poly8_t  *a, poly8x8_t b) {
153311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_p8
153411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_p8(a, b, 7);
1535651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
153611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
153711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1538651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_p16(poly16_t  *a, poly16x4_t b) {
153911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_p16
154011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_p16(a, b, 3);
1541651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
154211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
154311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1544651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst1_lane_p64(poly64_t  *a, poly64x1_t b) {
154511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst1_lane_p64
154611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst1_lane_p64(a, b, 0);
1547651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st1 {{{ *v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
154811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
154911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1550651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_u8(uint8_t  *a, uint8x16x2_t b) {
155111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_u8
155211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_u8(a, b, 15);
1553651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
155411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
155511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1556651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_u16(uint16_t  *a, uint16x8x2_t b) {
155711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_u16
155811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_u16(a, b, 7);
1559651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
156011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
156111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1562651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_u32(uint32_t  *a, uint32x4x2_t b) {
156311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_u32
156411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_u32(a, b, 3);
1565651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
156611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
156711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1568651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_u64(uint64_t  *a, uint64x2x2_t b) {
156911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_u64
157011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_u64(a, b, 1);
1571651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
157211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
157311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1574651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_s8(int8_t  *a, int8x16x2_t b) {
157511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_s8
157611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_s8(a, b, 15);
1577651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
157811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
157911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1580651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_s16(int16_t  *a, int16x8x2_t b) {
158111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_s16
158211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_s16(a, b, 7);
1583651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
158411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
158511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1586651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_s32(int32_t  *a, int32x4x2_t b) {
158711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_s32
158811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_s32(a, b, 3);
1589651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
159011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
159111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1592651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_s64(int64_t  *a, int64x2x2_t b) {
159311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_s64
159411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_s64(a, b, 1);
1595651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
159611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
159711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1598651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_f16(float16_t  *a, float16x8x2_t b) {
159911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_f16
160011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_f16(a, b, 7);
1601651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
160211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
160311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1604651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_f32(float32_t  *a, float32x4x2_t b) {
160511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_f32
160611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_f32(a, b, 3);
1607651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
160811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
160911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1610651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_f64(float64_t  *a, float64x2x2_t b) {
161111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_f64
161211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_f64(a, b, 1);
1613651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
161411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
161511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1616651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_p8(poly8_t  *a, poly8x16x2_t b) {
161711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_p8
161811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_p8(a, b, 15);
1619651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
162011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
162111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1622651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_p16(poly16_t  *a, poly16x8x2_t b) {
162311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_p16
162411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_p16(a, b, 7);
1625651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
162611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
162711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1628651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2q_lane_p64(poly64_t  *a, poly64x2x2_t b) {
162911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2q_lane_p64
163011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2q_lane_p64(a, b, 1);
1631651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
163211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
163311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1634651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_u8(uint8_t  *a, uint8x8x2_t b) {
163511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_u8
163611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_u8(a, b, 7);
1637651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
163811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
163911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1640651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_u16(uint16_t  *a, uint16x4x2_t b) {
164111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_u16
164211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_u16(a, b, 3);
1643651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
164411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
164511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1646651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_u32(uint32_t  *a, uint32x2x2_t b) {
164711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_u32
164811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_u32(a, b, 1);
1649651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
165011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
165111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1652651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_u64(uint64_t  *a, uint64x1x2_t b) {
165311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_u64
165411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_u64(a, b, 0);
1655651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
165611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
165711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1658651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_s8(int8_t  *a, int8x8x2_t b) {
165911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_s8
166011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_s8(a, b, 7);
1661651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
166211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
166311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1664651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_s16(int16_t  *a, int16x4x2_t b) {
166511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_s16
166611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_s16(a, b, 3);
1667651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
166811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
166911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1670651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_s32(int32_t  *a, int32x2x2_t b) {
167111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_s32
167211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_s32(a, b, 1);
1673651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
167411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
167511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1676651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_s64(int64_t  *a, int64x1x2_t b) {
167711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_s64
167811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_s64(a, b, 0);
1679651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
168011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
168111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1682651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_f16(float16_t  *a, float16x4x2_t b) {
168311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_f16
168411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_f16(a, b, 3);
1685651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
168611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
168711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1688651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_f32(float32_t  *a, float32x2x2_t b) {
168911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_f32
169011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_f32(a, b, 1);
1691651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
169211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
169311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1694651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_f64(float64_t  *a, float64x1x2_t b) {
169511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_f64
169611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_f64(a, b, 0);
1697651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
169811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
169911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1700651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_p8(poly8_t  *a, poly8x8x2_t b) {
170111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_p8
170211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_p8(a, b, 7);
1703651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
170411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
170511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1706651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_p16(poly16_t  *a, poly16x4x2_t b) {
170711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_p16
170811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_p16(a, b, 3);
1709651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
171011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
171111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1712651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst2_lane_p64(poly64_t  *a, poly64x1x2_t b) {
171311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst2_lane_p64
171411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst2_lane_p64(a, b, 0);
1715651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st2 {{{ *v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
171611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
171711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1718651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_u8(uint8_t  *a, uint8x16x3_t b) {
171911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_u8
172011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_u8(a, b, 15);
1721651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
172211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
172311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1724651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_u16(uint16_t  *a, uint16x8x3_t b) {
172511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_u16
172611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_u16(a, b, 7);
1727651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
172811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
172911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1730651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_u32(uint32_t  *a, uint32x4x3_t b) {
173111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_u32
173211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_u32(a, b, 3);
1733651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
173411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
173511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1736651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_u64(uint64_t  *a, uint64x2x3_t b) {
173711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_u64
173811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_u64(a, b, 1);
1739651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
174011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
174111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1742651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_s8(int8_t  *a, int8x16x3_t b) {
174311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_s8
174411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_s8(a, b, 15);
1745651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
174611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
174711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1748651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_s16(int16_t  *a, int16x8x3_t b) {
174911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_s16
175011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_s16(a, b, 7);
1751651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
175211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
175311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1754651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_s32(int32_t  *a, int32x4x3_t b) {
175511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_s32
175611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_s32(a, b, 3);
1757651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
175811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
175911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1760651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_s64(int64_t  *a, int64x2x3_t b) {
176111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_s64
176211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_s64(a, b, 1);
1763651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
176411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
176511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1766651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_f16(float16_t  *a, float16x8x3_t b) {
176711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_f16
176811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_f16(a, b, 7);
1769651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
177011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
177111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1772651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_f32(float32_t  *a, float32x4x3_t b) {
177311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_f32
177411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_f32(a, b, 3);
1775651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
177611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
177711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1778651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_f64(float64_t  *a, float64x2x3_t b) {
177911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_f64
178011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_f64(a, b, 1);
1781651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
178211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
178311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1784651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_p8(poly8_t  *a, poly8x16x3_t b) {
178511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_p8
178611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_p8(a, b, 15);
1787651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
178811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
178911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1790651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_p16(poly16_t  *a, poly16x8x3_t b) {
179111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_p16
179211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_p16(a, b, 7);
1793651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
179411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
179511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1796651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3q_lane_p64(poly64_t  *a, poly64x2x3_t b) {
179711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3q_lane_p64
179811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3q_lane_p64(a, b, 1);
1799651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
180011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
180111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1802651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_u8(uint8_t  *a, uint8x8x3_t b) {
180311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_u8
180411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_u8(a, b, 7);
1805651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
180611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
180711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1808651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_u16(uint16_t  *a, uint16x4x3_t b) {
180911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_u16
181011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_u16(a, b, 3);
1811651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
181211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
181311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1814651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_u32(uint32_t  *a, uint32x2x3_t b) {
181511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_u32
181611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_u32(a, b, 1);
1817651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
181811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
181911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1820651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_u64(uint64_t  *a, uint64x1x3_t b) {
182111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_u64
182211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_u64(a, b, 0);
1823651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
182411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
182511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1826651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_s8(int8_t  *a, int8x8x3_t b) {
182711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_s8
182811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_s8(a, b, 7);
1829651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
183011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
183111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1832651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_s16(int16_t  *a, int16x4x3_t b) {
183311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_s16
183411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_s16(a, b, 3);
1835651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
183611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
183711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1838651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_s32(int32_t  *a, int32x2x3_t b) {
183911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_s32
184011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_s32(a, b, 1);
1841651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
184211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
184311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1844651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_s64(int64_t  *a, int64x1x3_t b) {
184511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_s64
184611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_s64(a, b, 0);
1847651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
184811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
184911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1850651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_f16(float16_t  *a, float16x4x3_t b) {
185111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_f16
185211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_f16(a, b, 3);
1853651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
185411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
185511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1856651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_f32(float32_t  *a, float32x2x3_t b) {
185711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_f32
185811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_f32(a, b, 1);
1859651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
186011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
186111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1862651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_f64(float64_t  *a, float64x1x3_t b) {
186311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_f64
186411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_f64(a, b, 0);
1865651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
186611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
186711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1868651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_p8(poly8_t  *a, poly8x8x3_t b) {
186911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_p8
187011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_p8(a, b, 7);
1871651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
187211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
187311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1874651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_p16(poly16_t  *a, poly16x4x3_t b) {
187511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_p16
187611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_p16(a, b, 3);
1877651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
187811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
187911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1880651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst3_lane_p64(poly64_t  *a, poly64x1x3_t b) {
188111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst3_lane_p64
188211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst3_lane_p64(a, b, 0);
1883651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st3 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
188411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
188511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1886651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_u8(uint8_t  *a, uint8x16x4_t b) {
188711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_u8
188811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_u8(a, b, 15);
1889651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
189011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
189111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1892651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_u16(uint16_t  *a, uint16x8x4_t b) {
189311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_u16
189411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_u16(a, b, 7);
1895651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
189611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
189711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1898651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_u32(uint32_t  *a, uint32x4x4_t b) {
189911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_u32
190011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_u32(a, b, 3);
1901651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
190211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
190311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1904651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_u64(uint64_t  *a, uint64x2x4_t b) {
190511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_u64
190611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_u64(a, b, 1);
1907651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
190811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
190911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1910651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_s8(int8_t  *a, int8x16x4_t b) {
191111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_s8
191211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_s8(a, b, 15);
1913651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
191411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
191511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1916651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_s16(int16_t  *a, int16x8x4_t b) {
191711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_s16
191811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_s16(a, b, 7);
1919651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
192011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
192111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1922651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_s32(int32_t  *a, int32x4x4_t b) {
192311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_s32
192411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_s32(a, b, 3);
1925651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
192611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
192711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1928651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_s64(int64_t  *a, int64x2x4_t b) {
192911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_s64
193011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_s64(a, b, 1);
1931651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
193211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
193311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1934651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_f16(float16_t  *a, float16x8x4_t b) {
193511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_f16
193611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_f16(a, b, 7);
1937651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
193811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
193911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1940651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_f32(float32_t  *a, float32x4x4_t b) {
194111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_f32
194211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_f32(a, b, 3);
1943651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[3], [{{x[0-9]+|sp}}]
194411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
194511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1946651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_f64(float64_t  *a, float64x2x4_t b) {
194711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_f64
194811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_f64(a, b, 1);
1949651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
195011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
195111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1952651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_p8(poly8_t  *a, poly8x16x4_t b) {
195311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_p8
195411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_p8(a, b, 15);
1955651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[15], [{{x[0-9]+|sp}}]
195611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
195711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1958651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_p16(poly16_t  *a, poly16x8x4_t b) {
195911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_p16
196011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_p16(a, b, 7);
1961651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[7], [{{x[0-9]+|sp}}]
196211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
196311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1964651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4q_lane_p64(poly64_t  *a, poly64x2x4_t b) {
196511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4q_lane_p64
196611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4q_lane_p64(a, b, 1);
1967651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[1], [{{x[0-9]+|sp}}]
196811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
196911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1970651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_u8(uint8_t  *a, uint8x8x4_t b) {
197111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_u8
197211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_u8(a, b, 7);
1973651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
197411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
197511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1976651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_u16(uint16_t  *a, uint16x4x4_t b) {
197711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_u16
197811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_u16(a, b, 3);
1979651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
198011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
198111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1982651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_u32(uint32_t  *a, uint32x2x4_t b) {
198311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_u32
198411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_u32(a, b, 1);
1985651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
198611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
198711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1988651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_u64(uint64_t  *a, uint64x1x4_t b) {
198911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_u64
199011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_u64(a, b, 0);
1991651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
199211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
199311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
1994651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_s8(int8_t  *a, int8x8x4_t b) {
199511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_s8
199611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_s8(a, b, 7);
1997651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
199811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
199911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2000651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_s16(int16_t  *a, int16x4x4_t b) {
200111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_s16
200211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_s16(a, b, 3);
2003651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
200411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
200511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2006651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_s32(int32_t  *a, int32x2x4_t b) {
200711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_s32
200811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_s32(a, b, 1);
2009651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
201011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
201111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2012651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_s64(int64_t  *a, int64x1x4_t b) {
201311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_s64
201411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_s64(a, b, 0);
2015651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
201611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
201711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2018651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_f16(float16_t  *a, float16x4x4_t b) {
201911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_f16
202011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_f16(a, b, 3);
2021651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
202211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
202311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2024651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_f32(float32_t  *a, float32x2x4_t b) {
202511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_f32
202611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_f32(a, b, 1);
2027651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.s, v[0-9]+.s, v[0-9]+.s, v[0-9]+.s *}}}[1], [{{x[0-9]+|sp}}]
202811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
202911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2030651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_f64(float64_t  *a, float64x1x4_t b) {
203111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_f64
203211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_f64(a, b, 0);
2033651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
203411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
203511a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2036651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_p8(poly8_t  *a, poly8x8x4_t b) {
203711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_p8
203811a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_p8(a, b, 7);
2039651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.b, v[0-9]+.b, v[0-9]+.b, v[0-9]+.b *}}}[7], [{{x[0-9]+|sp}}]
204011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
204111a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2042651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_p16(poly16_t  *a, poly16x4x4_t b) {
204311a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_p16
204411a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_p16(a, b, 3);
2045651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.h, v[0-9]+.h, v[0-9]+.h, v[0-9]+.h *}}}[3], [{{x[0-9]+|sp}}]
204611a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
204711a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu
2048651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test_vst4_lane_p64(poly64_t  *a, poly64x1x4_t b) {
204911a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  // CHECK-LABEL: test_vst4_lane_p64
205011a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu  vst4_lane_p64(a, b, 0);
2051651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  // CHECK: st4 {{{ *v[0-9]+.d, v[0-9]+.d, v[0-9]+.d, v[0-9]+.d *}}}[0], [{{x[0-9]+|sp}}]
205211a94f9ccaf29bb7cd073787d5cb6d130a38bf62Hao Liu}
2053