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