|
|
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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.