1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s
5 # FIXME: test ba target
7 # FIXME: test bl target
9 # FIXME: test bla target
11 # FIXME: test bc 4, 10, target
13 # FIXME: test bca 4, 10, target
15 # FIXME: test bcl 4, 10, target
17 # FIXME: test bcla 4, 10, target
19 # CHECK: bclr 4, 10, 3
25 # CHECK: bclrl 4, 10, 3
31 # CHECK: bcctr 4, 10, 3
37 # CHECK: bcctrl 4, 10, 3
43 # CHECK: crand 2, 3, 4
46 # CHECK: crnand 2, 3, 4
52 # CHECK: crxor 2, 3, 4
55 # CHECK: crnor 2, 3, 4
58 # CHECK: creqv 2, 3, 4
61 # CHECK: crandc 2, 3, 4
64 # CHECK: crorc 2, 3, 4
79 # CHECK: mfbhrbe 9, 983
85 # CHECK: lbz 2, 128(4)
91 # CHECK: lbzu 2, 128(4)
94 # CHECK: lbzux 2, 3, 4
97 # CHECK: lhz 2, 128(4)
100 # CHECK: lhzx 2, 3, 4
103 # CHECK: lhzu 2, 128(4)
106 # CHECK: lhzux 2, 3, 4
109 # CHECK: lha 2, 128(4)
112 # CHECK: lhax 2, 3, 4
115 # CHECK: lhau 2, 128(4)
118 # CHECK: lhaux 2, 3, 4
121 # CHECK: lwz 2, 128(4)
124 # CHECK: lwzx 2, 3, 4
127 # CHECK: lwzu 2, 128(4)
130 # CHECK: lwzux 2, 3, 4
133 # CHECK: lwa 2, 128(4)
136 # CHECK: lwax 2, 3, 4
139 # CHECK: lwaux 2, 3, 4
142 # CHECK: ld 2, 128(4)
148 # CHECK: ldu 2, 128(4)
151 # CHECK: ldux 2, 3, 4
154 # CHECK: ldmx 2, 3, 4
157 # CHECK: stb 2, 128(4)
160 # CHECK: stbx 2, 3, 4
163 # CHECK: stbu 2, 128(4)
166 # CHECK: stbux 2, 3, 4
169 # CHECK: sth 2, 128(4)
172 # CHECK: sthx 2, 3, 4
175 # CHECK: sthu 2, 128(4)
178 # CHECK: sthux 2, 3, 4
181 # CHECK: stw 2, 128(4)
184 # CHECK: stwx 2, 3, 4
187 # CHECK: stwu 2, 128(4)
190 # CHECK: stwux 2, 3, 4
193 # CHECK: std 2, 128(4)
196 # CHECK: stdx 2, 3, 4
199 # CHECK: stdu 2, 128(4)
202 # CHECK: stdux 2, 3, 4
205 # CHECK: lhbrx 2, 3, 4
208 # CHECK: sthbrx 2, 3, 4
211 # CHECK: lwbrx 2, 3, 4
214 # CHECK: stwbrx 2, 3, 4
217 # CHECK: ldbrx 2, 3, 4
220 # CHECK: stdbrx 2, 3, 4
223 # CHECK: lmw 2, 128(1)
226 # CHECK: stmw 2, 128(1)
229 # CHECK: addi 2, 3, 128
232 # CHECK: addis 2, 3, 128
238 # CHECK: add. 2, 3, 4
241 # CHECK: subf 2, 3, 4
244 # CHECK: subf. 2, 3, 4
247 # CHECK: addic 2, 3, 128
250 # CHECK: addic. 2, 3, 128
253 # CHECK: subfic 2, 3, 4
256 # CHECK: addc 2, 3, 4
259 # CHECK: addc. 2, 3, 4
262 # CHECK: subfc 2, 3, 4
265 # CHECK: subfc 2, 3, 4
268 # CHECK: adde 2, 3, 4
271 # CHECK: adde. 2, 3, 4
274 # CHECK: subfe 2, 3, 4
277 # CHECK: subfe. 2, 3, 4
289 # CHECK: subfme. 2, 3
301 # CHECK: subfze. 2, 3
310 # CHECK: mulli 2, 3, 128
313 # CHECK: mulhw 2, 3, 4
316 # CHECK: mulhw. 2, 3, 4
319 # CHECK: mullw 2, 3, 4
322 # CHECK: mullw. 2, 3, 4
325 # CHECK: mulhwu 2, 3, 4
328 # CHECK: mulhwu. 2, 3, 4
331 # CHECK: maddhd 2, 3, 4, 5
334 # CHECK: maddhdu 2, 3, 4, 5
337 # CHECK: maddld 2, 3, 4, 5
346 # CHECK: addpcis 3, 22627
352 # CHECK: divw 2, 3, 4
355 # CHECK: divw. 2, 3, 4
358 # CHECK: divwu 2, 3, 4
361 # CHECK: divwu. 2, 3, 4
364 # CHECK: divwe 2, 3, 4
367 # CHECK: divwe. 2, 3, 4
370 # CHECK: divweu 2, 3, 4
373 # CHECK: divweu. 2, 3, 4
376 # CHECK: modsw 2, 3, 4
379 # CHECK: moduw 2, 3, 4
382 # CHECK: modsd 2, 3, 4
385 # CHECK: modud 2, 3, 4
388 # CHECK: mulld 2, 3, 4
391 # CHECK: mulld. 2, 3, 4
394 # CHECK: mulhd 2, 3, 4
397 # CHECK: mulhd. 2, 3, 4
400 # CHECK: mulhdu 2, 3, 4
403 # CHECK: mulhdu. 2, 3, 4
406 # CHECK: divd 2, 3, 4
409 # CHECK: divd. 2, 3, 4
412 # CHECK: divdu 2, 3, 4
415 # CHECK: divdu. 2, 3, 4
418 # CHECK: divde 2, 3, 4
421 # CHECK: divde. 2, 3, 4
424 # CHECK: divdeu 2, 3, 4
427 # CHECK: divdeu. 2, 3, 4
430 # CHECK: cmpdi 2, 3, 128
433 # CHECK: cmpd 2, 3, 4
436 # CHECK: cmpldi 2, 3, 128
439 # CHECK: cmpld 2, 3, 4
442 # CHECK: cmpwi 2, 3, 128
445 # CHECK: cmpw 2, 3, 4
448 # CHECK: cmplwi 2, 3, 128
451 # CHECK: cmplw 2, 3, 4
454 # CHECK: cmprb 3, 1, 7, 17
457 # CHECK: cmpeqb 3, 7, 17
460 # CHECK: cnttzw 7, 17
463 # CHECK: cnttzw. 7, 17
466 # CHECK: cnttzd 7, 17
469 # CHECK: cnttzd. 7, 17
484 # CHECK: isel 2, 3, 4, 5
487 # CHECK: andi. 2, 3, 128
490 # CHECK: andis. 2, 3, 128
493 # CHECK: ori 2, 3, 128
496 # CHECK: oris 2, 3, 128
499 # CHECK: xori 2, 3, 128
502 # CHECK: xoris 2, 3, 128
508 # CHECK: and. 2, 3, 4
514 # CHECK: xor. 2, 3, 4
517 # CHECK: nand 2, 3, 4
520 # CHECK: nand. 2, 3, 4
532 # CHECK: nor. 2, 3, 4
538 # CHECK: eqv. 2, 3, 4
541 # CHECK: andc 2, 3, 4
544 # CHECK: andc. 2, 3, 4
550 # CHECK: orc. 2, 3, 4
568 # CHECK: cntlzw. 2, 3
571 # CHECK: popcntw 2, 3
574 # CHECK: popcntb 2, 3
586 # CHECK: cntlzd. 2, 3
589 # CHECK: popcntd 2, 3
592 # CHECK: bpermd 2, 3, 4
595 # CHECK: cmpb 7, 21, 4
598 # CHECK: rlwinm 2, 3, 4, 5, 6
601 # CHECK: rlwinm. 2, 3, 4, 5, 6
604 # CHECK: rlwnm 2, 3, 4, 5, 6
607 # CHECK: rlwnm. 2, 3, 4, 5, 6
610 # CHECK: rlwimi 2, 3, 4, 5, 6
613 # CHECK: rlwimi. 2, 3, 4, 5, 6
616 # CHECK: rldicl 2, 3, 4, 5
619 # CHECK: rldicl. 2, 3, 4, 5
622 # CHECK: rldicr 2, 3, 4, 5
625 # CHECK: rldicr. 2, 3, 4, 5
628 # CHECK: rldic 2, 3, 4, 5
631 # CHECK: rldic. 2, 3, 4, 5
634 # CHECK: rldcl 2, 3, 4, 5
637 # CHECK: rldcl. 2, 3, 4, 5
640 # CHECK: rldcr 2, 3, 4, 5
643 # CHECK: rldcr. 2, 3, 4, 5
646 # CHECK: rldimi 2, 3, 4, 5
649 # CHECK: rldimi. 2, 3, 4, 5
655 # CHECK: slw. 2, 3, 4
661 # CHECK: srw. 2, 3, 4
664 # CHECK: srawi 2, 3, 4
667 # CHECK: srawi. 2, 3, 4
670 # CHECK: sraw 2, 3, 4
673 # CHECK: sraw. 2, 3, 4
679 # CHECK: sld. 2, 3, 4
685 # CHECK: srd. 2, 3, 4
688 # CHECK: sradi 2, 3, 4
691 # CHECK: sradi. 2, 3, 4
694 # CHECK: srad 2, 3, 4
697 # CHECK: srad. 2, 3, 4
700 # CHECK: extswsli 2, 3, 4
703 # CHECK: extswsli. 2, 3, 4
706 # CHECK: mtspr 600, 2
709 # CHECK: mfspr 2, 600
712 # CHECK: mtcrf 123, 2
718 # CHECK: mtocrf 16, 2
721 # CHECK: mfocrf 16, 8
727 # CHECK: mtsrin 10, 12
730 # CHECK: mfsrin 10, 12
733 # CHECK: copy 2, 19, 1
736 # CHECK: paste 17, 1, 1
745 # CHECK: slbieg 6, 21