1dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// RUN: llvm-mc -triple=arm64 -mattr=+neon -show-encoding < %s | FileCheck %s
26a5a667517160ca1b557002a29d08868ae029451Hao Liu
36a5a667517160ca1b557002a29d08868ae029451Hao Liu// Check that the assembler can handle the documented syntax for AArch64
46a5a667517160ca1b557002a29d08868ae029451Hao Liu
56a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
66a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 1-element structures from one register
76a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
8dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b }, [x0]
9dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h }, [x15]
10dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s }, [sp]
11dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d }, [x0]
12dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b }, [x0]
13dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h }, [x15]
14dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s }, [sp]
15dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d }, [x0]
16dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b }, [x0]          // encoding: [0x00,0x70,0x00,0x4c]
17dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h }, [x15]         // encoding: [0xef,0x75,0x00,0x4c]
18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s }, [sp]          // encoding: [0xff,0x7b,0x00,0x4c]
19dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d }, [x0]           // encoding: [0x00,0x7c,0x00,0x4c]
20dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b }, [x0]           // encoding: [0x00,0x70,0x00,0x0c]
21dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h }, [x15]         // encoding: [0xef,0x75,0x00,0x0c]
22dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s }, [sp]          // encoding: [0xff,0x7b,0x00,0x0c]
23dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d }, [x0]           // encoding: [0x00,0x7c,0x00,0x0c]
246a5a667517160ca1b557002a29d08868ae029451Hao Liu
256a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
266a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 1-element structures from two consecutive registers
276a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
28dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b }, [x0]
29dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h }, [x15]
30dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s }, [sp]
31dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d }, [x0]
32dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b }, [x0]
33dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h }, [x15]
34dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s }, [sp]
35dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d }, [x0]
36dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x00,0x4c]
37dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c]
38dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x00,0x4c]
39dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x00,0x4c]
40dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x00,0x0c]
41dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c]
42dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x00,0x0c]
43dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x00,0x0c]
446a5a667517160ca1b557002a29d08868ae029451Hao Liu
45dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b-v1.16b }, [x0]
46dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h-v16.8h }, [x15]
47dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s-v0.4s }, [sp]
48dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d-v1.2d }, [x0]
49dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b-v1.8b }, [x0]
50dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h-v16.4h }, [x15]
51dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s-v0.2s }, [sp]
52dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d-v1.1d }, [x0]
53dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x00,0x4c]
54dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c]
55dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x00,0x4c]
56dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x00,0x4c]
57dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x00,0x0c]
58dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c]
59dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x00,0x0c]
60dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x00,0x0c]
616a5a667517160ca1b557002a29d08868ae029451Hao Liu
626a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
636a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 1-element structures from three consecutive registers
646a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
65dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b, v2.16b }, [x0]
66dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h, v17.8h }, [x15]
67dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s, v1.4s }, [sp]
68dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d, v2.2d }, [x0]
69dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b, v2.8b }, [x0]
70dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h, v17.4h }, [x15]
71dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s, v1.2s }, [sp]
72dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d, v2.1d }, [x0]
73dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c]
74dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c]
75dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c]
76dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c]
77dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c]
78dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c]
79dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c]
80dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c]
816a5a667517160ca1b557002a29d08868ae029451Hao Liu
82dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b-v2.16b }, [x0]
83dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h-v17.8h }, [x15]
84dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s-v1.4s }, [sp]
85dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d-v2.2d }, [x0]
86dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b-v2.8b }, [x0]
87dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h-v17.4h }, [x15]
88dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s-v1.2s }, [sp]
89dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d-v2.1d }, [x0]
90dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c]
91dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c]
92dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c]
93dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c]
94dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c]
95dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c]
96dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c]
97dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c]
986a5a667517160ca1b557002a29d08868ae029451Hao Liu
996a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
1006a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 1-element structures from four consecutive registers
1016a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
102dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
103dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
104dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
105dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
106dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
107dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
108dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
109dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]
110dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c]
111dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c]
112dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c]
113dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c]
114dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c]
115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c]
116dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c]
117dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c]
1186a5a667517160ca1b557002a29d08868ae029451Hao Liu
119dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.16b-v3.16b }, [x0]
120dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.8h-v18.8h }, [x15]
121dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.4s-v2.4s }, [sp]
122dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.2d-v3.2d }, [x0]
123dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.8b-v3.8b }, [x0]
124dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v15.4h-v18.4h }, [x15]
125dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v31.2s-v2.2s }, [sp]
126dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st1 { v0.1d-v3.1d }, [x0]
127dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c]
128dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c]
129dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c]
130dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c]
131dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c]
132dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c]
133dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c]
134dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c]
1356a5a667517160ca1b557002a29d08868ae029451Hao Liu
1366a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
1376a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 2-element structures from two consecutive registers
1386a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
139dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.16b, v1.16b }, [x0]
140dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.8h, v16.8h }, [x15]
141dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.4s, v0.4s }, [sp]
142dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.2d, v1.2d }, [x0]
143dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.8b, v1.8b }, [x0]
144dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.4h, v16.4h }, [x15]
145dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.2s, v0.2s }, [sp]
146dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x00,0x4c]
147dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c]
148dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x00,0x4c]
149dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x00,0x4c]
150dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x00,0x0c]
151dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c]
152dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x00,0x0c]
1536a5a667517160ca1b557002a29d08868ae029451Hao Liu
154dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.16b-v1.16b }, [x0]
155dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.8h-v16.8h }, [x15]
156dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.4s-v0.4s }, [sp]
157dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.2d-v1.2d }, [x0]
158dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v0.8b-v1.8b }, [x0]
159dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v15.4h-v16.4h }, [x15]
160dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st2 { v31.2s-v0.2s }, [sp]
161dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x00,0x4c]
162dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c]
163dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x00,0x4c]
164dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x00,0x4c]
165dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x00,0x0c]
166dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c]
167dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x00,0x0c]
1686a5a667517160ca1b557002a29d08868ae029451Hao Liu
1696a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
1706a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 3-element structures from three consecutive registers
1716a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
172dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.16b, v1.16b, v2.16b }, [x0]
173dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.8h, v16.8h, v17.8h }, [x15]
174dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.4s, v0.4s, v1.4s }, [sp]
175dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.2d, v1.2d, v2.2d }, [x0]
176dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.8b, v1.8b, v2.8b }, [x0]
177dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.4h, v16.4h, v17.4h }, [x15]
178dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.2s, v0.2s, v1.2s }, [sp]
179dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c]
180dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c]
181dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c]
182dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c]
183dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c]
184dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c]
185dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c]
1866a5a667517160ca1b557002a29d08868ae029451Hao Liu
187dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.16b-v2.16b }, [x0]
188dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.8h-v17.8h }, [x15]
189dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.4s-v1.4s }, [sp]
190dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.2d-v2.2d }, [x0]
191dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v0.8b-v2.8b }, [x0]
192dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v15.4h-v17.4h }, [x15]
193dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st3 { v31.2s-v1.2s }, [sp]
194dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c]
195dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c]
196dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c]
197dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c]
198dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c]
199dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c]
200dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c]
2016a5a667517160ca1b557002a29d08868ae029451Hao Liu
2026a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
2036a5a667517160ca1b557002a29d08868ae029451Hao Liu// Store multiple 4-element structures from four consecutive registers
2046a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
205dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
206dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
207dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
208dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
209dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
210dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
211dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
212dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c]
213dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c]
214dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c]
215dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c]
216dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c]
217dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c]
218dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c]
2196a5a667517160ca1b557002a29d08868ae029451Hao Liu
220dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.16b-v3.16b }, [x0]
221dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.8h-v18.8h }, [x15]
222dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.4s-v2.4s }, [sp]
223dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.2d-v3.2d }, [x0]
224dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v0.8b-v3.8b }, [x0]
225dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v15.4h-v18.4h }, [x15]
226dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         st4 { v31.2s-v2.2s }, [sp]
227dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c]
228dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c]
229dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c]
230dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c]
231dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c]
232dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c]
233dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	st4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c]
2346a5a667517160ca1b557002a29d08868ae029451Hao Liu
2356a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
2366a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 1-element structures to one register
2376a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
238dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b }, [x0]
239dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h }, [x15]
240dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s }, [sp]
241dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d }, [x0]
242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b }, [x0]
243dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h }, [x15]
244dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s }, [sp]
245dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d }, [x0]
246dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b }, [x0]          // encoding: [0x00,0x70,0x40,0x4c]
247dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h }, [x15]         // encoding: [0xef,0x75,0x40,0x4c]
248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s }, [sp]          // encoding: [0xff,0x7b,0x40,0x4c]
249dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d }, [x0]           // encoding: [0x00,0x7c,0x40,0x4c]
250dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b }, [x0]           // encoding: [0x00,0x70,0x40,0x0c]
251dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h }, [x15]         // encoding: [0xef,0x75,0x40,0x0c]
252dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s }, [sp]          // encoding: [0xff,0x7b,0x40,0x0c]
253dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d }, [x0]           // encoding: [0x00,0x7c,0x40,0x0c]
2546a5a667517160ca1b557002a29d08868ae029451Hao Liu
2556a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
2566a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 1-element structures to two consecutive registers
2576a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
258dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b }, [x0]
259dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h }, [x15]
260dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s }, [sp]
261dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d }, [x0]
262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b }, [x0]
263dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h }, [x15]
264dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s }, [sp]
265dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d }, [x0]
266dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x40,0x4c]
267dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c]
268dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x40,0x4c]
269dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x40,0x4c]
270dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x40,0x0c]
271dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c]
272dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x40,0x0c]
273dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x40,0x0c]
2746a5a667517160ca1b557002a29d08868ae029451Hao Liu
275dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b-v1.16b }, [x0]
276dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h-v16.8h }, [x15]
277dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s-v0.4s }, [sp]
278dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d-v1.2d }, [x0]
279dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b-v1.8b }, [x0]
280dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h-v16.4h }, [x15]
281dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s-v0.2s }, [sp]
282dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d-v1.1d }, [x0]
283dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0xa0,0x40,0x4c]
284dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c]
285dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0xab,0x40,0x4c]
286dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0xac,0x40,0x4c]
287dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0xa0,0x40,0x0c]
288dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c]
289dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0xab,0x40,0x0c]
290dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d }, [x0]    // encoding: [0x00,0xac,0x40,0x0c]
2916a5a667517160ca1b557002a29d08868ae029451Hao Liu
2926a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
2936a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 1-element structures to three consecutive registers
2946a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
295dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b, v2.16b }, [x0]
296dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h, v17.8h }, [x15]
297dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s, v1.4s }, [sp]
298dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d, v2.2d }, [x0]
299dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b, v2.8b }, [x0]
300dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h, v17.4h }, [x15]
301dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s, v1.2s }, [sp]
302dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d, v2.1d }, [x0]
303dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c]
304dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c]
305dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c]
306dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c]
307dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c]
308dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c]
309dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c]
310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c]
3116a5a667517160ca1b557002a29d08868ae029451Hao Liu
312dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b-v2.16b }, [x0]
313dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h-v17.8h }, [x15]
314dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s-v1.4s }, [sp]
315dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d-v2.2d }, [x0]
316dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b-v2.8b }, [x0]
317dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h-v17.4h }, [x15]
318dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s-v1.2s }, [sp]
319dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d-v2.1d }, [x0]
320dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c]
321dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c]
322dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c]
323dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c]
324dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c]
325dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c]
326dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c]
327dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c]
3286a5a667517160ca1b557002a29d08868ae029451Hao Liu
3296a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
3306a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 1-element structures to four consecutive registers
3316a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
332dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
333dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
334dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
335dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
336dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
337dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
338dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
339dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0]
340dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c]
341dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c]
342dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c]
343dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c]
344dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c]
345dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c]
346dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c]
347dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c]
3486a5a667517160ca1b557002a29d08868ae029451Hao Liu
349dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.16b-v3.16b }, [x0]
350dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.8h-v18.8h }, [x15]
351dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.4s-v2.4s }, [sp]
352dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.2d-v3.2d }, [x0]
353dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.8b-v3.8b }, [x0]
354dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v15.4h-v18.4h }, [x15]
355dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v31.2s-v2.2s }, [sp]
356dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld1 { v0.1d-v3.1d }, [x0]
357dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c]
358dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c]
359dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c]
360dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c]
361dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c]
362dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c]
363dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c]
364dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld1	{ v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c]
3656a5a667517160ca1b557002a29d08868ae029451Hao Liu
3666a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
3676a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 4-element structures to two consecutive registers
3686a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
369dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.16b, v1.16b }, [x0]
370dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.8h, v16.8h }, [x15]
371dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.4s, v0.4s }, [sp]
372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.2d, v1.2d }, [x0]
373dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.8b, v1.8b }, [x0]
374dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.4h, v16.4h }, [x15]
375dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.2s, v0.2s }, [sp]
376dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x40,0x4c]
377dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c]
378dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x40,0x4c]
379dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x40,0x4c]
380dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x40,0x0c]
381dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c]
382dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x40,0x0c]
3836a5a667517160ca1b557002a29d08868ae029451Hao Liu
384dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.16b-v1.16b }, [x0]
385dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.8h-v16.8h }, [x15]
386dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.4s-v0.4s }, [sp]
387dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.2d-v1.2d }, [x0]
388dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v0.8b-v1.8b }, [x0]
389dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v15.4h-v16.4h }, [x15]
390dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld2 { v31.2s-v0.2s }, [sp]
391dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.16b, v1.16b }, [x0]  // encoding: [0x00,0x80,0x40,0x4c]
392dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c]
393dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v31.4s, v0.4s }, [sp]   // encoding: [0xff,0x8b,0x40,0x4c]
394dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.2d, v1.2d }, [x0]    // encoding: [0x00,0x8c,0x40,0x4c]
395dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v0.8b, v1.8b }, [x0]    // encoding: [0x00,0x80,0x40,0x0c]
396dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c]
397dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld2	{ v31.2s, v0.2s }, [sp]   // encoding: [0xff,0x8b,0x40,0x0c]
3986a5a667517160ca1b557002a29d08868ae029451Hao Liu
3996a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
4006a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 3-element structures to three consecutive registers
4016a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
402dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.16b, v1.16b, v2.16b }, [x0]
403dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.8h, v16.8h, v17.8h }, [x15]
404dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.4s, v0.4s, v1.4s }, [sp]
405dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.2d, v1.2d, v2.2d }, [x0]
406dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.8b, v1.8b, v2.8b }, [x0]
407dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.4h, v16.4h, v17.4h }, [x15]
408dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.2s, v0.2s, v1.2s }, [sp]
409dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c]
410dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c]
411dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c]
412dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c]
413dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c]
414dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c]
415dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c]
4166a5a667517160ca1b557002a29d08868ae029451Hao Liu
417dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.16b-v2.16b }, [x0]
418dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.8h-v17.8h }, [x15]
419dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.4s-v1.4s }, [sp]
420dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.2d-v2.2d }, [x0]
421dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v0.8b-v2.8b }, [x0]
422dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v15.4h-v17.4h }, [x15]
423dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld3 { v31.2s-v1.2s }, [sp]
424dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c]
425dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c]
426dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c]
427dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c]
428dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c]
429dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c]
430dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld3	{ v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c]
4316a5a667517160ca1b557002a29d08868ae029451Hao Liu
4326a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
4336a5a667517160ca1b557002a29d08868ae029451Hao Liu// Load multiple 4-element structures to four consecutive registers
4346a5a667517160ca1b557002a29d08868ae029451Hao Liu//------------------------------------------------------------------------------
435dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0]
436dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15]
437dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp]
438dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
439dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0]
440dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15]
441dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp]
442dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c]
443dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c]
444dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c]
445dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c]
446dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c]
447dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c]
448dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c]
4496a5a667517160ca1b557002a29d08868ae029451Hao Liu
450dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.16b-v3.16b }, [x0]
451dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.8h-v18.8h }, [x15]
452dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.4s-v2.4s }, [sp]
453dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.2d-v3.2d }, [x0]
454dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v0.8b-v3.8b }, [x0]
455dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v15.4h-v18.4h }, [x15]
456dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines         ld4 { v31.2s-v2.2s }, [sp]
457dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c]
458dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c]
459dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c]
460dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c]
461dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c]
462dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c]
463dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK:	ld4	{ v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c]
464