1 @ RUN
: llvm-mc
-mcpu
=cortex-a8
-triple arm-unknown-unknown
-show-encoding
< %s \
7 @ CHECK
: vand d16
, d17
, d16 @ encoding
: [0xb0,0x01,0x41,0xf2]
8 @ CHECK
: vand q8
, q8
, q9 @ encoding
: [0xf2,0x01,0x40,0xf2]
13 @ CHECK
: veor d16
, d17
, d16 @ encoding
: [0xb0,0x01,0x41,0xf3]
14 @ CHECK
: veor q8
, q8
, q9 @ encoding
: [0xf2,0x01,0x40,0xf3]
19 @ CHECK
: vorr d16
, d17
, d16 @ encoding
: [0xb0,0x01,0x61,0xf2]
20 @ CHECK
: vorr q8
, q8
, q9 @ encoding
: [0xf2,0x01,0x60,0xf2]
22 vorr.i32 d16
, #0x1000000
23 vorr.i32 q8
, #0x1000000
26 @ CHECK
: vorr.i32 d16
, #0x1000000 @ encoding: [0x11,0x07,0xc0,0xf2]
27 @ CHECK
: vorr.i32 q8
, #0x1000000 @ encoding: [0x51,0x07,0xc0,0xf2]
28 @ CHECK
: vorr.i32 q8
, #0x0 @ encoding: [0x50,0x01,0xc0,0xf2]
38 vbic.i32 d16
, #0xFF000000
39 vbic.i32 q8
, #0xFF000000
40 vbic.i32 d16
, #0x00FF0000
41 vbic.i32 q8
, #0x00FF0000
42 vbic.i32 d16
, #0x0000FF00
43 vbic.i32 q8
, #0x0000FF00
44 vbic.i32 d16
, #0x000000FF
45 vbic.i32 q8
, #0x000000FF
47 @ CHECK
: vbic d16
, d17
, d16 @ encoding
: [0xb0,0x01,0x51,0xf2]
48 @ CHECK
: vbic q8
, q8
, q9 @ encoding
: [0xf2,0x01,0x50,0xf2]
49 @ CHECK
: vbic q10
, q10
, q11 @ encoding
: [0xf6,0x41,0x54,0xf2]
50 @ CHECK
: vbic d9
, d9
, d1 @ encoding
: [0x11,0x91,0x19,0xf2]
51 @ CHECK
: vbic.i16 d16
, #0xff00 @ encoding: [0x3f,0x0b,0xc7,0xf3]
52 @ CHECK
: vbic.i16 q8
, #0xff00 @ encoding: [0x7f,0x0b,0xc7,0xf3]
53 @ CHECK
: vbic.i16 d16
, #0xff @ encoding: [0x3f,0x09,0xc7,0xf3]
54 @ CHECK
: vbic.i16 q8
, #0xff @ encoding: [0x7f,0x09,0xc7,0xf3]
55 @ CHECK
: vbic.i32 d16
, #0xff000000 @ encoding: [0x3f,0x07,0xc7,0xf3]
56 @ CHECK
: vbic.i32 q8
, #0xff000000 @ encoding: [0x7f,0x07,0xc7,0xf3]
57 @ CHECK
: vbic.i32 d16
, #0xff0000 @ encoding: [0x3f,0x05,0xc7,0xf3]
58 @ CHECK
: vbic.i32 q8
, #0xff0000 @ encoding: [0x7f,0x05,0xc7,0xf3]
59 @ CHECK
: vbic.i32 d16
, #0xff00 @ encoding: [0x3f,0x03,0xc7,0xf3]
60 @ CHECK
: vbic.i32 q8
, #0xff00 @ encoding: [0x7f,0x03,0xc7,0xf3]
61 @ CHECK
: vbic.i32 d16
, #0xff @ encoding: [0x3f,0x01,0xc7,0xf3]
62 @ CHECK
: vbic.i32 q8
, #0xff @ encoding: [0x7f,0x01,0xc7,0xf3]
68 vand.i32 d10
, #0x03ffffff
69 vand.i32 q10
, #0x03ffffff
70 vand.i32 d10
, #0xff03ffff
71 vand.i32 q10
, #0xff03ffff
72 vand.i32 d10
, #0xffff03ff
73 vand.i32 q10
, #0xffff03ff
74 vand.i32 d10
, #0xffffff03
75 vand.i32 q10
, #0xffffff03
77 @ CHECK
: vbic.i16 d10
, #0xfc @ encoding: [0x3c,0xa9,0x87,0xf3]
78 @ CHECK
: vbic.i16 q10
, #0xfc @ encoding: [0x7c,0x49,0xc7,0xf3]
79 @ CHECK
: vbic.i16 d10
, #0xfc00 @ encoding: [0x3c,0xab,0x87,0xf3]
80 @ CHECK
: vbic.i16 q10
, #0xfc00 @ encoding: [0x7c,0x4b,0xc7,0xf3]
81 @ CHECK
: vbic.i32 d10
, #0xfc000000 @ encoding: [0x3c,0xa7,0x87,0xf3]
82 @ CHECK
: vbic.i32 q10
, #0xfc000000 @ encoding: [0x7c,0x47,0xc7,0xf3]
83 @ CHECK
: vbic.i32 d10
, #0xfc0000 @ encoding: [0x3c,0xa5,0x87,0xf3]
84 @ CHECK
: vbic.i32 q10
, #0xfc0000 @ encoding: [0x7c,0x45,0xc7,0xf3]
85 @ CHECK
: vbic.i32 d10
, #0xfc00 @ encoding: [0x3c,0xa3,0x87,0xf3]
86 @ CHECK
: vbic.i32 q10
, #0xfc00 @ encoding: [0x7c,0x43,0xc7,0xf3]
87 @ CHECK
: vbic.i32 d10
, #0xfc @ encoding: [0x3c,0xa1,0x87,0xf3]
88 @ CHECK
: vbic.i32 q10
, #0xfc @ encoding: [0x7c,0x41,0xc7,0xf3]
93 @ CHECK
: vorn d16
, d17
, d16 @ encoding
: [0xb0,0x01,0x71,0xf2]
94 @ CHECK
: vorn q8
, q8
, q9 @ encoding
: [0xf2,0x01,0x70,0xf2]
99 @ CHECK
: vmvn d16
, d16 @ encoding
: [0xa0,0x05,0xf0,0xf3]
100 @ CHECK
: vmvn q8
, q8 @ encoding
: [0xe0,0x05,0xf0,0xf3]
105 @ CHECK
: vbsl d18
, d17
, d16 @ encoding
: [0xb0,0x21,0x51,0xf3]
106 @ CHECK
: vbsl q8
, q10
, q9 @ encoding
: [0xf2,0x01,0x54,0xf3]
109 @ Size suffices are optional.
139 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
140 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
141 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
142 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
143 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
145 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
146 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
147 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
148 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
150 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
151 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
152 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
153 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
155 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
156 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
157 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
158 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
160 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
161 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
162 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
163 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
165 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
166 @ CHECK
: veor q4
, q7
, q3 @ encoding
: [0x56,0x81,0x0e,0xf3]
198 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
199 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
200 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
201 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
202 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
204 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
205 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
206 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
207 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
209 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
210 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
211 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
212 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
214 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
215 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
216 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
217 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
219 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
220 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
221 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
222 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
224 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
225 @ CHECK
: vand d4
, d7
, d3 @ encoding
: [0x13,0x41,0x07,0xf2]
256 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
257 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
258 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
259 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
260 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
262 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
263 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
264 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
265 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
267 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
268 @ CHECK
: vorr d4
, d7
, d3 @ encoding
: [0x13,0x41,0x27,0xf2]
269 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
270 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
272 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
273 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
274 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
275 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
277 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
278 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
279 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
280 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
282 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
283 @ CHECK
: vorr q4
, q7
, q3 @ encoding
: [0x56,0x81,0x2e,0xf2]
285 @ Two-operand aliases
334 @ FIXME
: We don
't have an alias that reverses the operands
340 @ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
341 @ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
342 @ CHECK: vand q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf2]
343 @ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
344 @ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
346 @ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
347 @ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
348 @ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
349 @ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
350 @ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
352 @ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
353 @ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
354 @ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
355 @ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
356 @ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
357 @ CHECK: vclt.s16 q5, q5, #0 @ encoding: [0x4a,0xa2,0xb5,0xf3]
358 @ CHECK: vclt.s16 d5, d5, #0 @ encoding: [0x05,0x52,0xb5,0xf3]
360 @ CHECK: vceq.i16 q5, q5, q3 @ encoding: [0x56,0xa8,0x1a,0xf3]
361 @ CHECK: vceq.i16 d5, d5, d3 @ encoding: [0x13,0x58,0x15,0xf3]
363 @ CHECK: vcgt.s16 q5, q5, q3 @ encoding: [0x46,0xa3,0x1a,0xf2]
364 @ CHECK: vcgt.s16 d5, d5, d3 @ encoding: [0x03,0x53,0x15,0xf2]
366 @ CHECK: vcge.s16 q5, q5, q3 @ encoding: [0x56,0xa3,0x1a,0xf2]
367 @ CHECK: vcge.s16 d5, d5, d3 @ encoding: [0x13,0x53,0x15,0xf2]
369 @ CHECK: vcgt.s16 q5, q5, #0 @ encoding: [0x4a,0xa0,0xb5,0xf3]
370 @ CHECK: vcgt.s16 d5, d5, #0 @ encoding: [0x05,0x50,0xb5,0xf3]
372 @ CHECK: vcge.s16 q5, q5, #0 @ encoding: [0xca,0xa0,0xb5,0xf3]
373 @ CHECK: vcge.s16 d5, d5, #0 @ encoding: [0x85,0x50,0xb5,0xf3]
375 @ CHECK: vceq.i16 q5, q5, #0 @ encoding: [0x4a,0xa1,0xb5,0xf3]
376 @ CHECK: vceq.i16 d5, d5, #0 @ encoding: [0x05,0x51,0xb5,0xf3]
378 @ CHECK: vcle.s16 q5, q5, #0 @ encoding: [0xca,0xa1,0xb5,0xf3]
379 @ CHECK: vcle.s16 d5, d5, #0 @ encoding: [0x85,0x51,0xb5,0xf3]
381 @ CHECK: vacge.f32 d5, d5, d30 @ encoding: [0x3e,0x5e,0x05,0xf3]
382 @ CHECK: vacge.f32 q5, q5, q3 @ encoding: [0x56,0xae,0x0a,0xf3]
384 @ CHECK: vacgt.f32 d5, d5, d30 @ encoding: [0x3e,0x5e,0x25,0xf3]
385 @ CHECK: vacgt.f32 q5, q5, q3 @ encoding: [0x56,0xae,0x2a,0xf3]