summaryrefslogtreecommitdiff
path: root/PCodeInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'PCodeInfo.h')
-rw-r--r--PCodeInfo.h462
1 files changed, 0 insertions, 462 deletions
diff --git a/PCodeInfo.h b/PCodeInfo.h
deleted file mode 100644
index 9e3b048..0000000
--- a/PCodeInfo.h
+++ /dev/null
@@ -1,462 +0,0 @@
-#pragma once
-
-#include "PCode.h"
-
-typedef struct _OpcodeInfo {
- const char *name;
- const char *format;
- unsigned char x8;
- unsigned char x9;
- int xA;
- unsigned int insn;
-} OpcodeInfo;
-
-enum {
- PC_B = 0x0,
- PC_BL = 0x1,
- PC_BC = 0x2,
- PC_BCLR = 0x3,
- PC_BCCTR = 0x4,
- PC_BT = 0x5,
- PC_BTLR = 0x6,
- PC_BTCTR = 0x7,
- PC_BF = 0x8,
- PC_BFLR = 0x9,
- PC_BFCTR = 0xA,
- PC_BDNZ = 0xB,
- PC_BDNZT = 0xC,
- PC_BDNZF = 0xD,
- PC_BDZ = 0xE,
- PC_BDZT = 0xF,
- PC_BDZF = 0x10,
- PC_BLR = 0x11,
- PC_BCTR = 0x12,
- PC_BCTRL = 0x13,
- PC_BLRL = 0x14,
- PC_LBZ = 0x15,
- PC_LBZU = 0x16,
- PC_LBZX = 0x17,
- PC_LBZUX = 0x18,
- PC_LHZ = 0x19,
- PC_LHZU = 0x1A,
- PC_LHZX = 0x1B,
- PC_LHZUX = 0x1C,
- PC_LHA = 0x1D,
- PC_LHAU = 0x1E,
- PC_LHAX = 0x1F,
- PC_LHAUX = 0x20,
- PC_LHBRX = 0x21,
- PC_LWZ = 0x22,
- PC_LWZU = 0x23,
- PC_LWZX = 0x24,
- PC_LWZUX = 0x25,
- PC_LWBRX = 0x26,
- PC_LMW = 0x27,
- PC_STB = 0x28,
- PC_STBU = 0x29,
- PC_STBX = 0x2A,
- PC_STBUX = 0x2B,
- PC_STH = 0x2C,
- PC_STHU = 0x2D,
- PC_STHX = 0x2E,
- PC_STHUX = 0x2F,
- PC_STHBRX = 0x30,
- PC_STW = 0x31,
- PC_STWU = 0x32,
- PC_STWX = 0x33,
- PC_STWUX = 0x34,
- PC_STWBRX = 0x35,
- PC_STMW = 0x36,
- PC_DCBF = 0x37,
- PC_DCBST = 0x38,
- PC_DCBT = 0x39,
- PC_DCBTST = 0x3A,
- PC_DCBZ = 0x3B,
- PC_ADD = 0x3C,
- PC_ADDC = 0x3D,
- PC_ADDE = 0x3E,
- PC_ADDI = 0x3F,
- PC_ADDIC = 0x40,
- PC_ADDICR = 0x41,
- PC_ADDIS = 0x42,
- PC_ADDME = 0x43,
- PC_ADDZE = 0x44,
- PC_DIVW = 0x45,
- PC_DIVWU = 0x46,
- PC_MULHW = 0x47,
- PC_MULHWU = 0x48,
- PC_MULLI = 0x49,
- PC_MULLW = 0x4A,
- PC_NEG = 0x4B,
- PC_SUBF = 0x4C,
- PC_SUBFC = 0x4D,
- PC_SUBFE = 0x4E,
- PC_SUBFIC = 0x4F,
- PC_SUBFME = 0x50,
- PC_SUBFZE = 0x51,
- PC_CMPI = 0x52,
- PC_CMP = 0x53,
- PC_CMPLI = 0x54,
- PC_CMPL = 0x55,
- PC_ANDI = 0x56,
- PC_ANDIS = 0x57,
- PC_ORI = 0x58,
- PC_ORIS = 0x59,
- PC_XORI = 0x5A,
- PC_XORIS = 0x5B,
- PC_AND = 0x5C,
- PC_OR = 0x5D,
- PC_XOR = 0x5E,
- PC_NAND = 0x5F,
- PC_NOR = 0x60,
- PC_EQV = 0x61,
- PC_ANDC = 0x62,
- PC_ORC = 0x63,
- PC_EXTSB = 0x64,
- PC_EXTSH = 0x65,
- PC_CNTLZW = 0x66,
- PC_RLWINM = 0x67,
- PC_RLWNM = 0x68,
- PC_RLWIMI = 0x69,
- PC_SLW = 0x6A,
- PC_SRW = 0x6B,
- PC_SRAWI = 0x6C,
- PC_SRAW = 0x6D,
- PC_CRAND = 0x6E,
- PC_CRANDC = 0x6F,
- PC_CREQV = 0x70,
- PC_CRNAND = 0x71,
- PC_CRNOR = 0x72,
- PC_CROR = 0x73,
- PC_CRORC = 0x74,
- PC_CRXOR = 0x75,
- PC_MCRF = 0x76,
- PC_MTXER = 0x77,
- PC_MTCTR = 0x78,
- PC_MTLR = 0x79,
- PC_MTCRF = 0x7A,
- PC_MTMSR = 0x7B,
- PC_MTSPR = 0x7C,
- PC_MFMSR = 0x7D,
- PC_MFSPR = 0x7E,
- PC_MFXER = 0x7F,
- PC_MFCTR = 0x80,
- PC_MFLR = 0x81,
- PC_MFCR = 0x82,
- PC_MFFS = 0x83,
- PC_MTFSF = 0x84,
- PC_EIEIO = 0x85,
- PC_ISYNC = 0x86,
- PC_SYNC = 0x87,
- PC_RFI = 0x88,
- PC_LI = 0x89,
- PC_LIS = 0x8A,
- PC_MR = 0x8B,
- PC_NOP = 0x8C,
- PC_NOT = 0x8D,
- PC_LFS = 0x8E,
- PC_LFSU = 0x8F,
- PC_LFSX = 0x90,
- PC_LFSUX = 0x91,
- PC_LFD = 0x92,
- PC_LFDU = 0x93,
- PC_LFDX = 0x94,
- PC_LFDUX = 0x95,
- PC_STFS = 0x96,
- PC_STFSU = 0x97,
- PC_STFSX = 0x98,
- PC_STFSUX = 0x99,
- PC_STFD = 0x9A,
- PC_STFDU = 0x9B,
- PC_STFDX = 0x9C,
- PC_STFDUX = 0x9D,
- PC_FMR = 0x9E,
- PC_FABS = 0x9F,
- PC_FNEG = 0xA0,
- PC_FNABS = 0xA1,
- PC_FADD = 0xA2,
- PC_FADDS = 0xA3,
- PC_FSUB = 0xA4,
- PC_FSUBS = 0xA5,
- PC_FMUL = 0xA6,
- PC_FMULS = 0xA7,
- PC_FDIV = 0xA8,
- PC_FDIVS = 0xA9,
- PC_FMADD = 0xAA,
- PC_FMADDS = 0xAB,
- PC_FMSUB = 0xAC,
- PC_FMSUBS = 0xAD,
- PC_FNMADD = 0xAE,
- PC_FNMADDS = 0xAF,
- PC_FNMSUB = 0xB0,
- PC_FNMSUBS = 0xB1,
- PC_FRES = 0xB2,
- PC_FRSQRTE = 0xB3,
- PC_FSEL = 0xB4,
- PC_FRSP = 0xB5,
- PC_FCTIW = 0xB6,
- PC_FCTIWZ = 0xB7,
- PC_FCMPU = 0xB8,
- PC_FCMPO = 0xB9,
- PC_LWARX = 0xBA,
- PC_LSWI = 0xBB,
- PC_LSWX = 0xBC,
- PC_STFIWX = 0xBD,
- PC_STSWI = 0xBE,
- PC_STSWX = 0xBF,
- PC_STWCX = 0xC0,
- PC_ECIWX = 0xC1,
- PC_ECOWX = 0xC2,
- PC_DCBI = 0xC3,
- PC_ICBI = 0xC4,
- PC_MCRFS = 0xC5,
- PC_MCRXR = 0xC6,
- PC_MFTB = 0xC7,
- PC_MFSR = 0xC8,
- PC_MTSR = 0xC9,
- PC_MFSRIN = 0xCA,
- PC_MTSRIN = 0xCB,
- PC_MTFSB0 = 0xCC,
- PC_MTFSB1 = 0xCD,
- PC_MTFSFI = 0xCE,
- PC_SC = 0xCF,
- PC_FSQRT = 0xD0,
- PC_FSQRTS = 0xD1,
- PC_TLBIA = 0xD2,
- PC_TLBIE = 0xD3,
- PC_TLBLD = 0xD4,
- PC_TLBLI = 0xD5,
- PC_TLBSYNC = 0xD6,
- PC_TW = 0xD7,
- PC_TRAP = 0xD8,
- PC_TWI = 0xD9,
- PC_OPWORD = 0xDA,
- PC_MFROM = 0xDB,
- PC_DSA = 0xDC,
- PC_ESA = 0xDD,
- PC_DCCCI = 0xDE,
- PC_DCREAD = 0xDF,
- PC_ICBT = 0xE0,
- PC_ICCCI = 0xE1,
- PC_ICREAD = 0xE2,
- PC_RFCI = 0xE3,
- PC_TLBRE = 0xE4,
- PC_TLBSX = 0xE5,
- PC_TLBWE = 0xE6,
- PC_WRTEE = 0xE7,
- PC_WRTEEI = 0xE8,
- PC_MFDCR = 0xE9,
- PC_MTDCR = 0xEA,
- PC_DCBA = 0xEB,
- PC_DSS = 0xEC,
- PC_DSSALL = 0xED,
- PC_DST = 0xEE,
- PC_DSTT = 0xEF,
- PC_DSTST = 0xF0,
- PC_DSTSTT = 0xF1,
- PC_LVEBX = 0xF2,
- PC_LVEHX = 0xF3,
- PC_LVEWX = 0xF4,
- PC_LVSL = 0xF5,
- PC_LVSR = 0xF6,
- PC_LVX = 0xF7,
- PC_LVXL = 0xF8,
- PC_STVEBX = 0xF9,
- PC_STVEHX = 0xFA,
- PC_STVEWX = 0xFB,
- PC_STVX = 0xFC,
- PC_STVXL = 0xFD,
- PC_MFVSCR = 0xFE,
- PC_MTVSCR = 0xFF,
- PC_VADDCUW = 0x100,
- PC_VADDFP = 0x101,
- PC_VADDSBS = 0x102,
- PC_VADDSHS = 0x103,
- PC_VADDSWS = 0x104,
- PC_VADDUBM = 0x105,
- PC_VADDUBS = 0x106,
- PC_VADDUHM = 0x107,
- PC_VADDUHS = 0x108,
- PC_VADDUWM = 0x109,
- PC_VADDUWS = 0x10A,
- PC_VAND = 0x10B,
- PC_VANDC = 0x10C,
- PC_VAVGSB = 0x10D,
- PC_VAVGSH = 0x10E,
- PC_VAVGSW = 0x10F,
- PC_VAVGUB = 0x110,
- PC_VAVGUH = 0x111,
- PC_VAVGUW = 0x112,
- PC_VCFSX = 0x113,
- PC_VCFUX = 0x114,
- PC_VCMPBFP = 0x115,
- PC_VCMPEQFP = 0x116,
- PC_VCMPEQUB = 0x117,
- PC_VCMPEQUH = 0x118,
- PC_VCMPEQUW = 0x119,
- PC_VCMPGEFP = 0x11A,
- PC_VCMPGTFP = 0x11B,
- PC_VCMPGTSB = 0x11C,
- PC_VCMPGTSH = 0x11D,
- PC_VCMPGTSW = 0x11E,
- PC_VCMPGTUB = 0x11F,
- PC_VCMPGTUH = 0x120,
- PC_VCMPGTUW = 0x121,
- PC_VCTSXS = 0x122,
- PC_VCTUXS = 0x123,
- PC_VEXPTEFP = 0x124,
- PC_VLOGEFP = 0x125,
- PC_VMAXFP = 0x126,
- PC_VMAXSB = 0x127,
- PC_VMAXSH = 0x128,
- PC_VMAXSW = 0x129,
- PC_VMAXUB = 0x12A,
- PC_VMAXUH = 0x12B,
- PC_VMAXUW = 0x12C,
- PC_VMINFP = 0x12D,
- PC_VMINSB = 0x12E,
- PC_VMINSH = 0x12F,
- PC_VMINSW = 0x130,
- PC_VMINUB = 0x131,
- PC_VMINUH = 0x132,
- PC_VMINUW = 0x133,
- PC_VMRGHB = 0x134,
- PC_VMRGHH = 0x135,
- PC_VMRGHW = 0x136,
- PC_VMRGLB = 0x137,
- PC_VMRGLH = 0x138,
- PC_VMRGLW = 0x139,
- PC_VMULESB = 0x13A,
- PC_VMULESH = 0x13B,
- PC_VMULEUB = 0x13C,
- PC_VMULEUH = 0x13D,
- PC_VMULOSB = 0x13E,
- PC_VMULOSH = 0x13F,
- PC_VMULOUB = 0x140,
- PC_VMULOUH = 0x141,
- PC_VNOR = 0x142,
- PC_VOR = 0x143,
- PC_VPKPX = 0x144,
- PC_VPKSHSS = 0x145,
- PC_VPKSHUS = 0x146,
- PC_VPKSWSS = 0x147,
- PC_VPKSWUS = 0x148,
- PC_VPKUHUM = 0x149,
- PC_VPKUHUS = 0x14A,
- PC_VPKUWUM = 0x14B,
- PC_VPKUWUS = 0x14C,
- PC_VREFP = 0x14D,
- PC_VRFIM = 0x14E,
- PC_VRFIN = 0x14F,
- PC_VRFIP = 0x150,
- PC_VRFIZ = 0x151,
- PC_VRLB = 0x152,
- PC_VRLH = 0x153,
- PC_VRLW = 0x154,
- PC_VRSQRTEFP = 0x155,
- PC_VSL = 0x156,
- PC_VSLB = 0x157,
- PC_VSLH = 0x158,
- PC_VSLO = 0x159,
- PC_VSLW = 0x15A,
- PC_VSPLTB = 0x15B,
- PC_VSPLTH = 0x15C,
- PC_VSPLTW = 0x15D,
- PC_VSPLTISB = 0x15E,
- PC_VSPLTISH = 0x15F,
- PC_VSPLTISW = 0x160,
- PC_VSR = 0x161,
- PC_VSRAB = 0x162,
- PC_VSRAH = 0x163,
- PC_VSRAW = 0x164,
- PC_VSRB = 0x165,
- PC_VSRH = 0x166,
- PC_VSRO = 0x167,
- PC_VSRW = 0x168,
- PC_VSUBCUW = 0x169,
- PC_VSUBFP = 0x16A,
- PC_VSUBSBS = 0x16B,
- PC_VSUBSHS = 0x16C,
- PC_VSUBSWS = 0x16D,
- PC_VSUBUBM = 0x16E,
- PC_VSUBUBS = 0x16F,
- PC_VSUBUHM = 0x170,
- PC_VSUBUHS = 0x171,
- PC_VSUBUWM = 0x172,
- PC_VSUBUWS = 0x173,
- PC_VSUMSWS = 0x174,
- PC_VSUM2SWS = 0x175,
- PC_VSUM4SBS = 0x176,
- PC_VSUM4SHS = 0x177,
- PC_VSUM4UBS = 0x178,
- PC_VUPKHPX = 0x179,
- PC_VUPKHSB = 0x17A,
- PC_VUPKHSH = 0x17B,
- PC_VUPKLPX = 0x17C,
- PC_VUPKLSB = 0x17D,
- PC_VUPKLSH = 0x17E,
- PC_VXOR = 0x17F,
- PC_VMADDFP = 0x180,
- PC_VMHADDSHS = 0x181,
- PC_VMHRADDSHS = 0x182,
- PC_VMLADDUHM = 0x183,
- PC_VMSUMMBM = 0x184,
- PC_VMSUMSHM = 0x185,
- PC_VMSUMSHS = 0x186,
- PC_VMSUMUBM = 0x187,
- PC_VMSUMUHM = 0x188,
- PC_VMSUMUHS = 0x189,
- PC_VNMSUBFP = 0x18A,
- PC_VPERM = 0x18B,
- PC_VSEL = 0x18C,
- PC_VSLDOI = 0x18D,
- PC_VMR = 0x18E,
- PC_VMRP = 0x18F,
- PC_SLE = 0x190,
- PC_SLEQ = 0x191,
- PC_SLIQ = 0x192,
- PC_SLLIQ = 0x193,
- PC_SLLQ = 0x194,
- PC_SLQ = 0x195,
- PC_SRAIQ = 0x196,
- PC_SRAQ = 0x197,
- PC_SRE = 0x198,
- PC_SREA = 0x199,
- PC_SREQ = 0x19A,
- PC_SRIQ = 0x19B,
- PC_SRLIQ = 0x19C,
- PC_SRLQ = 0x19D,
- PC_SRQ = 0x19E,
- PC_MASKG = 0x19F,
- PC_MASKIR = 0x1A0,
- PC_LSCBX = 0x1A1,
- PC_DIV = 0x1A2,
- PC_DIVS = 0x1A3,
- PC_DOZ = 0x1A4,
- PC_MUL = 0x1A5,
- PC_NABS = 0x1A6,
- PC_ABS = 0x1A7,
- PC_CLCS = 0x1A8,
- PC_DOZI = 0x1A9,
- PC_RLMI = 0x1AA,
- PC_RRIB = 0x1AB,
- PC_PENTRY = 0x1AC,
- PC_PEXIT = 0x1AD,
- OPCODE_MAX = 0x1AE
-};
-
-extern OpcodeInfo opcodeInfo[OPCODE_MAX];
-
-extern void pcode_get_hi_lo(int a1, char a2, int *pA, int *pB);
-extern int pcode_check_imm_bits(int a1, int a2, int a3);
-extern int pcode_const_from_format(char *buf, int *pResult);
-extern PCode *vformatpcode(short opcode, va_list argList);
-extern int expectandformatoperand(PCodeArg *operand, unsigned char expectedKind, char a3, int bitCount, char *buf);
-extern int formatoperand(PCodeArg *operand, char *buf);
-extern void formatoperands(PCode *pcode, char *buf, int showBasicBlocks);
-extern PCode *makecopyinstruction(PCodeArg *a, PCodeArg *b);
-extern int is_location_independent(PCode *pcode);
-extern int can_reuse_stored_value(PCode *a, PCode *b);
-extern int nbytes_loaded_or_stored_by(PCode *pcode);
-extern void change_num_operands(PCode *pcode, int newNum);
-extern void change_opcode(PCode *pcode, short opcode);