1 # RUN: llvm-mc --disassemble %s -triple powerpc64le-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: stb 2, 128(4)
157 # CHECK: stbx 2, 3, 4
160 # CHECK: stbu 2, 128(4)
163 # CHECK: stbux 2, 3, 4
166 # CHECK: sth 2, 128(4)
169 # CHECK: sthx 2, 3, 4
172 # CHECK: sthu 2, 128(4)
175 # CHECK: sthux 2, 3, 4
178 # CHECK: stw 2, 128(4)
181 # CHECK: stwx 2, 3, 4
184 # CHECK: stwu 2, 128(4)
187 # CHECK: stwux 2, 3, 4
190 # CHECK: std 2, 128(4)
193 # CHECK: stdx 2, 3, 4
196 # CHECK: stdu 2, 128(4)
199 # CHECK: stdux 2, 3, 4
202 # CHECK: lhbrx 2, 3, 4
205 # CHECK: sthbrx 2, 3, 4
208 # CHECK: lwbrx 2, 3, 4
211 # CHECK: stwbrx 2, 3, 4
214 # CHECK: ldbrx 2, 3, 4
217 # CHECK: stdbrx 2, 3, 4
220 # CHECK: lmw 2, 128(1)
223 # CHECK: stmw 2, 128(1)
226 # CHECK: addi 2, 3, 128
229 # CHECK: addis 2, 3, 128
235 # CHECK: add. 2, 3, 4
238 # CHECK: subf 2, 3, 4
241 # CHECK: subf. 2, 3, 4
244 # CHECK: addic 2, 3, 128
247 # CHECK: addic. 2, 3, 128
250 # CHECK: subfic 2, 3, 4
253 # CHECK: addc 2, 3, 4
256 # CHECK: addc. 2, 3, 4
259 # CHECK: subfc 2, 3, 4
262 # CHECK: subfc 2, 3, 4
265 # CHECK: adde 2, 3, 4
268 # CHECK: adde. 2, 3, 4
271 # CHECK: subfe 2, 3, 4
274 # CHECK: subfe. 2, 3, 4
286 # CHECK: subfme. 2, 3
298 # CHECK: subfze. 2, 3
307 # CHECK: mulli 2, 3, 128
310 # CHECK: mulhw 2, 3, 4
313 # CHECK: mulhw. 2, 3, 4
316 # CHECK: mullw 2, 3, 4
319 # CHECK: mullw. 2, 3, 4
322 # CHECK: mulhwu 2, 3, 4
325 # CHECK: mulhwu. 2, 3, 4
328 # CHECK: divw 2, 3, 4
331 # CHECK: divw. 2, 3, 4
334 # CHECK: divwu 2, 3, 4
337 # CHECK: divwu. 2, 3, 4
340 # CHECK: divwe 2, 3, 4
343 # CHECK: divwe. 2, 3, 4
346 # CHECK: divweu 2, 3, 4
349 # CHECK: divweu. 2, 3, 4
352 # CHECK: modsw 2, 3, 4
355 # CHECK: moduw 2, 3, 4
358 # CHECK: modsd 2, 3, 4
361 # CHECK: modud 2, 3, 4
364 # CHECK: mulld 2, 3, 4
367 # CHECK: mulld. 2, 3, 4
370 # CHECK: mulhd 2, 3, 4
373 # CHECK: mulhd. 2, 3, 4
376 # CHECK: mulhdu 2, 3, 4
379 # CHECK: mulhdu. 2, 3, 4
382 # CHECK: divd 2, 3, 4
385 # CHECK: divd. 2, 3, 4
388 # CHECK: divdu 2, 3, 4
391 # CHECK: divdu. 2, 3, 4
394 # CHECK: divde 2, 3, 4
397 # CHECK: divde. 2, 3, 4
400 # CHECK: divdeu 2, 3, 4
403 # CHECK: divdeu. 2, 3, 4
406 # CHECK: cmpdi 2, 3, 128
409 # CHECK: cmpd 2, 3, 4
412 # CHECK: cmpldi 2, 3, 128
415 # CHECK: cmpld 2, 3, 4
418 # CHECK: cmpwi 2, 3, 128
421 # CHECK: cmpw 2, 3, 4
424 # CHECK: cmplwi 2, 3, 128
427 # CHECK: cmplw 2, 3, 4
442 # CHECK: isel 2, 3, 4, 5
445 # CHECK: andi. 2, 3, 128
448 # CHECK: andis. 2, 3, 128
451 # CHECK: ori 2, 3, 128
454 # CHECK: oris 2, 3, 128
457 # CHECK: xori 2, 3, 128
460 # CHECK: xoris 2, 3, 128
466 # CHECK: and. 2, 3, 4
472 # CHECK: xor. 2, 3, 4
475 # CHECK: nand 2, 3, 4
478 # CHECK: nand. 2, 3, 4
490 # CHECK: nor. 2, 3, 4
496 # CHECK: eqv. 2, 3, 4
499 # CHECK: andc 2, 3, 4
502 # CHECK: andc. 2, 3, 4
508 # CHECK: orc. 2, 3, 4
526 # CHECK: cntlzw. 2, 3
529 # CHECK: popcntw 2, 3
541 # CHECK: cntlzd. 2, 3
544 # CHECK: popcntd 2, 3
547 # CHECK: bpermd 2, 3, 4
550 # CHECK: cmpb 7, 21, 4
553 # CHECK: rlwinm 2, 3, 4, 5, 6
556 # CHECK: rlwinm. 2, 3, 4, 5, 6
559 # CHECK: rlwnm 2, 3, 4, 5, 6
562 # CHECK: rlwnm. 2, 3, 4, 5, 6
565 # CHECK: rlwimi 2, 3, 4, 5, 6
568 # CHECK: rlwimi. 2, 3, 4, 5, 6
571 # CHECK: rldicl 2, 3, 4, 5
574 # CHECK: rldicl. 2, 3, 4, 5
577 # CHECK: rldicr 2, 3, 4, 5
580 # CHECK: rldicr. 2, 3, 4, 5
583 # CHECK: rldic 2, 3, 4, 5
586 # CHECK: rldic. 2, 3, 4, 5
589 # CHECK: rldcl 2, 3, 4, 5
592 # CHECK: rldcl. 2, 3, 4, 5
595 # CHECK: rldcr 2, 3, 4, 5
598 # CHECK: rldcr. 2, 3, 4, 5
601 # CHECK: rldimi 2, 3, 4, 5
604 # CHECK: rldimi. 2, 3, 4, 5
610 # CHECK: slw. 2, 3, 4
616 # CHECK: srw. 2, 3, 4
619 # CHECK: srawi 2, 3, 4
622 # CHECK: srawi. 2, 3, 4
625 # CHECK: sraw 2, 3, 4
628 # CHECK: sraw. 2, 3, 4
634 # CHECK: sld. 2, 3, 4
640 # CHECK: srd. 2, 3, 4
643 # CHECK: sradi 2, 3, 4
646 # CHECK: sradi. 2, 3, 4
649 # CHECK: srad 2, 3, 4
652 # CHECK: srad. 2, 3, 4
655 # CHECK: mtspr 600, 2
658 # CHECK: mfspr 2, 600
661 # CHECK: mtcrf 123, 2
667 # CHECK: mtocrf 16, 2
670 # CHECK: mfocrf 16, 8
673 # CHECK: mtsrin 10, 12
675 # CHECK: mfsrin 10, 12