Adding finer-grained instruction classification.

This commit is contained in:
Ben Vanik
2015-12-29 11:02:00 -08:00
parent cc72de0f64
commit 214957da3a
7 changed files with 440 additions and 454 deletions

View File

@@ -26,32 +26,31 @@ PPCOpcodeInfo ppc_opcode_table[] = {
INSTRUCTION(0x74000000, "andisx" , kD , kI, kGeneral),
INSTRUCTION(0x70000000, "andix" , kD , kI, kGeneral),
INSTRUCTION(0x7c000038, "andx" , kX , kI, kGeneral),
INSTRUCTION(0x4c000420, "bcctrx" , kXL , kI, kSync ),
INSTRUCTION(0x4c000020, "bclrx" , kXL , kI, kSync ),
INSTRUCTION(0x40000000, "bcx" , kB , kI, kSync ),
INSTRUCTION(0x48000000, "bx" , kI , kI, kSync ),
INSTRUCTION(0x4c000420, "bcctrx" , kXL , kB, kSync ),
INSTRUCTION(0x4c000020, "bclrx" , kXL , kB, kSync ),
INSTRUCTION(0x40000000, "bcx" , kB , kB, kSync ),
INSTRUCTION(0x48000000, "bx" , kI , kB, kSync ),
INSTRUCTION(0x7c000000, "cmp" , kX , kI, kGeneral),
INSTRUCTION(0x2c000000, "cmpi" , kD , kI, kGeneral),
INSTRUCTION(0x7c000040, "cmpl" , kX , kI, kGeneral),
INSTRUCTION(0x28000000, "cmpli" , kD , kI, kGeneral),
INSTRUCTION(0x7c000074, "cntlzdx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000034, "cntlzwx" , kX , kI, kGeneral),
INSTRUCTION(0x4c000202, "crand" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000102, "crandc" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000242, "creqv" , kXL , kI, kGeneral),
INSTRUCTION(0x4c0001c2, "crnand" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000042, "crnor" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000382, "cror" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000342, "crorc" , kXL , kI, kGeneral),
INSTRUCTION(0x4c000182, "crxor" , kXL , kI, kGeneral),
INSTRUCTION(0x7c0005ec, "dcba" , kX , kI, kGeneral),
INSTRUCTION(0x4c000202, "crand" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000102, "crandc" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000242, "creqv" , kXL , kC, kGeneral),
INSTRUCTION(0x4c0001c2, "crnand" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000042, "crnor" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000382, "cror" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000342, "crorc" , kXL , kC, kGeneral),
INSTRUCTION(0x4c000182, "crxor" , kXL , kC, kGeneral),
INSTRUCTION(0x7c0000ac, "dcbf" , kX , kI, kGeneral),
INSTRUCTION(0x7c0003ac, "dcbi" , kX , kI, kGeneral),
INSTRUCTION(0x7c00006c, "dcbst" , kX , kI, kGeneral),
INSTRUCTION(0x7c00022c, "dcbt" , kX , kI, kGeneral),
INSTRUCTION(0x7c0001ec, "dcbtst" , kX , kI, kGeneral),
INSTRUCTION(0x7c0007ec, "dcbz" , kDCBZ , kI, kGeneral),
INSTRUCTION(0x7c2007ec, "dcbz128" , kDCBZ , kI, kGeneral),
INSTRUCTION(0x7c0007ec, "dcbz" , kDCBZ , kM, kGeneral),
INSTRUCTION(0x7c2007ec, "dcbz128" , kDCBZ , kM, kGeneral),
INSTRUCTION(0x7c000392, "divdux" , kXO , kI, kGeneral),
INSTRUCTION(0x7c0003d2, "divdx" , kXO , kI, kGeneral),
INSTRUCTION(0x7c000396, "divwux" , kXO , kI, kGeneral),
@@ -96,83 +95,83 @@ PPCOpcodeInfo ppc_opcode_table[] = {
INSTRUCTION(0xfc000028, "fsubx" , kA , kF, kGeneral),
INSTRUCTION(0x7c0007ac, "icbi" , kX , kI, kGeneral),
INSTRUCTION(0x4c00012c, "isync" , kXL , kI, kGeneral),
INSTRUCTION(0x88000000, "lbz" , kD , kI, kGeneral),
INSTRUCTION(0x8c000000, "lbzu" , kD , kI, kGeneral),
INSTRUCTION(0x7c0000ee, "lbzux" , kX , kI, kGeneral),
INSTRUCTION(0x7c0000ae, "lbzx" , kX , kI, kGeneral),
INSTRUCTION(0xe8000000, "ld" , kDS , kI, kGeneral),
INSTRUCTION(0x7c0000a8, "ldarx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000428, "ldbrx" , kX , kI, kGeneral),
INSTRUCTION(0xe8000001, "ldu" , kDS , kI, kGeneral),
INSTRUCTION(0x7c00006a, "ldux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00002a, "ldx" , kX , kI, kGeneral),
INSTRUCTION(0xc8000000, "lfd" , kD , kF, kGeneral),
INSTRUCTION(0xcc000000, "lfdu" , kD , kF, kGeneral),
INSTRUCTION(0x7c0004ee, "lfdux" , kX , kF, kGeneral),
INSTRUCTION(0x7c0004ae, "lfdx" , kX , kF, kGeneral),
INSTRUCTION(0xc0000000, "lfs" , kD , kF, kGeneral),
INSTRUCTION(0xc4000000, "lfsu" , kD , kF, kGeneral),
INSTRUCTION(0x7c00046e, "lfsux" , kX , kF, kGeneral),
INSTRUCTION(0x7c00042e, "lfsx" , kX , kF, kGeneral),
INSTRUCTION(0xa8000000, "lha" , kD , kI, kGeneral),
INSTRUCTION(0xac000000, "lhau" , kD , kI, kGeneral),
INSTRUCTION(0x7c0002ee, "lhaux" , kX , kI, kGeneral),
INSTRUCTION(0x7c0002ae, "lhax" , kX , kI, kGeneral),
INSTRUCTION(0x7c00062c, "lhbrx" , kX , kI, kGeneral),
INSTRUCTION(0xa0000000, "lhz" , kD , kI, kGeneral),
INSTRUCTION(0xa4000000, "lhzu" , kD , kI, kGeneral),
INSTRUCTION(0x7c00026e, "lhzux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00022e, "lhzx" , kX , kI, kGeneral),
INSTRUCTION(0xb8000000, "lmw" , kD , kI, kGeneral),
INSTRUCTION(0x7c0004aa, "lswi" , kX , kI, kGeneral),
INSTRUCTION(0x7c00042a, "lswx" , kX , kI, kGeneral),
INSTRUCTION(0x7c00000e, "lvebx" , kX , kV, kGeneral),
INSTRUCTION(0x7c00004e, "lvehx" , kX , kV, kGeneral),
INSTRUCTION(0x7c00008e, "lvewx" , kX , kV, kGeneral),
INSTRUCTION(0x10000083, "lvewx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00040e, "lvlx" , kX , kV, kGeneral),
INSTRUCTION(0x10000403, "lvlx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00060e, "lvlxl" , kX , kV, kGeneral),
INSTRUCTION(0x10000603, "lvlxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00044e, "lvrx" , kX , kV, kGeneral),
INSTRUCTION(0x10000443, "lvrx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00064e, "lvrxl" , kX , kV, kGeneral),
INSTRUCTION(0x10000643, "lvrxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x88000000, "lbz" , kD , kM, kGeneral),
INSTRUCTION(0x8c000000, "lbzu" , kD , kM, kGeneral),
INSTRUCTION(0x7c0000ee, "lbzux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0000ae, "lbzx" , kX , kM, kGeneral),
INSTRUCTION(0xe8000000, "ld" , kDS , kM, kGeneral),
INSTRUCTION(0x7c0000a8, "ldarx" , kX , kM, kGeneral),
INSTRUCTION(0x7c000428, "ldbrx" , kX , kM, kGeneral),
INSTRUCTION(0xe8000001, "ldu" , kDS , kM, kGeneral),
INSTRUCTION(0x7c00006a, "ldux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00002a, "ldx" , kX , kM, kGeneral),
INSTRUCTION(0xc8000000, "lfd" , kD , kM, kGeneral),
INSTRUCTION(0xcc000000, "lfdu" , kD , kM, kGeneral),
INSTRUCTION(0x7c0004ee, "lfdux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0004ae, "lfdx" , kX , kM, kGeneral),
INSTRUCTION(0xc0000000, "lfs" , kD , kM, kGeneral),
INSTRUCTION(0xc4000000, "lfsu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00046e, "lfsux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00042e, "lfsx" , kX , kM, kGeneral),
INSTRUCTION(0xa8000000, "lha" , kD , kM, kGeneral),
INSTRUCTION(0xac000000, "lhau" , kD , kM, kGeneral),
INSTRUCTION(0x7c0002ee, "lhaux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0002ae, "lhax" , kX , kM, kGeneral),
INSTRUCTION(0x7c00062c, "lhbrx" , kX , kM, kGeneral),
INSTRUCTION(0xa0000000, "lhz" , kD , kM, kGeneral),
INSTRUCTION(0xa4000000, "lhzu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00026e, "lhzux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00022e, "lhzx" , kX , kM, kGeneral),
INSTRUCTION(0xb8000000, "lmw" , kD , kM, kGeneral),
INSTRUCTION(0x7c0004aa, "lswi" , kX , kM, kGeneral),
INSTRUCTION(0x7c00042a, "lswx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00000e, "lvebx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00004e, "lvehx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00008e, "lvewx" , kX , kM, kGeneral),
INSTRUCTION(0x10000083, "lvewx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00040e, "lvlx" , kX , kM, kGeneral),
INSTRUCTION(0x10000403, "lvlx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00060e, "lvlxl" , kX , kM, kGeneral),
INSTRUCTION(0x10000603, "lvlxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00044e, "lvrx" , kX , kM, kGeneral),
INSTRUCTION(0x10000443, "lvrx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00064e, "lvrxl" , kX , kM, kGeneral),
INSTRUCTION(0x10000643, "lvrxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00000c, "lvsl" , kX , kV, kGeneral),
INSTRUCTION(0x10000003, "lvsl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00004c, "lvsr" , kX , kV, kGeneral),
INSTRUCTION(0x10000043, "lvsr128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c0000ce, "lvx" , kX , kV, kGeneral),
INSTRUCTION(0x100000c3, "lvx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c0002ce, "lvxl" , kX , kV, kGeneral),
INSTRUCTION(0x100002c3, "lvxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0xe8000002, "lwa" , kDS , kI, kGeneral),
INSTRUCTION(0x7c000028, "lwarx" , kX , kI, kGeneral),
INSTRUCTION(0x7c0002ea, "lwaux" , kX , kI, kGeneral),
INSTRUCTION(0x7c0002aa, "lwax" , kX , kI, kGeneral),
INSTRUCTION(0x7c00042c, "lwbrx" , kX , kI, kGeneral),
INSTRUCTION(0x80000000, "lwz" , kD , kI, kGeneral),
INSTRUCTION(0x84000000, "lwzu" , kD , kI, kGeneral),
INSTRUCTION(0x7c00006e, "lwzux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00002e, "lwzx" , kX , kI, kGeneral),
INSTRUCTION(0x4c000000, "mcrf" , kXL , kI, kGeneral),
INSTRUCTION(0xfc000080, "mcrfs" , kX , kF, kGeneral),
INSTRUCTION(0x7c000400, "mcrxr" , kX , kI, kGeneral),
INSTRUCTION(0x7c000026, "mfcr" , kX , kI, kGeneral),
INSTRUCTION(0xfc00048e, "mffsx" , kX , kF, kGeneral),
INSTRUCTION(0x7c0000a6, "mfmsr" , kX , kI, kGeneral),
INSTRUCTION(0x7c0002a6, "mfspr" , kXFX , kI, kGeneral),
INSTRUCTION(0x7c0002e6, "mftb" , kXFX , kI, kGeneral),
INSTRUCTION(0x10000604, "mfvscr" , kVX , kV, kGeneral),
INSTRUCTION(0x7c000120, "mtcrf" , kXFX , kI, kGeneral),
INSTRUCTION(0xfc00008c, "mtfsb0x" , kX , kF, kGeneral),
INSTRUCTION(0xfc00004c, "mtfsb1x" , kX , kF, kGeneral),
INSTRUCTION(0xfc00010c, "mtfsfix" , kX , kF, kGeneral),
INSTRUCTION(0xfc00058e, "mtfsfx" , kXFL , kF, kGeneral),
INSTRUCTION(0x7c000124, "mtmsr" , kX , kI, kGeneral),
INSTRUCTION(0x7c000164, "mtmsrd" , kX , kI, kGeneral),
INSTRUCTION(0x7c0003a6, "mtspr" , kXFX , kI, kGeneral),
INSTRUCTION(0x10000644, "mtvscr" , kVX , kV, kGeneral),
INSTRUCTION(0x7c0000ce, "lvx" , kX , kM, kGeneral),
INSTRUCTION(0x100000c3, "lvx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c0002ce, "lvxl" , kX , kM, kGeneral),
INSTRUCTION(0x100002c3, "lvxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0xe8000002, "lwa" , kDS , kM, kGeneral),
INSTRUCTION(0x7c000028, "lwarx" , kX , kM, kGeneral),
INSTRUCTION(0x7c0002ea, "lwaux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0002aa, "lwax" , kX , kM, kGeneral),
INSTRUCTION(0x7c00042c, "lwbrx" , kX , kM, kGeneral),
INSTRUCTION(0x80000000, "lwz" , kD , kM, kGeneral),
INSTRUCTION(0x84000000, "lwzu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00006e, "lwzux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00002e, "lwzx" , kX , kM, kGeneral),
INSTRUCTION(0x4c000000, "mcrf" , kXL , kC, kGeneral),
INSTRUCTION(0xfc000080, "mcrfs" , kX , kC, kGeneral),
INSTRUCTION(0x7c000400, "mcrxr" , kX , kC, kGeneral),
INSTRUCTION(0x7c000026, "mfcr" , kX , kC, kGeneral),
INSTRUCTION(0xfc00048e, "mffsx" , kX , kC, kGeneral),
INSTRUCTION(0x7c0000a6, "mfmsr" , kX , kC, kGeneral),
INSTRUCTION(0x7c0002a6, "mfspr" , kXFX , kC, kGeneral),
INSTRUCTION(0x7c0002e6, "mftb" , kXFX , kC, kGeneral),
INSTRUCTION(0x10000604, "mfvscr" , kVX , kC, kGeneral),
INSTRUCTION(0x7c000120, "mtcrf" , kXFX , kC, kGeneral),
INSTRUCTION(0xfc00008c, "mtfsb0x" , kX , kC, kGeneral),
INSTRUCTION(0xfc00004c, "mtfsb1x" , kX , kC, kGeneral),
INSTRUCTION(0xfc00010c, "mtfsfix" , kX , kC, kGeneral),
INSTRUCTION(0xfc00058e, "mtfsfx" , kXFL , kC, kGeneral),
INSTRUCTION(0x7c000124, "mtmsr" , kX , kC, kGeneral),
INSTRUCTION(0x7c000164, "mtmsrd" , kX , kC, kGeneral),
INSTRUCTION(0x7c0003a6, "mtspr" , kXFX , kC, kGeneral),
INSTRUCTION(0x10000644, "mtvscr" , kVX , kC, kGeneral),
INSTRUCTION(0x7c000012, "mulhdux" , kXO , kI, kGeneral),
INSTRUCTION(0x7c000092, "mulhdx" , kXO , kI, kGeneral),
INSTRUCTION(0x7c000016, "mulhwux" , kXO , kI, kGeneral),
@@ -196,7 +195,7 @@ PPCOpcodeInfo ppc_opcode_table[] = {
INSTRUCTION(0x50000000, "rlwimix" , kM , kI, kGeneral),
INSTRUCTION(0x54000000, "rlwinmx" , kM , kI, kGeneral),
INSTRUCTION(0x5c000000, "rlwnmx" , kM , kI, kGeneral),
INSTRUCTION(0x44000002, "sc" , kSC , kI, kSync ),
INSTRUCTION(0x44000002, "sc" , kSC , kB, kSync ),
INSTRUCTION(0x7c000036, "sldx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000030, "slwx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000674, "sradix" , kXS , kI, kGeneral),
@@ -205,55 +204,55 @@ PPCOpcodeInfo ppc_opcode_table[] = {
INSTRUCTION(0x7c000630, "srawx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000436, "srdx" , kX , kI, kGeneral),
INSTRUCTION(0x7c000430, "srwx" , kX , kI, kGeneral),
INSTRUCTION(0x98000000, "stb" , kD , kI, kGeneral),
INSTRUCTION(0x9c000000, "stbu" , kD , kI, kGeneral),
INSTRUCTION(0x7c0001ee, "stbux" , kX , kI, kGeneral),
INSTRUCTION(0x7c0001ae, "stbx" , kX , kI, kGeneral),
INSTRUCTION(0xf8000000, "std" , kDS , kI, kGeneral),
INSTRUCTION(0x7c000528, "stdbrx" , kX , kI, kGeneral),
INSTRUCTION(0x7c0001ad, "stdcx" , kX , kI, kGeneral),
INSTRUCTION(0xf8000001, "stdu" , kDS , kI, kGeneral),
INSTRUCTION(0x7c00016a, "stdux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00012a, "stdx" , kX , kI, kGeneral),
INSTRUCTION(0xd8000000, "stfd" , kD , kF, kGeneral),
INSTRUCTION(0xdc000000, "stfdu" , kD , kF, kGeneral),
INSTRUCTION(0x7c0005ee, "stfdux" , kX , kF, kGeneral),
INSTRUCTION(0x7c0005ae, "stfdx" , kX , kF, kGeneral),
INSTRUCTION(0x7c0007ae, "stfiwx" , kX , kF, kGeneral),
INSTRUCTION(0xd0000000, "stfs" , kD , kF, kGeneral),
INSTRUCTION(0xd4000000, "stfsu" , kD , kF, kGeneral),
INSTRUCTION(0x7c00056e, "stfsux" , kX , kF, kGeneral),
INSTRUCTION(0x7c00052e, "stfsx" , kX , kF, kGeneral),
INSTRUCTION(0xb0000000, "sth" , kD , kI, kGeneral),
INSTRUCTION(0x7c00072c, "sthbrx" , kX , kI, kGeneral),
INSTRUCTION(0xb4000000, "sthu" , kD , kI, kGeneral),
INSTRUCTION(0x7c00036e, "sthux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00032e, "sthx" , kX , kI, kGeneral),
INSTRUCTION(0xbc000000, "stmw" , kD , kI, kGeneral),
INSTRUCTION(0x7c0005aa, "stswi" , kX , kI, kGeneral),
INSTRUCTION(0x7c00052a, "stswx" , kX , kI, kGeneral),
INSTRUCTION(0x7c00010e, "stvebx" , kX , kV, kGeneral),
INSTRUCTION(0x7c00014e, "stvehx" , kX , kV, kGeneral),
INSTRUCTION(0x7c00018e, "stvewx" , kX , kV, kGeneral),
INSTRUCTION(0x10000183, "stvewx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00050e, "stvlx" , kX , kV, kGeneral),
INSTRUCTION(0x10000503, "stvlx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00070e, "stvlxl" , kX , kV, kGeneral),
INSTRUCTION(0x10000703, "stvlxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00054e, "stvrx" , kX , kV, kGeneral),
INSTRUCTION(0x10000543, "stvrx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c00074e, "stvrxl" , kX , kV, kGeneral),
INSTRUCTION(0x10000743, "stvrxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c0001ce, "stvx" , kX , kV, kGeneral),
INSTRUCTION(0x100001c3, "stvx128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x7c0003ce, "stvxl" , kX , kV, kGeneral),
INSTRUCTION(0x100003c3, "stvxl128" , kVX128_1, kV, kGeneral),
INSTRUCTION(0x90000000, "stw" , kD , kI, kGeneral),
INSTRUCTION(0x7c00052c, "stwbrx" , kX , kI, kGeneral),
INSTRUCTION(0x7c00012d, "stwcx" , kX , kI, kGeneral),
INSTRUCTION(0x94000000, "stwu" , kD , kI, kGeneral),
INSTRUCTION(0x7c00016e, "stwux" , kX , kI, kGeneral),
INSTRUCTION(0x7c00012e, "stwx" , kX , kI, kGeneral),
INSTRUCTION(0x98000000, "stb" , kD , kM, kGeneral),
INSTRUCTION(0x9c000000, "stbu" , kD , kM, kGeneral),
INSTRUCTION(0x7c0001ee, "stbux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0001ae, "stbx" , kX , kM, kGeneral),
INSTRUCTION(0xf8000000, "std" , kDS , kM, kGeneral),
INSTRUCTION(0x7c000528, "stdbrx" , kX , kM, kGeneral),
INSTRUCTION(0x7c0001ad, "stdcx" , kX , kM, kGeneral),
INSTRUCTION(0xf8000001, "stdu" , kDS , kM, kGeneral),
INSTRUCTION(0x7c00016a, "stdux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00012a, "stdx" , kX , kM, kGeneral),
INSTRUCTION(0xd8000000, "stfd" , kD , kM, kGeneral),
INSTRUCTION(0xdc000000, "stfdu" , kD , kM, kGeneral),
INSTRUCTION(0x7c0005ee, "stfdux" , kX , kM, kGeneral),
INSTRUCTION(0x7c0005ae, "stfdx" , kX , kM, kGeneral),
INSTRUCTION(0x7c0007ae, "stfiwx" , kX , kM, kGeneral),
INSTRUCTION(0xd0000000, "stfs" , kD , kM, kGeneral),
INSTRUCTION(0xd4000000, "stfsu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00056e, "stfsux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00052e, "stfsx" , kX , kM, kGeneral),
INSTRUCTION(0xb0000000, "sth" , kD , kM, kGeneral),
INSTRUCTION(0x7c00072c, "sthbrx" , kX , kM, kGeneral),
INSTRUCTION(0xb4000000, "sthu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00036e, "sthux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00032e, "sthx" , kX , kM, kGeneral),
INSTRUCTION(0xbc000000, "stmw" , kD , kM, kGeneral),
INSTRUCTION(0x7c0005aa, "stswi" , kX , kM, kGeneral),
INSTRUCTION(0x7c00052a, "stswx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00010e, "stvebx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00014e, "stvehx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00018e, "stvewx" , kX , kM, kGeneral),
INSTRUCTION(0x10000183, "stvewx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00050e, "stvlx" , kX , kM, kGeneral),
INSTRUCTION(0x10000503, "stvlx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00070e, "stvlxl" , kX , kM, kGeneral),
INSTRUCTION(0x10000703, "stvlxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00054e, "stvrx" , kX , kM, kGeneral),
INSTRUCTION(0x10000543, "stvrx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c00074e, "stvrxl" , kX , kM, kGeneral),
INSTRUCTION(0x10000743, "stvrxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c0001ce, "stvx" , kX , kM, kGeneral),
INSTRUCTION(0x100001c3, "stvx128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x7c0003ce, "stvxl" , kX , kM, kGeneral),
INSTRUCTION(0x100003c3, "stvxl128" , kVX128_1, kM, kGeneral),
INSTRUCTION(0x90000000, "stw" , kD , kM, kGeneral),
INSTRUCTION(0x7c00052c, "stwbrx" , kX , kM, kGeneral),
INSTRUCTION(0x7c00012d, "stwcx" , kX , kM, kGeneral),
INSTRUCTION(0x94000000, "stwu" , kD , kM, kGeneral),
INSTRUCTION(0x7c00016e, "stwux" , kX , kM, kGeneral),
INSTRUCTION(0x7c00012e, "stwx" , kX , kM, kGeneral),
INSTRUCTION(0x7c000010, "subfcx" , kXO , kI, kGeneral),
INSTRUCTION(0x7c000110, "subfex" , kXO , kI, kGeneral),
INSTRUCTION(0x20000000, "subficx" , kD , kI, kGeneral),
@@ -261,10 +260,10 @@ PPCOpcodeInfo ppc_opcode_table[] = {
INSTRUCTION(0x7c000050, "subfx" , kXO , kI, kGeneral),
INSTRUCTION(0x7c000190, "subfzex" , kXO , kI, kGeneral),
INSTRUCTION(0x7c0004ac, "sync" , kX , kI, kGeneral),
INSTRUCTION(0x7c000088, "td" , kX , kI, kGeneral),
INSTRUCTION(0x08000000, "tdi" , kD , kI, kGeneral),
INSTRUCTION(0x7c000008, "tw" , kX , kI, kGeneral),
INSTRUCTION(0x0c000000, "twi" , kD , kI, kGeneral),
INSTRUCTION(0x7c000088, "td" , kX , kB, kGeneral),
INSTRUCTION(0x08000000, "tdi" , kD , kB, kGeneral),
INSTRUCTION(0x7c000008, "tw" , kX , kB, kGeneral),
INSTRUCTION(0x0c000000, "twi" , kD , kB, kGeneral),
INSTRUCTION(0x10000180, "vaddcuw" , kVX , kV, kGeneral),
INSTRUCTION(0x1000000a, "vaddfp" , kVX , kV, kGeneral),
INSTRUCTION(0x14000010, "vaddfp128" , kVX128 , kV, kGeneral),