mirror of https://git.wuffs.org/MWCC
436 lines
52 KiB
C
436 lines
52 KiB
C
#include "compiler/PCodeInfo.h"
|
|
#include "compiler/PCode.h"
|
|
|
|
OpcodeInfo opcodeinfo[] = {
|
|
"B", "l;p", 2, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x48000000,
|
|
"BL", "#,m;p", 2, 0, fIsCall | fLink | fCanLink | fCanBeAbsolute, 0x48000001,
|
|
"BC", "B,Q,l;p", 5, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x40000000,
|
|
"BCLR", "B,Q;L", 4, 0, fIsBranch | fCanLink, 0x4C000020,
|
|
"BCCTR", "B,Q;Cp", 5, 0, fIsBranch | fCanLink, 0x4C000420,
|
|
"BT", "Q,l;p", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x41800000,
|
|
"BTLR", "Q;L", 3, 0, fIsBranch | fCanLink, 0x4D800020,
|
|
"BTCTR", "Q;Cp", 4, 0, fIsBranch | fCanLink, 0x4D800420,
|
|
"BF", "Q,l;p", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x40800000,
|
|
"BFLR", "Q;L", 3, 0, fIsBranch | fCanLink, 0x4C800020,
|
|
"BFCTR", "Q;Cp", 4, 0, fIsBranch | fCanLink, 0x4C800420,
|
|
"BDNZ", "l;Cp", 3, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x42000000,
|
|
"BDNZT", "Q,l;Cp", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x41000000,
|
|
"BDNZF", "Q,l;Cp", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x40000000,
|
|
"BDZ", "l;Cp", 2, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x42400000,
|
|
"BDZT", "Q,l;Cp", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x41400000,
|
|
"BDZF", "Q,l;Cp", 4, 0, fIsBranch | fCanLink | fCanBeAbsolute, 0x40400000,
|
|
"BLR", ";L", 1, 0, fIsBranch | fCanLink, 0x4E800020,
|
|
"BCTR", ";Cmp", 3, 0, fIsBranch | fCanLink, 0x4E800420,
|
|
"BCTRL", "#;C=L", 2, 0, fIsCall | fLink | fCanLink, 0x4E800421,
|
|
"BLRL", "#;+L", 1, 0, fIsCall | fLink | fCanLink, 0x4E800021,
|
|
"LBZ", "=r,d(b)", 3, 3, fIsRead, 0x88000000,
|
|
"LBZU", "=r,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0x8C000000,
|
|
"LBZX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C0000AE,
|
|
"LBZUX", "=r,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C0000EE,
|
|
"LHZ", "=r,d(b)", 3, 3, fIsRead, 0xA0000000,
|
|
"LHZU", "=r,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0xA4000000,
|
|
"LHZX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00022E,
|
|
"LHZUX", "=r,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C00026E,
|
|
"LHA", "=r,d(b)", 3, 3, fIsRead, 0xA8000000,
|
|
"LHAU", "=r,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0xAC000000,
|
|
"LHAX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C0002AE,
|
|
"LHAUX", "=r,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C0002EE,
|
|
"LHBRX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00062C,
|
|
"LWZ", "=r,d(b)", 3, 3, fIsRead, 0x80000000,
|
|
"LWZU", "=r,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0x84000000,
|
|
"LWZX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00002E,
|
|
"LWZUX", "=r,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C00006E,
|
|
"LWBRX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00042C,
|
|
"LMW", "#,=r,d(b);=V", 3, 3, fIsRead, 0xB8000000,
|
|
"STB", "r,d(b)", 3, 1, fIsWrite, 0x98000000,
|
|
"STBU", "r,d(+b)", 3, 2, fIsWrite | fUpdatesPtr, 0x9C000000,
|
|
"STBX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C0001AE,
|
|
"STBUX", "r,(+b,r)", 3, 2, fIsWrite | fIsPtrOp | fUpdatesPtr, 0x7C0001EE,
|
|
"STH", "r,d(b)", 3, 1, fIsWrite, 0xB0000000,
|
|
"STHU", "r,d(+b)", 3, 2, fIsWrite | fUpdatesPtr, 0xB4000000,
|
|
"STHX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C00032E,
|
|
"STHUX", "r,(+b,r)", 3, 2, fIsWrite | fIsPtrOp | fUpdatesPtr, 0x7C00036E,
|
|
"STHBRX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C00072C,
|
|
"STW", "r,d(b)", 3, 1, fIsWrite, 0x90000000,
|
|
"STWU", "r,d(+b)", 3, 2, fIsWrite | fUpdatesPtr, 0x94000000,
|
|
"STWX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C00012E,
|
|
"STWUX", "r,(+b,r)", 3, 2, fIsWrite | fIsPtrOp | fUpdatesPtr, 0x7C00016E,
|
|
"STWBRX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C00052C,
|
|
"STMW", "#,r,d(b);V", 3, 1, fIsWrite, 0xBC000000,
|
|
"DCBF", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0000AC,
|
|
"DCBST", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C00006C,
|
|
"DCBT", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C00022C,
|
|
"DCBTST", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0001EC,
|
|
"DCBZ", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0007EC,
|
|
"ADD", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000214,
|
|
"ADDC", "=r,r,r;+X", 4, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000014,
|
|
"ADDE", "=r,r,r;+X", 4, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000114,
|
|
"ADDI", "=r,b,m;p", 4, 2, fIsCSE | fPCodeFlag400000 | fCanSetRecordBit | fOpTypeGPR, 0x38000000,
|
|
"ADDIC", "=r,r,i;+X", 4, 2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x30000000,
|
|
"ADDICR", "=r,r,n;+X=Z", 5, 2, fCanSetRecordBit | fSetsCarry | fRecordBit | fOpTypeGPR, 0x34000000,
|
|
"ADDIS", "=r,b,M", 3, 2, fIsCSE | fPCodeFlag400000 | fOpTypeGPR, 0x3C000000,
|
|
"ADDME", "=r,r;+X", 3, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C0001D4,
|
|
"ADDZE", "=r,r;+X", 3, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000194,
|
|
"DIVW", "=r,r,r", 3, 2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0003D6,
|
|
"DIVWU", "=r,r,r", 3, 2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000396,
|
|
"MULHW", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000096,
|
|
"MULHWU", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000016,
|
|
"MULLI", "=r,r,i", 3, 2, fIsCSE | fOpTypeGPR, 0x1C000000,
|
|
"MULLW", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0001D6,
|
|
"NEG", "=r,r", 2, 2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0000D0,
|
|
"SUBF", "=r,r,r", 3, 2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000050,
|
|
"SUBFC", "=r,r,r;+X", 4, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000010,
|
|
"SUBFE", "=r,r,r;+X", 4, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000110,
|
|
"SUBFIC", "=r,r,i;+X", 4, 2, fSetsCarry | fOpTypeGPR, 0x20000000,
|
|
"SUBFME", "=r,r;+X", 3, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C0001D0,
|
|
"SUBFZE", "=r,r;+X", 3, 2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000190,
|
|
"CMPI", "=?c,Or,i", 3, 1, fIsCSE | fOpTypeGPR, 0x2C000000,
|
|
"CMP", "=?c,Or,r", 3, 1, fIsCSE | fOpTypeGPR, 0x7C000000,
|
|
"CMPLI", "=?c,Or,u", 3, 1, fIsCSE | fOpTypeGPR, 0x28000000,
|
|
"CMPL", "=?c,Or,r", 3, 1, fIsCSE | fOpTypeGPR, 0x7C000040,
|
|
"ANDI", "=r,r,x;=Z", 4, 2, fCanSetRecordBit | fRecordBit | fOpTypeGPR, 0x70000000,
|
|
"ANDIS", "=r,r,x;=Z", 4, 2, fCanSetRecordBit | fRecordBit | fOpTypeGPR, 0x74000000,
|
|
"ORI", "=r,r,x", 3, 2, fIsCSE | fOpTypeGPR, 0x60000000,
|
|
"ORIS", "=r,r,x", 3, 2, fIsCSE | fOpTypeGPR, 0x64000000,
|
|
"XORI", "=r,r,x", 3, 2, fIsCSE | fOpTypeGPR, 0x68000000,
|
|
"XORIS", "=r,r,x", 3, 2, fIsCSE | fOpTypeGPR, 0x6C000000,
|
|
"AND", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000038,
|
|
"OR", "=r,r,r;pp", 5, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000378,
|
|
"XOR", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000278,
|
|
"NAND", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C0003B8,
|
|
"NOR", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C0000F8,
|
|
"EQV", "=r,r,r", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000238,
|
|
"ANDC", "=r,r,r", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000078,
|
|
"ORC", "=r,r,r", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000338,
|
|
"EXTSB", "=r,r", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000774,
|
|
"EXTSH", "=r,r", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000734,
|
|
"CNTLZW", "=r,r", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000034,
|
|
"RLWINM", "=r,r,u5,u5,u5", 5, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x54000000,
|
|
"RLWNM", "=r,r,r,u5,u5", 5, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x5C000000,
|
|
"RLWIMI", "+r,r,u5,u5,u5", 5, 2, fCanSetRecordBit | fOpTypeGPR, 0x50000000,
|
|
"SLW", "=r,r,r", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000030,
|
|
"SRW", "=r,r,r", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C000430,
|
|
"SRAWI", "=r,r,u5;+X", 4, 2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000670,
|
|
"SRAW", "=r,r,r;+X", 4, 2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR, 0x7C000630,
|
|
"CRAND", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C000202,
|
|
"CRANDC", "=Q,Q,Q", 6, 2, fIsCSE | fOpTypeGPR, 0x4C000102,
|
|
"CREQV", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C000242,
|
|
"CRNAND", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C0001C2,
|
|
"CRNOR", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C000042,
|
|
"CROR", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C000382,
|
|
"CRORC", "=Q,Q,Q", 6, 2, fIsCSE | fOpTypeGPR, 0x4C000342,
|
|
"CRXOR", "=Q,Q,Q", 6, 2, fCommutative | fIsCSE | fOpTypeGPR, 0x4C000182,
|
|
"MCRF", "=c,c", 2, 1, fIsMove | fOpTypeGPR, 0x4C000000,
|
|
"MTXER", "r;=X", 2, 1, fSetsCarry | fOpTypeGPR, 0x7C0103A6,
|
|
"MTCTR", "r;=C", 2, 1, fOpTypeGPR, 0x7C0903A6,
|
|
"MTLR", "r;=L", 2, 1, fOpTypeGPR, 0x7C0803A6,
|
|
"MTCRF", "x8,r;=Y", 10, 1, fOpTypeGPR, 0x7C000120,
|
|
"MTMSR", "r", 1, 4, fSideEffects | fOpTypeGPR, 0x7C000124,
|
|
"MTSPR", "=s,r", 2, 4, fOpTypeGPR, 0x7C0003A6,
|
|
"MFMSR", "=r", 1, 4, fOpTypeGPR, 0x7C0000A6,
|
|
"MFSPR", "=r,s", 2, 4, fOpTypeGPR, 0x7C0002A6,
|
|
"MFXER", "=r;X", 2, 4, fOpTypeGPR, 0x7C0102A6,
|
|
"MFCTR", "=r;C", 2, 4, fOpTypeGPR, 0x7C0902A6,
|
|
"MFLR", "=r;L", 2, 4, fOpTypeGPR, 0x7C0802A6,
|
|
"MFCR", "=r;Y", 9, 4, fOpTypeGPR, 0x7C000026,
|
|
"MFFS", "=f", 1, 4, fCanSetRecordBit | fOpTypeFPR, 0xFC00048E,
|
|
"MTFSF", "x8,f", 2, 1, fSideEffects | fCanSetRecordBit | fOpTypeFPR, 0xFC00058E,
|
|
"EIEIO", "", 0, 0, fSideEffects | fOpTypeGPR, 0x7C0006AC,
|
|
"ISYNC", "", 0, 0, fSideEffects | fOpTypeGPR, 0x4C00012C,
|
|
"SYNC", "", 0, 0, fSideEffects | fOpTypeGPR, 0x7C0004AC,
|
|
"RFI", "", 0, 0, fSideEffects, 0x4C000064,
|
|
"LI", "=r,n", 2, 4, fIsCSE | fOpTypeGPR, 0x38000000,
|
|
"LIS", "=r,M", 2, 4, fIsCSE | fOpTypeGPR, 0x3C000000,
|
|
"MR", "=r,r;p", 3, 0, fIsMove | fCanSetRecordBit | fOpTypeGPR, 0x7C000378,
|
|
"NOP", "", 0, 0, fSideEffects | fOpTypeGPR, 0x60000000,
|
|
"NOT", "=r,r", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeGPR, 0x7C0000F8,
|
|
"LFS", "=f,d(b)", 3, 3, fIsRead, 0xC0000000,
|
|
"LFSU", "=f,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0xC4000000,
|
|
"LFSX", "=f,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00042E,
|
|
"LFSUX", "=f,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C00046E,
|
|
"LFD", "=f,d(b)", 3, 3, fIsRead, 0xC8000000,
|
|
"LFDU", "=f,d(+b)", 3, 3, fIsRead | fUpdatesPtr, 0xCC000000,
|
|
"LFDX", "=f,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C0004AE,
|
|
"LFDUX", "=f,(+b,r)", 3, 3, fIsRead | fIsPtrOp | fUpdatesPtr, 0x7C0004EE,
|
|
"STFS", "f,d(b)", 3, 1, fIsWrite, 0xD0000000,
|
|
"STFSU", "f,d(+b)", 3, 2, fIsWrite | fUpdatesPtr, 0xD4000000,
|
|
"STFSX", "f,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C00052E,
|
|
"STFSUX", "f,(+b,r)", 3, 2, fIsWrite | fIsPtrOp | fUpdatesPtr, 0x7C00056E,
|
|
"STFD", "f,d(b)", 3, 1, fIsWrite, 0xD8000000,
|
|
"STFDU", "f,d(+b)", 3, 2, fIsWrite | fUpdatesPtr, 0xDC000000,
|
|
"STFDX", "f,(b,r)", 3, 1, fIsWrite | fIsPtrOp, 0x7C0005AE,
|
|
"STFDUX", "f,(+b,r)", 3, 2, fIsWrite | fIsPtrOp | fUpdatesPtr, 0x7C0005EE,
|
|
"FMR", "=f,f", 2, 0, fIsMove | fCanSetRecordBit | fOpTypeFPR, 0xFC000090,
|
|
"FABS", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000210,
|
|
"FNEG", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000050,
|
|
"FNABS", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000110,
|
|
"FADD", "=f,f,f", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00002A,
|
|
"FADDS", "=f,f,f", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC00002A,
|
|
"FSUB", "=f,f,f", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000028,
|
|
"FSUBS", "=f,f,f", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC000028,
|
|
"FMUL", "=f,f,f", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000032,
|
|
"FMULS", "=f,f,f", 3, 2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC000032,
|
|
"FDIV", "=f,f,f", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000024,
|
|
"FDIVS", "=f,f,f", 3, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC000024,
|
|
"FMADD", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00003A,
|
|
"FMADDS", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC00003A,
|
|
"FMSUB", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000038,
|
|
"FMSUBS", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC000038,
|
|
"FNMADD", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00003E,
|
|
"FNMADDS", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC00003E,
|
|
"FNMSUB", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00003C,
|
|
"FNMSUBS", "=f,f,f,f", 4, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xEC00003C,
|
|
"FRES", "=f,f", 2, 2, fCanSetRecordBit | fOpTypeFPR, 0xEC000030,
|
|
"FRSQRTE", "=f,f", 2, 2, fCanSetRecordBit | fOpTypeFPR, 0xFC000034,
|
|
"FSEL", "=f,f,f,f", 4, 2, fCanSetRecordBit | fOpTypeFPR, 0xFC00002E,
|
|
"FRSP", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC000018,
|
|
"FCTIW", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00001C,
|
|
"FCTIWZ", "=f,f", 2, 2, fIsCSE | fCanSetRecordBit | fOpTypeFPR, 0xFC00001E,
|
|
"FCMPU", "=?c,f,f", 3, 1, fIsCSE | fOpTypeFPR, 0xFC000000,
|
|
"FCMPO", "=?c,f,f", 3, 1, fIsCSE | fOpTypeFPR, 0xFC000040,
|
|
"LWARX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C000028,
|
|
"LSWI", "=r,b,N", 3, 3, fIsRead | fIsPtrOp | fSideEffects, 0x7C0004AA,
|
|
"LSWX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp | fSideEffects, 0x7C00042A,
|
|
"STFIWX", "f,(b,r)", 3, 3, fIsWrite | fIsPtrOp, 0x7C0007AE,
|
|
"STSWI", "r,b,N", 3, 3, fIsWrite | fIsPtrOp, 0x7C0005AA,
|
|
"STSWX", "r,(b,r)", 3, 3, fIsWrite | fIsPtrOp, 0x7C00052A,
|
|
"STWCX", "r,(b,r);=Z", 4, 3, fIsWrite | fIsPtrOp | fCanSetRecordBit | fRecordBit, 0x7C00012D,
|
|
"ECIWX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp, 0x7C00026C,
|
|
"ECOWX", "r,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fSideEffects, 0x7C00036C,
|
|
"DCBI", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0003AC,
|
|
"ICBI", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0007AC,
|
|
"MCRFS", "=c,x3", 2, 1, fSideEffects | fOpTypeGPR, 0xFC000080,
|
|
"MCRXR", "=c;+X", 2, 1, fOpTypeGPR, 0x7C000400,
|
|
"MFTB", "=r?T", 2, 4, fOpTypeGPR, 0x7C0002E6,
|
|
"MFSR", "=r,u4", 2, 4, fOpTypeGPR, 0x7C0004A6,
|
|
"MTSR", "u4,r", 2, 4, fSideEffects | fOpTypeGPR, 0x7C0001A4,
|
|
"MFSRIN", "=r,r", 2, 4, fOpTypeGPR, 0x7C000526,
|
|
"MTSRIN", "r,r", 2, 4, fSideEffects | fOpTypeGPR, 0x7C0001E4,
|
|
"MTFSB0", "u5", 1, 4, fSideEffects | fCanSetRecordBit | fOpTypeGPR, 0xFC00008C,
|
|
"MTFSB1", "u5", 1, 4, fSideEffects | fCanSetRecordBit | fOpTypeGPR, 0xFC00004C,
|
|
"MTFSFI", "c,x4", 2, 1, fSideEffects | fCanSetRecordBit | fOpTypeGPR, 0xFC00010C,
|
|
"SC", "", 0, 0, fIsCall | fSideEffects, 0x44000002,
|
|
"FSQRT", "=f,f", 2, 2, fCanSetRecordBit | fOpTypeFPR, 0xFC00002C,
|
|
"FSQRTS", "=f,f", 2, 2, fCanSetRecordBit | fOpTypeFPR, 0xEC00002C,
|
|
"TLBIA", "", 0, 1, fSideEffects, 0x7C0002E4,
|
|
"TLBIE", "r", 1, 1, fSideEffects, 0x7C000264,
|
|
"TLBLD", "r", 1, 1, fSideEffects, 0x7C0007A4,
|
|
"TLBLI", "r", 1, 1, fSideEffects, 0x7C0007E4,
|
|
"TLBSYNC", "", 0, 1, fSideEffects, 0x7C00046C,
|
|
"TW", "t,r,r", 3, 1, fIsCall | fSideEffects, 0x7C000008,
|
|
"TRAP", "", 0, 1, fIsCall | fSideEffects, 0x7FE00008,
|
|
"TWI", "t,r,x", 3, 1, fIsCall | fSideEffects, 0x0C000000,
|
|
"OPWORD", "w", 1, 0, fSideEffects, 0x00000000,
|
|
"MFROM", "=r,r", 2, 4, fIsRead, 0x7C000212,
|
|
"DSA", "", 0, 0, fSideEffects | fOpTypeGPR, 0x7C0004E8,
|
|
"ESA", "", 0, 0, fSideEffects | fOpTypeGPR, 0x7C0004A8,
|
|
"DCCCI", "b,r", 2, 0, fSideEffects | fOpTypeGPR, 0x7C00038C,
|
|
"DCREAD", "=r,(b,r)", 3, 0, fSideEffects | fPCodeFlag400000 | fOpTypeGPR, 0x7C0003CC,
|
|
"ICBT", "b,r", 2, 0, fSideEffects | fOpTypeGPR, 0x7C00020C,
|
|
"ICCCI", "b,r", 2, 0, fSideEffects | fOpTypeGPR, 0x7C00078C,
|
|
"ICREAD", "b,r", 2, 0, fSideEffects | fOpTypeGPR, 0x7C0007CC,
|
|
"RFCI", "", 0, 0, fSideEffects | fOpTypeGPR, 0x4C000066,
|
|
"TLBRE", "=r,r,u1", 3, 0, fSideEffects | fOpTypeGPR, 0x7C000764,
|
|
"TLBSX", "=r,(b,r)", 3, 0, fSideEffects | fPCodeFlag400000 | fCanSetRecordBit | fOpTypeGPR, 0x7C000724,
|
|
"TLBWE", "=r,r,i", 3, 0, fSideEffects | fOpTypeGPR, 0x7C0007A4,
|
|
"WRTEE", "r", 1, 0, fSideEffects | fOpTypeGPR, 0x7C000106,
|
|
"WRTEEI", "u1", 1, 0, fSideEffects | fOpTypeGPR, 0x7C000146,
|
|
"MFDCR", "=r,D", 2, 4, fSideEffects | fOpTypeGPR, 0x7C000286,
|
|
"MTDCR", "D,r", 2, 4, fSideEffects | fOpTypeGPR, 0x7C000386,
|
|
"DCBA", "b,r", 2, 1, fSideEffects | fOpTypeGPR, 0x7C0005EC,
|
|
"DSS", "u2?u2", 2, 1, fSideEffects | fOpTypeGPR, 0x7C00066C,
|
|
"DSSALL", "", 0, 1, fSideEffects | fOpTypeGPR, 0x7E00066C,
|
|
"DST", "b,r,u2?u2", 4, 1, fSideEffects | fOpTypeGPR, 0x7C0002AC,
|
|
"DSTT", "b,r,u2", 3, 1, fSideEffects | fOpTypeGPR, 0x7E0002AC,
|
|
"DSTST", "b,r,u2?u2", 4, 1, fSideEffects | fOpTypeGPR, 0x7C0002EC,
|
|
"DSTSTT", "b,r,u2", 3, 1, fSideEffects | fOpTypeGPR, 0x7E0002EC,
|
|
"LVEBX", "=v,(b,r)", 3, 3, fIsRead | fIsPtrOp | fOpTypeVR, 0x7C00000E,
|
|
"LVEHX", "=v,(b,r)", 3, 3, fIsRead | fIsPtrOp | fOpTypeVR, 0x7C00004E,
|
|
"LVEWX", "=v,(b,r)", 3, 3, fIsRead | fIsPtrOp | fOpTypeVR, 0x7C00008E,
|
|
"LVSL", "=v,(b,r)", 3, 3, fPCodeFlag400000 | fOpTypeVR, 0x7C00000C,
|
|
"LVSR", "=v,(b,r)", 3, 3, fPCodeFlag400000 | fOpTypeVR, 0x7C00004C,
|
|
"LVX", "=v,(b,r)", 3, 3, fIsRead | fIsPtrOp | fOpTypeVR, 0x7C0000CE,
|
|
"LVXL", "=v,(b,r)", 3, 3, fIsRead | fIsPtrOp | fOpTypeVR, 0x7C0002CE,
|
|
"STVEBX", "v,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fOpTypeVR, 0x7C00010E,
|
|
"STVEHX", "v,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fOpTypeVR, 0x7C00014E,
|
|
"STVEWX", "v,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fOpTypeVR, 0x7C00018E,
|
|
"STVX", "v,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fOpTypeVR, 0x7C0001CE,
|
|
"STVXL", "v,(b,r)", 3, 1, fIsWrite | fIsPtrOp | fOpTypeVR, 0x7C0003CE,
|
|
"MFVSCR", "=v", 1, 3, fSideEffects | fOpTypeVR, 0x10000604,
|
|
"MTVSCR", "v", 1, 3, fSideEffects | fOpTypeVR, 0x10000644,
|
|
"VADDCUW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000180,
|
|
"VADDFP", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x1000000A,
|
|
"VADDSBS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000300,
|
|
"VADDSHS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000340,
|
|
"VADDSWS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000380,
|
|
"VADDUBM", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000000,
|
|
"VADDUBS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000200,
|
|
"VADDUHM", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000040,
|
|
"VADDUHS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000240,
|
|
"VADDUWM", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000080,
|
|
"VADDUWS", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000280,
|
|
"VAND", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000404,
|
|
"VANDC", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000444,
|
|
"VAVGSB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000502,
|
|
"VAVGSH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000542,
|
|
"VAVGSW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000582,
|
|
"VAVGUB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000402,
|
|
"VAVGUH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000442,
|
|
"VAVGUW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000482,
|
|
"VCFSX", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000034A,
|
|
"VCFUX", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000030A,
|
|
"VCMPBFP", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x100003C6,
|
|
"VCMPEQFP", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x100000C6,
|
|
"VCMPEQUB", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000006,
|
|
"VCMPEQUH", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000046,
|
|
"VCMPEQUW", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000086,
|
|
"VCMPGEFP", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x100001C6,
|
|
"VCMPGTFP", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x100002C6,
|
|
"VCMPGTSB", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000306,
|
|
"VCMPGTSH", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000346,
|
|
"VCMPGTSW", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000386,
|
|
"VCMPGTUB", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000206,
|
|
"VCMPGTUH", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000246,
|
|
"VCMPGTUW", "=v,v,v", 3, 2, fCanSetRecordBit | fOpTypeVR, 0x10000286,
|
|
"VCTSXS", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x100003CA,
|
|
"VCTUXS", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000038A,
|
|
"VEXPTEFP", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000018A,
|
|
"VLOGEFP", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x100001CA,
|
|
"VMAXFP", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x1000040A,
|
|
"VMAXSB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000102,
|
|
"VMAXSH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000142,
|
|
"VMAXSW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000182,
|
|
"VMAXUB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000002,
|
|
"VMAXUH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000042,
|
|
"VMAXUW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000082,
|
|
"VMINFP", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x1000044A,
|
|
"VMINSB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000302,
|
|
"VMINSH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000342,
|
|
"VMINSW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000382,
|
|
"VMINUB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000202,
|
|
"VMINUH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000242,
|
|
"VMINUW", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000282,
|
|
"VMRGHB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000000C,
|
|
"VMRGHH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000004C,
|
|
"VMRGHW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000008C,
|
|
"VMRGLB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000010C,
|
|
"VMRGLH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000014C,
|
|
"VMRGLW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000018C,
|
|
"VMULESB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000308,
|
|
"VMULESH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000348,
|
|
"VMULEUB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000208,
|
|
"VMULEUH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000248,
|
|
"VMULOSB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000108,
|
|
"VMULOSH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000148,
|
|
"VMULOUB", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000008,
|
|
"VMULOUH", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000048,
|
|
"VNOR", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000504,
|
|
"VOR", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x10000484,
|
|
"VPKPX", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000030E,
|
|
"VPKSHSS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000018E,
|
|
"VPKSHUS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000010E,
|
|
"VPKSWSS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x100001CE,
|
|
"VPKSWUS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000014E,
|
|
"VPKUHUM", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000000E,
|
|
"VPKUHUS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000008E,
|
|
"VPKUWUM", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000004E,
|
|
"VPKUWUS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x100000CE,
|
|
"VREFP", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000010A,
|
|
"VRFIM", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x100002CA,
|
|
"VRFIN", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000020A,
|
|
"VRFIP", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000028A,
|
|
"VRFIZ", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000024A,
|
|
"VRLB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000004,
|
|
"VRLH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000044,
|
|
"VRLW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000084,
|
|
"VRSQRTEFP", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000014A,
|
|
"VSL", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x100001C4,
|
|
"VSLB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000104,
|
|
"VSLH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000144,
|
|
"VSLO", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000040C,
|
|
"VSLW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000184,
|
|
"VSPLTB", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000020C,
|
|
"VSPLTH", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000024C,
|
|
"VSPLTW", "=v,v,u5", 3, 2, fIsCSE | fOpTypeVR, 0x1000028C,
|
|
"VSPLTISB", "=v,i5", 2, 2, fIsCSE | fOpTypeVR, 0x1000030C,
|
|
"VSPLTISH", "=v,i5", 2, 2, fIsCSE | fOpTypeVR, 0x1000034C,
|
|
"VSPLTISW", "=v,i5", 2, 2, fIsCSE | fOpTypeVR, 0x1000038C,
|
|
"VSR", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x100002C4,
|
|
"VSRAB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000304,
|
|
"VSRAH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000344,
|
|
"VSRAW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000384,
|
|
"VSRB", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000204,
|
|
"VSRH", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000244,
|
|
"VSRO", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000044C,
|
|
"VSRW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000284,
|
|
"VSUBCUW", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000580,
|
|
"VSUBFP", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x1000004A,
|
|
"VSUBSBS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000700,
|
|
"VSUBSHS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000740,
|
|
"VSUBSWS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000780,
|
|
"VSUBUBM", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000400,
|
|
"VSUBUBS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000600,
|
|
"VSUBUHM", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000440,
|
|
"VSUBUHS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000640,
|
|
"VSUBUWM", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000480,
|
|
"VSUBUWS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000680,
|
|
"VSUMSWS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000788,
|
|
"VSUM2SWS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000688,
|
|
"VSUM4SBS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000708,
|
|
"VSUM4SHS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000648,
|
|
"VSUM4UBS", "=v,v,v", 3, 2, fIsCSE | fOpTypeVR, 0x10000608,
|
|
"VUPKHPX", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000034E,
|
|
"VUPKHSB", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000020E,
|
|
"VUPKHSH", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000024E,
|
|
"VUPKLPX", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x100003CE,
|
|
"VUPKLSB", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x1000028E,
|
|
"VUPKLSH", "=v,v", 2, 2, fIsCSE | fOpTypeVR, 0x100002CE,
|
|
"VXOR", "=v,v,v", 3, 2, fCommutative | fIsCSE | fOpTypeVR, 0x100004C4,
|
|
"VMADDFP", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x1000002E,
|
|
"VMHADDSHS", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000020,
|
|
"VMHRADDSHS", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000021,
|
|
"VMLADDUHM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000022,
|
|
"VMSUMMBM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000025,
|
|
"VMSUMSHM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000028,
|
|
"VMSUMSHS", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000029,
|
|
"VMSUMUBM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000024,
|
|
"VMSUMUHM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000026,
|
|
"VMSUMUHS", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x10000027,
|
|
"VNMSUBFP", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x1000002F,
|
|
"VPERM", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x1000002B,
|
|
"VSEL", "=v,v,v,v", 4, 2, fIsCSE | fOpTypeVR, 0x1000002A,
|
|
"VSLDOI", "=v,v,v,u4", 4, 2, fIsCSE | fOpTypeVR, 0x1000002C,
|
|
"VMR", "=v,v", 2, 2, fIsMove | fOpTypeVR, 0x10000484,
|
|
"VMRP", "=v,v", 2, 2, fIsMove | fOpTypeVR, 0x1000002C,
|
|
"SLE", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000132,
|
|
"SLEQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0001B2,
|
|
"SLIQ", "=r,r,u5", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000170,
|
|
"SLLIQ", "=r,r,u5", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0001F0,
|
|
"SLLQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0001B0,
|
|
"SLQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000130,
|
|
"SRAIQ", "=r,r,u5", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000770,
|
|
"SRAQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000730,
|
|
"SRE", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000532,
|
|
"SREA", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000732,
|
|
"SREQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0005B2,
|
|
"SRIQ", "=r,r,u5", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000570,
|
|
"SRLIQ", "=r,r,u5", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0005F0,
|
|
"SRLQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C0005B0,
|
|
"SRQ", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000530,
|
|
"MASKG", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C00003A,
|
|
"MASKIR", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C00043A,
|
|
"LSCBX", "=r,(b,r)", 3, 3, fIsRead | fIsPtrOp | fSideEffects | fCanSetRecordBit, 0x7C00022A,
|
|
"DIV", "=r,r,r", 3, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000296,
|
|
"DIVS", "=r,r,r", 3, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0002D6,
|
|
"DOZ", "=r,r,r", 3, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000210,
|
|
"MUL", "=r,r,r", 3, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0000D6,
|
|
"NABS", "=r,r", 2, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0003D0,
|
|
"ABS", "=r,r", 2, 2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0002D0,
|
|
"CLCS", "=r,r", 2, 2, fOpTypeGPR, 0x7C000426,
|
|
"DOZI", "=r,r,u5", 3, 2, fOpTypeGPR, 0x24000000,
|
|
"RLMI", "+r,r,r,u5,u5", 5, 2, fCanSetRecordBit | fOpTypeGPR, 0x58000000,
|
|
"RRIB", "=r,r,r", 3, 2, fCanSetRecordBit | fOpTypeGPR, 0x7C000432,
|
|
"PENTRY", "", 0, 0, 0, 0x00000000,
|
|
"PEXIT", "", 0, 0, 0, 0x00000000
|
|
};
|