diff options
Diffstat (limited to 'test/MC/Disassembler/PowerPC/ppc64-encoding.txt')
-rw-r--r-- | test/MC/Disassembler/PowerPC/ppc64-encoding.txt | 621 |
1 files changed, 621 insertions, 0 deletions
diff --git a/test/MC/Disassembler/PowerPC/ppc64-encoding.txt b/test/MC/Disassembler/PowerPC/ppc64-encoding.txt new file mode 100644 index 0000000..33a8c0e --- /dev/null +++ b/test/MC/Disassembler/PowerPC/ppc64-encoding.txt @@ -0,0 +1,621 @@ +# RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s + +# FIXME: test b target + +# FIXME: test ba target + +# FIXME: test bl target + +# FIXME: test bla target + +# FIXME: test bc 4, 10, target + +# FIXME: test bca 4, 10, target + +# FIXME: test bcl 4, 10, target + +# FIXME: test bcla 4, 10, target + +# CHECK: bclr 4, 10, 3 +0x4c 0x8a 0x18 0x20 + +# CHECK: bclr 4, 10, 0 +0x4c 0x8a 0x00 0x20 + +# CHECK: bclrl 4, 10, 3 +0x4c 0x8a 0x18 0x21 + +# CHECK: bclrl 4, 10, 0 +0x4c 0x8a 0x00 0x21 + +# CHECK: bcctr 4, 10, 3 +0x4c 0x8a 0x1c 0x20 + +# CHECK: bcctr 4, 10, 0 +0x4c 0x8a 0x04 0x20 + +# CHECK: bcctrl 4, 10, 3 +0x4c 0x8a 0x1c 0x21 + +# CHECK: bcctrl 4, 10, 0 +0x4c 0x8a 0x04 0x21 + +# CHECK: crand 2, 3, 4 +0x4c 0x43 0x22 0x02 + +# CHECK: crnand 2, 3, 4 +0x4c 0x43 0x21 0xc2 + +# CHECK: cror 2, 3, 4 +0x4c 0x43 0x23 0x82 + +# CHECK: crxor 2, 3, 4 +0x4c 0x43 0x21 0x82 + +# CHECK: crnor 2, 3, 4 +0x4c 0x43 0x20 0x42 + +# CHECK: creqv 2, 3, 4 +0x4c 0x43 0x22 0x42 + +# CHECK: crandc 2, 3, 4 +0x4c 0x43 0x21 0x02 + +# CHECK: crorc 2, 3, 4 +0x4c 0x43 0x23 0x42 + +# CHECK: mcrf 2, 3 +0x4d 0x0c 0x00 0x00 + +# CHECK: sc 1 +0x44 0x00 0x00 0x22 + +# CHECK: sc 0 +0x44 0x00 0x00 0x02 + +# CHECK: lbz 2, 128(4) +0x88 0x44 0x00 0x80 + +# CHECK: lbzx 2, 3, 4 +0x7c 0x43 0x20 0xae + +# CHECK: lbzu 2, 128(4) +0x8c 0x44 0x00 0x80 + +# CHECK: lbzux 2, 3, 4 +0x7c 0x43 0x20 0xee + +# CHECK: lhz 2, 128(4) +0xa0 0x44 0x00 0x80 + +# CHECK: lhzx 2, 3, 4 +0x7c 0x43 0x22 0x2e + +# CHECK: lhzu 2, 128(4) +0xa4 0x44 0x00 0x80 + +# CHECK: lhzux 2, 3, 4 +0x7c 0x43 0x22 0x6e + +# CHECK: lha 2, 128(4) +0xa8 0x44 0x00 0x80 + +# CHECK: lhax 2, 3, 4 +0x7c 0x43 0x22 0xae + +# CHECK: lhau 2, 128(4) +0xac 0x44 0x00 0x80 + +# CHECK: lhaux 2, 3, 4 +0x7c 0x43 0x22 0xee + +# CHECK: lwz 2, 128(4) +0x80 0x44 0x00 0x80 + +# CHECK: lwzx 2, 3, 4 +0x7c 0x43 0x20 0x2e + +# CHECK: lwzu 2, 128(4) +0x84 0x44 0x00 0x80 + +# CHECK: lwzux 2, 3, 4 +0x7c 0x43 0x20 0x6e + +# CHECK: lwa 2, 128(4) +0xe8 0x44 0x00 0x82 + +# CHECK: lwax 2, 3, 4 +0x7c 0x43 0x22 0xaa + +# CHECK: lwaux 2, 3, 4 +0x7c 0x43 0x22 0xea + +# CHECK: ld 2, 128(4) +0xe8 0x44 0x00 0x80 + +# CHECK: ldx 2, 3, 4 +0x7c 0x43 0x20 0x2a + +# CHECK: ldu 2, 128(4) +0xe8 0x44 0x00 0x81 + +# CHECK: ldux 2, 3, 4 +0x7c 0x43 0x20 0x6a + +# CHECK: stb 2, 128(4) +0x98 0x44 0x00 0x80 + +# CHECK: stbx 2, 3, 4 +0x7c 0x43 0x21 0xae + +# CHECK: stbu 2, 128(4) +0x9c 0x44 0x00 0x80 + +# CHECK: stbux 2, 3, 4 +0x7c 0x43 0x21 0xee + +# CHECK: sth 2, 128(4) +0xb0 0x44 0x00 0x80 + +# CHECK: sthx 2, 3, 4 +0x7c 0x43 0x23 0x2e + +# CHECK: sthu 2, 128(4) +0xb4 0x44 0x00 0x80 + +# CHECK: sthux 2, 3, 4 +0x7c 0x43 0x23 0x6e + +# CHECK: stw 2, 128(4) +0x90 0x44 0x00 0x80 + +# CHECK: stwx 2, 3, 4 +0x7c 0x43 0x21 0x2e + +# CHECK: stwu 2, 128(4) +0x94 0x44 0x00 0x80 + +# CHECK: stwux 2, 3, 4 +0x7c 0x43 0x21 0x6e + +# CHECK: std 2, 128(4) +0xf8 0x44 0x00 0x80 + +# CHECK: stdx 2, 3, 4 +0x7c 0x43 0x21 0x2a + +# CHECK: stdu 2, 128(4) +0xf8 0x44 0x00 0x81 + +# CHECK: stdux 2, 3, 4 +0x7c 0x43 0x21 0x6a + +# CHECK: lhbrx 2, 3, 4 +0x7c 0x43 0x26 0x2c + +# CHECK: sthbrx 2, 3, 4 +0x7c 0x43 0x27 0x2c + +# CHECK: lwbrx 2, 3, 4 +0x7c 0x43 0x24 0x2c + +# CHECK: stwbrx 2, 3, 4 +0x7c 0x43 0x25 0x2c + +# CHECK: ldbrx 2, 3, 4 +0x7c 0x43 0x24 0x28 + +# CHECK: stdbrx 2, 3, 4 +0x7c 0x43 0x25 0x28 + +# CHECK: lmw 2, 128(1) +0xb8 0x41 0x00 0x80 + +# CHECK: stmw 2, 128(1) +0xbc 0x41 0x00 0x80 + +# CHECK: addi 2, 3, 128 +0x38 0x43 0x00 0x80 + +# CHECK: addis 2, 3, 128 +0x3c 0x43 0x00 0x80 + +# CHECK: add 2, 3, 4 +0x7c 0x43 0x22 0x14 + +# CHECK: add. 2, 3, 4 +0x7c 0x43 0x22 0x15 + +# CHECK: subf 2, 3, 4 +0x7c 0x43 0x20 0x50 + +# CHECK: subf. 2, 3, 4 +0x7c 0x43 0x20 0x51 + +# CHECK: addic 2, 3, 128 +0x30 0x43 0x00 0x80 + +# CHECK: addic. 2, 3, 128 +0x34 0x43 0x00 0x80 + +# CHECK: subfic 2, 3, 4 +0x20 0x43 0x00 0x04 + +# CHECK: addc 2, 3, 4 +0x7c 0x43 0x20 0x14 + +# CHECK: addc. 2, 3, 4 +0x7c 0x43 0x20 0x15 + +# CHECK: subfc 2, 3, 4 +0x7c 0x43 0x20 0x10 + +# CHECK: subfc 2, 3, 4 +0x7c 0x43 0x20 0x10 + +# CHECK: adde 2, 3, 4 +0x7c 0x43 0x21 0x14 + +# CHECK: adde. 2, 3, 4 +0x7c 0x43 0x21 0x15 + +# CHECK: subfe 2, 3, 4 +0x7c 0x43 0x21 0x10 + +# CHECK: subfe. 2, 3, 4 +0x7c 0x43 0x21 0x11 + +# CHECK: addme 2, 3 +0x7c 0x43 0x01 0xd4 + +# CHECK: addme. 2, 3 +0x7c 0x43 0x01 0xd5 + +# CHECK: subfme 2, 3 +0x7c 0x43 0x01 0xd0 + +# CHECK: subfme. 2, 3 +0x7c 0x43 0x01 0xd1 + +# CHECK: addze 2, 3 +0x7c 0x43 0x01 0x94 + +# CHECK: addze. 2, 3 +0x7c 0x43 0x01 0x95 + +# CHECK: subfze 2, 3 +0x7c 0x43 0x01 0x90 + +# CHECK: subfze. 2, 3 +0x7c 0x43 0x01 0x91 + +# CHECK: neg 2, 3 +0x7c 0x43 0x00 0xd0 + +# CHECK: neg. 2, 3 +0x7c 0x43 0x00 0xd1 + +# CHECK: mulli 2, 3, 128 +0x1c 0x43 0x00 0x80 + +# CHECK: mulhw 2, 3, 4 +0x7c 0x43 0x20 0x96 + +# CHECK: mulhw. 2, 3, 4 +0x7c 0x43 0x20 0x97 + +# CHECK: mullw 2, 3, 4 +0x7c 0x43 0x21 0xd6 + +# CHECK: mullw. 2, 3, 4 +0x7c 0x43 0x21 0xd7 + +# CHECK: mulhwu 2, 3, 4 +0x7c 0x43 0x20 0x16 + +# CHECK: mulhwu. 2, 3, 4 +0x7c 0x43 0x20 0x17 + +# CHECK: divw 2, 3, 4 +0x7c 0x43 0x23 0xd6 + +# CHECK: divw. 2, 3, 4 +0x7c 0x43 0x23 0xd7 + +# CHECK: divwu 2, 3, 4 +0x7c 0x43 0x23 0x96 + +# CHECK: divwu. 2, 3, 4 +0x7c 0x43 0x23 0x97 + +# CHECK: mulld 2, 3, 4 +0x7c 0x43 0x21 0xd2 + +# CHECK: mulld. 2, 3, 4 +0x7c 0x43 0x21 0xd3 + +# CHECK: mulhd 2, 3, 4 +0x7c 0x43 0x20 0x92 + +# CHECK: mulhd. 2, 3, 4 +0x7c 0x43 0x20 0x93 + +# CHECK: mulhdu 2, 3, 4 +0x7c 0x43 0x20 0x12 + +# CHECK: mulhdu. 2, 3, 4 +0x7c 0x43 0x20 0x13 + +# CHECK: divd 2, 3, 4 +0x7c 0x43 0x23 0xd2 + +# CHECK: divd. 2, 3, 4 +0x7c 0x43 0x23 0xd3 + +# CHECK: divdu 2, 3, 4 +0x7c 0x43 0x23 0x92 + +# CHECK: divdu. 2, 3, 4 +0x7c 0x43 0x23 0x93 + +# CHECK: cmpdi 2, 3, 128 +0x2d 0x23 0x00 0x80 + +# CHECK: cmpd 2, 3, 4 +0x7d 0x23 0x20 0x00 + +# CHECK: cmpldi 2, 3, 128 +0x29 0x23 0x00 0x80 + +# CHECK: cmpld 2, 3, 4 +0x7d 0x23 0x20 0x40 + +# CHECK: cmpwi 2, 3, 128 +0x2d 0x03 0x00 0x80 + +# CHECK: cmpw 2, 3, 4 +0x7d 0x03 0x20 0x00 + +# CHECK: cmplwi 2, 3, 128 +0x29 0x03 0x00 0x80 + +# CHECK: cmplw 2, 3, 4 +0x7d 0x03 0x20 0x40 + +# CHECK: twi 2, 3, 4 +0x0c 0x43 0x00 0x04 + +# CHECK: tw 2, 3, 4 +0x7c 0x43 0x20 0x08 + +# CHECK: tdi 2, 3, 4 +0x08 0x43 0x00 0x04 + +# CHECK: td 2, 3, 4 +0x7c 0x43 0x20 0x88 + +# CHECK: isel 2, 3, 4, 5 +0x7c 0x43 0x21 0x5e + +# CHECK: andi. 2, 3, 128 +0x70 0x62 0x00 0x80 + +# CHECK: andis. 2, 3, 128 +0x74 0x62 0x00 0x80 + +# CHECK: ori 2, 3, 128 +0x60 0x62 0x00 0x80 + +# CHECK: oris 2, 3, 128 +0x64 0x62 0x00 0x80 + +# CHECK: xori 2, 3, 128 +0x68 0x62 0x00 0x80 + +# CHECK: xoris 2, 3, 128 +0x6c 0x62 0x00 0x80 + +# CHECK: and 2, 3, 4 +0x7c 0x62 0x20 0x38 + +# CHECK: and. 2, 3, 4 +0x7c 0x62 0x20 0x39 + +# CHECK: xor 2, 3, 4 +0x7c 0x62 0x22 0x78 + +# CHECK: xor. 2, 3, 4 +0x7c 0x62 0x22 0x79 + +# CHECK: nand 2, 3, 4 +0x7c 0x62 0x23 0xb8 + +# CHECK: nand. 2, 3, 4 +0x7c 0x62 0x23 0xb9 + +# CHECK: or 2, 3, 4 +0x7c 0x62 0x23 0x78 + +# CHECK: or. 2, 3, 4 +0x7c 0x62 0x23 0x79 + +# CHECK: nor 2, 3, 4 +0x7c 0x62 0x20 0xf8 + +# CHECK: nor. 2, 3, 4 +0x7c 0x62 0x20 0xf9 + +# CHECK: eqv 2, 3, 4 +0x7c 0x62 0x22 0x38 + +# CHECK: eqv. 2, 3, 4 +0x7c 0x62 0x22 0x39 + +# CHECK: andc 2, 3, 4 +0x7c 0x62 0x20 0x78 + +# CHECK: andc. 2, 3, 4 +0x7c 0x62 0x20 0x79 + +# CHECK: orc 2, 3, 4 +0x7c 0x62 0x23 0x38 + +# CHECK: orc. 2, 3, 4 +0x7c 0x62 0x23 0x39 + +# CHECK: extsb 2, 3 +0x7c 0x62 0x07 0x74 + +# CHECK: extsb. 2, 3 +0x7c 0x62 0x07 0x75 + +# CHECK: extsh 2, 3 +0x7c 0x62 0x07 0x34 + +# CHECK: extsh. 2, 3 +0x7c 0x62 0x07 0x35 + +# CHECK: cntlzw 2, 3 +0x7c 0x62 0x00 0x34 + +# CHECK: cntlzw. 2, 3 +0x7c 0x62 0x00 0x35 + +# CHECK: popcntw 2, 3 +0x7c 0x62 0x02 0xf4 + +# CHECK: extsw 2, 3 +0x7c 0x62 0x07 0xb4 + +# CHECK: extsw. 2, 3 +0x7c 0x62 0x07 0xb5 + +# CHECK: cntlzd 2, 3 +0x7c 0x62 0x00 0x74 + +# CHECK: cntlzd. 2, 3 +0x7c 0x62 0x00 0x75 + +# CHECK: popcntd 2, 3 +0x7c 0x62 0x03 0xf4 + +# CHECK: rlwinm 2, 3, 4, 5, 6 +0x54 0x62 0x21 0x4c + +# CHECK: rlwinm. 2, 3, 4, 5, 6 +0x54 0x62 0x21 0x4d + +# CHECK: rlwnm 2, 3, 4, 5, 6 +0x5c 0x62 0x21 0x4c + +# CHECK: rlwnm. 2, 3, 4, 5, 6 +0x5c 0x62 0x21 0x4d + +# CHECK: rlwimi 2, 3, 4, 5, 6 +0x50 0x62 0x21 0x4c + +# CHECK: rlwimi. 2, 3, 4, 5, 6 +0x50 0x62 0x21 0x4d + +# CHECK: rldicl 2, 3, 4, 5 +0x78 0x62 0x21 0x40 + +# CHECK: rldicl. 2, 3, 4, 5 +0x78 0x62 0x21 0x41 + +# CHECK: rldicr 2, 3, 4, 5 +0x78 0x62 0x21 0x44 + +# CHECK: rldicr. 2, 3, 4, 5 +0x78 0x62 0x21 0x45 + +# CHECK: rldic 2, 3, 4, 5 +0x78 0x62 0x21 0x48 + +# CHECK: rldic. 2, 3, 4, 5 +0x78 0x62 0x21 0x49 + +# CHECK: rldcl 2, 3, 4, 5 +0x78 0x62 0x21 0x50 + +# CHECK: rldcl. 2, 3, 4, 5 +0x78 0x62 0x21 0x51 + +# CHECK: rldcr 2, 3, 4, 5 +0x78 0x62 0x21 0x52 + +# CHECK: rldcr. 2, 3, 4, 5 +0x78 0x62 0x21 0x53 + +# CHECK: rldimi 2, 3, 4, 5 +0x78 0x62 0x21 0x4c + +# CHECK: rldimi. 2, 3, 4, 5 +0x78 0x62 0x21 0x4d + +# CHECK: slw 2, 3, 4 +0x7c 0x62 0x20 0x30 + +# CHECK: slw. 2, 3, 4 +0x7c 0x62 0x20 0x31 + +# CHECK: srw 2, 3, 4 +0x7c 0x62 0x24 0x30 + +# CHECK: srw. 2, 3, 4 +0x7c 0x62 0x24 0x31 + +# CHECK: srawi 2, 3, 4 +0x7c 0x62 0x26 0x70 + +# CHECK: srawi. 2, 3, 4 +0x7c 0x62 0x26 0x71 + +# CHECK: sraw 2, 3, 4 +0x7c 0x62 0x26 0x30 + +# CHECK: sraw. 2, 3, 4 +0x7c 0x62 0x26 0x31 + +# CHECK: sld 2, 3, 4 +0x7c 0x62 0x20 0x36 + +# CHECK: sld. 2, 3, 4 +0x7c 0x62 0x20 0x37 + +# CHECK: srd 2, 3, 4 +0x7c 0x62 0x24 0x36 + +# CHECK: srd. 2, 3, 4 +0x7c 0x62 0x24 0x37 + +# CHECK: sradi 2, 3, 4 +0x7c 0x62 0x26 0x74 + +# CHECK: sradi. 2, 3, 4 +0x7c 0x62 0x26 0x75 + +# CHECK: srad 2, 3, 4 +0x7c 0x62 0x26 0x34 + +# CHECK: srad. 2, 3, 4 +0x7c 0x62 0x26 0x35 + +# CHECK: mtspr 600, 2 +0x7c 0x58 0x93 0xa6 + +# CHECK: mfspr 2, 600 +0x7c 0x58 0x92 0xa6 + +# CHECK: mtcrf 123, 2 +0x7c 0x47 0xb1 0x20 + +# CHECK: mfcr 2 +0x7c 0x40 0x00 0x26 + +# CHECK: mtocrf 16, 2 +0x7c 0x51 0x01 0x20 + +# CHECK: mfocrf 16, 8 +0x7e 0x10 0x80 0x26 + |