1 // RUN
: llvm-mc
-triple
=aarch64-none-linux-gnu
-mattr
=+crypto
-mattr
=+neon
-show-encoding
< %s | FileCheck
%s
3 // Check that the assembler can handle the documented syntax for AArch64
5 //------------------------------------------------------------------------------
6 // Instructions with
3 different vector data types
7 //------------------------------------------------------------------------------
9 //------------------------------------------------------------------------------
11 //------------------------------------------------------------------------------
13 //------------------------------------------------------------------------------
15 //------------------------------------------------------------------------------
17 saddl v0.8h
, v1.8
b, v2.8
b
18 saddl v0.4s
, v1.4h
, v2.4h
19 saddl v0.2d
, v1.2s
, v2.2s
21 // CHECK
: saddl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x00,0x22,0x0e]
22 // CHECK
: saddl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x00,0x62,0x0e]
23 // CHECK
: saddl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x00,0xa2,0x0e]
25 saddl2 v0.4s
, v1.8h
, v2.8h
26 saddl2 v0.8h
, v1.16
b, v2.16
b
27 saddl2 v0.2d
, v1.4s
, v2.4s
29 // CHECK
: saddl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x00,0x62,0x4e]
30 // CHECK
: saddl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x00,0x22,0x4e]
31 // CHECK
: saddl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x00,0xa2,0x4e]
33 uaddl v0.8h
, v1.8
b, v2.8
b
34 uaddl v0.4s
, v1.4h
, v2.4h
35 uaddl v0.2d
, v1.2s
, v2.2s
37 // CHECK
: uaddl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x00,0x22,0x2e]
38 // CHECK
: uaddl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x00,0x62,0x2e]
39 // CHECK
: uaddl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x00,0xa2,0x2e]
41 uaddl2 v0.8h
, v1.16
b, v2.16
b
42 uaddl2 v0.4s
, v1.8h
, v2.8h
43 uaddl2 v0.2d
, v1.4s
, v2.4s
45 // CHECK
: uaddl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x00,0x22,0x6e]
46 // CHECK
: uaddl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x00,0x62,0x6e]
47 // CHECK
: uaddl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x00,0xa2,0x6e]
49 ssubl v0.8h
, v1.8
b, v2.8
b
50 ssubl v0.4s
, v1.4h
, v2.4h
51 ssubl v0.2d
, v1.2s
, v2.2s
53 // CHECK
: ssubl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x20,0x22,0x0e]
54 // CHECK
: ssubl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x20,0x62,0x0e]
55 // CHECK
: ssubl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x20,0xa2,0x0e]
57 ssubl2 v0.8h
, v1.16
b, v2.16
b
58 ssubl2 v0.4s
, v1.8h
, v2.8h
59 ssubl2 v0.2d
, v1.4s
, v2.4s
61 // CHECK
: ssubl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x20,0x22,0x4e]
62 // CHECK
: ssubl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x20,0x62,0x4e]
63 // CHECK
: ssubl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x20,0xa2,0x4e]
65 usubl v0.8h
, v1.8
b, v2.8
b
66 usubl v0.4s
, v1.4h
, v2.4h
67 usubl v0.2d
, v1.2s
, v2.2s
69 // CHECK
: usubl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x20,0x22,0x2e]
70 // CHECK
: usubl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x20,0x62,0x2e]
71 // CHECK
: usubl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x20,0xa2,0x2e]
73 usubl2 v0.8h
, v1.16
b, v2.16
b
74 usubl2 v0.4s
, v1.8h
, v2.8h
75 usubl2 v0.2d
, v1.4s
, v2.4s
77 // CHECK
: usubl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x20,0x22,0x6e]
78 // CHECK
: usubl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x20,0x62,0x6e]
79 // CHECK
: usubl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x20,0xa2,0x6e]
81 sabal v0.8h
, v1.8
b, v2.8
b
82 sabal v0.4s
, v1.4h
, v2.4h
83 sabal v0.2d
, v1.2s
, v2.2s
85 // CHECK
: sabal v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x50,0x22,0x0e]
86 // CHECK
: sabal v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x50,0x62,0x0e]
87 // CHECK
: sabal v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x50,0xa2,0x0e]
89 sabal2 v0.8h
, v1.16
b, v2.16
b
90 sabal2 v0.4s
, v1.8h
, v2.8h
91 sabal2 v0.2d
, v1.4s
, v2.4s
93 // CHECK
: sabal2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x50,0x22,0x4e]
94 // CHECK
: sabal2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x50,0x62,0x4e]
95 // CHECK
: sabal2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x50,0xa2,0x4e]
97 uabal v0.8h
, v1.8
b, v2.8
b
98 uabal v0.4s
, v1.4h
, v2.4h
99 uabal v0.2d
, v1.2s
, v2.2s
101 // CHECK
: uabal v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x50,0x22,0x2e]
102 // CHECK
: uabal v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x50,0x62,0x2e]
103 // CHECK
: uabal v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x50,0xa2,0x2e]
105 uabal2 v0.8h
, v1.16
b, v2.16
b
106 uabal2 v0.4s
, v1.8h
, v2.8h
107 uabal2 v0.2d
, v1.4s
, v2.4s
109 // CHECK
: uabal2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x50,0x22,0x6e]
110 // CHECK
: uabal2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x50,0x62,0x6e]
111 // CHECK
: uabal2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x50,0xa2,0x6e]
113 sabdl v0.8h
, v1.8
b, v2.8
b
114 sabdl v0.4s
, v1.4h
, v2.4h
115 sabdl v0.2d
, v1.2s
, v2.2s
117 // CHECK
: sabdl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x70,0x22,0x0e]
118 // CHECK
: sabdl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x70,0x62,0x0e]
119 // CHECK
: sabdl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x70,0xa2,0x0e]
121 sabdl2 v0.8h
, v1.16
b, v2.16
b
122 sabdl2 v0.4s
, v1.8h
, v2.8h
123 sabdl2 v0.2d
, v1.4s
, v2.4s
125 // CHECK
: sabdl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x70,0x22,0x4e]
126 // CHECK
: sabdl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x70,0x62,0x4e]
127 // CHECK
: sabdl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x70,0xa2,0x4e]
129 uabdl v0.8h
, v1.8
b, v2.8
b
130 uabdl v0.4s
, v1.4h
, v2.4h
131 uabdl v0.2d
, v1.2s
, v2.2s
133 // CHECK
: uabdl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x70,0x22,0x2e]
134 // CHECK
: uabdl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x70,0x62,0x2e]
135 // CHECK
: uabdl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x70,0xa2,0x2e]
137 uabdl2 v0.8h
, v1.16
b, v2.16
b
138 uabdl2 v0.4s
, v1.8h
, v2.8h
139 uabdl2 v0.2d
, v1.4s
, v2.4s
141 // CHECK
: uabdl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x70,0x22,0x6e]
142 // CHECK
: uabdl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x70,0x62,0x6e]
143 // CHECK
: uabdl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x70,0xa2,0x6e]
145 smlal v0.8h
, v1.8
b, v2.8
b
146 smlal v0.4s
, v1.4h
, v2.4h
147 smlal v0.2d
, v1.2s
, v2.2s
149 // CHECK
: smlal v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x80,0x22,0x0e]
150 // CHECK
: smlal v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x80,0x62,0x0e]
151 // CHECK
: smlal v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x80,0xa2,0x0e]
153 smlal2 v0.8h
, v1.16
b, v2.16
b
154 smlal2 v0.4s
, v1.8h
, v2.8h
155 smlal2 v0.2d
, v1.4s
, v2.4s
157 // CHECK
: smlal2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x80,0x22,0x4e]
158 // CHECK
: smlal2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x80,0x62,0x4e]
159 // CHECK
: smlal2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x80,0xa2,0x4e]
161 umlal v0.8h
, v1.8
b, v2.8
b
162 umlal v0.4s
, v1.4h
, v2.4h
163 umlal v0.2d
, v1.2s
, v2.2s
165 // CHECK
: umlal v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0x80,0x22,0x2e]
166 // CHECK
: umlal v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x80,0x62,0x2e]
167 // CHECK
: umlal v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x80,0xa2,0x2e]
169 umlal2 v0.8h
, v1.16
b, v2.16
b
170 umlal2 v0.4s
, v1.8h
, v2.8h
171 umlal2 v0.2d
, v1.4s
, v2.4s
173 // CHECK
: umlal2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0x80,0x22,0x6e]
174 // CHECK
: umlal2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x80,0x62,0x6e]
175 // CHECK
: umlal2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x80,0xa2,0x6e]
177 smlsl v0.8h
, v1.8
b, v2.8
b
178 smlsl v0.4s
, v1.4h
, v2.4h
179 smlsl v0.2d
, v1.2s
, v2.2s
181 // CHECK
: smlsl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0xa0,0x22,0x0e]
182 // CHECK
: smlsl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xa0,0x62,0x0e]
183 // CHECK
: smlsl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xa0,0xa2,0x0e]
185 smlsl2 v0.8h
, v1.16
b, v2.16
b
186 smlsl2 v0.4s
, v1.8h
, v2.8h
187 smlsl2 v0.2d
, v1.4s
, v2.4s
189 // CHECK
: smlsl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0xa0,0x22,0x4e]
190 // CHECK
: smlsl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xa0,0x62,0x4e]
191 // CHECK
: smlsl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xa0,0xa2,0x4e]
193 umlsl v0.8h
, v1.8
b, v2.8
b
194 umlsl v0.4s
, v1.4h
, v2.4h
195 umlsl v0.2d
, v1.2s
, v2.2s
197 // CHECK
: umlsl v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0xa0,0x22,0x2e]
198 // CHECK
: umlsl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xa0,0x62,0x2e]
199 // CHECK
: umlsl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xa0,0xa2,0x2e]
201 umlsl2 v0.8h
, v1.16
b, v2.16
b
202 umlsl2 v0.4s
, v1.8h
, v2.8h
203 umlsl2 v0.2d
, v1.4s
, v2.4s
205 // CHECK
: umlsl2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0xa0,0x22,0x6e]
206 // CHECK
: umlsl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xa0,0x62,0x6e]
207 // CHECK
: umlsl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xa0,0xa2,0x6e]
209 smull v0.8h
, v1.8
b, v2.8
b
210 smull v0.4s
, v1.4h
, v2.4h
211 smull v0.2d
, v1.2s
, v2.2s
213 // CHECK
: smull v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0xc0,0x22,0x0e]
214 // CHECK
: smull v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xc0,0x62,0x0e]
215 // CHECK
: smull v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xc0,0xa2,0x0e]
217 smull2 v0.8h
, v1.16
b, v2.16
b
218 smull2 v0.4s
, v1.8h
, v2.8h
219 smull2 v0.2d
, v1.4s
, v2.4s
221 // CHECK
: smull2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0xc0,0x22,0x4e]
222 // CHECK
: smull2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xc0,0x62,0x4e]
223 // CHECK
: smull2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xc0,0xa2,0x4e]
225 umull v0.8h
, v1.8
b, v2.8
b
226 umull v0.4s
, v1.4h
, v2.4h
227 umull v0.2d
, v1.2s
, v2.2s
229 // CHECK
: umull v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0xc0,0x22,0x2e]
230 // CHECK
: umull v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xc0,0x62,0x2e]
231 // CHECK
: umull v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xc0,0xa2,0x2e]
233 umull2 v0.8h
, v1.16
b, v2.16
b
234 umull2 v0.4s
, v1.8h
, v2.8h
235 umull2 v0.2d
, v1.4s
, v2.4s
237 // CHECK
: umull2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0xc0,0x22,0x6e]
238 // CHECK
: umull2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xc0,0x62,0x6e]
239 // CHECK
: umull2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xc0,0xa2,0x6e]
241 //------------------------------------------------------------------------------
243 //------------------------------------------------------------------------------
245 sqdmlal v0.4s
, v1.4h
, v2.4h
246 sqdmlal v0.2d
, v1.2s
, v2.2s
248 // CHECK
: sqdmlal v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0x90,0x62,0x0e]
249 // CHECK
: sqdmlal v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0x90,0xa2,0x0e]
251 sqdmlal2 v0.4s
, v1.8h
, v2.8h
252 sqdmlal2 v0.2d
, v1.4s
, v2.4s
254 // CHECK
: sqdmlal2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0x90,0x62,0x4e]
255 // CHECK
: sqdmlal2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0x90,0xa2,0x4e]
257 sqdmlsl v0.4s
, v1.4h
, v2.4h
258 sqdmlsl v0.2d
, v1.2s
, v2.2s
260 // CHECK
: sqdmlsl v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xb0,0x62,0x0e]
261 // CHECK
: sqdmlsl v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xb0,0xa2,0x0e]
263 sqdmlsl2 v0.4s
, v1.8h
, v2.8h
264 sqdmlsl2 v0.2d
, v1.4s
, v2.4s
266 // CHECK
: sqdmlsl2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xb0,0x62,0x4e]
267 // CHECK
: sqdmlsl2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xb0,0xa2,0x4e]
269 sqdmull v0.4s
, v1.4h
, v2.4h
270 sqdmull v0.2d
, v1.2s
, v2.2s
272 // CHECK
: sqdmull v0.4s
, v1.4h
, v2.4h
// encoding
: [0x20,0xd0,0x62,0x0e]
273 // CHECK
: sqdmull v0.2d
, v1.2s
, v2.2s
// encoding
: [0x20,0xd0,0xa2,0x0e]
275 sqdmull2 v0.4s
, v1.8h
, v2.8h
276 sqdmull2 v0.2d
, v1.4s
, v2.4s
278 // CHECK
: sqdmull2 v0.4s
, v1.8h
, v2.8h
// encoding
: [0x20,0xd0,0x62,0x4e]
279 // CHECK
: sqdmull2 v0.2d
, v1.4s
, v2.4s
// encoding
: [0x20,0xd0,0xa2,0x4e]
281 //------------------------------------------------------------------------------
283 //------------------------------------------------------------------------------
285 pmull v0.8h
, v1.8
b, v2.8
b
286 pmull v0.1q
, v1.1d
, v2.1d
288 // CHECK
: pmull v0.8h
, v1.8
b, v2.8
b // encoding
: [0x20,0xe0,0x22,0x0e]
289 // CHECK
: pmull v0.1q
, v1.1d
, v2.1d
// encoding
: [0x20,0xe0,0xe2,0x0e]
291 pmull2 v0.8h
, v1.16
b, v2.16
b
292 pmull2 v0.1q
, v1.2d
, v2.2d
294 // CHECK
: pmull2 v0.8h
, v1.16
b, v2.16
b // encoding
: [0x20,0xe0,0x22,0x4e]
295 // CHECK
: pmull2 v0.1q
, v1.2d
, v2.2d
// encoding
: [0x20,0xe0,0xe2,0x4e]
297 //------------------------------------------------------------------------------
299 //------------------------------------------------------------------------------
301 saddw v0.8h
, v1.8h
, v2.8
b
302 saddw v0.4s
, v1.4s
, v2.4h
303 saddw v0.2d
, v1.2d
, v2.2s
305 // CHECK
: saddw v0.8h
, v1.8h
, v2.8
b // encoding
: [0x20,0x10,0x22,0x0e]
306 // CHECK
: saddw v0.4s
, v1.4s
, v2.4h
// encoding
: [0x20,0x10,0x62,0x0e]
307 // CHECK
: saddw v0.2d
, v1.2d
, v2.2s
// encoding
: [0x20,0x10,0xa2,0x0e]
309 saddw2 v0.8h
, v1.8h
, v2.16
b
310 saddw2 v0.4s
, v1.4s
, v2.8h
311 saddw2 v0.2d
, v1.2d
, v2.4s
313 // CHECK
: saddw2 v0.8h
, v1.8h
, v2.16
b // encoding
: [0x20,0x10,0x22,0x4e]
314 // CHECK
: saddw2 v0.4s
, v1.4s
, v2.8h
// encoding
: [0x20,0x10,0x62,0x4e]
315 // CHECK
: saddw2 v0.2d
, v1.2d
, v2.4s
// encoding
: [0x20,0x10,0xa2,0x4e]
317 uaddw v0.8h
, v1.8h
, v2.8
b
318 uaddw v0.4s
, v1.4s
, v2.4h
319 uaddw v0.2d
, v1.2d
, v2.2s
321 // CHECK
: uaddw v0.8h
, v1.8h
, v2.8
b // encoding
: [0x20,0x10,0x22,0x2e]
322 // CHECK
: uaddw v0.4s
, v1.4s
, v2.4h
// encoding
: [0x20,0x10,0x62,0x2e]
323 // CHECK
: uaddw v0.2d
, v1.2d
, v2.2s
// encoding
: [0x20,0x10,0xa2,0x2e]
325 uaddw2 v0.8h
, v1.8h
, v2.16
b
326 uaddw2 v0.4s
, v1.4s
, v2.8h
327 uaddw2 v0.2d
, v1.2d
, v2.4s
329 // CHECK
: uaddw2 v0.8h
, v1.8h
, v2.16
b // encoding
: [0x20,0x10,0x22,0x6e]
330 // CHECK
: uaddw2 v0.4s
, v1.4s
, v2.8h
// encoding
: [0x20,0x10,0x62,0x6e]
331 // CHECK
: uaddw2 v0.2d
, v1.2d
, v2.4s
// encoding
: [0x20,0x10,0xa2,0x6e]
333 ssubw v0.8h
, v1.8h
, v2.8
b
334 ssubw v0.4s
, v1.4s
, v2.4h
335 ssubw v0.2d
, v1.2d
, v2.2s
337 // CHECK
: ssubw v0.8h
, v1.8h
, v2.8
b // encoding
: [0x20,0x30,0x22,0x0e]
338 // CHECK
: ssubw v0.4s
, v1.4s
, v2.4h
// encoding
: [0x20,0x30,0x62,0x0e]
339 // CHECK
: ssubw v0.2d
, v1.2d
, v2.2s
// encoding
: [0x20,0x30,0xa2,0x0e]
341 ssubw2 v0.8h
, v1.8h
, v2.16
b
342 ssubw2 v0.4s
, v1.4s
, v2.8h
343 ssubw2 v0.2d
, v1.2d
, v2.4s
345 // CHECK
: ssubw2 v0.8h
, v1.8h
, v2.16
b // encoding
: [0x20,0x30,0x22,0x4e]
346 // CHECK
: ssubw2 v0.4s
, v1.4s
, v2.8h
// encoding
: [0x20,0x30,0x62,0x4e]
347 // CHECK
: ssubw2 v0.2d
, v1.2d
, v2.4s
// encoding
: [0x20,0x30,0xa2,0x4e]
349 usubw v0.8h
, v1.8h
, v2.8
b
350 usubw v0.4s
, v1.4s
, v2.4h
351 usubw v0.2d
, v1.2d
, v2.2s
353 // CHECK
: usubw v0.8h
, v1.8h
, v2.8
b // encoding
: [0x20,0x30,0x22,0x2e]
354 // CHECK
: usubw v0.4s
, v1.4s
, v2.4h
// encoding
: [0x20,0x30,0x62,0x2e]
355 // CHECK
: usubw v0.2d
, v1.2d
, v2.2s
// encoding
: [0x20,0x30,0xa2,0x2e]
357 usubw2 v0.8h
, v1.8h
, v2.16
b
358 usubw2 v0.4s
, v1.4s
, v2.8h
359 usubw2 v0.2d
, v1.2d
, v2.4s
361 // CHECK
: usubw2 v0.8h
, v1.8h
, v2.16
b // encoding
: [0x20,0x30,0x22,0x6e]
362 // CHECK
: usubw2 v0.4s
, v1.4s
, v2.8h
// encoding
: [0x20,0x30,0x62,0x6e]
363 // CHECK
: usubw2 v0.2d
, v1.2d
, v2.4s
// encoding
: [0x20,0x30,0xa2,0x6e]
365 //------------------------------------------------------------------------------
367 //------------------------------------------------------------------------------
369 addhn v0.8
b, v1.8h
, v2.8h
370 addhn v0.4h
, v1.4s
, v2.4s
371 addhn v0.2s
, v1.2d
, v2.2d
373 // CHECK
: addhn v0.8
b, v1.8h
, v2.8h
// encoding
: [0x20,0x40,0x22,0x0e]
374 // CHECK
: addhn v0.4h
, v1.4s
, v2.4s
// encoding
: [0x20,0x40,0x62,0x0e]
375 // CHECK
: addhn v0.2s
, v1.2d
, v2.2d
// encoding
: [0x20,0x40,0xa2,0x0e]
377 addhn2 v0.16
b, v1.8h
, v2.8h
378 addhn2 v0.8h
, v1.4s
, v2.4s
379 addhn2 v0.4s
, v1.2d
, v2.2d
381 // CHECK
: addhn2 v0.16
b, v1.8h
, v2.8h
// encoding
: [0x20,0x40,0x22,0x4e]
382 // CHECK
: addhn2 v0.8h
, v1.4s
, v2.4s
// encoding
: [0x20,0x40,0x62,0x4e]
383 // CHECK
: addhn2 v0.4s
, v1.2d
, v2.2d
// encoding
: [0x20,0x40,0xa2,0x4e]
385 raddhn v0.8
b, v1.8h
, v2.8h
386 raddhn v0.4h
, v1.4s
, v2.4s
387 raddhn v0.2s
, v1.2d
, v2.2d
389 // CHECK
: raddhn v0.8
b, v1.8h
, v2.8h
// encoding
: [0x20,0x40,0x22,0x2e]
390 // CHECK
: raddhn v0.4h
, v1.4s
, v2.4s
// encoding
: [0x20,0x40,0x62,0x2e]
391 // CHECK
: raddhn v0.2s
, v1.2d
, v2.2d
// encoding
: [0x20,0x40,0xa2,0x2e]
393 raddhn2 v0.16
b, v1.8h
, v2.8h
394 raddhn2 v0.8h
, v1.4s
, v2.4s
395 raddhn2 v0.4s
, v1.2d
, v2.2d
397 // CHECK
: raddhn2 v0.16
b, v1.8h
, v2.8h
// encoding
: [0x20,0x40,0x22,0x6e]
398 // CHECK
: raddhn2 v0.8h
, v1.4s
, v2.4s
// encoding
: [0x20,0x40,0x62,0x6e]
399 // CHECK
: raddhn2 v0.4s
, v1.2d
, v2.2d
// encoding
: [0x20,0x40,0xa2,0x6e]
401 rsubhn v0.8
b, v1.8h
, v2.8h
402 rsubhn v0.4h
, v1.4s
, v2.4s
403 rsubhn v0.2s
, v1.2d
, v2.2d
405 // CHECK
: rsubhn v0.8
b, v1.8h
, v2.8h
// encoding
: [0x20,0x60,0x22,0x2e]
406 // CHECK
: rsubhn v0.4h
, v1.4s
, v2.4s
// encoding
: [0x20,0x60,0x62,0x2e]
407 // CHECK
: rsubhn v0.2s
, v1.2d
, v2.2d
// encoding
: [0x20,0x60,0xa2,0x2e]
409 rsubhn2 v0.16
b, v1.8h
, v2.8h
410 rsubhn2 v0.8h
, v1.4s
, v2.4s
411 rsubhn2 v0.4s
, v1.2d
, v2.2d
413 // CHECK
: rsubhn2 v0.16
b, v1.8h
, v2.8h
// encoding
: [0x20,0x60,0x22,0x6e]
414 // CHECK
: rsubhn2 v0.8h
, v1.4s
, v2.4s
// encoding
: [0x20,0x60,0x62,0x6e]
415 // CHECK
: rsubhn2 v0.4s
, v1.2d
, v2.2d
// encoding
: [0x20,0x60,0xa2,0x6e]