1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s
18 # CHECK: stvebx 2, 3, 4
21 # CHECK: stvehx 2, 3, 4
24 # CHECK: stvewx 2, 3, 4
30 # CHECK: stvxl 2, 3, 4
39 # CHECK: vpkpx 2, 3, 4
42 # CHECK: vpkshss 2, 3, 4
45 # CHECK: vpkshus 2, 3, 4
48 # CHECK: vpkswss 2, 3, 4
51 # CHECK: vpkswus 2, 3, 4
54 # CHECK: vpkuhum 2, 3, 4
57 # CHECK: vpkuhus 2, 3, 4
60 # CHECK: vpkuwum 2, 3, 4
63 # CHECK: vpkuwus 2, 3, 4
84 # CHECK: vmrghb 2, 3, 4
87 # CHECK: vmrghh 2, 3, 4
90 # CHECK: vmrghw 2, 3, 4
93 # CHECK: vmrglb 2, 3, 4
96 # CHECK: vmrglh 2, 3, 4
99 # CHECK: vmrglw 2, 3, 4
102 # CHECK: vmrgew 2, 3, 4
105 # CHECK: vmrgow 2, 3, 4
108 # CHECK: vspltb 2, 3, 1
111 # CHECK: vsplth 2, 3, 1
114 # CHECK: vspltw 2, 3, 1
117 # CHECK: vspltisb 2, 3
120 # CHECK: vspltish 2, 3
123 # CHECK: vspltisw 2, 3
126 # CHECK: vperm 2, 3, 4, 5
129 # CHECK: vpermxor 2, 3, 4, 5
135 # CHECK: vcipher 2, 5, 17
138 # CHECK: vcipherlast 2, 5, 17
141 # CHECK: vncipher 2, 5, 17
144 # CHECK: vncipherlast 2, 5, 17
147 # CHECK: vpmsumb 2, 5, 17
150 # CHECK: vpmsumh 2, 5, 17
153 # CHECK: vpmsumw 2, 5, 17
156 # CHECK: vpmsumd 2, 5, 17
159 # CHECK: vshasigmaw 2, 3, 0, 11
162 # CHECK: vshasigmad 2, 3, 1, 15
165 # CHECK: vsel 2, 3, 4, 5
171 # CHECK: vsldoi 2, 3, 4, 5
174 # CHECK: vslo 2, 3, 4
180 # CHECK: vsro 2, 3, 4
183 # CHECK: vaddcuw 2, 3, 4
186 # CHECK: vaddsbs 2, 3, 4
189 # CHECK: vaddshs 2, 3, 4
192 # CHECK: vaddsws 2, 3, 4
195 # CHECK: vaddubm 2, 3, 4
198 # CHECK: vadduhm 2, 3, 4
201 # CHECK: vadduwm 2, 3, 4
204 # CHECK: vaddudm 2, 3, 4
207 # CHECK: vaddubs 2, 3, 4
210 # CHECK: vadduhs 2, 3, 4
213 # CHECK: vadduws 2, 3, 4
216 # CHECK: vadduqm 2, 3, 4
219 # CHECK: vaddeuqm 2, 3, 4, 5
222 # CHECK: vaddcuq 2, 3, 4
225 # CHECK: vaddecuq 2, 3, 4, 5
228 # CHECK: vsubcuw 2, 3, 4
231 # CHECK: vsubsbs 2, 3, 4
234 # CHECK: vsubshs 2, 3, 4
237 # CHECK: vsubsws 2, 3, 4
240 # CHECK: vsububm 2, 3, 4
243 # CHECK: vsubuhm 2, 3, 4
246 # CHECK: vsubuwm 2, 3, 4
249 # CHECK: vsubudm 2, 3, 4
252 # CHECK: vsububs 2, 3, 4
255 # CHECK: vsubuhs 2, 3, 4
258 # CHECK: vsubuws 2, 3, 4
261 # CHECK: vsubuqm 2, 3, 4
264 # CHECK: vsubeuqm 2, 3, 4, 5
267 # CHECK: vsubcuq 2, 3, 4
270 # CHECK: vsubecuq 2, 3, 4, 5
273 # CHECK: vmulesb 2, 3, 4
276 # CHECK: vmulesh 2, 3, 4
279 # CHECK: vmulesw 2, 3, 4
282 # CHECK: vmuleub 2, 3, 4
285 # CHECK: vmuleuh 2, 3, 4
288 # CHECK: vmuleuw 2, 3, 4
291 # CHECK: vmulosb 2, 3, 4
294 # CHECK: vmulosh 2, 3, 4
297 # CHECK: vmulosw 2, 3, 4
300 # CHECK: vmuloub 2, 3, 4
303 # CHECK: vmulouh 2, 3, 4
306 # CHECK: vmulouw 2, 3, 4
309 # CHECK: vmuluwm 2, 3, 4
312 # CHECK: vmhaddshs 2, 3, 4, 5
315 # CHECK: vmhraddshs 2, 3, 4, 5
318 # CHECK: vmladduhm 2, 3, 4, 5
321 # CHECK: vmsumubm 2, 3, 4, 5
324 # CHECK: vmsummbm 2, 3, 4, 5
327 # CHECK: vmsumshm 2, 3, 4, 5
330 # CHECK: vmsumshs 2, 3, 4, 5
333 # CHECK: vmsumuhm 2, 3, 4, 5
336 # CHECK: vmsumuhs 2, 3, 4, 5
339 # CHECK: vsumsws 2, 3, 4
342 # CHECK: vsum2sws 2, 3, 4
345 # CHECK: vsum4sbs 2, 3, 4
348 # CHECK: vsum4shs 2, 3, 4
351 # CHECK: vsum4ubs 2, 3, 4
354 # CHECK: vavgsb 2, 3, 4
357 # CHECK: vavgsh 2, 3, 4
360 # CHECK: vavgsw 2, 3, 4
363 # CHECK: vavgub 2, 3, 4
366 # CHECK: vavguh 2, 3, 4
369 # CHECK: vavguw 2, 3, 4
372 # CHECK: vmaxsb 2, 3, 4
375 # CHECK: vmaxsh 2, 3, 4
378 # CHECK: vmaxsw 2, 3, 4
381 # CHECK: vmaxsd 2, 3, 4
384 # CHECK: vmaxub 2, 3, 4
387 # CHECK: vmaxuh 2, 3, 4
390 # CHECK: vmaxuw 2, 3, 4
393 # CHECK: vmaxud 2, 3, 4
396 # CHECK: vminsb 2, 3, 4
399 # CHECK: vminsh 2, 3, 4
402 # CHECK: vminsw 2, 3, 4
405 # CHECK: vminsd 2, 3, 4
408 # CHECK: vminub 2, 3, 4
411 # CHECK: vminuh 2, 3, 4
414 # CHECK: vminuw 2, 3, 4
417 # CHECK: vminud 2, 3, 4
420 # CHECK: vcmpequb 2, 3, 4
423 # CHECK: vcmpequb. 2, 3, 4
426 # CHECK: vcmpequh 2, 3, 4
429 # CHECK: vcmpequh. 2, 3, 4
432 # CHECK: vcmpequw 2, 3, 4
435 # CHECK: vcmpequw. 2, 3, 4
438 # CHECK: vcmpequd 2, 3, 4
441 # CHECK: vcmpequd. 2, 3, 4
444 # CHECK: vcmpgtsb 2, 3, 4
447 # CHECK: vcmpgtsb. 2, 3, 4
450 # CHECK: vcmpgtsh 2, 3, 4
453 # CHECK: vcmpgtsh. 2, 3, 4
456 # CHECK: vcmpgtsw 2, 3, 4
459 # CHECK: vcmpgtsw. 2, 3, 4
462 # CHECK: vcmpgtsd 2, 3, 4
465 # CHECK: vcmpgtsd. 2, 3, 4
468 # CHECK: vcmpgtub 2, 3, 4
471 # CHECK: vcmpgtub. 2, 3, 4
474 # CHECK: vcmpgtuh 2, 3, 4
477 # CHECK: vcmpgtuh. 2, 3, 4
480 # CHECK: vcmpgtuw 2, 3, 4
483 # CHECK: vcmpgtuw. 2, 3, 4
486 # CHECK: vcmpgtud 2, 3, 4
489 # CHECK: vcmpgtud. 2, 3, 4
492 # CHECK: vand 2, 3, 4
495 # CHECK: vandc 2, 3, 4
498 # CHECK: veqv 2, 3, 4
501 # CHECK: vnand 2, 3, 4
504 # CHECK: vorc 2, 3, 4
507 # CHECK: vnor 2, 3, 4
513 # CHECK: vxor 2, 3, 4
516 # CHECK: vrlb 2, 3, 4
519 # CHECK: vrlh 2, 3, 4
522 # CHECK: vrlw 2, 3, 4
525 # CHECK: vslb 2, 3, 4
528 # CHECK: vslh 2, 3, 4
531 # CHECK: vslw 2, 3, 4
534 # CHECK: vrld 2, 3, 4
537 # CHECK: vsrb 2, 3, 4
540 # CHECK: vsrh 2, 3, 4
543 # CHECK: vsrw 2, 3, 4
546 # CHECK: vsrd 2, 3, 4
549 # CHECK: vsrab 2, 3, 4
552 # CHECK: vsrah 2, 3, 4
555 # CHECK: vsraw 2, 3, 4
558 # CHECK: vsrad 2, 3, 4
561 # CHECK: vaddfp 2, 3, 4
564 # CHECK: vsubfp 2, 3, 4
567 # CHECK: vmaddfp 2, 3, 4, 5
570 # CHECK: vnmsubfp 2, 3, 4, 5
573 # CHECK: vmaxfp 2, 3, 4
576 # CHECK: vminfp 2, 3, 4
579 # CHECK: vctsxs 2, 3, 4
582 # CHECK: vctuxs 2, 3, 4
585 # CHECK: vcfsx 2, 3, 4
588 # CHECK: vcfux 2, 3, 4
603 # CHECK: vcmpbfp 2, 3, 4
606 # CHECK: vcmpbfp. 2, 3, 4
609 # CHECK: vcmpeqfp 2, 3, 4
612 # CHECK: vcmpeqfp. 2, 3, 4
615 # CHECK: vcmpgefp 2, 3, 4
618 # CHECK: vcmpgefp. 2, 3, 4
621 # CHECK: vcmpgtfp 2, 3, 4
624 # CHECK: vcmpgtfp. 2, 3, 4
627 # CHECK: vexptefp 2, 3
630 # CHECK: vlogefp 2, 3
636 # CHECK: vrsqrtefp 2, 3
642 # CHECK: vbpermq 2, 5, 17
657 # CHECK: vpopcntb 2, 3
660 # CHECK: vpopcnth 2, 3
663 # CHECK: vpopcntw 2, 3
666 # CHECK: vpopcntd 2, 3
675 # Power9 instructions
677 # CHECK: vcmpneb 2, 3, 4
680 # CHECK: vcmpneb. 2, 3, 4
683 # CHECK: vcmpnezb 2, 3, 4
686 # CHECK: vcmpnezb. 2, 3, 4
689 # CHECK: vcmpneh 2, 3, 4
692 # CHECK: vcmpneh. 2, 3, 4
695 # CHECK: vcmpnezh 2, 3, 4
698 # CHECK: vcmpnezh. 2, 3, 4
701 # CHECK: vcmpnew 2, 3, 4
704 # CHECK: vcmpnew. 2, 3, 4
707 # CHECK: vcmpnezw 2, 3, 4
710 # CHECK: vcmpnezw. 2, 3, 4
713 # CHECK: vextractub 2, 3, 15
716 # CHECK: vextractuh 2, 3, 14
719 # CHECK: vextractuw 2, 3, 12
722 # CHECK: vextractd 2, 3, 8
725 # CHECK: vextublx 2, 3, 4
728 # CHECK: vextubrx 2, 3, 4
731 # CHECK: vextuhlx 2, 3, 4
734 # CHECK: vextuhrx 2, 3, 4
737 # CHECK: vextuwlx 2, 3, 4
740 # CHECK: vextuwrx 2, 3, 4
743 # CHECK: vinsertb 2, 3, 15
746 # CHECK: vinserth 2, 3, 14
749 # CHECK: vinsertw 2, 3, 12
752 # CHECK: vinsertd 2, 3, 8
755 # Power9 instructions
757 # CHECK: vclzlsbb 2, 3
760 # CHECK: vctzlsbb 2, 3
775 # CHECK: vextsb2w 2, 3
778 # CHECK: vextsh2w 2, 3
781 # CHECK: vextsb2d 2, 3
784 # CHECK: vextsh2d 2, 3
787 # CHECK: vextsw2d 2, 3
796 # CHECK: vprtybw 2, 3
799 # CHECK: vprtybd 2, 3
802 # CHECK: vprtybq 2, 3
805 # CHECK: vbpermd 2, 5, 17
808 # CHECK: vpermr 2, 3, 4, 5
811 # CHECK: vrlwnm 2, 3, 4
814 # CHECK: vrlwmi 2, 3, 4
817 # CHECK: vrldnm 2, 3, 4
820 # CHECK: vrldmi 2, 3, 4
823 # CHECK: vslv 2, 3, 4
826 # CHECK: vsrv 2, 3, 4
829 # CHECK: vmul10uq 2, 3
832 # CHECK: vmul10cuq 2, 3
835 # CHECK: vmul10euq 2, 3, 4
838 # CHECK: vmul10ecuq 2, 3, 4
841 #CHECK: vabsdub 2, 3, 4
844 #CHECK vabsduh 2, 3, 4
847 #CHECK vabsduw 2, 3, 4
850 # CHECK: bcdcfn. 27, 31, 1
853 # CHECK: bcdcfz. 27, 31, 1
856 # CHECK: bcdctn. 27, 31
859 # CHECK: bcdctz. 27, 31, 1
862 # CHECK: bcdcfsq. 27, 31, 1
865 # CHECK: bcdctsq. 27, 31
868 # CHECK: bcdcpsgn. 27, 31, 7
871 # CHECK: bcdsetsgn. 27, 31, 1
874 # CHECK: bcds. 27, 31, 7, 1
877 # CHECK: bcdus. 27, 31, 7
880 # CHECK: bcdsr. 27, 31, 7, 1
883 # CHECK: bcdtrunc. 27, 31, 7, 1
886 # CHECK: bcdutrunc. 27, 31, 7