xref: /aosp_15_r20/external/llvm/test/MC/AArch64/neon-simd-ldst-multi-elem.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64 -mattr=+neon -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
6*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from one register
7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
8*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b }, [x0]
9*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h }, [x15]
10*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s }, [sp]
11*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d }, [x0]
12*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b }, [x0]
13*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h }, [x15]
14*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s }, [sp]
15*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d }, [x0]
16*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b }, [x0]          // encoding: [0x00,0x70,0x00,0x4c]
17*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h }, [x15]         // encoding: [0xef,0x75,0x00,0x4c]
18*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s }, [sp]          // encoding: [0xff,0x7b,0x00,0x4c]
19*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d }, [x0]           // encoding: [0x00,0x7c,0x00,0x4c]
20*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b }, [x0]           // encoding: [0x00,0x70,0x00,0x0c]
21*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h }, [x15]         // encoding: [0xef,0x75,0x00,0x0c]
22*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s }, [sp]          // encoding: [0xff,0x7b,0x00,0x0c]
23*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d }, [x0]           // encoding: [0x00,0x7c,0x00,0x0c]
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
26*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from two consecutive registers
27*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
28*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b, v1.16b }, [x0]
29*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h, v16.8h }, [x15]
30*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s, v0.4s }, [sp]
31*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d, v1.2d }, [x0]
32*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b, v1.8b }, [x0]
33*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h, v16.4h }, [x15]
34*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s, v0.2s }, [sp]
35*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d, v1.1d }, [x0]
36*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x00,0x4c]
37*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c]
38*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x00,0x4c]
39*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x00,0x4c]
40*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x00,0x0c]
41*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c]
42*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x00,0x0c]
43*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x00,0x0c]
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b-v1.16b }, [x0]
46*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h-v16.8h }, [x15]
47*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s-v0.4s }, [sp]
48*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d-v1.2d }, [x0]
49*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b-v1.8b }, [x0]
50*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h-v16.4h }, [x15]
51*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s-v0.2s }, [sp]
52*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d-v1.1d }, [x0]
53*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x00,0x4c]
54*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c]
55*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x00,0x4c]
56*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x00,0x4c]
57*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x00,0x0c]
58*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c]
59*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x00,0x0c]
60*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x00,0x0c]
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
63*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from three consecutive registers
64*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
65*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b, v1.16b, v2.16b }, [x0]
66*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h, v16.8h, v17.8h }, [x15]
67*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s, v0.4s, v1.4s }, [sp]
68*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d, v1.2d, v2.2d }, [x0]
69*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b, v1.8b, v2.8b }, [x0]
70*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h, v16.4h, v17.4h }, [x15]
71*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s, v0.2s, v1.2s }, [sp]
72*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d, v1.1d, v2.1d }, [x0]
73*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c]
74*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c]
75*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c]
76*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c]
77*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c]
78*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c]
79*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c]
80*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c]
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b-v2.16b }, [x0]
83*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h-v17.8h }, [x15]
84*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s-v1.4s }, [sp]
85*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d-v2.2d }, [x0]
86*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b-v2.8b }, [x0]
87*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h-v17.4h }, [x15]
88*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s-v1.2s }, [sp]
89*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d-v2.1d }, [x0]
90*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c]
91*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c]
92*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c]
93*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c]
94*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c]
95*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c]
96*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c]
97*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c]
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
100*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from four consecutive registers
101*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
102*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
103*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
104*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
105*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
106*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
107*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
108*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
109*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]
110*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c]
111*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c]
112*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c]
113*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c]
114*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c]
115*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c]
116*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c]
117*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c]
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker         st1 { v0.16b-v3.16b }, [x0]
120*9880d681SAndroid Build Coastguard Worker         st1 { v15.8h-v18.8h }, [x15]
121*9880d681SAndroid Build Coastguard Worker         st1 { v31.4s-v2.4s }, [sp]
122*9880d681SAndroid Build Coastguard Worker         st1 { v0.2d-v3.2d }, [x0]
123*9880d681SAndroid Build Coastguard Worker         st1 { v0.8b-v3.8b }, [x0]
124*9880d681SAndroid Build Coastguard Worker         st1 { v15.4h-v18.4h }, [x15]
125*9880d681SAndroid Build Coastguard Worker         st1 { v31.2s-v2.2s }, [sp]
126*9880d681SAndroid Build Coastguard Worker         st1 { v0.1d-v3.1d }, [x0]
127*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c]
128*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c]
129*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c]
130*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c]
131*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c]
132*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c]
133*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c]
134*9880d681SAndroid Build Coastguard Worker// CHECK:	st1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c]
135*9880d681SAndroid Build Coastguard Worker
136*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
137*9880d681SAndroid Build Coastguard Worker// Store multiple 2-element structures from two consecutive registers
138*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
139*9880d681SAndroid Build Coastguard Worker         st2 { v0.16b, v1.16b }, [x0]
140*9880d681SAndroid Build Coastguard Worker         st2 { v15.8h, v16.8h }, [x15]
141*9880d681SAndroid Build Coastguard Worker         st2 { v31.4s, v0.4s }, [sp]
142*9880d681SAndroid Build Coastguard Worker         st2 { v0.2d, v1.2d }, [x0]
143*9880d681SAndroid Build Coastguard Worker         st2 { v0.8b, v1.8b }, [x0]
144*9880d681SAndroid Build Coastguard Worker         st2 { v15.4h, v16.4h }, [x15]
145*9880d681SAndroid Build Coastguard Worker         st2 { v31.2s, v0.2s }, [sp]
146*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x00,0x4c]
147*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c]
148*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x00,0x4c]
149*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x00,0x4c]
150*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x00,0x0c]
151*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c]
152*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x00,0x0c]
153*9880d681SAndroid Build Coastguard Worker
154*9880d681SAndroid Build Coastguard Worker         st2 { v0.16b-v1.16b }, [x0]
155*9880d681SAndroid Build Coastguard Worker         st2 { v15.8h-v16.8h }, [x15]
156*9880d681SAndroid Build Coastguard Worker         st2 { v31.4s-v0.4s }, [sp]
157*9880d681SAndroid Build Coastguard Worker         st2 { v0.2d-v1.2d }, [x0]
158*9880d681SAndroid Build Coastguard Worker         st2 { v0.8b-v1.8b }, [x0]
159*9880d681SAndroid Build Coastguard Worker         st2 { v15.4h-v16.4h }, [x15]
160*9880d681SAndroid Build Coastguard Worker         st2 { v31.2s-v0.2s }, [sp]
161*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x00,0x4c]
162*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c]
163*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x00,0x4c]
164*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x00,0x4c]
165*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x00,0x0c]
166*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c]
167*9880d681SAndroid Build Coastguard Worker// CHECK:	st2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x00,0x0c]
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
170*9880d681SAndroid Build Coastguard Worker// Store multiple 3-element structures from three consecutive registers
171*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
172*9880d681SAndroid Build Coastguard Worker         st3 { v0.16b, v1.16b, v2.16b }, [x0]
173*9880d681SAndroid Build Coastguard Worker         st3 { v15.8h, v16.8h, v17.8h }, [x15]
174*9880d681SAndroid Build Coastguard Worker         st3 { v31.4s, v0.4s, v1.4s }, [sp]
175*9880d681SAndroid Build Coastguard Worker         st3 { v0.2d, v1.2d, v2.2d }, [x0]
176*9880d681SAndroid Build Coastguard Worker         st3 { v0.8b, v1.8b, v2.8b }, [x0]
177*9880d681SAndroid Build Coastguard Worker         st3 { v15.4h, v16.4h, v17.4h }, [x15]
178*9880d681SAndroid Build Coastguard Worker         st3 { v31.2s, v0.2s, v1.2s }, [sp]
179*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c]
180*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c]
181*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c]
182*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c]
183*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c]
184*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c]
185*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c]
186*9880d681SAndroid Build Coastguard Worker
187*9880d681SAndroid Build Coastguard Worker         st3 { v0.16b-v2.16b }, [x0]
188*9880d681SAndroid Build Coastguard Worker         st3 { v15.8h-v17.8h }, [x15]
189*9880d681SAndroid Build Coastguard Worker         st3 { v31.4s-v1.4s }, [sp]
190*9880d681SAndroid Build Coastguard Worker         st3 { v0.2d-v2.2d }, [x0]
191*9880d681SAndroid Build Coastguard Worker         st3 { v0.8b-v2.8b }, [x0]
192*9880d681SAndroid Build Coastguard Worker         st3 { v15.4h-v17.4h }, [x15]
193*9880d681SAndroid Build Coastguard Worker         st3 { v31.2s-v1.2s }, [sp]
194*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c]
195*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c]
196*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c]
197*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c]
198*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c]
199*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c]
200*9880d681SAndroid Build Coastguard Worker// CHECK:	st3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c]
201*9880d681SAndroid Build Coastguard Worker
202*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
203*9880d681SAndroid Build Coastguard Worker// Store multiple 4-element structures from four consecutive registers
204*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
205*9880d681SAndroid Build Coastguard Worker         st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
206*9880d681SAndroid Build Coastguard Worker         st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
207*9880d681SAndroid Build Coastguard Worker         st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
208*9880d681SAndroid Build Coastguard Worker         st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
209*9880d681SAndroid Build Coastguard Worker         st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
210*9880d681SAndroid Build Coastguard Worker         st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
211*9880d681SAndroid Build Coastguard Worker         st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
212*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c]
213*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c]
214*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c]
215*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c]
216*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c]
217*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c]
218*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c]
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Worker         st4 { v0.16b-v3.16b }, [x0]
221*9880d681SAndroid Build Coastguard Worker         st4 { v15.8h-v18.8h }, [x15]
222*9880d681SAndroid Build Coastguard Worker         st4 { v31.4s-v2.4s }, [sp]
223*9880d681SAndroid Build Coastguard Worker         st4 { v0.2d-v3.2d }, [x0]
224*9880d681SAndroid Build Coastguard Worker         st4 { v0.8b-v3.8b }, [x0]
225*9880d681SAndroid Build Coastguard Worker         st4 { v15.4h-v18.4h }, [x15]
226*9880d681SAndroid Build Coastguard Worker         st4 { v31.2s-v2.2s }, [sp]
227*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c]
228*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c]
229*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c]
230*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c]
231*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c]
232*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c]
233*9880d681SAndroid Build Coastguard Worker// CHECK:	st4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c]
234*9880d681SAndroid Build Coastguard Worker
235*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
236*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to one register
237*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
238*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b }, [x0]
239*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h }, [x15]
240*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s }, [sp]
241*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d }, [x0]
242*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b }, [x0]
243*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h }, [x15]
244*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s }, [sp]
245*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d }, [x0]
246*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b }, [x0]          // encoding: [0x00,0x70,0x40,0x4c]
247*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h }, [x15]         // encoding: [0xef,0x75,0x40,0x4c]
248*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s }, [sp]          // encoding: [0xff,0x7b,0x40,0x4c]
249*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d }, [x0]           // encoding: [0x00,0x7c,0x40,0x4c]
250*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b }, [x0]           // encoding: [0x00,0x70,0x40,0x0c]
251*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h }, [x15]         // encoding: [0xef,0x75,0x40,0x0c]
252*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s }, [sp]          // encoding: [0xff,0x7b,0x40,0x0c]
253*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d }, [x0]           // encoding: [0x00,0x7c,0x40,0x0c]
254*9880d681SAndroid Build Coastguard Worker
255*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
256*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to two consecutive registers
257*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
258*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b, v1.16b }, [x0]
259*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h, v16.8h }, [x15]
260*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s, v0.4s }, [sp]
261*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d, v1.2d }, [x0]
262*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b, v1.8b }, [x0]
263*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h, v16.4h }, [x15]
264*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s, v0.2s }, [sp]
265*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d, v1.1d }, [x0]
266*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x40,0x4c]
267*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c]
268*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x40,0x4c]
269*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x40,0x4c]
270*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x40,0x0c]
271*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c]
272*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x40,0x0c]
273*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x40,0x0c]
274*9880d681SAndroid Build Coastguard Worker
275*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b-v1.16b }, [x0]
276*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h-v16.8h }, [x15]
277*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s-v0.4s }, [sp]
278*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d-v1.2d }, [x0]
279*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b-v1.8b }, [x0]
280*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h-v16.4h }, [x15]
281*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s-v0.2s }, [sp]
282*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d-v1.1d }, [x0]
283*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x40,0x4c]
284*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c]
285*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x40,0x4c]
286*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x40,0x4c]
287*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x40,0x0c]
288*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c]
289*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x40,0x0c]
290*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x40,0x0c]
291*9880d681SAndroid Build Coastguard Worker
292*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
293*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to three consecutive registers
294*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
295*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b, v1.16b, v2.16b }, [x0]
296*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h, v16.8h, v17.8h }, [x15]
297*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s, v0.4s, v1.4s }, [sp]
298*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d, v1.2d, v2.2d }, [x0]
299*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b, v1.8b, v2.8b }, [x0]
300*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h, v16.4h, v17.4h }, [x15]
301*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s, v0.2s, v1.2s }, [sp]
302*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d, v1.1d, v2.1d }, [x0]
303*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c]
304*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c]
305*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c]
306*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c]
307*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c]
308*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c]
309*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c]
310*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c]
311*9880d681SAndroid Build Coastguard Worker
312*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b-v2.16b }, [x0]
313*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h-v17.8h }, [x15]
314*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s-v1.4s }, [sp]
315*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d-v2.2d }, [x0]
316*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b-v2.8b }, [x0]
317*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h-v17.4h }, [x15]
318*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s-v1.2s }, [sp]
319*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d-v2.1d }, [x0]
320*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c]
321*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c]
322*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c]
323*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c]
324*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c]
325*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c]
326*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c]
327*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c]
328*9880d681SAndroid Build Coastguard Worker
329*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
330*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to four consecutive registers
331*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
332*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
333*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
334*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
335*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
336*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
337*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
338*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
339*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]
340*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c]
341*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c]
342*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c]
343*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c]
344*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c]
345*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c]
346*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c]
347*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c]
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Worker         ld1 { v0.16b-v3.16b }, [x0]
350*9880d681SAndroid Build Coastguard Worker         ld1 { v15.8h-v18.8h }, [x15]
351*9880d681SAndroid Build Coastguard Worker         ld1 { v31.4s-v2.4s }, [sp]
352*9880d681SAndroid Build Coastguard Worker         ld1 { v0.2d-v3.2d }, [x0]
353*9880d681SAndroid Build Coastguard Worker         ld1 { v0.8b-v3.8b }, [x0]
354*9880d681SAndroid Build Coastguard Worker         ld1 { v15.4h-v18.4h }, [x15]
355*9880d681SAndroid Build Coastguard Worker         ld1 { v31.2s-v2.2s }, [sp]
356*9880d681SAndroid Build Coastguard Worker         ld1 { v0.1d-v3.1d }, [x0]
357*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c]
358*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c]
359*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c]
360*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c]
361*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c]
362*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c]
363*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c]
364*9880d681SAndroid Build Coastguard Worker// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c]
365*9880d681SAndroid Build Coastguard Worker
366*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
367*9880d681SAndroid Build Coastguard Worker// Load multiple 4-element structures to two consecutive registers
368*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
369*9880d681SAndroid Build Coastguard Worker         ld2 { v0.16b, v1.16b }, [x0]
370*9880d681SAndroid Build Coastguard Worker         ld2 { v15.8h, v16.8h }, [x15]
371*9880d681SAndroid Build Coastguard Worker         ld2 { v31.4s, v0.4s }, [sp]
372*9880d681SAndroid Build Coastguard Worker         ld2 { v0.2d, v1.2d }, [x0]
373*9880d681SAndroid Build Coastguard Worker         ld2 { v0.8b, v1.8b }, [x0]
374*9880d681SAndroid Build Coastguard Worker         ld2 { v15.4h, v16.4h }, [x15]
375*9880d681SAndroid Build Coastguard Worker         ld2 { v31.2s, v0.2s }, [sp]
376*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x40,0x4c]
377*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c]
378*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x40,0x4c]
379*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x40,0x4c]
380*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x40,0x0c]
381*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c]
382*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x40,0x0c]
383*9880d681SAndroid Build Coastguard Worker
384*9880d681SAndroid Build Coastguard Worker         ld2 { v0.16b-v1.16b }, [x0]
385*9880d681SAndroid Build Coastguard Worker         ld2 { v15.8h-v16.8h }, [x15]
386*9880d681SAndroid Build Coastguard Worker         ld2 { v31.4s-v0.4s }, [sp]
387*9880d681SAndroid Build Coastguard Worker         ld2 { v0.2d-v1.2d }, [x0]
388*9880d681SAndroid Build Coastguard Worker         ld2 { v0.8b-v1.8b }, [x0]
389*9880d681SAndroid Build Coastguard Worker         ld2 { v15.4h-v16.4h }, [x15]
390*9880d681SAndroid Build Coastguard Worker         ld2 { v31.2s-v0.2s }, [sp]
391*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x40,0x4c]
392*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c]
393*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x40,0x4c]
394*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x40,0x4c]
395*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x40,0x0c]
396*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c]
397*9880d681SAndroid Build Coastguard Worker// CHECK:	ld2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x40,0x0c]
398*9880d681SAndroid Build Coastguard Worker
399*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
400*9880d681SAndroid Build Coastguard Worker// Load multiple 3-element structures to three consecutive registers
401*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
402*9880d681SAndroid Build Coastguard Worker         ld3 { v0.16b, v1.16b, v2.16b }, [x0]
403*9880d681SAndroid Build Coastguard Worker         ld3 { v15.8h, v16.8h, v17.8h }, [x15]
404*9880d681SAndroid Build Coastguard Worker         ld3 { v31.4s, v0.4s, v1.4s }, [sp]
405*9880d681SAndroid Build Coastguard Worker         ld3 { v0.2d, v1.2d, v2.2d }, [x0]
406*9880d681SAndroid Build Coastguard Worker         ld3 { v0.8b, v1.8b, v2.8b }, [x0]
407*9880d681SAndroid Build Coastguard Worker         ld3 { v15.4h, v16.4h, v17.4h }, [x15]
408*9880d681SAndroid Build Coastguard Worker         ld3 { v31.2s, v0.2s, v1.2s }, [sp]
409*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c]
410*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c]
411*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c]
412*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c]
413*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c]
414*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c]
415*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c]
416*9880d681SAndroid Build Coastguard Worker
417*9880d681SAndroid Build Coastguard Worker         ld3 { v0.16b-v2.16b }, [x0]
418*9880d681SAndroid Build Coastguard Worker         ld3 { v15.8h-v17.8h }, [x15]
419*9880d681SAndroid Build Coastguard Worker         ld3 { v31.4s-v1.4s }, [sp]
420*9880d681SAndroid Build Coastguard Worker         ld3 { v0.2d-v2.2d }, [x0]
421*9880d681SAndroid Build Coastguard Worker         ld3 { v0.8b-v2.8b }, [x0]
422*9880d681SAndroid Build Coastguard Worker         ld3 { v15.4h-v17.4h }, [x15]
423*9880d681SAndroid Build Coastguard Worker         ld3 { v31.2s-v1.2s }, [sp]
424*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c]
425*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c]
426*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c]
427*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c]
428*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c]
429*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c]
430*9880d681SAndroid Build Coastguard Worker// CHECK:	ld3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c]
431*9880d681SAndroid Build Coastguard Worker
432*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
433*9880d681SAndroid Build Coastguard Worker// Load multiple 4-element structures to four consecutive registers
434*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
435*9880d681SAndroid Build Coastguard Worker         ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
436*9880d681SAndroid Build Coastguard Worker         ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
437*9880d681SAndroid Build Coastguard Worker         ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
438*9880d681SAndroid Build Coastguard Worker         ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
439*9880d681SAndroid Build Coastguard Worker         ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
440*9880d681SAndroid Build Coastguard Worker         ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
441*9880d681SAndroid Build Coastguard Worker         ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
442*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c]
443*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c]
444*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c]
445*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c]
446*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c]
447*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c]
448*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c]
449*9880d681SAndroid Build Coastguard Worker
450*9880d681SAndroid Build Coastguard Worker         ld4 { v0.16b-v3.16b }, [x0]
451*9880d681SAndroid Build Coastguard Worker         ld4 { v15.8h-v18.8h }, [x15]
452*9880d681SAndroid Build Coastguard Worker         ld4 { v31.4s-v2.4s }, [sp]
453*9880d681SAndroid Build Coastguard Worker         ld4 { v0.2d-v3.2d }, [x0]
454*9880d681SAndroid Build Coastguard Worker         ld4 { v0.8b-v3.8b }, [x0]
455*9880d681SAndroid Build Coastguard Worker         ld4 { v15.4h-v18.4h }, [x15]
456*9880d681SAndroid Build Coastguard Worker         ld4 { v31.2s-v2.2s }, [sp]
457*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c]
458*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c]
459*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c]
460*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c]
461*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c]
462*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c]
463*9880d681SAndroid Build Coastguard Worker// CHECK:	ld4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c]
464