1 ; RUN
: llvm-mc
-triple arm64-apple-darwin
-mattr
=neon
-output-asm-variant
=1 -show-encoding
-print-imm-hex
< %s | FileCheck
%s
4 ;
-----------------------------------------------------------------------------
5 ;
ADD #0 to/from SP/WSP is a MOV
6 ;
-----------------------------------------------------------------------------
24 ;
-----------------------------------------------------------------------------
25 ; ORR Rd
, Rn
, Rn is
a MOV
26 ;
-----------------------------------------------------------------------------
36 ;
-----------------------------------------------------------------------------
38 ;
-----------------------------------------------------------------------------
43 ands wzr
, w1
, w2
, lsl
#2
44 ands xzr
, x1
, x2
, lsl
#3
48 ; CHECK
: tst w1
, #0x3 ; encoding: [0x3f,0x04,0x00,0x72]
49 ; CHECK
: tst x1
, #0x3 ; encoding: [0x3f,0x04,0x40,0xf2]
50 ; CHECK
: tst w1
, w2 ; encoding
: [0x3f,0x00,0x02,0x6a]
51 ; CHECK
: tst x1
, x2 ; encoding
: [0x3f,0x00,0x02,0xea]
52 ; CHECK
: tst w1
, w2
, lsl
#2 ; encoding: [0x3f,0x08,0x02,0x6a]
53 ; CHECK
: tst x1
, x2
, lsl
#3 ; encoding: [0x3f,0x0c,0x02,0xea]
54 ; CHECK
: tst w3
, w7
, lsl
#31 ; encoding: [0x7f,0x7c,0x07,0x6a]
55 ; CHECK
: tst x2
, x20
, asr
#0 ; encoding: [0x5f,0x00,0x94,0xea]
57 ;
-----------------------------------------------------------------------------
58 ; ADDS to WZR
/XZR is
a CMN
59 ;
-----------------------------------------------------------------------------
69 ; CHECK
: cmn w1
, #0x3 ; encoding: [0x3f,0x0c,0x00,0x31]
70 ; CHECK
: cmn x2
, #0x400, lsl #12 ; encoding: [0x5f,0x00,0x50,0xb1]
71 ; CHECK
: cmn w4
, w5 ; encoding
: [0x9f,0x00,0x05,0x2b]
72 ; CHECK
: cmn x6
, x7 ; encoding
: [0xdf,0x00,0x07,0xab]
73 ; CHECK
: cmn w8
, w9
, asr
#3 ; encoding: [0x1f,0x0d,0x89,0x2b]
74 ; CHECK
: cmn x2
, x3
, lsr
#4 ; encoding: [0x5f,0x10,0x43,0xab]
75 ; CHECK
: cmn x2
, w3
, uxtb
#1 ; encoding: [0x5f,0x04,0x23,0xab]
76 ; CHECK
: cmn x4
, x5
, uxtx
#1 ; encoding: [0x9f,0x64,0x25,0xab]
79 ;
-----------------------------------------------------------------------------
80 ; SUBS to WZR
/XZR is
a CMP
81 ;
-----------------------------------------------------------------------------
82 cmp w1
, #1024, lsl #12
95 ; CHECK
: cmp w1
, #0x400, lsl #12 ; encoding: [0x3f,0x00,0x50,0x71]
96 ; CHECK
: cmp x2
, #0x400 ; encoding: [0x5f,0x00,0x10,0xf1]
97 ; CHECK
: cmp w4
, w5 ; encoding
: [0x9f,0x00,0x05,0x6b]
98 ; CHECK
: cmp x6
, x7 ; encoding
: [0xdf,0x00,0x07,0xeb]
99 ; CHECK
: cmp w8
, w9
, asr
#3 ; encoding: [0x1f,0x0d,0x89,0x6b]
100 ; CHECK
: cmp x2
, x3
, lsr
#4 ; encoding: [0x5f,0x10,0x43,0xeb]
101 ; CHECK
: cmp x2
, w3
, uxth
#2 ; encoding: [0x5f,0x28,0x23,0xeb]
102 ; CHECK
: cmp x4
, x5
, uxtx ; encoding
: [0x9f,0x60,0x25,0xeb]
103 ; CHECK
: cmp wzr
, w1 ; encoding
: [0xff,0x03,0x01,0x6b]
104 ; CHECK
: cmp x8
, w8
, uxtw ; encoding
: [0x1f,0x41,0x28,0xeb]
105 ; CHECK
: cmp w9
, w8
, uxtw ; encoding
: [0x3f,0x41,0x28,0x6b]
106 ; CHECK
: cmp wsp
, w9 ; encoding
: [0xff,0x43,0x29,0x6b]
109 ;
-----------------------------------------------------------------------------
110 ;
SUB/SUBS from WZR
/XZR is
a NEG
111 ;
-----------------------------------------------------------------------------
116 ; CHECK
: neg w0
, w1
, lsl
#1
120 ; CHECK
: neg x0
, x1
, asr
#1
124 ; CHECK
: negs w0
, w1
, lsl
#1
128 ; CHECK
: negs x0
, x1
, asr
#1
130 ;
-----------------------------------------------------------------------------
132 ;
-----------------------------------------------------------------------------
134 mov x0
, #281470681743360
135 mov x0
, #18446744073709486080
137 ; CHECK
: mov x0
, #0xffff00000000
138 ; CHECK
: mov x0
, #-0x10000
145 ; CHECK
: mov w0
, #-0x1
146 ; CHECK
: mov w0
, #-0x100
147 ; CHECK
: mov wzr
, #-0x1
148 ; CHECK
: mov wzr
, #-0x100
150 ;
0 can
be encoded by MOVZ in multiple ways
, only
"lsl #0" is
a MOV alias.
157 ; CHECK
: mov x0
, #0x0
158 ; CHECK
: movz x0
, #0x0, lsl #16
159 ; CHECK
: movz x0
, #0x0, lsl #32
160 ; CHECK
: movz x0
, #0x0, lsl #48
161 ; CHECK
: mov w0
, #0x0
162 ; CHECK
: movz w0
, #0x0, lsl #16
164 ; Similarly to MOVZ
, -1 can
be encoded in multiple ways
, only one of which is
172 ; CHECK
: mov x0
, #-0x1
173 ; CHECK
: movn x0
, #0x0, lsl #16
174 ; CHECK
: movn x0
, #0x0, lsl #32
175 ; CHECK
: movn x0
, #0x0, lsl #48
176 ; CHECK
: mov w0
, #-0x1
177 ; CHECK
: movn w0
, #0x0, lsl #16
179 ; Two
32-bit immediates are encodable by both MOVN
and MOVZ
, make sure the MOV
180 ; corresponds to the MOVZ version.
182 movz w0
, #0xffff, lsl #16
184 movn w0
, #0xffff, lsl #16
185 ; CHECK
: mov w0
, #0xffff
186 ; CHECK
: mov w0
, #-0x10000
187 ; CHECK
: movn w0
, #0xffff
188 ; CHECK
: movn w0
, #0xffff, lsl #16
190 orr x20
, xzr
, #0xaaaaaaaaaaaaaaaa
191 orr w15
, wzr
, #0xaaaaaaaa
192 ; CHECK
: mov x20
, #-0x5555555555555556
193 ; CHECK
: mov w15
, #-0x55555556
195 ; ORR is mostly repeating bit sequences
and cannot encode
-1, so it only
196 ; overlaps with MOVZ
or MOVN if the repeat-width is the whole register. In
197 ; both cases MOVZ
/MOVN are preferred.
200 orr x3
, xzr
, #0x10000
201 orr w3
, wzr
, #0x10000
202 orr x3
, xzr
, #0x700000000
203 orr x3
, xzr
, #0x3000000000000
204 ; CHECK
: orr x3
, xzr
, #0x1
205 ; CHECK
: orr w3
, wzr
, #0x1
206 ; CHECK
: orr x3
, xzr
, #0x10000
207 ; CHECK
: orr w3
, wzr
, #0x10000
208 ; CHECK
: orr x3
, xzr
, #0x700000000
209 ; CHECK
: orr x3
, xzr
, #0x3000000000000
212 orr x5
, xzr
, #0xfffffffffffffff0
213 orr w2
, wzr
, #0xfffffffe
214 orr x5
, xzr
, #0xfffffffffcffffff
215 orr w2
, wzr
, #0xf0ffffff
216 orr x5
, xzr
, #0xffffff00ffffffff
217 orr x5
, xzr
, #0x8000ffffffffffff
218 ; CHECK
: orr x5
, xzr
, #0xfffffffffffffff0
219 ; CHECK
: orr w2
, wzr
, #0xfffffffe
220 ; CHECK
: orr x5
, xzr
, #0x8000ffffffffffff
222 ;
0xffff is interesting because there are exceptions in the MOVN rules for
223 ; it. Make sure we don
't accidentally fall down any of those holes.
224 orr w3, wzr, #0xffff0000
226 orr x3, xzr, #0xffff000000000000
227 orr x5, xzr, #0x0000ffffffffffff
228 ; CHECK: orr w3, wzr, #0xffff0000
229 ; CHECK: orr w3, wzr, #0xffff
230 ; CHECK: orr x3, xzr, #0xffff000000000000
231 ; CHECK: orr x5, xzr, #0xffffffffffff
233 ;-----------------------------------------------------------------------------
235 ;-----------------------------------------------------------------------------
241 ; CHECK: mvn w4, w9 ; encoding: [0xe4,0x03,0x29,0x2a]
242 ; CHECK: mvn x2, x3 ; encoding: [0xe2,0x03,0x23,0xaa]
243 ; CHECK: mvn w4, w9 ; encoding: [0xe4,0x03,0x29,0x2a]
247 orn w4, wzr, w9, lsl #1
249 ; CHECK: mvn w4, w9, lsl #1 ; encoding: [0xe4,0x07,0x29,0x2a]
250 ; CHECK: mvn x2, x3, lsl #1 ; encoding: [0xe2,0x07,0x23,0xaa]
251 ; CHECK: mvn w4, w9, lsl #1 ; encoding: [0xe4,0x07,0x29,0x2a]
253 ;-----------------------------------------------------------------------------
255 ;-----------------------------------------------------------------------------
272 ; CHECK: bfi w0, w0, #1, #4
273 ; CHECK: bfi x0, x0, #1, #4
274 ; CHECK: bfxil w0, w0, #0, #2
275 ; CHECK: bfxil x0, x0, #0, #2
276 ; CHECK: bfxil w0, w0, #2, #3
277 ; CHECK: bfxil x0, x0, #2, #3
278 ; CHECK: sbfiz w0, w0, #1, #4
279 ; CHECK: sbfiz x0, x0, #1, #4
280 ; CHECK: sbfx w0, w0, #2, #3
281 ; CHECK: sbfx x0, x0, #2, #3
282 ; CHECK: ubfiz w0, w0, #1, #4
283 ; CHECK: ubfiz x0, x0, #1, #4
284 ; CHECK: ubfx w0, w0, #2, #3
285 ; CHECK: ubfx x0, x0, #2, #3
287 ;-----------------------------------------------------------------------------
288 ; Shift (immediate) aliases
289 ;-----------------------------------------------------------------------------
291 ; CHECK: asr w1, w3, #13
292 ; CHECK: asr x1, x3, #13
293 ; CHECK: lsl w0, w0, #1
294 ; CHECK: lsl x0, x0, #1
295 ; CHECK: lsr w0, w0, #4
296 ; CHECK: lsr x0, x0, #4
298 sbfm w1, w3, #13, #31
299 sbfm x1, x3, #13, #63
300 ubfm w0, w0, #31, #30
301 ubfm x0, x0, #63, #62
304 ; CHECK: ror w1, w3, #0x5
305 ; CHECK: ror x1, x3, #0x5
308 ; CHECK: lsl w1, wzr, #3
311 ;-----------------------------------------------------------------------------
312 ; Sign/Zero extend aliases
313 ;-----------------------------------------------------------------------------
337 ; CHECK: ubfx x1, x2, #0, #32
339 ;-----------------------------------------------------------------------------
341 ;-----------------------------------------------------------------------------
353 ;-----------------------------------------------------------------------------
354 ; 6.6.1 Multiply aliases
355 ;-----------------------------------------------------------------------------
366 ; CHECK: mneg w1, w2, w3
367 ; CHECK: mneg x1, x2, x3
368 ; CHECK: mul w1, w2, w3
369 ; CHECK: mul x1, x2, x3
370 ; CHECK: smnegl x1, w2, w3
371 ; CHECK: umnegl x1, w2, w3
372 ; CHECK: smull x1, w2, w3
373 ; CHECK: umull x1, w2, w3
375 ;-----------------------------------------------------------------------------
376 ; Conditional select aliases
377 ;-----------------------------------------------------------------------------
390 ; CHECK: csetm w1, ne
391 ; CHECK: csetm x1, ne
392 ; CHECK: cinc w1, w2, lt
393 ; CHECK: cinc x1, x2, lt
394 ; CHECK: cinv w1, w2, mi
395 ; CHECK: cinv x1, x2, mi
397 ;-----------------------------------------------------------------------------
399 ;-----------------------------------------------------------------------------
451 ; CHECK: tlbi vmalle1is
453 ; CHECK: tlbi alle2is
455 ; CHECK: tlbi alle3is
463 ; CHECK: tlbi aside1is
465 ; CHECK: tlbi vaae1is
467 ; CHECK: tlbi alle1is
469 ; CHECK: tlbi vale1is
471 ; CHECK: tlbi vaale1is
473 ; CHECK: tlbi vmalle1
477 ; CHECK: tlbi vale2is
479 ; CHECK: tlbi vale3is
503 ; CHECK: tlbi ipas2e1
505 ; CHECK: tlbi ipas2le1
507 ; CHECK: tlbi ipas2e1is
509 ; CHECK: tlbi ipas2le1is
511 ; CHECK: tlbi vmalls12e1
513 ; CHECK: tlbi vmalls12e1is
516 ; CHECK: ic ialluis ; encoding: [0x1f,0x71,0x08,0xd5]
518 ; CHECK: ic iallu ; encoding: [0x1f,0x75,0x08,0xd5]
520 ; CHECK: ic ivau, x0 ; encoding: [0x20,0x75,0x0b,0xd5]
523 ; CHECK: dc zva, x0 ; encoding: [0x20,0x74,0x0b,0xd5]
525 ; CHECK: dc ivac, x0 ; encoding: [0x20,0x76,0x08,0xd5]
527 ; CHECK: dc isw, x0 ; encoding: [0x40,0x76,0x08,0xd5]
529 ; CHECK: dc cvac, x0 ; encoding: [0x20,0x7a,0x0b,0xd5]
531 ; CHECK: dc csw, x0 ; encoding: [0x40,0x7a,0x08,0xd5]
533 ; CHECK: dc cvau, x0 ; encoding: [0x20,0x7b,0x0b,0xd5]
535 ; CHECK: dc civac, x0 ; encoding: [0x20,0x7e,0x0b,0xd5]
537 ; CHECK: dc cisw, x0 ; encoding: [0x40,0x7e,0x08,0xd5]
540 ; CHECK: at s1e1r, x0 ; encoding: [0x00,0x78,0x08,0xd5]
542 ; CHECK: at s1e2r, x0 ; encoding: [0x00,0x78,0x0c,0xd5]
544 ; CHECK: at s1e3r, x0 ; encoding: [0x00,0x78,0x0e,0xd5]
546 ; CHECK: at s1e1w, x0 ; encoding: [0x20,0x78,0x08,0xd5]
548 ; CHECK: at s1e2w, x0 ; encoding: [0x20,0x78,0x0c,0xd5]
550 ; CHECK: at s1e3w, x0 ; encoding: [0x20,0x78,0x0e,0xd5]
552 ; CHECK: at s1e0r, x0 ; encoding: [0x40,0x78,0x08,0xd5]
554 ; CHECK: at s1e0w, x0 ; encoding: [0x60,0x78,0x08,0xd5]
556 ; CHECK: at s12e1r, x0 ; encoding: [0x80,0x78,0x0c,0xd5]
558 ; CHECK: at s12e1w, x0 ; encoding: [0xa0,0x78,0x0c,0xd5]
560 ; CHECK: at s12e0r, x0 ; encoding: [0xc0,0x78,0x0c,0xd5]
562 ; CHECK: at s12e0w, x0 ; encoding: [0xe0,0x78,0x0c,0xd5]
565 ; CHECK: tlbi vmalle1is ; encoding: [0x1f,0x83,0x08,0xd5]
567 ; CHECK: tlbi alle2is ; encoding: [0x1f,0x83,0x0c,0xd5]
569 ; CHECK: tlbi alle3is ; encoding: [0x1f,0x83,0x0e,0xd5]
571 ; CHECK: tlbi vae1is, x0 ; encoding: [0x20,0x83,0x08,0xd5]
573 ; CHECK: tlbi vae2is, x0 ; encoding: [0x20,0x83,0x0c,0xd5]
575 ; CHECK: tlbi vae3is, x0 ; encoding: [0x20,0x83,0x0e,0xd5]
577 ; CHECK: tlbi aside1is, x0 ; encoding: [0x40,0x83,0x08,0xd5]
579 ; CHECK: tlbi vaae1is, x0 ; encoding: [0x60,0x83,0x08,0xd5]
581 ; CHECK: tlbi alle1is ; encoding: [0x9f,0x83,0x0c,0xd5]
583 ; CHECK: tlbi vale1is, x0 ; encoding: [0xa0,0x83,0x08,0xd5]
585 ; CHECK: tlbi vaale1is, x0 ; encoding: [0xe0,0x83,0x08,0xd5]
587 ; CHECK: tlbi vmalle1 ; encoding: [0x1f,0x87,0x08,0xd5]
589 ; CHECK: tlbi alle2 ; encoding: [0x1f,0x87,0x0c,0xd5]
591 ; CHECK: tlbi vale2is, x0 ; encoding: [0xa0,0x83,0x0c,0xd5]
593 ; CHECK: tlbi vale3is, x0 ; encoding: [0xa0,0x83,0x0e,0xd5]
595 ; CHECK: tlbi alle3 ; encoding: [0x1f,0x87,0x0e,0xd5]
597 ; CHECK: tlbi vae1, x0 ; encoding: [0x20,0x87,0x08,0xd5]
599 ; CHECK: tlbi vae2, x0 ; encoding: [0x20,0x87,0x0c,0xd5]
601 ; CHECK: tlbi vae3, x0 ; encoding: [0x20,0x87,0x0e,0xd5]
603 ; CHECK: tlbi aside1, x0 ; encoding: [0x40,0x87,0x08,0xd5]
605 ; CHECK: tlbi vaae1, x0 ; encoding: [0x60,0x87,0x08,0xd5]
607 ; CHECK: tlbi alle1 ; encoding: [0x9f,0x87,0x0c,0xd5
609 ; CHECK: tlbi vale1, x0 ; encoding: [0xa0,0x87,0x08,0xd5]
611 ; CHECK: tlbi vale2, x0 ; encoding: [0xa0,0x87,0x0c,0xd5]
613 ; CHECK: tlbi vale3, x0 ; encoding: [0xa0,0x87,0x0e,0xd5]
615 ; CHECK: tlbi vaale1, x0 ; encoding: [0xe0,0x87,0x08,0xd5]
617 ; CHECK: tlbi ipas2e1, x0 ; encoding: [0x20,0x84,0x0c,0xd5]
619 ; CHECK: tlbi ipas2le1, x0 ; encoding: [0xa0,0x84,0x0c,0xd5]
621 ; CHECK: tlbi ipas2e1is, x0 ; encoding: [0x20,0x80,0x0c,0xd5]
623 ; CHECK: tlbi ipas2le1is, x0 ; encoding: [0xa0,0x80,0x0c,0xd5]
625 ; CHECK: tlbi vmalls12e1 ; encoding: [0xdf,0x87,0x0c,0xd5]
627 ; CHECK: tlbi vmalls12e1is ; encoding: [0xdf,0x83,0x0c,0xd5]
629 ;-----------------------------------------------------------------------------
630 ; 5.8.5 Vector Arithmetic aliases
631 ;-----------------------------------------------------------------------------
640 ; CHECK: cmhs.8b v0, v1, v2
641 ; CHECK: cmhs.16b v0, v1, v2
642 ; CHECK: cmhs.4h v0, v1, v2
643 ; CHECK: cmhs.8h v0, v1, v2
644 ; CHECK: cmhs.2s v0, v1, v2
645 ; CHECK: cmhs.4s v0, v1, v2
646 ; CHECK: cmhs.2d v0, v1, v2
655 ; CHECK: cmhi.8b v0, v1, v2
656 ; CHECK: cmhi.16b v0, v1, v2
657 ; CHECK: cmhi.4h v0, v1, v2
658 ; CHECK: cmhi.8h v0, v1, v2
659 ; CHECK: cmhi.2s v0, v1, v2
660 ; CHECK: cmhi.4s v0, v1, v2
661 ; CHECK: cmhi.2d v0, v1, v2
670 ; CHECK: cmge.8b v0, v1, v2
671 ; CHECK: cmge.16b v0, v1, v2
672 ; CHECK: cmge.4h v0, v1, v2
673 ; CHECK: cmge.8h v0, v1, v2
674 ; CHECK: cmge.2s v0, v1, v2
675 ; CHECK: cmge.4s v0, v1, v2
676 ; CHECK: cmge.2d v0, v1, v2
685 ; CHECK: cmgt.8b v0, v1, v2
686 ; CHECK: cmgt.16b v0, v1, v2
687 ; CHECK: cmgt.4h v0, v1, v2
688 ; CHECK: cmgt.8h v0, v1, v2
689 ; CHECK: cmgt.2s v0, v1, v2
690 ; CHECK: cmgt.4s v0, v1, v2
691 ; CHECK: cmgt.2d v0, v1, v2
696 ; CHECK: fcmge.2s v0, v1, v2
697 ; CHECK: fcmge.4s v0, v1, v2
698 ; CHECK: fcmge.2d v0, v1, v2
703 ; CHECK: fcmgt.2s v0, v1, v2
704 ; CHECK: fcmgt.4s v0, v1, v2
705 ; CHECK: fcmgt.2d v0, v1, v2
710 ; CHECK: facge.2s v0, v1, v2
711 ; CHECK: facge.4s v0, v1, v2
712 ; CHECK: facge.2d v0, v1, v2
717 ; CHECK: facgt.2s v0, v1, v2
718 ; CHECK: facgt.4s v0, v1, v2
719 ; CHECK: facgt.2d v0, v1, v2
721 ;-----------------------------------------------------------------------------
722 ; 5.8.6 Scalar Arithmetic aliases
723 ;-----------------------------------------------------------------------------
726 ; CHECK: cmhs d0, d1, d2
729 ; CHECK: cmge d0, d1, d2
732 ; CHECK: cmhi d0, d1, d2
735 ; CHECK: cmgt d0, d1, d2
739 ; CHECK: fcmge s0, s1, s2
740 ; CHECK: fcmge d0, d1, d2
744 ; CHECK: fcmgt s0, s1, s2
745 ; CHECK: fcmgt d0, d1, d2
749 ; CHECK: facge s0, s1, s2
750 ; CHECK: facge d0, d1, d2
754 ; CHECK: facgt s0, s1, s2
755 ; CHECK: facgt d0, d1, d2
757 ;-----------------------------------------------------------------------------
758 ; 5.8.14 Vector Shift (immediate)
759 ;-----------------------------------------------------------------------------
761 ; CHECK: sshll.8h v1, v2, #0
763 ; CHECK: sshll.8h v1, v2, #0
766 ; CHECK: sshll.4s v1, v2, #0
768 ; CHECK: sshll.4s v1, v2, #0
771 ; CHECK: sshll.2d v1, v2, #0
773 ; CHECK: sshll.2d v1, v2, #0
776 ; CHECK: sshll2.8h v1, v2, #0
778 ; CHECK: sshll2.8h v1, v2, #0
781 ; CHECK: sshll2.4s v1, v2, #0
783 ; CHECK: sshll2.4s v1, v2, #0
786 ; CHECK: sshll2.2d v1, v2, #0
788 ; CHECK: sshll2.2d v1, v2, #0
791 ; CHECK: ushll.8h v1, v2, #0
793 ; CHECK: ushll.8h v1, v2, #0
796 ; CHECK: ushll.4s v1, v2, #0
798 ; CHECK: ushll.4s v1, v2, #0
801 ; CHECK: ushll.2d v1, v2, #0
803 ; CHECK: ushll.2d v1, v2, #0
806 ; CHECK: ushll2.8h v1, v2, #0
808 ; CHECK: ushll2.8h v1, v2, #0
811 ; CHECK: ushll2.4s v1, v2, #0
813 ; CHECK: ushll2.4s v1, v2, #0
816 ; CHECK: ushll2.2d v1, v2, #0
818 ; CHECK: ushll2.2d v1, v2, #0
821 ;-----------------------------------------------------------------------------
822 ; MOVI verbose syntax with shift operand omitted.
823 ;-----------------------------------------------------------------------------
828 movi v1.2d, #0x000000000000ff
829 movi v2.2D, #0x000000000000ff
831 ; CHECK: movi.16b v4, #0x0 ; encoding: [0x04,0xe4,0x00,0x4f]
832 ; CHECK: movi.16b v4, #0x1 ; encoding: [0x24,0xe4,0x00,0x4f]
833 ; CHECK: movi.8b v4, #0x2 ; encoding: [0x44,0xe4,0x00,0x0f]
834 ; CHECK: movi.8b v4, #0x3 ; encoding: [0x64,0xe4,0x00,0x0f]
835 ; CHECK: movi.2d v1, #0x000000000000ff ; encoding: [0x21,0xe4,0x00,0x6f]
836 ; CHECK: movi.2d v2, #0x000000000000ff ; encoding: [0x22,0xe4,0x00,0x6f]