Annotation of GNUtools/cctools/as/m98k-opcode.h, revision 1.1

1.1     ! root        1: /* operands types */
        !             2: enum optype {
        !             3:     NONE,      /* no operand */
        !             4:     PCREL,     /* PC relative (branch offset) */
        !             5:     BADDR,     /* Branch address (sign extended absolute address) */
        !             6:     D,         /* 16 bit displacement */
        !             7:     DS,                /* 14 bit displacement (double word) */
        !             8:     SI,                /* signed 16 bit immediate */
        !             9:     UI,                /* unsigned 16 bit immediate */
        !            10:     GREG,      /* general register */
        !            11:     G0REG,     /* general register r1-r31 or 0 */
        !            12:     FREG,      /* float register */
        !            13:     SGREG,     /* segment register */
        !            14:     SPREG,     /* special register (or 10 bit number, 5 bit halves reversed) */
        !            15:     BCND,      /* branch condition opcode */
        !            16:     CRF,       /* condition register field */
        !            17:     CRFONLY,   /* condition register field only no expression allowed */
        !            18:     sh,                /* 6 bit number (0 - 63) (sh field, split and reversed) */
        !            19:     mb,                /* 6 bit number (0 - 63) (mb field, mb5 || mb0:4 reversed) */
        !            20:     NUM,       /* number */
        !            21:     NUM0       /* number (where 1<<width is the same as 0) */
        !            22: };
        !            23: 
        !            24: struct op {
        !            25:    unsigned long offset:5;
        !            26:    unsigned long width:5;
        !            27:    enum optype   type:6;
        !            28: };
        !            29: 
        !            30: struct m98k_opcode {
        !            31:    unsigned long opcode;
        !            32:    char         *name;
        !            33:    struct op    ops[5];
        !            34: };
        !            35: 
        !            36: #define IS_BRANCH_CONDITIONAL(opcode) \
        !            37:        (((((opcode) & 0xfc0003fe) == 0x4c000020) || \
        !            38:          (((opcode) & 0xfc000000) == 0x40000000)) && \
        !            39:           (((opcode) & 0x03e00000) != 0x02800000) )
        !            40: #define Y_BIT (1 << 21)
        !            41: 
        !            42: static const struct m98k_opcode m98k_opcodes[] = {
        !            43:  { 0x38000000, "li",      {{21,5,GREG}, {0,16,SI}} },
        !            44:  { 0x3c000000, "lis",     {{21,5,GREG}, {0,16,SI}} },
        !            45: 
        !            46:  { 0x38000000, "addi",    {{21,5,GREG}, {16,5,G0REG},{0,16,SI}} },
        !            47: /* on 64-bit implementations the immediate is signed and makes a differernce
        !            48:    but on 32-bit implementaions it doesn't matter and causes an error */
        !            49:  { 0x3c000000, "addis",   {{21,5,GREG}, {16,5,G0REG},{0,16,UI}} },
        !            50:  { 0x30000000, "addic",   {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} },
        !            51:  { 0x34000000, "addic.",  {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} },
        !            52:  { 0x7c000214, "add",     {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            53:  { 0x7c000215, "add.",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            54:  { 0x7c000614, "addo",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            55:  { 0x7c000615, "addo.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            56: 
        !            57:  { 0x7c000014, "addc",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            58:  { 0x7c000015, "addc.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            59:  { 0x7c000414, "addco",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            60:  { 0x7c000415, "addco.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            61: 
        !            62:  { 0x7c000114, "adde",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            63:  { 0x7c000115, "adde.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            64:  { 0x7c000514, "addeo",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            65:  { 0x7c000515, "addeo.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !            66: 
        !            67:  { 0x7c0001d4, "addme",   {{21,5,GREG}, {16,5,GREG}} },
        !            68:  { 0x7c0001d5, "addme.",  {{21,5,GREG}, {16,5,GREG}} },
        !            69:  { 0x7c0005d4, "addmeo",  {{21,5,GREG}, {16,5,GREG}} },
        !            70:  { 0x7c0005d5, "addmeo.", {{21,5,GREG}, {16,5,GREG}} },
        !            71: 
        !            72:  { 0x7c000194, "addze",   {{21,5,GREG}, {16,5,GREG}} },
        !            73:  { 0x7c000195, "addze.",  {{21,5,GREG}, {16,5,GREG}} },
        !            74:  { 0x7c000594, "addzeo",  {{21,5,GREG}, {16,5,GREG}} },
        !            75:  { 0x7c000595, "addzeo.", {{21,5,GREG}, {16,5,GREG}} },
        !            76: 
        !            77:  { 0x70000000, "andi.",   {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !            78:  { 0x74000000, "andis.",  {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !            79:  { 0x7c000038, "and",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !            80:  { 0x7c000039, "and.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !            81: 
        !            82:  { 0x7c000078, "andc",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !            83:  { 0x7c000079, "andc.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !            84: 
        !            85:  { 0x48000000, "b",       {{2,24,PCREL}} },
        !            86:  { 0x48000002, "ba",      {{2,24,BADDR}} },
        !            87:  { 0x48000001, "bl",      {{2,24,PCREL}} },
        !            88:  { 0x48000003, "bla",     {{2,24,BADDR}} },
        !            89: 
        !            90:  { 0x40000000, "bc",      {{21,5,NUM},  {16,5,NUM}, {2,14,PCREL}} },
        !            91:  { 0x40000002, "bca",     {{21,5,NUM},  {16,5,NUM}, {2,14,BADDR}} },
        !            92:  { 0x40000001, "bcl",     {{21,5,NUM},  {16,5,NUM}, {2,14,PCREL}} },
        !            93:  { 0x40000003, "bcla",    {{21,5,NUM},  {16,5,NUM}, {2,14,BADDR}} },
        !            94: 
        !            95:  { 0x4c000420, "bcctr",   {{21,5,NUM},  {16,5,NUM}} },
        !            96:  { 0x4c000421, "bcctrl",  {{21,5,NUM},  {16,5,NUM}} },
        !            97:  { 0x4c000020, "bclr",    {{21,5,NUM},  {16,5,NUM}} },
        !            98:  { 0x4c000021, "bclrl",   {{21,5,NUM},  {16,5,NUM}} },
        !            99: 
        !           100: /* Basic branch mnemonics (assember extended mnemonics) */
        !           101: /* { 0x42800000, "b",       {{2,14,PCREL}} }, overlaps */
        !           102: /* { 0x42800001, "bl",      {{2,14,PCREL}} }, overlaps */
        !           103:  { 0x41800000, "bt",      {{16,5,BCND}, {2,14,PCREL}} },
        !           104:  { 0x41800001, "btl",     {{16,5,BCND}, {2,14,PCREL}} },
        !           105:  { 0x40800000, "bf",      {{16,5,BCND}, {2,14,PCREL}} },
        !           106:  { 0x40800001, "bfl",     {{16,5,BCND}, {2,14,PCREL}} },
        !           107:  { 0x42000000, "bdnz",    {{2,14,PCREL}} },
        !           108:  { 0x42000001, "bdnzl",   {{2,14,PCREL}} },
        !           109:  { 0x41000000, "bdnzt",   {{16,5,BCND}, {2,14,PCREL}} },
        !           110:  { 0x41000001, "bdnztl",  {{16,5,BCND}, {2,14,PCREL}} },
        !           111:  { 0x40000000, "bdnzf",   {{16,5,BCND}, {2,14,PCREL}} },
        !           112:  { 0x40000001, "bdnzfl",  {{16,5,BCND}, {2,14,PCREL}} },
        !           113:  { 0x42400000, "bdz",     {{2,14,PCREL}} },
        !           114:  { 0x42400001, "bdzl",    {{2,14,PCREL}} },
        !           115:  { 0x41400000, "bdzt",    {{16,5,BCND}, {2,14,PCREL}} },
        !           116:  { 0x41400001, "bdztl",   {{16,5,BCND}, {2,14,PCREL}} },
        !           117:  { 0x40400000, "bdzf",    {{16,5,BCND}, {2,14,PCREL}} },
        !           118:  { 0x40400001, "bdzfl",   {{16,5,BCND}, {2,14,PCREL}} },
        !           119: 
        !           120: /* { 0x42800002, "ba",      {{2,14,BADDR}} }, overlaps */
        !           121: /* { 0x42800003, "bla",     {{2,14,BADDR}} }, overlaps */
        !           122:  { 0x41800002, "bta",     {{16,5,BCND}, {2,14,BADDR}} },
        !           123:  { 0x41800003, "btla",    {{16,5,BCND}, {2,14,BADDR}} },
        !           124:  { 0x40800002, "bfa",     {{16,5,BCND}, {2,14,BADDR}} },
        !           125:  { 0x40800003, "bfla",    {{16,5,BCND}, {2,14,BADDR}} },
        !           126:  { 0x42000002, "bdnza",   {{2,14,BADDR}} },
        !           127:  { 0x42000003, "bdnzla",  {{2,14,BADDR}} },
        !           128:  { 0x41000002, "bdnzta",  {{16,5,BCND}, {2,14,BADDR}} },
        !           129:  { 0x41000003, "bdnztla", {{16,5,BCND}, {2,14,BADDR}} },
        !           130:  { 0x40000002, "bdnzfa",  {{16,5,BCND}, {2,14,BADDR}} },
        !           131:  { 0x40000003, "bdnzfla", {{16,5,BCND}, {2,14,BADDR}} },
        !           132:  { 0x42400002, "bdza",    {{2,14,BADDR}} },
        !           133:  { 0x42400003, "bdzla",   {{2,14,BADDR}} },
        !           134:  { 0x41400002, "bdzta",   {{16,5,BCND}, {2,14,BADDR}} },
        !           135:  { 0x41400003, "bdztla",  {{16,5,BCND}, {2,14,BADDR}} },
        !           136:  { 0x40400002, "bdzfa",   {{16,5,BCND}, {2,14,BADDR}} },
        !           137:  { 0x40400003, "bdzfla",  {{16,5,BCND}, {2,14,BADDR}} },
        !           138: 
        !           139:  { 0x4e800020, "blr",     },
        !           140:  { 0x4e800021, "blrl",    },
        !           141:  { 0x4d800020, "btlr",    {{16,5,BCND}} },
        !           142:  { 0x4d800021, "btlrl",   {{16,5,BCND}} },
        !           143:  { 0x4c800020, "bflr",    {{16,5,BCND}} },
        !           144:  { 0x4c800021, "bflrl",   {{16,5,BCND}} },
        !           145:  { 0x4e000020, "bdnzlr",  },
        !           146:  { 0x4e000021, "bdnzlrl", },
        !           147:  { 0x4d000020, "bdnztlr", {{16,5,BCND}} },
        !           148:  { 0x4d000021, "bdnztlrl",{{16,5,BCND}} },
        !           149:  { 0x4c000020, "bdnzflr", {{16,5,BCND}} },
        !           150:  { 0x4c000021, "bdnzflrl",{{16,5,BCND}} },
        !           151:  { 0x4e400020, "bdzlr",   },
        !           152:  { 0x4e400021, "bdzlrl",  },
        !           153:  { 0x4d400020, "bdztlr",  {{16,5,BCND}} },
        !           154:  { 0x4d400021, "bdztlrl", {{16,5,BCND}} },
        !           155:  { 0x4c400020, "bdzflr",  {{16,5,BCND}} },
        !           156:  { 0x4c400021, "bdzflrl", {{16,5,BCND}} },
        !           157: 
        !           158:  { 0x4e800420, "bctr",    },
        !           159:  { 0x4e800421, "bctrl",   },
        !           160:  { 0x4d800420, "btctr",   {{16,5,BCND}} },
        !           161:  { 0x4d800421, "btctrl",  {{16,5,BCND}} },
        !           162:  { 0x4c800420, "bfctr",   {{16,5,BCND}} },
        !           163:  { 0x4c800421, "bfctrl",  {{16,5,BCND}} },
        !           164: 
        !           165: /* branch mnemonics incorporating conditions (assember extended mnemonics) */
        !           166:  { 0x41800000, "blt",     {{16,5,CRF}, {2,14,PCREL}} },
        !           167:  { 0x41800000, "blt",     {{2,14,PCREL}} },
        !           168:  { 0x41800001, "bltl",    {{16,5,CRF}, {2,14,PCREL}} },
        !           169:  { 0x41800001, "bltl",    {{2,14,PCREL}} },
        !           170:  { 0x40810000, "ble",     {{16,5,CRF}, {2,14,PCREL}} },
        !           171:  { 0x40810000, "ble",     {{2,14,PCREL}} },
        !           172:  { 0x40810001, "blel",    {{16,5,CRF}, {2,14,PCREL}} },
        !           173:  { 0x40810001, "blel",    {{2,14,PCREL}} },
        !           174:  { 0x41820000, "beq",     {{16,5,CRF}, {2,14,PCREL}} },
        !           175:  { 0x41820000, "beq",     {{2,14,PCREL}} },
        !           176:  { 0x41820001, "beql",    {{16,5,CRF}, {2,14,PCREL}} },
        !           177:  { 0x41820001, "beql",    {{2,14,PCREL}} },
        !           178:  { 0x40800000, "bge",     {{16,5,CRF}, {2,14,PCREL}} },
        !           179:  { 0x40800000, "bge",     {{2,14,PCREL}} },
        !           180:  { 0x40800001, "bgel",    {{16,5,CRF}, {2,14,PCREL}} },
        !           181:  { 0x40800001, "bgel",    {{2,14,PCREL}} },
        !           182:  { 0x41810000, "bgt",     {{16,5,CRF}, {2,14,PCREL}} },
        !           183:  { 0x41810000, "bgt",     {{2,14,PCREL}} },
        !           184:  { 0x41810001, "bgtl",    {{16,5,CRF}, {2,14,PCREL}} },
        !           185:  { 0x41810001, "bgtl",    {{2,14,PCREL}} },
        !           186:  { 0x40800000, "bnl",     {{16,5,CRF}, {2,14,PCREL}} },
        !           187:  { 0x40800000, "bnl",     {{2,14,PCREL}} },
        !           188:  { 0x40800001, "bnll",    {{16,5,CRF}, {2,14,PCREL}} },
        !           189:  { 0x40800001, "bnll",    {{2,14,PCREL}} },
        !           190:  { 0x40820000, "bne",     {{16,5,CRF}, {2,14,PCREL}} },
        !           191:  { 0x40820000, "bne",     {{2,14,PCREL}} },
        !           192:  { 0x40820001, "bnel",    {{16,5,CRF}, {2,14,PCREL}} },
        !           193:  { 0x40820001, "bnel",    {{2,14,PCREL}} },
        !           194:  { 0x40810000, "bng",     {{16,5,CRF}, {2,14,PCREL}} },
        !           195:  { 0x40810000, "bng",     {{2,14,PCREL}} },
        !           196:  { 0x40810001, "bngl",    {{16,5,CRF}, {2,14,PCREL}} },
        !           197:  { 0x40810001, "bngl",    {{2,14,PCREL}} },
        !           198:  { 0x41830000, "bso",     {{16,5,CRF}, {2,14,PCREL}} },
        !           199:  { 0x41830000, "bso",     {{2,14,PCREL}} },
        !           200:  { 0x41830001, "bsol",    {{16,5,CRF}, {2,14,PCREL}} },
        !           201:  { 0x41830001, "bsol",    {{2,14,PCREL}} },
        !           202:  { 0x40830000, "bns",     {{16,5,CRF}, {2,14,PCREL}} },
        !           203:  { 0x40830000, "bns",     {{2,14,PCREL}} },
        !           204:  { 0x40830001, "bnsl",    {{16,5,CRF}, {2,14,PCREL}} },
        !           205:  { 0x40830001, "bnsl",    {{2,14,PCREL}} },
        !           206:  { 0x41830000, "bun",     {{16,5,CRF}, {2,14,PCREL}} },
        !           207:  { 0x41830000, "bun",     {{2,14,PCREL}} },
        !           208:  { 0x41830001, "bunl",    {{16,5,CRF}, {2,14,PCREL}} },
        !           209:  { 0x41830001, "bunl",    {{2,14,PCREL}} },
        !           210:  { 0x40830000, "bnu",     {{16,5,CRF}, {2,14,PCREL}} },
        !           211:  { 0x40830000, "bnu",     {{2,14,PCREL}} },
        !           212:  { 0x40830001, "bnul",    {{16,5,CRF}, {2,14,PCREL}} },
        !           213:  { 0x40830001, "bnul",    {{2,14,PCREL}} },
        !           214: 
        !           215:  { 0x41800002, "blta",    {{16,5,CRF}, {2,14,BADDR}} },
        !           216:  { 0x41800002, "blta",    {{2,14,BADDR}} },
        !           217:  { 0x41800003, "bltla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           218:  { 0x41800003, "bltla",   {{2,14,BADDR}} },
        !           219:  { 0x40810002, "blea",    {{16,5,CRF}, {2,14,BADDR}} },
        !           220:  { 0x40810002, "blea",    {{2,14,BADDR}} },
        !           221:  { 0x40810003, "blela",   {{16,5,CRF}, {2,14,BADDR}} },
        !           222:  { 0x40810003, "blela",   {{2,14,BADDR}} },
        !           223:  { 0x41820002, "beqa",    {{16,5,CRF}, {2,14,BADDR}} },
        !           224:  { 0x41820002, "beqa",    {{2,14,BADDR}} },
        !           225:  { 0x41820003, "beqla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           226:  { 0x41820003, "beqla",   {{2,14,BADDR}} },
        !           227:  { 0x40800002, "bgea",    {{16,5,CRF}, {2,14,BADDR}} },
        !           228:  { 0x40800002, "bgea",    {{2,14,BADDR}} },
        !           229:  { 0x40800003, "bgela",   {{16,5,CRF}, {2,14,BADDR}} },
        !           230:  { 0x40800003, "bgela",   {{2,14,BADDR}} },
        !           231:  { 0x41810002, "bgta",    {{16,5,CRF}, {2,14,BADDR}} },
        !           232:  { 0x41810002, "bgta",    {{2,14,BADDR}} },
        !           233:  { 0x41810003, "bgtla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           234:  { 0x41810003, "bgtla",   {{2,14,BADDR}} },
        !           235:  { 0x40800002, "bnla",    {{16,5,CRF}, {2,14,BADDR}} },
        !           236:  { 0x40800002, "bnla",    {{2,14,BADDR}} },
        !           237:  { 0x40800003, "bnlla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           238:  { 0x40800003, "bnlla",   {{2,14,BADDR}} },
        !           239:  { 0x40820002, "bnea",    {{16,5,CRF}, {2,14,BADDR}} },
        !           240:  { 0x40820002, "bnea",    {{2,14,BADDR}} },
        !           241:  { 0x40820003, "bnela",   {{16,5,CRF}, {2,14,BADDR}} },
        !           242:  { 0x40820003, "bnela",   {{2,14,BADDR}} },
        !           243:  { 0x40810002, "bnga",    {{16,5,CRF}, {2,14,BADDR}} },
        !           244:  { 0x40810002, "bnga",    {{2,14,BADDR}} },
        !           245:  { 0x40810003, "bngla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           246:  { 0x40810003, "bngla",   {{2,14,BADDR}} },
        !           247:  { 0x41830002, "bsoa",    {{16,5,CRF}, {2,14,BADDR}} },
        !           248:  { 0x41830002, "bsoa",    {{2,14,BADDR}} },
        !           249:  { 0x41830003, "bsola",   {{16,5,CRF}, {2,14,BADDR}} },
        !           250:  { 0x41830003, "bsola",   {{2,14,BADDR}} },
        !           251:  { 0x40830002, "bnsa",    {{16,5,CRF}, {2,14,BADDR}} },
        !           252:  { 0x40830002, "bnsa",    {{2,14,BADDR}} },
        !           253:  { 0x40830003, "bnsla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           254:  { 0x40830003, "bnsla",   {{2,14,BADDR}} },
        !           255:  { 0x41830002, "buna",    {{16,5,CRF}, {2,14,BADDR}} },
        !           256:  { 0x41830002, "buna",    {{2,14,BADDR}} },
        !           257:  { 0x41830003, "bunla",   {{16,5,CRF}, {2,14,BADDR}} },
        !           258:  { 0x41830003, "bunla",   {{2,14,BADDR}} },
        !           259:  { 0x40830002, "bnua",    {{16,5,CRF}, {2,14,BADDR}} },
        !           260:  { 0x40830002, "bnua",    {{2,14,BADDR}} },
        !           261:  { 0x40830003, "bnula",   {{16,5,CRF}, {2,14,BADDR}} },
        !           262:  { 0x40830003, "bnula",   {{2,14,BADDR}} },
        !           263: 
        !           264:  { 0x4d800020, "bltlr",   {{16,5,CRF}} },
        !           265:  { 0x4d800020, "bltlr",   },
        !           266:  { 0x4d800021, "bltlrl",  {{16,5,CRF}} },
        !           267:  { 0x4d800021, "bltlrl",  },
        !           268:  { 0x4c810020, "blelr",   {{16,5,CRF}} },
        !           269:  { 0x4c810020, "blelr",   },
        !           270:  { 0x4c810021, "blelrl",  {{16,5,CRF}} },
        !           271:  { 0x4c810021, "blelrl",  },
        !           272:  { 0x4d820020, "beqlr",   {{16,5,CRF}} },
        !           273:  { 0x4d820020, "beqlr",   },
        !           274:  { 0x4d820021, "beqlrl",  {{16,5,CRF}} },
        !           275:  { 0x4d820021, "beqlrl",  },
        !           276:  { 0x4c800020, "bgelr",   {{16,5,CRF}} },
        !           277:  { 0x4c800020, "bgelr",   },
        !           278:  { 0x4c800021, "bgelrl",  {{16,5,CRF}} },
        !           279:  { 0x4c800021, "bgelrl",  },
        !           280:  { 0x4d810020, "bgtlr",   {{16,5,CRF}} },
        !           281:  { 0x4d810020, "bgtlr",   },
        !           282:  { 0x4d810021, "bgtlrl",  {{16,5,CRF}} },
        !           283:  { 0x4d810021, "bgtlrl",  },
        !           284:  { 0x4c800020, "bnllr",   {{16,5,CRF}} },
        !           285:  { 0x4c800020, "bnllr",   },
        !           286:  { 0x4c800021, "bnllrl",  {{16,5,CRF}} },
        !           287:  { 0x4c800021, "bnllrl",  },
        !           288:  { 0x4c820020, "bnelr",   {{16,5,CRF}} },
        !           289:  { 0x4c820020, "bnelr",   },
        !           290:  { 0x4c820021, "bnelrl",  {{16,5,CRF}} },
        !           291:  { 0x4c820021, "bnelrl",  },
        !           292:  { 0x4c810020, "bnglr",   {{16,5,CRF}} },
        !           293:  { 0x4c810020, "bnglr",   },
        !           294:  { 0x4c810021, "bnglrl",  {{16,5,CRF}} },
        !           295:  { 0x4c810021, "bnglrl",  },
        !           296:  { 0x4d830020, "bsolr",   {{16,5,CRF}} },
        !           297:  { 0x4d830020, "bsolr",   },
        !           298:  { 0x4d830021, "bsolrl",  {{16,5,CRF}} },
        !           299:  { 0x4d830021, "bsolrl",  },
        !           300:  { 0x4c830020, "bnslr",   {{16,5,CRF}} },
        !           301:  { 0x4c830020, "bnslr",   },
        !           302:  { 0x4c830021, "bnslrl",  {{16,5,CRF}} },
        !           303:  { 0x4c830021, "bnslrl",  },
        !           304:  { 0x4d830020, "bunlr",   {{16,5,CRF}} },
        !           305:  { 0x4d830020, "bunlr",   },
        !           306:  { 0x4d830021, "bunlrl",  {{16,5,CRF}} },
        !           307:  { 0x4d830021, "bunlrl",  },
        !           308:  { 0x4c830020, "bnulr",   {{16,5,CRF}} },
        !           309:  { 0x4c830020, "bnulr",   },
        !           310:  { 0x4c830021, "bnulrl",  {{16,5,CRF}} },
        !           311:  { 0x4c830021, "bnulrl",  },
        !           312: 
        !           313:  { 0x4d800420, "bltctr",  {{16,5,CRF}} },
        !           314:  { 0x4d800420, "bltctr",  },
        !           315:  { 0x4d800421, "bltctrl", {{16,5,CRF}} },
        !           316:  { 0x4d800421, "bltctrl", },
        !           317:  { 0x4c810420, "blectr",  {{16,5,CRF}} },
        !           318:  { 0x4c810420, "blectr",  },
        !           319:  { 0x4c810421, "blectrl", {{16,5,CRF}} },
        !           320:  { 0x4c810421, "blectrl", },
        !           321:  { 0x4d820420, "beqctr",  {{16,5,CRF}} },
        !           322:  { 0x4d820420, "beqctr",  },
        !           323:  { 0x4d820421, "beqctrl", {{16,5,CRF}} },
        !           324:  { 0x4d820421, "beqctrl", },
        !           325:  { 0x4c800420, "bgectr",  {{16,5,CRF}} },
        !           326:  { 0x4c800420, "bgectr",  },
        !           327:  { 0x4c800421, "bgectrl", {{16,5,CRF}} },
        !           328:  { 0x4c800421, "bgectrl", },
        !           329:  { 0x4d810420, "bgtctr",  {{16,5,CRF}} },
        !           330:  { 0x4d810420, "bgtctr",  },
        !           331:  { 0x4d810421, "bgtctrl", {{16,5,CRF}} },
        !           332:  { 0x4d810421, "bgtctrl", },
        !           333:  { 0x4c800420, "bnlctr",  {{16,5,CRF}} },
        !           334:  { 0x4c800420, "bnlctr",  },
        !           335:  { 0x4c800421, "bnlctrl", {{16,5,CRF}} },
        !           336:  { 0x4c800421, "bnlctrl", },
        !           337:  { 0x4c820420, "bnectr",  {{16,5,CRF}} },
        !           338:  { 0x4c820420, "bnectr",  },
        !           339:  { 0x4c820421, "bnectrl", {{16,5,CRF}} },
        !           340:  { 0x4c820421, "bnectrl", },
        !           341:  { 0x4c810420, "bngctr",  {{16,5,CRF}} },
        !           342:  { 0x4c810420, "bngctr",  },
        !           343:  { 0x4c810421, "bngctrl", {{16,5,CRF}} },
        !           344:  { 0x4c810421, "bngctrl", },
        !           345:  { 0x4d830420, "bsoctr",  {{16,5,CRF}} },
        !           346:  { 0x4d830420, "bsoctr",  },
        !           347:  { 0x4d830421, "bsoctrl", {{16,5,CRF}} },
        !           348:  { 0x4d830421, "bsoctrl", },
        !           349:  { 0x4c830420, "bnsctr",  {{16,5,CRF}} },
        !           350:  { 0x4c830420, "bnsctr",  },
        !           351:  { 0x4c830421, "bnsctrl", {{16,5,CRF}} },
        !           352:  { 0x4c830421, "bnsctrl", },
        !           353:  { 0x4d830420, "bunctr",  {{16,5,CRF}} },
        !           354:  { 0x4d830420, "bunctr",  },
        !           355:  { 0x4d830421, "bunctrl", {{16,5,CRF}} },
        !           356:  { 0x4d830421, "bunctrl", },
        !           357:  { 0x4c830420, "bnuctr",  {{16,5,CRF}} },
        !           358:  { 0x4c830420, "bnuctr",  },
        !           359:  { 0x4c830421, "bnuctrl", {{16,5,CRF}} },
        !           360:  { 0x4c830421, "bnuctrl", },
        !           361: 
        !           362:  { 0x2c000000, "cmpi",
        !           363:        {{21,5,CRFONLY},{21,1,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           364:  { 0x2c000000, "cmpi",
        !           365:        {{23,3,NUM},    {21,1,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           366:  { 0x2c000000, "cmpwi",   {{16,5,GREG},   {0,16,SI}} },
        !           367:  { 0x2c000000, "cmpwi",   {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} },
        !           368:  { 0x2c200000, "cmpdi",   {{16,5,GREG},   {0,16,SI}} },
        !           369:  { 0x2c200000, "cmpdi",   {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} },
        !           370: 
        !           371:  { 0x7c000000, "cmp",    
        !           372:        {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {11,5,GREG}} },
        !           373:  { 0x7c000000, "cmp",    
        !           374:        {{23,3,NUM},    {21,1,NUM}, {16,5,GREG}, {11,5,GREG}} },
        !           375:  { 0x7c000000, "cmpw",    {{16,5,GREG},   {11,5,GREG}} },
        !           376:  { 0x7c000000, "cmpw",    {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} },
        !           377:  { 0x7c200000, "cmpd",    {{16,5,GREG},   {11,5,GREG}} },
        !           378:  { 0x7c200000, "cmpd",    {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} },
        !           379: 
        !           380:  { 0x28000000, "cmpli",
        !           381:        {{21,5,CRFONLY},{21,1,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           382:  { 0x28000000, "cmpli",
        !           383:        {{23,3,NUM},    {21,1,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           384:  { 0x28000000, "cmplwi",  {{16,5,GREG},   {0,16,SI}} },
        !           385:  { 0x28000000, "cmplwi",  {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} },
        !           386:  { 0x28200000, "cmpldi",  {{16,5,GREG},   {0,16,SI}} },
        !           387:  { 0x28200000, "cmpldi",  {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} },
        !           388: 
        !           389:  { 0x7c000040, "cmpl",    
        !           390:        {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {11,5,GREG}} },
        !           391:  { 0x7c000040, "cmpl",    
        !           392:        {{23,3,NUM},    {21,1,NUM}, {16,5,GREG}, {11,5,GREG}} },
        !           393:  { 0x7c000040, "cmplw",   {{16,5,GREG},   {11,5,GREG}} },
        !           394:  { 0x7c000040, "cmplw",   {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} },
        !           395:  { 0x7c200040, "cmpld",   {{16,5,GREG},   {11,5,GREG}} },
        !           396:  { 0x7c200040, "cmpld",   {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} },
        !           397: 
        !           398:  { 0x7c000034, "cntlzw",  {{16,5,GREG}, {21,5,GREG}} },
        !           399:  { 0x7c000035, "cntlzw.", {{16,5,GREG}, {21,5,GREG}} },
        !           400:  { 0x7c000074, "cntlzd",  {{16,5,GREG}, {21,5,GREG}} },
        !           401:  { 0x7c000075, "cntlzd.", {{16,5,GREG}, {21,5,GREG}} },
        !           402: 
        !           403:  { 0x4c000202, "crand",   {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           404:  { 0x4c000102, "crandc",  {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           405:  { 0x4c000242, "creqv",   {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           406:  { 0x4c0001c2, "crnand",  {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           407:  { 0x4c000042, "crnor",   {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           408:  { 0x4c000382, "cror",    {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           409:  { 0x4c000342, "crorc",   {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           410:  { 0x4c000182, "crxor",   {{21,5,NUM},  {16,5,NUM},  {11,5,NUM}} },
        !           411: 
        !           412:  { 0x7c0003d2, "divd",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           413:  { 0x7c0003d3, "divd.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           414:  { 0x7c0007d2, "divdo",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           415:  { 0x7c0007d3, "divdo.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           416: 
        !           417:  { 0x7c000392, "divdu",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           418:  { 0x7c000393, "divdu.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           419:  { 0x7c000792, "divduo",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           420:  { 0x7c000793, "divduo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           421: 
        !           422:  { 0x7c0003d6, "divw",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           423:  { 0x7c0003d7, "divw.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           424:  { 0x7c0007d6, "divwo",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           425:  { 0x7c0007d7, "divwo.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           426: 
        !           427:  { 0x7c000396, "divwu",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           428:  { 0x7c000397, "divwu.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           429:  { 0x7c000796, "divwuo",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           430:  { 0x7c000797, "divwuo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           431: 
        !           432:  { 0x7c000238, "eqv",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           433:  { 0x7c000239, "eqv.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           434: 
        !           435:  { 0x7c000774, "extsb",   {{16,5,GREG}, {21,5,GREG}} },
        !           436:  { 0x7c000775, "extsb.",  {{16,5,GREG}, {21,5,GREG}} },
        !           437:  { 0x7c000734, "extsh",   {{16,5,GREG}, {21,5,GREG}} },
        !           438:  { 0x7c000735, "extsh.",  {{16,5,GREG}, {21,5,GREG}} },
        !           439:  { 0x7c0007b4, "extsw",   {{16,5,GREG}, {21,5,GREG}} },
        !           440:  { 0x7c0007b5, "extsw.",  {{16,5,GREG}, {21,5,GREG}} },
        !           441: 
        !           442:  { 0xfc00002a, "fadd",    {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           443:  { 0xfc00002b, "fadd.",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           444:  { 0xec00002a, "fadds",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           445:  { 0xec00002b, "fadds.",  {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           446:  { 0xfc000028, "fsub",    {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           447:  { 0xfc000029, "fsub.",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           448:  { 0xec000028, "fsubs",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           449:  { 0xec000029, "fsubs.",  {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           450:  { 0xfc000032, "fmul",    {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}}  },
        !           451:  { 0xfc000033, "fmul.",   {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}}  },
        !           452:  { 0xec000032, "fmuls",   {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}}  },
        !           453:  { 0xec000033, "fmuls.",  {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}}  },
        !           454:  { 0xfc000024, "fdiv",    {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           455:  { 0xfc000025, "fdiv.",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           456:  { 0xec000024, "fdivs",   {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           457:  { 0xec000025, "fdivs.",  {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} },
        !           458: 
        !           459:  { 0xfc00003a, "fmadd",
        !           460:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           461:  { 0xfc00003b, "fmadd.",
        !           462:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           463:  { 0xec00003a, "fmadds",
        !           464:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           465:  { 0xec00003b, "fmadds.",
        !           466:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           467:  { 0xfc000038, "fmsub",
        !           468:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           469:  { 0xfc000039, "fmsub.",
        !           470:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           471:  { 0xec000038, "fmsubs",
        !           472:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           473:  { 0xec000039, "fmsubs.",
        !           474:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           475:  { 0xfc00003e, "fnmadd",
        !           476:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           477:  { 0xfc00003f, "fnmadd.",
        !           478:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           479:  { 0xec00003e, "fnmadds",
        !           480:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           481:  { 0xec00003f, "fnmadds.",
        !           482:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           483:  { 0xfc00003c, "fnmsub",
        !           484:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           485:  { 0xfc00003d, "fnmsub.",
        !           486:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           487:  { 0xec00003c, "fnmsubs",
        !           488:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           489:  { 0xec00003d, "fnmsubs.",
        !           490:        {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} },
        !           491: 
        !           492:  { 0xfc000090, "fmr",     {{21,5,FREG}, {11,5,FREG}} },
        !           493:  { 0xfc000091, "fmr.",    {{21,5,FREG}, {11,5,FREG}} },
        !           494:  { 0xfc000210, "fabs",    {{21,5,FREG}, {11,5,FREG}} },
        !           495:  { 0xfc000211, "fabs.",   {{21,5,FREG}, {11,5,FREG}} },
        !           496:  { 0xfc000050, "fneg",    {{21,5,FREG}, {11,5,FREG}} },
        !           497:  { 0xfc000051, "fneg.",   {{21,5,FREG}, {11,5,FREG}} },
        !           498:  { 0xfc000110, "fnabs",   {{21,5,FREG}, {11,5,FREG}} },
        !           499:  { 0xfc000111, "fnabs.",  {{21,5,FREG}, {11,5,FREG}} },
        !           500:  { 0xfc000018, "frsp",    {{21,5,FREG}, {11,5,FREG}} },
        !           501:  { 0xfc000019, "frsp.",   {{21,5,FREG}, {11,5,FREG}} },
        !           502:  { 0xfc00065c, "fctid",   {{21,5,FREG}, {11,5,FREG}} },
        !           503:  { 0xfc00065d, "fctid.",  {{21,5,FREG}, {11,5,FREG}} },
        !           504:  { 0xfc00065e, "fctidz",  {{21,5,FREG}, {11,5,FREG}} },
        !           505:  { 0xfc00065f, "fctidz.", {{21,5,FREG}, {11,5,FREG}} },
        !           506:  { 0xfc00001c, "fctiw",   {{21,5,FREG}, {11,5,FREG}} },
        !           507:  { 0xfc00001d, "fctiw.",  {{21,5,FREG}, {11,5,FREG}} },
        !           508:  { 0xfc00001e, "fctiwz",  {{21,5,FREG}, {11,5,FREG}} },
        !           509:  { 0xfc00001f, "fctiwz.", {{21,5,FREG}, {11,5,FREG}} },
        !           510:  { 0xfc00069c, "fcfid",   {{21,5,FREG}, {11,5,FREG}} },
        !           511:  { 0xfc00069d, "fcfid.",  {{21,5,FREG}, {11,5,FREG}} },
        !           512: 
        !           513:  { 0xfc000000, "fcmpu",   {{21,5,CRFONLY},{16,5,FREG}, {11,5,FREG}} },
        !           514:  { 0xfc000000, "fcmpu",   {{23,3,NUM},  {16,5,FREG}, {11,5,FREG}} },
        !           515:  { 0xfc000040, "fcmpo",   {{21,5,CRFONLY},{16,5,FREG}, {11,5,FREG}} },
        !           516:  { 0xfc000040, "fcmpo",   {{23,3,NUM},  {16,5,FREG}, {11,5,FREG}} },
        !           517:  { 0xfc00048e, "mffs",    {{21,5,FREG}} },
        !           518:  { 0xfc00048f, "mffs.",   {{21,5,FREG}} },
        !           519:  { 0xfc000080, "mcrfs",   {{23,3,NUM},  {18,5,NUM}} },
        !           520:  { 0xfc00010c, "mtfsfi",  {{23,3,NUM},  {12,4,NUM}} },
        !           521:  { 0xfc00010d, "mtfsfi.", {{23,3,NUM},  {12,4,NUM}} },
        !           522:  { 0xfc00058e, "mtfsf",   {{17,8,NUM},  {11,5,FREG}} },
        !           523:  { 0xfc00058f, "mtfsf.",  {{17,8,NUM},  {11,5,FREG}} },
        !           524:  { 0xfc00008c, "mtfsb0",  {{21,5,NUM}} },
        !           525:  { 0xfc00008d, "mtfsb0.", {{21,5,NUM}} },
        !           526:  { 0xfc00004c, "mtfsb1",  {{21,5,NUM}} },
        !           527:  { 0xfc00004d, "mtfsb1.", {{21,5,NUM}} },
        !           528: 
        !           529:  { 0x88000000, "lbz",     {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           530:  { 0x7c0000ae, "lbzx",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           531:  { 0x8c000000, "lbzu",    {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           532:  { 0x7c0000ee, "lbzux",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           533:  { 0xa0000000, "lhz",     {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           534:  { 0x7c00022e, "lhzx",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           535:  { 0xa4000000, "lhzu",    {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           536:  { 0x7c00026e, "lhzux",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           537:  { 0xa8000000, "lha",     {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           538:  { 0x7c0002ae, "lhax",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           539:  { 0xac000000, "lhau",    {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           540:  { 0x7c0002ee, "lhaux",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           541:  { 0x80000000, "lwz",     {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           542:  { 0x7c00002e, "lwzx",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           543:  { 0x84000000, "lwzu",    {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           544:  { 0x7c00006e, "lwzux",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           545:  { 0xe8000002, "lwa",     {{21,5,GREG}, {2,14,DS},    {16,5,G0REG}} },
        !           546:  { 0x7c0002aa, "lwax",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           547:  { 0x7c0002ea, "lwaux",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           548:  { 0xe8000000, "ld",      {{21,5,GREG}, {2,14,DS},    {16,5,G0REG}} },
        !           549:  { 0x7c00002a, "ldx",     {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           550:  { 0xe8000001, "ldu",     {{21,5,GREG}, {2,14,DS},    {16,5,G0REG}} },
        !           551:  { 0x7c00006a, "ldux",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           552: 
        !           553:  { 0xb8000000, "lmw",     {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           554:  { 0xe8000003, "lmd",     {{21,5,GREG}, {2,14,DS},    {16,5,G0REG}} },
        !           555:  { 0xbc000000, "stmw",    {{21,5,GREG}, {0,16,D},     {16,5,G0REG}} },
        !           556:  { 0xf8000003, "stmd",    {{21,5,GREG}, {2,14,DS},    {16,5,G0REG}} },
        !           557: 
        !           558:  { 0x7c00062c, "lhbrx",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           559:  { 0x7c00042c, "lwbrx",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           560:  { 0x7c00042a, "lswx",    {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} },
        !           561:  { 0x7c000028, "lwarx",   {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} },
        !           562:  { 0x7c0000a8, "ldarx",   {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} },
        !           563: 
        !           564:  { 0x7c00022a, "lscbx",   {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} },
        !           565:  { 0x7c00022b, "lscbx.",  {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} },
        !           566: 
        !           567:  { 0x7c0004aa, "lswi",    {{21,5,GREG}, {16,5,G0REG}, {11,5,NUM}} },
        !           568: 
        !           569:  { 0xc0000000, "lfs",     {{21,5,FREG}, {0,16,D},     {16,5,G0REG}} },
        !           570:  { 0xc4000000, "lfsu",    {{21,5,FREG}, {0,16,D},     {16,5,G0REG}} },
        !           571:  { 0x7c00042e, "lfsx",    {{21,5,FREG}, {16,5,GREG},  {11,5,GREG}} },
        !           572:  { 0x7c00046e, "lfsux",   {{21,5,FREG}, {16,5,GREG},  {11,5,GREG}} },
        !           573:  { 0xc8000000, "lfd",     {{21,5,FREG}, {0,16,D},     {16,5,G0REG}} },
        !           574:  { 0xcc000000, "lfdu",    {{21,5,FREG}, {0,16,D},     {16,5,G0REG}} },
        !           575:  { 0x7c0004ae, "lfdx",    {{21,5,FREG}, {16,5,GREG},  {11,5,GREG}} },
        !           576:  { 0x7c0004ee, "lfdux",   {{21,5,FREG}, {16,5,GREG},  {11,5,GREG}} },
        !           577: 
        !           578:  { 0x4c000000, "mcrf",    {{21,5,CRFONLY},{16,5,CRFONLY}} },
        !           579:  { 0x4c000000, "mcrf",    {{23,3,NUM},  {18,3,NUM}} },
        !           580: 
        !           581:  { 0x7c0002a6, "mfspr",   {{21,5,GREG}, {11,10,SPREG}} },
        !           582:  { 0x7c0003a6, "mtspr",   {{11,10,SPREG},{21,5,GREG}} },
        !           583:  { 0x7c000120, "mtcrf",   {{12,8,NUM},  {21,5,GREG}} },
        !           584:  { 0x7c000164, "mtpmr",   {{21,5,GREG}} },
        !           585:  { 0x7c000400, "mcrxr",   {{23,3,NUM}}  },
        !           586:  { 0x7c000026, "mfcr",    {{21,5,GREG}} },
        !           587:  { 0x7c0000e6, "mfpmr",   {{21,5,GREG}} },
        !           588: 
        !           589: /* Move to/from spr mnemonics (assember extended mnemonics) */
        !           590:  { 0x7c0102a6, "mfxer",   {{21,5,GREG}} },
        !           591:  { 0x7c0802a6, "mflr",    {{21,5,GREG}} },
        !           592:  { 0x7c0902a6, "mfctr",   {{21,5,GREG}} },
        !           593:  { 0x7c0103a6, "mtxer",   {{21,5,GREG}} },
        !           594:  { 0x7c0803a6, "mtlr",    {{21,5,GREG}} },
        !           595:  { 0x7c0903a6, "mtctr",   {{21,5,GREG}} },
        !           596: 
        !           597:  { 0x7c0001d6, "mull",    {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           598:  { 0x7c0001d7, "mull.",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           599:  { 0x7c0005d6, "mullo",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           600:  { 0x7c0005d7, "mullo.",  {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           601: 
        !           602:  { 0x7c000092, "mulhd",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           603:  { 0x7c000093, "mulhd.",  {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           604: 
        !           605:  { 0x7c000096, "mulwd",   {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           606:  { 0x7c000097, "mulwd.",  {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           607: 
        !           608:  { 0x7c000012, "mulhdu",  {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           609:  { 0x7c000013, "mulhdu.", {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           610: 
        !           611:  { 0x7c000016, "mulhwu",  {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           612:  { 0x7c000017, "mulhwu.", {{21,5,GREG}, {16,5,GREG},  {11,5,GREG}} },
        !           613: 
        !           614:  { 0x7c0003b8, "nand",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           615:  { 0x7c0003b9, "nand.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           616: 
        !           617:  { 0x7c0000d0, "neg",     {{21,5,GREG}, {16,5,GREG}} },
        !           618:  { 0x7c0000d1, "neg.",    {{21,5,GREG}, {16,5,GREG}} },
        !           619:  { 0x7c0004d0, "nego",    {{21,5,GREG}, {16,5,GREG}} },
        !           620:  { 0x7c0004d1, "nego.",   {{21,5,GREG}, {16,5,GREG}} },
        !           621: 
        !           622:  { 0x7c0000f8, "nor",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           623:  { 0x7c0000f9, "nor.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           624: 
        !           625: /* Miscellaneous mnemonics (assember extended mnemonics) */
        !           626:  { 0x60000000, "mr",      {{16,5,GREG}, {21,5,GREG}} },
        !           627:  { 0x60000000, "nop",     },
        !           628: 
        !           629:  { 0x60000000, "ori",     {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !           630:  { 0x64000000, "oris",    {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !           631:  { 0x7c000378, "or",      {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           632:  { 0x7c000379, "or.",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           633: 
        !           634:  { 0x7c000338, "orc",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           635:  { 0x7c000339, "orc.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           636: 
        !           637:  { 0x78000000, "rldicl",
        !           638:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           639:  { 0x78000001, "rldicl.",
        !           640:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           641:  { 0x78000004, "rldicr",
        !           642:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           643:  { 0x78000005, "rldicr.",
        !           644:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           645:  { 0x78000008, "rldic",
        !           646:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           647:  { 0x78000009, "rldic.",
        !           648:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           649:  { 0x7800000c, "rldimi",
        !           650:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           651:  { 0x7800000d, "rldimi.",
        !           652:        {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}} },
        !           653:  { 0x78000010, "rldcl",
        !           654:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}} },
        !           655:  { 0x78000011, "rldcl.",
        !           656:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}} },
        !           657:  { 0x78000012, "rldcr",
        !           658:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}} },
        !           659:  { 0x78000013, "rldcr.",
        !           660:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}} },
        !           661: 
        !           662:  { 0x54000000, "rlwinm",
        !           663:        {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,NUM}, {1,5,NUM}} },
        !           664:  { 0x54000001, "rlwinm.",
        !           665:        {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,NUM}, {1,5,NUM}} },
        !           666:  { 0x5c000000, "rlwnm",
        !           667:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,NUM}, {1,5,NUM}} },
        !           668:  { 0x5c000001, "rlwnm.",
        !           669:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,NUM}, {1,5,NUM}} },
        !           670:  { 0x50000000, "rlwimi",
        !           671:        {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,NUM}, {1,5,NUM}} },
        !           672:  { 0x50000001, "rlwimi.",
        !           673:        {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,NUM}, {1,5,NUM}} },
        !           674: 
        !           675:  { 0x44000002, "sc", },
        !           676: 
        !           677:  { 0x7c000030, "slw",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           678:  { 0x7c000031, "slw.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           679:  { 0x7c000036, "sld",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           680:  { 0x7c000037, "sld.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           681: 
        !           682:  { 0x7c000430, "srw",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           683:  { 0x7c000431, "srw.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           684:  { 0x7c000436, "srd",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           685:  { 0x7c000437, "srd.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           686: 
        !           687:  { 0x7c000670, "srawi",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}  },
        !           688:  { 0x7c000671, "srawi.",  {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}  },
        !           689:  { 0x7c000674, "sradi",   {{16,5,GREG}, {21,5,GREG}, {0, 0,sh}}   },
        !           690:  { 0x7c000675, "sradi.",  {{16,5,GREG}, {21,5,GREG}, {0, 0,sh}}   },
        !           691: 
        !           692:  { 0x7c000630, "sraw",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           693:  { 0x7c000631, "sraw.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           694:  { 0x7c000634, "srad",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           695:  { 0x7c000635, "srad.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           696: 
        !           697:  { 0x98000000, "stb",     {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           698:  { 0x9c000000, "stbu",    {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           699:  { 0x7c0001ae, "stbx",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           700:  { 0x7c0001ee, "stbux",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           701:  { 0xb0000000, "sth",     {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           702:  { 0xb4000000, "sthu",    {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           703:  { 0x7c00032e, "sthx",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           704:  { 0x7c00036e, "sthux",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           705:  { 0x90000000, "stw",     {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           706:  { 0x94000000, "stwu",    {{21,5,GREG}, {0,16,D},    {16,5,G0REG}} },
        !           707:  { 0x7c00012e, "stwx",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           708:  { 0x7c00016e, "stwux",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           709:  { 0xf8000000, "std",     {{21,5,GREG}, {2,14,DS},   {16,5,G0REG}} },
        !           710:  { 0xf8000001, "stdu",    {{21,5,GREG}, {2,14,DS},   {16,5,G0REG}} },
        !           711:  { 0x7c00012a, "stdx",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           712:  { 0x7c00016a, "stdux",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           713: 
        !           714:  { 0x7c00072c, "sthbrx",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           715:  { 0x7c00052c, "stwbrx",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           716:  { 0x7c00052a, "stswx",   {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} },
        !           717:  { 0x7c00012d, "stwcx.",  {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} },
        !           718:  { 0x7c0001ad, "stdcx.",  {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} },
        !           719: 
        !           720:  { 0x7c0005aa, "stswi",   {{21,5,GREG}, {16,5,G0REG},{11,5,NUM}}  },
        !           721: 
        !           722:  { 0xd0000000, "stfs",    {{21,5,FREG}, {0,16,D},    {16,5,G0REG}} },
        !           723:  { 0xd4000000, "stfsu",   {{21,5,FREG}, {0,16,D},    {16,5,G0REG}} },
        !           724:  { 0x7c00052e, "stfsx",   {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} },
        !           725:  { 0x7c00056e, "stfsux",  {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} },
        !           726:  { 0xd8000000, "stfd",    {{21,5,FREG}, {0,16,D},    {16,5,G0REG}} },
        !           727:  { 0xdc000000, "stfdu",   {{21,5,FREG}, {0,16,D},    {16,5,G0REG}} },
        !           728:  { 0x7c0005ae, "stfdx",   {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} },
        !           729:  { 0x7c0005ee, "stfdux",  {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} },
        !           730: 
        !           731:  { 0x20000000, "subfic",  {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} },
        !           732:  { 0x7c000050, "sub",     {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           733:  { 0x7c000051, "sub.",    {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           734:  { 0x7c000450, "subo",    {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           735:  { 0x7c000451, "subo.",   {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           736:  { 0x7c000050, "subf",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           737:  { 0x7c000051, "subf.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           738:  { 0x7c000450, "subfo",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           739:  { 0x7c000451, "subfo.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           740: 
        !           741:  { 0x7c000010, "subc",    {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           742:  { 0x7c000011, "subc.",   {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           743:  { 0x7c000410, "subco",   {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           744:  { 0x7c000411, "subco.",  {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} },
        !           745:  { 0x7c000010, "subfc",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           746:  { 0x7c000011, "subfc.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           747:  { 0x7c000410, "subfco",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           748:  { 0x7c000411, "subfco.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           749: 
        !           750:  { 0x7c000110, "subfe",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           751:  { 0x7c000111, "subfe.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           752:  { 0x7c000510, "subfeo",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           753:  { 0x7c000511, "subfeo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           754: 
        !           755:  { 0x7c0001d0, "subfme",  {{21,5,GREG}, {16,5,GREG}} },
        !           756:  { 0x7c0001d1, "subfme.", {{21,5,GREG}, {16,5,GREG}} },
        !           757:  { 0x7c0005d0, "subfmeo", {{21,5,GREG}, {16,5,GREG}} },
        !           758:  { 0x7c0005d1, "subfmeo.",{{21,5,GREG}, {16,5,GREG}} },
        !           759: 
        !           760:  { 0x7c000190, "subfze",  {{21,5,GREG}, {16,5,GREG}} },
        !           761:  { 0x7c000191, "subfze.", {{21,5,GREG}, {16,5,GREG}} },
        !           762:  { 0x7c000590, "subfzeo", {{21,5,GREG}, {16,5,GREG}} },
        !           763:  { 0x7c000591, "subfzeo.",{{21,5,GREG}, {16,5,GREG}} },
        !           764: 
        !           765:  { 0x7c0004ac, "sync", },
        !           766: 
        !           767:  { 0x08000000, "tdi",     {{21,5,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           768:  { 0x0a000000, "tdlti",   {{16,5,GREG}, {0,16,SI}} },
        !           769:  { 0x0a800000, "tdlei",   {{16,5,GREG}, {0,16,SI}} },
        !           770:  { 0x08800000, "tdeqi",   {{16,5,GREG}, {0,16,SI}} },
        !           771:  { 0x09800000, "tdgei",   {{16,5,GREG}, {0,16,SI}} },
        !           772:  { 0x09000000, "tdgti",   {{16,5,GREG}, {0,16,SI}} },
        !           773:  { 0x09800000, "tdnli",   {{16,5,GREG}, {0,16,SI}} },
        !           774:  { 0x0b000000, "tdnei",   {{16,5,GREG}, {0,16,SI}} },
        !           775:  { 0x0a800000, "tdngi",   {{16,5,GREG}, {0,16,SI}} },
        !           776:  { 0x08400000, "tdllti",  {{16,5,GREG}, {0,16,SI}} },
        !           777:  { 0x08c00000, "tdllei",  {{16,5,GREG}, {0,16,SI}} },
        !           778:  { 0x08a00000, "tdlgei",  {{16,5,GREG}, {0,16,SI}} },
        !           779:  { 0x08200000, "tdlgti",  {{16,5,GREG}, {0,16,SI}} },
        !           780:  { 0x08a00000, "tdlnli",  {{16,5,GREG}, {0,16,SI}} },
        !           781:  { 0x08c00000, "tdlngi",  {{16,5,GREG}, {0,16,SI}} },
        !           782: 
        !           783:  { 0x7c000088, "td",      {{21,5,NUM},  {16,5,GREG}, {11,5,GREG}} },
        !           784:  { 0x7e000088, "tdlt",    {{16,5,GREG}, {11,5,GREG}} },
        !           785:  { 0x7e800088, "tdle",    {{16,5,GREG}, {11,5,GREG}} },
        !           786:  { 0x7c800088, "tdeq",    {{16,5,GREG}, {11,5,GREG}} },
        !           787:  { 0x7d800088, "tdge",    {{16,5,GREG}, {11,5,GREG}} },
        !           788:  { 0x7d000088, "tdgt",    {{16,5,GREG}, {11,5,GREG}} },
        !           789:  { 0x7d800088, "tdnl",    {{16,5,GREG}, {11,5,GREG}} },
        !           790:  { 0x7f000088, "tdne",    {{16,5,GREG}, {11,5,GREG}} },
        !           791:  { 0x7e800088, "tdng",    {{16,5,GREG}, {11,5,GREG}} },
        !           792:  { 0x7c400088, "tdllt",   {{16,5,GREG}, {11,5,GREG}} },
        !           793:  { 0x7cc00088, "tdlle",   {{16,5,GREG}, {11,5,GREG}} },
        !           794:  { 0x7ca00088, "tdlge",   {{16,5,GREG}, {11,5,GREG}} },
        !           795:  { 0x7c200088, "tdlgt",   {{16,5,GREG}, {11,5,GREG}} },
        !           796:  { 0x7ca00088, "tdlnl",   {{16,5,GREG}, {11,5,GREG}} },
        !           797:  { 0x7cc00088, "tdlng",   {{16,5,GREG}, {11,5,GREG}} },
        !           798: 
        !           799:  { 0x0c000000, "twi",     {{21,5,NUM},  {16,5,GREG}, {0,16,SI}} },
        !           800:  { 0x0e000000, "twlti",   {{16,5,GREG}, {0,16,SI}} },
        !           801:  { 0x0e800000, "twlei",   {{16,5,GREG}, {0,16,SI}} },
        !           802:  { 0x0c800000, "tweqi",   {{16,5,GREG}, {0,16,SI}} },
        !           803:  { 0x0d800000, "twgei",   {{16,5,GREG}, {0,16,SI}} },
        !           804:  { 0x0d000000, "twgti",   {{16,5,GREG}, {0,16,SI}} },
        !           805:  { 0x0d800000, "twnli",   {{16,5,GREG}, {0,16,SI}} },
        !           806:  { 0x0f000000, "twnei",   {{16,5,GREG}, {0,16,SI}} },
        !           807:  { 0x0e800000, "twngi",   {{16,5,GREG}, {0,16,SI}} },
        !           808:  { 0x0c400000, "twllti",  {{16,5,GREG}, {0,16,SI}} },
        !           809:  { 0x0cc00000, "twllei",  {{16,5,GREG}, {0,16,SI}} },
        !           810:  { 0x0ca00000, "twlgei",  {{16,5,GREG}, {0,16,SI}} },
        !           811:  { 0x0c200000, "twlgti",  {{16,5,GREG}, {0,16,SI}} },
        !           812:  { 0x0ca00000, "twlnli",  {{16,5,GREG}, {0,16,SI}} },
        !           813:  { 0x0cc00000, "twlngi",  {{16,5,GREG}, {0,16,SI}} },
        !           814: 
        !           815:  { 0x7c000008, "tw",      {{21,5,NUM},  {16,5,GREG}, {11,5,GREG}} },
        !           816:  { 0x7e000008, "twlt",    {{16,5,GREG}, {11,5,GREG}} },
        !           817:  { 0x7e800008, "twle",    {{16,5,GREG}, {11,5,GREG}} },
        !           818:  { 0x7c800008, "tweq",    {{16,5,GREG}, {11,5,GREG}} },
        !           819:  { 0x7d800008, "twge",    {{16,5,GREG}, {11,5,GREG}} },
        !           820:  { 0x7d000008, "twgt",    {{16,5,GREG}, {11,5,GREG}} },
        !           821:  { 0x7d800008, "twnl",    {{16,5,GREG}, {11,5,GREG}} },
        !           822:  { 0x7f000008, "twne",    {{16,5,GREG}, {11,5,GREG}} },
        !           823:  { 0x7e800008, "twng",    {{16,5,GREG}, {11,5,GREG}} },
        !           824:  { 0x7c400008, "twllt",   {{16,5,GREG}, {11,5,GREG}} },
        !           825:  { 0x7cc00008, "twlle",   {{16,5,GREG}, {11,5,GREG}} },
        !           826:  { 0x7ca00008, "twlge",   {{16,5,GREG}, {11,5,GREG}} },
        !           827:  { 0x7c200008, "twlgt",   {{16,5,GREG}, {11,5,GREG}} },
        !           828:  { 0x7ca00008, "twlnl",   {{16,5,GREG}, {11,5,GREG}} },
        !           829:  { 0x7cc00008, "twlng",   {{16,5,GREG}, {11,5,GREG}} },
        !           830:  { 0x7fe00008, "trap",    },
        !           831: 
        !           832:  { 0x68000000, "xori",    {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !           833:  { 0x6c000000, "xoris",   {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} },
        !           834:  { 0x7c000278, "xor",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           835:  { 0x7c000279, "xor.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           836: 
        !           837: /* Cache Management Instructions (from book II) */
        !           838:  { 0x7c0007ac, "icbi",    {{16,5,G0REG}, {11,5,GREG}} },
        !           839:  { 0x4c00012c, "isync",   },
        !           840:  { 0x7c00022c, "dcbt",    {{16,5,G0REG}, {11,5,GREG}} },
        !           841:  { 0x7c0001ec, "dcbtst",  {{16,5,G0REG}, {11,5,GREG}} },
        !           842:  { 0x7c0007ec, "dcbz",    {{16,5,G0REG}, {11,5,GREG}} },
        !           843:  { 0x7c00006c, "dcbst",   {{16,5,G0REG}, {11,5,GREG}} },
        !           844:  { 0x7c0000ac, "dcbf",    {{16,5,G0REG}, {11,5,GREG}} },
        !           845:  { 0x7c0006ac, "eieio",   },
        !           846: /* Instructions (from book III) */
        !           847:  { 0x4c000064, "rfi",     },
        !           848:  { 0x7c000124, "mtmsr",   {{21,5,GREG}} },
        !           849:  { 0x7c0000a6, "mfmsr",   {{21,5,GREG}} },
        !           850:  { 0x7c0003ac, "dcbi",    {{16,5,GREG}, {11,5,GREG}} },
        !           851:  { 0x7c0001a4, "mtsr",    {{16,4,SGREG},{21,5,GREG}} },
        !           852:  { 0x7c0004a6, "mfsr",    {{21,5,GREG},{16,4,SGREG}} },
        !           853:  { 0x7c0001e4, "mtsrin",  {{21,5,GREG}, {11,5,GREG}} },
        !           854:  { 0x7c000526, "mfsrin",  {{21,5,GREG}, {11,5,GREG}} },
        !           855:  { 0x7c000224, "slbie",   {{11,5,GREG}} },
        !           856: /* these two need values assigned for the XO field the book has them as NA
        !           857:  { 0x7c000000, "slbiex",  {{11,5,GREG}} },
        !           858:  { 0x7c000000, "slbia",   },
        !           859: */
        !           860:  { 0x7c000264, "tlbie",   {{11,5,GREG}} },
        !           861:  { 0x7c0002a4, "tlbiex",  {{11,5,GREG}} },
        !           862:  { 0x7c0002e4, "tlbia",   },
        !           863:  { 0x7c000326, "mttb",    {{11,5,GREG}} },
        !           864:  { 0x7c000366, "mttbu",   {{11,5,GREG}} },
        !           865:  { 0x7c000226, "mftb",    {{21,5,GREG}} },
        !           866:  { 0x7c000266, "mftbu",   {{21,5,GREG}} },
        !           867: 
        !           868: /* Instructions (from book IV) */
        !           869:  { 0x24000000, "dozi",    {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} },
        !           870:  { 0x7c000210, "doz",     {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           871:  { 0x7c000211, "doz.",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           872:  { 0x7c000610, "dozo",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           873:  { 0x7c000611, "dozo.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           874: 
        !           875:  { 0x7c0002d0, "abs",     {{21,5,GREG}, {16,5,GREG}} },
        !           876:  { 0x7c0002d1, "abs.",    {{21,5,GREG}, {16,5,GREG}} },
        !           877:  { 0x7c0006d0, "abso",    {{21,5,GREG}, {16,5,GREG}} },
        !           878:  { 0x7c0006d1, "abso.",   {{21,5,GREG}, {16,5,GREG}} },
        !           879: 
        !           880:  { 0x7c0003d0, "nabs",    {{21,5,GREG}, {16,5,GREG}} },
        !           881:  { 0x7c0003d1, "nabs.",   {{21,5,GREG}, {16,5,GREG}} },
        !           882:  { 0x7c0007d0, "nabso",   {{21,5,GREG}, {16,5,GREG}} },
        !           883:  { 0x7c0007d1, "nabso.",  {{21,5,GREG}, {16,5,GREG}} },
        !           884: 
        !           885:  { 0x1c000000, "mulli",   {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} },
        !           886:  { 0x7c0000d6, "mul",     {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           887:  { 0x7c0000d7, "mul.",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           888:  { 0x7c0004d6, "mulo",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           889:  { 0x7c0004d7, "mulo.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           890: 
        !           891:  { 0x7c000296, "div",     {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           892:  { 0x7c000297, "div.",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           893:  { 0x7c000696, "divo",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           894:  { 0x7c000697, "divo.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           895: 
        !           896:  { 0x7c0002d6, "divs",    {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           897:  { 0x7c0002d7, "divs.",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           898:  { 0x7c0006d6, "divso",   {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           899:  { 0x7c0006d7, "divso.",  {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} },
        !           900: 
        !           901:  { 0x58000000, "rlmi",
        !           902:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG},  {6,5,NUM}, {1,5,NUM}} },
        !           903:  { 0x58000001, "rlmi.",
        !           904:        {{16,5,GREG}, {21,5,GREG}, {11,5,GREG},  {6,5,NUM}, {1,5,NUM}} },
        !           905: 
        !           906:  { 0x7c000432, "rrib",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           907:  { 0x7c000433, "rrib.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           908: 
        !           909:  { 0x7c00003a, "maskg",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           910:  { 0x7c00003b, "maskg.",  {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           911: 
        !           912:  { 0x7c00043a, "maskir",  {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           913:  { 0x7c00043b, "maskir.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           914: 
        !           915:  { 0x7c000130, "slq",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           916:  { 0x7c000131, "slq.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           917: 
        !           918:  { 0x7c000530, "srq",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           919:  { 0x7c000531, "srq.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           920: 
        !           921:  { 0x7c000170, "sliq",    {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           922:  { 0x7c000171, "sliq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           923: 
        !           924:  { 0x7c000570, "sriq",    {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           925:  { 0x7c000571, "sriq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           926: 
        !           927:  { 0x7c0001f0, "slliq",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           928:  { 0x7c0001f1, "slliq.",  {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           929: 
        !           930:  { 0x7c0005f0, "srliq",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           931:  { 0x7c0005f1, "srliq.",  {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           932: 
        !           933:  { 0x7c0001b0, "sllq",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           934:  { 0x7c0001b1, "sllq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           935: 
        !           936:  { 0x7c0005b0, "srlq",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           937:  { 0x7c0005b1, "srlq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           938: 
        !           939:  { 0x7c000132, "sle",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           940:  { 0x7c000133, "sle.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           941: 
        !           942:  { 0x7c000532, "sre",     {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           943:  { 0x7c000533, "sre.",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           944: 
        !           945:  { 0x7c0001b2, "sleq",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           946:  { 0x7c0001b3, "sleq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           947: 
        !           948:  { 0x7c0005b2, "sreq",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           949:  { 0x7c0005b3, "sreq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           950: 
        !           951:  { 0x7c000770, "sraiq",   {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           952:  { 0x7c000771, "sraiq.",  {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} },
        !           953: 
        !           954:  { 0x7c000730, "sraq",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           955:  { 0x7c000731, "sraq.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           956: 
        !           957:  { 0x7c000732, "srea",    {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           958:  { 0x7c000733, "srea.",   {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} },
        !           959: 
        !           960:  { 0, "" } /* end of table marker */
        !           961: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.