1dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// RUN: llvm-mc -triple=arm64 -mattr=+neon -show-encoding < %s | FileCheck %s
2591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
3591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Check that the assembler can handle the documented syntax for AArch64
4591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
5591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
6591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from one register (post-index)
7591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
8dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b }, [x0], x1
9dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h }, [x15], x2
10dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s }, [sp], #16
11dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d }, [x0], #16
12dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b }, [x0], x2
13dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h }, [x15], x3
14dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s }, [sp], #8
15dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d }, [x0], #8
16dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b }, [x0], x1
17591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x70,0xc1,0x4c]
18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h }, [x15], x2
19591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x75,0xc2,0x4c]
20dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s }, [sp], #16
21591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x7b,0xdf,0x4c]
22dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d }, [x0], #16
23591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x7c,0xdf,0x4c]
24dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b }, [x0], x2
25591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x70,0xc2,0x0c]
26dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h }, [x15], x3
27591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x75,0xc3,0x0c]
28dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s }, [sp], #8
29591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x7b,0xdf,0x0c]
30dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d }, [x0], #8
31591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x7c,0xdf,0x0c]
32591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
33591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
34591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from two consecutive registers
35591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
36591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
37dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b }, [x0], x1
38dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h }, [x15], x2
39dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s }, [sp], #32
40dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d }, [x0], #32
41dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b }, [x0], x2
42dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h }, [x15], x3
43dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s }, [sp], #16
44dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d }, [x0], #16
45dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b }, [x0], x1
46591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xa0,0xc1,0x4c]
47dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h }, [x15], x2
48591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0xa5,0xc2,0x4c]
49dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s }, [sp], #32
50591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0xab,0xdf,0x4c]
51dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d }, [x0], #32
52591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xac,0xdf,0x4c]
53dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b }, [x0], x2
54591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xa0,0xc2,0x0c]
55dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h }, [x15], x3
56591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0xa5,0xc3,0x0c]
57dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s }, [sp], #16
58591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0xab,0xdf,0x0c]
59dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d }, [x0], #16
60591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xac,0xdf,0x0c]
61591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
62591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
63591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from three consecutive registers
64591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
65591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
66dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b, v2.16b }, [x0], x1
67dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h, v17.8h }, [x15], x2
68dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s, v1.4s }, [sp], #48
69dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
70dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b, v2.8b }, [x0], x2
71dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h, v17.4h }, [x15], x3
72dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s, v1.2s }, [sp], #24
73dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d, v2.1d }, [x0], #24
74dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b, v2.16b }, [x0], x1
75591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x60,0xc1,0x4c]
76dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h, v17.8h }, [x15], x2
77591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x65,0xc2,0x4c]
78dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s, v1.4s }, [sp], #48
79591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x6b,0xdf,0x4c]
80dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
81591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x6c,0xdf,0x4c]
82dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b, v2.8b }, [x0], x2
83591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x60,0xc2,0x0c]
84dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h, v17.4h }, [x15], x3
85591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x65,0xc3,0x0c]
86dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s, v1.2s }, [sp], #24
87591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x6b,0xdf,0x0c]
88dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d, v2.1d }, [x0], #24
89591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x6c,0xdf,0x0c]
90591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
91591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
92591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from four consecutive registers
93591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
94591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
95dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
96dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
97dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
98dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
99dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
100dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
101dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
102dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32
103dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
104591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x20,0xc1,0x4c]
105dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
106591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x25,0xc2,0x4c]
107dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
108591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x2b,0xdf,0x4c]
109dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
110591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x2c,0xdf,0x4c]
111dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
112591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x20,0xc3,0x0c]
113dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
114591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x25,0xc4,0x0c]
115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
116591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x2b,0xdf,0x0c]
117dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32
118591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x2c,0xdf,0x0c]
119591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
120591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
121591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 2-element structures from two consecutive registers
122591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
123591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
124dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.16b, v1.16b }, [x0], x1
125dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.8h, v16.8h }, [x15], x2
126dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.4s, v0.4s }, [sp], #32
127dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.2d, v1.2d }, [x0], #32
128dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.8b, v1.8b }, [x0], x2
129dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.4h, v16.4h }, [x15], x3
130dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.2s, v0.2s }, [sp], #16
131dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.16b, v1.16b }, [x0], x1
132591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x80,0xc1,0x4c]
133dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v15.8h, v16.8h }, [x15], x2
134591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x85,0xc2,0x4c]
135dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v31.4s, v0.4s }, [sp], #32
136591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x8b,0xdf,0x4c]
137dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.2d, v1.2d }, [x0], #32
138591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x8c,0xdf,0x4c]
139dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.8b, v1.8b }, [x0], x2
140591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x80,0xc2,0x0c]
141dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v15.4h, v16.4h }, [x15], x3
142591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x85,0xc3,0x0c]
143dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v31.2s, v0.2s }, [sp], #16
144591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x8b,0xdf,0x0c]
145591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
146591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
147591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 3-element structures from three consecutive registers
148591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
149591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
150dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1
151dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2
152dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48
153dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48
154dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2
155dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3
156dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24
157dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1
158591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x40,0xc1,0x4c]
159dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2
160591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x45,0xc2,0x4c]
161dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48
162591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x4b,0xdf,0x4c]
163dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48
164591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x4c,0xdf,0x4c]
165dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2
166591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x40,0xc2,0x0c]
167dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3
168591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x45,0xc3,0x0c]
169dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24
170591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x4b,0xdf,0x0c]
171591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
172591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
173591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 4-element structures from four consecutive registers
174591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
175591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
176dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
177dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
178dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
179dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
180dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
181dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
182dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
183dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
184591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x00,0xc1,0x4c]
185dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
186591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x05,0xc2,0x4c]
187dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
188591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x0b,0xdf,0x4c]
189dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
190591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x0c,0xdf,0x4c]
191dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
192591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x00,0xc3,0x0c]
193dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
194591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x05,0xc4,0x0c]
195dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
196591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x0b,0xdf,0x0c]
197591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
198591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
199591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from one register (post-index)
200591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
201dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b }, [x0], x1
202dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h }, [x15], x2
203dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s }, [sp], #16
204dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d }, [x0], #16
205dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b }, [x0], x2
206dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h }, [x15], x3
207dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s }, [sp], #8
208dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d }, [x0], #8
209dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b }, [x0], x1
210591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x70,0x81,0x4c]
211dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h }, [x15], x2
212591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x75,0x82,0x4c]
213dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s }, [sp], #16
214591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x7b,0x9f,0x4c]
215dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d }, [x0], #16
216591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x7c,0x9f,0x4c]
217dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b }, [x0], x2
218591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x70,0x82,0x0c]
219dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h }, [x15], x3
220591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x75,0x83,0x0c]
221dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s }, [sp], #8
222591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x7b,0x9f,0x0c]
223dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d }, [x0], #8
224591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x7c,0x9f,0x0c]
225591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
226591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
227591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from two consecutive registers
228591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
229591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
230dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b }, [x0], x1
231dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h }, [x15], x2
232dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s }, [sp], #32
233dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d }, [x0], #32
234dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b }, [x0], x2
235dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h }, [x15], x3
236dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s }, [sp], #16
237dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d }, [x0], #16
238dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b }, [x0], x1
239591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xa0,0x81,0x4c]
240dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h }, [x15], x2
241591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0xa5,0x82,0x4c]
242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s }, [sp], #32
243591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0xab,0x9f,0x4c]
244dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d }, [x0], #32
245591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xac,0x9f,0x4c]
246dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b }, [x0], x2
247591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xa0,0x82,0x0c]
248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h }, [x15], x3
249591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0xa5,0x83,0x0c]
250dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s }, [sp], #16
251591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0xab,0x9f,0x0c]
252dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d }, [x0], #16
253591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0xac,0x9f,0x0c]
254591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
255591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
256591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from three consecutive registers
257591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
258591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
259dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b, v2.16b }, [x0], x1
260dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h, v17.8h }, [x15], x2
261dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s, v1.4s }, [sp], #48
262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
263dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b, v2.8b }, [x0], x2
264dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h, v17.4h }, [x15], x3
265dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s, v1.2s }, [sp], #24
266dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d, v2.1d }, [x0], #24
267dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b, v2.16b }, [x0], x1
268591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x60,0x81,0x4c]
269dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h, v17.8h }, [x15], x2
270591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x65,0x82,0x4c]
271dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s, v1.4s }, [sp], #48
272591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x6b,0x9f,0x4c]
273dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
274591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x6c,0x9f,0x4c]
275dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b, v2.8b }, [x0], x2
276591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x60,0x82,0x0c]
277dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h, v17.4h }, [x15], x3
278591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x65,0x83,0x0c]
279dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s, v1.2s }, [sp], #24
280591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x6b,0x9f,0x0c]
281dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d, v2.1d }, [x0], #24
282591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x6c,0x9f,0x0c]
283591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
284591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
285591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from four consecutive registers
286591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
287591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
288dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
289dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
290dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
291dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
292dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
293dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
294dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
295dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32
296dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
297591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x20,0x81,0x4c]
298dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
299591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x25,0x82,0x4c]
300dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
301591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x2b,0x9f,0x4c]
302dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
303591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x2c,0x9f,0x4c]
304dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
305591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x20,0x83,0x0c]
306dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
307591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x25,0x84,0x0c]
308dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
309591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x2b,0x9f,0x0c]
310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32
311591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x2c,0x9f,0x0c]
312591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
313591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
314591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 2-element structures from two consecutive registers
315591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
316591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
317dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.16b, v1.16b }, [x0], x1
318dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.8h, v16.8h }, [x15], x2
319dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.4s, v0.4s }, [sp], #32
320dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.2d, v1.2d }, [x0], #32
321dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.8b, v1.8b }, [x0], x2
322dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.4h, v16.4h }, [x15], x3
323dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.2s, v0.2s }, [sp], #16
324dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.16b, v1.16b }, [x0], x1
325591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x80,0x81,0x4c]
326dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v15.8h, v16.8h }, [x15], x2
327591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x85,0x82,0x4c]
328dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v31.4s, v0.4s }, [sp], #32
329591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x8b,0x9f,0x4c]
330dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.2d, v1.2d }, [x0], #32
331591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x8c,0x9f,0x4c]
332dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.8b, v1.8b }, [x0], x2
333591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x80,0x82,0x0c]
334dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v15.4h, v16.4h }, [x15], x3
335591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x85,0x83,0x0c]
336dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v31.2s, v0.2s }, [sp], #16
337591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x8b,0x9f,0x0c]
338591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
339591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
340591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 3-element structures from three consecutive registers
341591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
342591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
343dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.16b, v1.16b, v2.16b }, [x0], x1
344dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.8h, v16.8h, v17.8h }, [x15], x2
345dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.4s, v0.4s, v1.4s }, [sp], #48
346dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.2d, v1.2d, v2.2d }, [x0], #48
347dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.8b, v1.8b, v2.8b }, [x0], x2
348dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.4h, v16.4h, v17.4h }, [x15], x3
349dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.2s, v0.2s, v1.2s }, [sp], #24
350dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.16b, v1.16b, v2.16b }, [x0], x1
351591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x40,0x81,0x4c]
352dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v15.8h, v16.8h, v17.8h }, [x15], x2
353591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x45,0x82,0x4c]
354dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v31.4s, v0.4s, v1.4s }, [sp], #48
355591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x4b,0x9f,0x4c]
356dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.2d, v1.2d, v2.2d }, [x0], #48
357591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x4c,0x9f,0x4c]
358dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.8b, v1.8b, v2.8b }, [x0], x2
359591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x40,0x82,0x0c]
360dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v15.4h, v16.4h, v17.4h }, [x15], x3
361591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x45,0x83,0x0c]
362dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v31.2s, v0.2s, v1.2s }, [sp], #24
363591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x4b,0x9f,0x0c]
364591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu
365591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
366591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 4-element structures from four consecutive registers
367591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index)
368591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------
369dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
370dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
371dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
373dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
374dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
375dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
376dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1
377591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x00,0x81,0x4c]
378dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2
379591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x05,0x82,0x4c]
380dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64
381591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x0b,0x9f,0x4c]
382dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
383591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x0c,0x9f,0x4c]
384dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
385591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0x00,0x00,0x83,0x0c]
386dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4
387591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xef,0x05,0x84,0x0c]
388dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32
389591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK:     // encoding: [0xff,0x0b,0x9f,0x0c]
390