1#include <stdint.h> 2 3/* operands types */ 4enum optype { 5 NONE, /* no operand */ 6 JBSR, /* jbsr pseudo op */ 7 PCREL, /* PC relative (branch offset) */ 8 BADDR, /* Branch address (sign extended absolute address) */ 9 D, /* 16 bit displacement */ 10 DS, /* 14 bit displacement (double word) */ 11 SI, /* signed 16 bit immediate */ 12 UI, /* unsigned 16 bit immediate */ 13 HI, /* high 16 bit immediate (with truncation) */ 14 GREG, /* general register */ 15 G0REG, /* general register r1-r31 or 0 */ 16 FREG, /* float register */ 17 VREG, /* vector register */ 18 SGREG, /* segment register */ 19 SPREG, /* special register (or 10 bit number, 5 bit halves reversed) */ 20 BCND, /* branch condition opcode */ 21 CRF, /* condition register field */ 22 CRFONLY, /* condition register field only no expression allowed */ 23 sh, /* 6 bit number (0 - 63) (sh field, split and reversed) */ 24 mb, /* 6 bit number (0 - 63) (mb field, mb5 || mb0:4 reversed) */ 25 NUM, /* number */ 26 SNUM, /* signed number */ 27 NUM0, /* number (where 1<<width is the same as 0) */ 28 MBE, /* mask defined by MB and ME fields */ 29 FXM, /* 8-bit mask with only one bit set */ 30 ZERO /* the number zero */ 31}; 32 33struct op { 34 uint32_t offset:5; 35 uint32_t width:5; 36 enum optype type:6; 37}; 38 39/* 40 * These defines are use in the cpus field of the instructions. If the field 41 * is zero it can execute on all cpus. The defines are or'ed together. This 42 * information is used to set the cpusubtype in the resulting object file. 43 */ 44#define CPU601 0x1 45#define IMPL64 0x2 46#define OPTIONAL 0x4 47#define VMX 0x8 48#define CPU970 0x10 /* added to OPTIONAL insts that the 970 has */ 49 50struct ppc_opcode { 51 uint32_t opcode; 52 char *name; 53 struct op ops[5]; 54 uint32_t cpus; 55}; 56 57#define IS_BRANCH_CONDITIONAL(opcode) \ 58 (((((opcode) & 0xfc0003fe) == 0x4c000020) || \ 59 (((opcode) & 0xfc000000) == 0x40000000)) && \ 60 (((opcode) & 0x03e00000) != 0x02800000) ) 61#define Y_BIT (1 << 21) 62 63static const struct ppc_opcode ppc_opcodes[] = { 64 { 0x38000000, "addi", {{21,5,GREG}, {16,5,G0REG},{0,16,SI}} }, 65 { 0x38000000, "li", {{21,5,GREG}, {0,16,SI}} }, 66 { 0x3c000000, "addis", {{21,5,GREG}, {16,5,G0REG},{0,16,HI}} }, 67 { 0x3c000000, "lis", {{21,5,GREG}, {0,16,HI}} }, 68 { 0x30000000, "addic", {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} }, 69 { 0x34000000, "addic.", {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} }, 70 { 0x7c000214, "add", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 71 { 0x7c000215, "add.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 72 { 0x7c000614, "addo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 73 { 0x7c000615, "addo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 74 75 { 0x7c000014, "addc", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 76 { 0x7c000015, "addc.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 77 { 0x7c000414, "addco", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 78 { 0x7c000415, "addco.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 79 80 { 0x7c000114, "adde", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 81 { 0x7c000115, "adde.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 82 { 0x7c000514, "addeo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 83 { 0x7c000515, "addeo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 84 85 { 0x7c0001d4, "addme", {{21,5,GREG}, {16,5,GREG}} }, 86 { 0x7c0001d5, "addme.", {{21,5,GREG}, {16,5,GREG}} }, 87 { 0x7c0005d4, "addmeo", {{21,5,GREG}, {16,5,GREG}} }, 88 { 0x7c0005d5, "addmeo.", {{21,5,GREG}, {16,5,GREG}} }, 89 90 { 0x7c000194, "addze", {{21,5,GREG}, {16,5,GREG}} }, 91 { 0x7c000195, "addze.", {{21,5,GREG}, {16,5,GREG}} }, 92 { 0x7c000594, "addzeo", {{21,5,GREG}, {16,5,GREG}} }, 93 { 0x7c000595, "addzeo.", {{21,5,GREG}, {16,5,GREG}} }, 94 95 { 0x70000000, "andi.", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 96 { 0x74000000, "andis.", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 97 { 0x7c000038, "and", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 98 { 0x7c000039, "and.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 99 100 { 0x7c000078, "andc", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 101 { 0x7c000079, "andc.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 102 103 { 0x48000000, "b", {{2,24,PCREL}} }, 104 { 0x48000002, "ba", {{2,24,BADDR}} }, 105 { 0x48000001, "bl", {{2,24,PCREL}} }, 106 { 0x48000003, "bla", {{2,24,BADDR}} }, 107 108 { 0x48000001, "jbsr", {{0,0,JBSR}, {2,24,PCREL}} }, 109 { 0x48000000, "jmp", {{0,0,JBSR}, {2,24,PCREL}} }, 110 111 { 0x40000000, "bc", {{21,5,NUM}, {16,5,NUM}, {2,14,PCREL}} }, 112 { 0x40000002, "bca", {{21,5,NUM}, {16,5,NUM}, {2,14,BADDR}} }, 113 { 0x40000001, "bcl", {{21,5,NUM}, {16,5,NUM}, {2,14,PCREL}} }, 114 { 0x40000003, "bcla", {{21,5,NUM}, {16,5,NUM}, {2,14,BADDR}} }, 115 116 { 0x4c000420, "bcctr", {{21,5,NUM}, {16,5,NUM}} }, 117 { 0x4c000420, "bcctr", {{21,5,NUM}, {16,5,NUM}, {11,2,NUM}} }, 118 { 0x4c000421, "bcctrl", {{21,5,NUM}, {16,5,NUM}} }, 119 { 0x4c000421, "bcctrl", {{21,5,NUM}, {16,5,NUM}, {11,2,NUM}} }, 120 { 0x4c000020, "bclr", {{21,5,NUM}, {16,5,NUM}} }, 121 { 0x4c000020, "bclr", {{21,5,NUM}, {16,5,NUM}, {11,2,NUM}} }, 122 { 0x4c000021, "bclrl", {{21,5,NUM}, {16,5,NUM}} }, 123 { 0x4c000021, "bclrl", {{21,5,NUM}, {16,5,NUM}, {11,2,NUM}} }, 124 125/* Basic branch mnemonics (assember extended mnemonics) */ 126/* { 0x42800000, "b", {{2,14,PCREL}} }, overlaps */ 127/* { 0x42800001, "bl", {{2,14,PCREL}} }, overlaps */ 128 { 0x41800000, "bt", {{16,5,BCND}, {2,14,PCREL}} }, 129 { 0x41800001, "btl", {{16,5,BCND}, {2,14,PCREL}} }, 130 { 0x40800000, "bf", {{16,5,BCND}, {2,14,PCREL}} }, 131 { 0x40800001, "bfl", {{16,5,BCND}, {2,14,PCREL}} }, 132 { 0x42000000, "bdnz", {{2,14,PCREL}} }, 133 { 0x42000001, "bdnzl", {{2,14,PCREL}} }, 134 { 0x41000000, "bdnzt", {{16,5,BCND}, {2,14,PCREL}} }, 135 { 0x41000001, "bdnztl", {{16,5,BCND}, {2,14,PCREL}} }, 136 { 0x40000000, "bdnzf", {{16,5,BCND}, {2,14,PCREL}} }, 137 { 0x40000001, "bdnzfl", {{16,5,BCND}, {2,14,PCREL}} }, 138 { 0x42400000, "bdz", {{2,14,PCREL}} }, 139 { 0x42400001, "bdzl", {{2,14,PCREL}} }, 140 { 0x41400000, "bdzt", {{16,5,BCND}, {2,14,PCREL}} }, 141 { 0x41400001, "bdztl", {{16,5,BCND}, {2,14,PCREL}} }, 142 { 0x40400000, "bdzf", {{16,5,BCND}, {2,14,PCREL}} }, 143 { 0x40400001, "bdzfl", {{16,5,BCND}, {2,14,PCREL}} }, 144 145/* { 0x42800002, "ba", {{2,14,BADDR}} }, overlaps */ 146/* { 0x42800003, "bla", {{2,14,BADDR}} }, overlaps */ 147 { 0x41800002, "bta", {{16,5,BCND}, {2,14,BADDR}} }, 148 { 0x41800003, "btla", {{16,5,BCND}, {2,14,BADDR}} }, 149 { 0x40800002, "bfa", {{16,5,BCND}, {2,14,BADDR}} }, 150 { 0x40800003, "bfla", {{16,5,BCND}, {2,14,BADDR}} }, 151 { 0x42000002, "bdnza", {{2,14,BADDR}} }, 152 { 0x42000003, "bdnzla", {{2,14,BADDR}} }, 153 { 0x41000002, "bdnzta", {{16,5,BCND}, {2,14,BADDR}} }, 154 { 0x41000003, "bdnztla", {{16,5,BCND}, {2,14,BADDR}} }, 155 { 0x40000002, "bdnzfa", {{16,5,BCND}, {2,14,BADDR}} }, 156 { 0x40000003, "bdnzfla", {{16,5,BCND}, {2,14,BADDR}} }, 157 { 0x42400002, "bdza", {{2,14,BADDR}} }, 158 { 0x42400003, "bdzla", {{2,14,BADDR}} }, 159 { 0x41400002, "bdzta", {{16,5,BCND}, {2,14,BADDR}} }, 160 { 0x41400003, "bdztla", {{16,5,BCND}, {2,14,BADDR}} }, 161 { 0x40400002, "bdzfa", {{16,5,BCND}, {2,14,BADDR}} }, 162 { 0x40400003, "bdzfla", {{16,5,BCND}, {2,14,BADDR}} }, 163 164 { 0x4e800020, "blr", }, 165 { 0x4e800020, "blr", {{11,2,NUM}} }, 166 { 0x4e800021, "blrl", }, 167 { 0x4e800021, "blrl", {{11,2,NUM}} }, 168 { 0x4d800020, "btlr", {{16,5,BCND}} }, 169 { 0x4d800020, "btlr", {{16,5,BCND}, {11,2,NUM}} }, 170 { 0x4d800021, "btlrl", {{16,5,BCND}} }, 171 { 0x4d800021, "btlrl", {{16,5,BCND}, {11,2,NUM}} }, 172 { 0x4c800020, "bflr", {{16,5,BCND}} }, 173 { 0x4c800020, "bflr", {{16,5,BCND}, {11,2,NUM}} }, 174 { 0x4c800021, "bflrl", {{16,5,BCND}} }, 175 { 0x4c800021, "bflrl", {{16,5,BCND}, {11,2,NUM}} }, 176 { 0x4e000020, "bdnzlr", }, 177 { 0x4e000020, "bdnzlr", {{11,2,NUM}} }, 178 { 0x4e000021, "bdnzlrl", }, 179 { 0x4e000021, "bdnzlrl", {{11,2,NUM}} }, 180 { 0x4d000020, "bdnztlr", {{16,5,BCND}} }, 181 { 0x4d000020, "bdnztlr", {{16,5,BCND}, {11,2,NUM}} }, 182 { 0x4d000021, "bdnztlrl",{{16,5,BCND}} }, 183 { 0x4d000021, "bdnztlrl",{{16,5,BCND}, {11,2,NUM}} }, 184 { 0x4c000020, "bdnzflr", {{16,5,BCND}} }, 185 { 0x4c000020, "bdnzflr", {{16,5,BCND}, {11,2,NUM}} }, 186 { 0x4c000021, "bdnzflrl",{{16,5,BCND}} }, 187 { 0x4c000021, "bdnzflrl",{{16,5,BCND}, {11,2,NUM}} }, 188 { 0x4e400020, "bdzlr", }, 189 { 0x4e400020, "bdzlr", {{11,2,NUM}} }, 190 { 0x4e400021, "bdzlrl", }, 191 { 0x4e400021, "bdzlrl", {{11,2,NUM}} }, 192 { 0x4d400020, "bdztlr", {{16,5,BCND}} }, 193 { 0x4d400020, "bdztlr", {{16,5,BCND}, {11,2,NUM}} }, 194 { 0x4d400021, "bdztlrl", {{16,5,BCND}} }, 195 { 0x4d400021, "bdztlrl", {{16,5,BCND}, {11,2,NUM}} }, 196 { 0x4c400020, "bdzflr", {{16,5,BCND}} }, 197 { 0x4c400020, "bdzflr", {{16,5,BCND}, {11,2,NUM}} }, 198 { 0x4c400021, "bdzflrl", {{16,5,BCND}} }, 199 { 0x4c400021, "bdzflrl", {{16,5,BCND}, {11,2,NUM}} }, 200 201 { 0x4c000420, "bctr", {{21,5,NUM}, {16,5,NUM}} }, 202 { 0x4e800420, "bctr", }, 203 { 0x4e800420, "bctr", {{11,2,NUM}} }, 204 { 0x4c000421, "bctrl", {{21,5,NUM}, {16,5,NUM}} }, 205 { 0x4e800421, "bctrl", }, 206 { 0x4e800421, "bctrl", {{11,2,NUM}} }, 207 { 0x4d800420, "btctr", {{16,5,BCND}} }, 208 { 0x4d800420, "btctr", {{16,5,BCND}, {11,2,NUM}} }, 209 { 0x4d800421, "btctrl", {{16,5,BCND}} }, 210 { 0x4d800421, "btctrl", {{16,5,BCND}, {11,2,NUM}} }, 211 { 0x4c800420, "bfctr", {{16,5,BCND}} }, 212 { 0x4c800420, "bfctr", {{16,5,BCND}, {11,2,NUM}} }, 213 { 0x4c800421, "bfctrl", {{16,5,BCND}} }, 214 { 0x4c800421, "bfctrl", {{16,5,BCND}, {11,2,NUM}} }, 215 216/* branch mnemonics incorporating conditions (assember extended mnemonics) */ 217 { 0x41800000, "blt", {{16,5,CRF}, {2,14,PCREL}} }, 218 { 0x41800000, "blt", {{2,14,PCREL}} }, 219 { 0x41800001, "bltl", {{16,5,CRF}, {2,14,PCREL}} }, 220 { 0x41800001, "bltl", {{2,14,PCREL}} }, 221 { 0x40810000, "ble", {{16,5,CRF}, {2,14,PCREL}} }, 222 { 0x40810000, "ble", {{2,14,PCREL}} }, 223 { 0x40810001, "blel", {{16,5,CRF}, {2,14,PCREL}} }, 224 { 0x40810001, "blel", {{2,14,PCREL}} }, 225 { 0x41820000, "beq", {{16,5,CRF}, {2,14,PCREL}} }, 226 { 0x41820000, "beq", {{2,14,PCREL}} }, 227 { 0x41820001, "beql", {{16,5,CRF}, {2,14,PCREL}} }, 228 { 0x41820001, "beql", {{2,14,PCREL}} }, 229 { 0x40800000, "bge", {{16,5,CRF}, {2,14,PCREL}} }, 230 { 0x40800000, "bge", {{2,14,PCREL}} }, 231 { 0x40800001, "bgel", {{16,5,CRF}, {2,14,PCREL}} }, 232 { 0x40800001, "bgel", {{2,14,PCREL}} }, 233 { 0x41810000, "bgt", {{16,5,CRF}, {2,14,PCREL}} }, 234 { 0x41810000, "bgt", {{2,14,PCREL}} }, 235 { 0x41810001, "bgtl", {{16,5,CRF}, {2,14,PCREL}} }, 236 { 0x41810001, "bgtl", {{2,14,PCREL}} }, 237 { 0x40800000, "bnl", {{16,5,CRF}, {2,14,PCREL}} }, 238 { 0x40800000, "bnl", {{2,14,PCREL}} }, 239 { 0x40800001, "bnll", {{16,5,CRF}, {2,14,PCREL}} }, 240 { 0x40800001, "bnll", {{2,14,PCREL}} }, 241 { 0x40820000, "bne", {{16,5,CRF}, {2,14,PCREL}} }, 242 { 0x40820000, "bne", {{2,14,PCREL}} }, 243 { 0x40820001, "bnel", {{16,5,CRF}, {2,14,PCREL}} }, 244 { 0x40820001, "bnel", {{2,14,PCREL}} }, 245 { 0x40810000, "bng", {{16,5,CRF}, {2,14,PCREL}} }, 246 { 0x40810000, "bng", {{2,14,PCREL}} }, 247 { 0x40810001, "bngl", {{16,5,CRF}, {2,14,PCREL}} }, 248 { 0x40810001, "bngl", {{2,14,PCREL}} }, 249 { 0x41830000, "bso", {{16,5,CRF}, {2,14,PCREL}} }, 250 { 0x41830000, "bso", {{2,14,PCREL}} }, 251 { 0x41830001, "bsol", {{16,5,CRF}, {2,14,PCREL}} }, 252 { 0x41830001, "bsol", {{2,14,PCREL}} }, 253 { 0x40830000, "bns", {{16,5,CRF}, {2,14,PCREL}} }, 254 { 0x40830000, "bns", {{2,14,PCREL}} }, 255 { 0x40830001, "bnsl", {{16,5,CRF}, {2,14,PCREL}} }, 256 { 0x40830001, "bnsl", {{2,14,PCREL}} }, 257 { 0x41830000, "bun", {{16,5,CRF}, {2,14,PCREL}} }, 258 { 0x41830000, "bun", {{2,14,PCREL}} }, 259 { 0x41830001, "bunl", {{16,5,CRF}, {2,14,PCREL}} }, 260 { 0x41830001, "bunl", {{2,14,PCREL}} }, 261 { 0x40830000, "bnu", {{16,5,CRF}, {2,14,PCREL}} }, 262 { 0x40830000, "bnu", {{2,14,PCREL}} }, 263 { 0x40830001, "bnul", {{16,5,CRF}, {2,14,PCREL}} }, 264 { 0x40830001, "bnul", {{2,14,PCREL}} }, 265 266 { 0x41800002, "blta", {{16,5,CRF}, {2,14,BADDR}} }, 267 { 0x41800002, "blta", {{2,14,BADDR}} }, 268 { 0x41800003, "bltla", {{16,5,CRF}, {2,14,BADDR}} }, 269 { 0x41800003, "bltla", {{2,14,BADDR}} }, 270 { 0x40810002, "blea", {{16,5,CRF}, {2,14,BADDR}} }, 271 { 0x40810002, "blea", {{2,14,BADDR}} }, 272 { 0x40810003, "blela", {{16,5,CRF}, {2,14,BADDR}} }, 273 { 0x40810003, "blela", {{2,14,BADDR}} }, 274 { 0x41820002, "beqa", {{16,5,CRF}, {2,14,BADDR}} }, 275 { 0x41820002, "beqa", {{2,14,BADDR}} }, 276 { 0x41820003, "beqla", {{16,5,CRF}, {2,14,BADDR}} }, 277 { 0x41820003, "beqla", {{2,14,BADDR}} }, 278 { 0x40800002, "bgea", {{16,5,CRF}, {2,14,BADDR}} }, 279 { 0x40800002, "bgea", {{2,14,BADDR}} }, 280 { 0x40800003, "bgela", {{16,5,CRF}, {2,14,BADDR}} }, 281 { 0x40800003, "bgela", {{2,14,BADDR}} }, 282 { 0x41810002, "bgta", {{16,5,CRF}, {2,14,BADDR}} }, 283 { 0x41810002, "bgta", {{2,14,BADDR}} }, 284 { 0x41810003, "bgtla", {{16,5,CRF}, {2,14,BADDR}} }, 285 { 0x41810003, "bgtla", {{2,14,BADDR}} }, 286 { 0x40800002, "bnla", {{16,5,CRF}, {2,14,BADDR}} }, 287 { 0x40800002, "bnla", {{2,14,BADDR}} }, 288 { 0x40800003, "bnlla", {{16,5,CRF}, {2,14,BADDR}} }, 289 { 0x40800003, "bnlla", {{2,14,BADDR}} }, 290 { 0x40820002, "bnea", {{16,5,CRF}, {2,14,BADDR}} }, 291 { 0x40820002, "bnea", {{2,14,BADDR}} }, 292 { 0x40820003, "bnela", {{16,5,CRF}, {2,14,BADDR}} }, 293 { 0x40820003, "bnela", {{2,14,BADDR}} }, 294 { 0x40810002, "bnga", {{16,5,CRF}, {2,14,BADDR}} }, 295 { 0x40810002, "bnga", {{2,14,BADDR}} }, 296 { 0x40810003, "bngla", {{16,5,CRF}, {2,14,BADDR}} }, 297 { 0x40810003, "bngla", {{2,14,BADDR}} }, 298 { 0x41830002, "bsoa", {{16,5,CRF}, {2,14,BADDR}} }, 299 { 0x41830002, "bsoa", {{2,14,BADDR}} }, 300 { 0x41830003, "bsola", {{16,5,CRF}, {2,14,BADDR}} }, 301 { 0x41830003, "bsola", {{2,14,BADDR}} }, 302 { 0x40830002, "bnsa", {{16,5,CRF}, {2,14,BADDR}} }, 303 { 0x40830002, "bnsa", {{2,14,BADDR}} }, 304 { 0x40830003, "bnsla", {{16,5,CRF}, {2,14,BADDR}} }, 305 { 0x40830003, "bnsla", {{2,14,BADDR}} }, 306 { 0x41830002, "buna", {{16,5,CRF}, {2,14,BADDR}} }, 307 { 0x41830002, "buna", {{2,14,BADDR}} }, 308 { 0x41830003, "bunla", {{16,5,CRF}, {2,14,BADDR}} }, 309 { 0x41830003, "bunla", {{2,14,BADDR}} }, 310 { 0x40830002, "bnua", {{16,5,CRF}, {2,14,BADDR}} }, 311 { 0x40830002, "bnua", {{2,14,BADDR}} }, 312 { 0x40830003, "bnula", {{16,5,CRF}, {2,14,BADDR}} }, 313 { 0x40830003, "bnula", {{2,14,BADDR}} }, 314 315 { 0x4d800020, "bltlr", {{16,5,CRF}} }, 316 { 0x4d800020, "bltlr", {{16,5,CRF}, {11,2,NUM}} }, 317 { 0x4d800020, "bltlr", }, 318 { 0x4d800021, "bltlrl", {{16,5,CRF}} }, 319 { 0x4d800021, "bltlrl", {{16,5,CRF}, {11,2,NUM}} }, 320 { 0x4d800021, "bltlrl", }, 321 { 0x4c810020, "blelr", {{16,5,CRF}} }, 322 { 0x4c810020, "blelr", {{16,5,CRF}, {11,2,NUM}} }, 323 { 0x4c810020, "blelr", }, 324 { 0x4c810021, "blelrl", {{16,5,CRF}} }, 325 { 0x4c810021, "blelrl", {{16,5,CRF}, {11,2,NUM}} }, 326 { 0x4c810021, "blelrl", }, 327 { 0x4d820020, "beqlr", {{16,5,CRF}} }, 328 { 0x4d820020, "beqlr", {{16,5,CRF}, {11,2,NUM}} }, 329 { 0x4d820020, "beqlr", }, 330 { 0x4d820021, "beqlrl", {{16,5,CRF}} }, 331 { 0x4d820021, "beqlrl", {{16,5,CRF}, {11,2,NUM}} }, 332 { 0x4d820021, "beqlrl", }, 333 { 0x4c800020, "bgelr", {{16,5,CRF}} }, 334 { 0x4c800020, "bgelr", {{16,5,CRF}, {11,2,NUM}} }, 335 { 0x4c800020, "bgelr", }, 336 { 0x4c800021, "bgelrl", {{16,5,CRF}} }, 337 { 0x4c800021, "bgelrl", {{16,5,CRF}, {11,2,NUM}} }, 338 { 0x4c800021, "bgelrl", }, 339 { 0x4d810020, "bgtlr", {{16,5,CRF}} }, 340 { 0x4d810020, "bgtlr", {{16,5,CRF}, {11,2,NUM}} }, 341 { 0x4d810020, "bgtlr", }, 342 { 0x4d810021, "bgtlrl", {{16,5,CRF}} }, 343 { 0x4d810021, "bgtlrl", {{16,5,CRF}, {11,2,NUM}} }, 344 { 0x4d810021, "bgtlrl", }, 345 { 0x4c800020, "bnllr", {{16,5,CRF}} }, 346 { 0x4c800020, "bnllr", {{16,5,CRF}, {11,2,NUM}} }, 347 { 0x4c800020, "bnllr", }, 348 { 0x4c800021, "bnllrl", {{16,5,CRF}} }, 349 { 0x4c800021, "bnllrl", {{16,5,CRF}, {11,2,NUM}} }, 350 { 0x4c800021, "bnllrl", }, 351 { 0x4c820020, "bnelr", {{16,5,CRF}} }, 352 { 0x4c820020, "bnelr", {{16,5,CRF}, {11,2,NUM}} }, 353 { 0x4c820020, "bnelr", }, 354 { 0x4c820021, "bnelrl", {{16,5,CRF}} }, 355 { 0x4c820021, "bnelrl", {{16,5,CRF}, {11,2,NUM}} }, 356 { 0x4c820021, "bnelrl", }, 357 { 0x4c810020, "bnglr", {{16,5,CRF}} }, 358 { 0x4c810020, "bnglr", {{16,5,CRF}, {11,2,NUM}} }, 359 { 0x4c810020, "bnglr", }, 360 { 0x4c810021, "bnglrl", {{16,5,CRF}} }, 361 { 0x4c810021, "bnglrl", {{16,5,CRF}, {11,2,NUM}} }, 362 { 0x4c810021, "bnglrl", }, 363 { 0x4d830020, "bsolr", {{16,5,CRF}} }, 364 { 0x4d830020, "bsolr", {{16,5,CRF}, {11,2,NUM}} }, 365 { 0x4d830020, "bsolr", }, 366 { 0x4d830021, "bsolrl", {{16,5,CRF}} }, 367 { 0x4d830021, "bsolrl", {{16,5,CRF}, {11,2,NUM}} }, 368 { 0x4d830021, "bsolrl", }, 369 { 0x4c830020, "bnslr", {{16,5,CRF}} }, 370 { 0x4c830020, "bnslr", {{16,5,CRF}, {11,2,NUM}} }, 371 { 0x4c830020, "bnslr", }, 372 { 0x4c830021, "bnslrl", {{16,5,CRF}} }, 373 { 0x4c830021, "bnslrl", {{16,5,CRF}, {11,2,NUM}} }, 374 { 0x4c830021, "bnslrl", }, 375 { 0x4d830020, "bunlr", {{16,5,CRF}} }, 376 { 0x4d830020, "bunlr", {{16,5,CRF}, {11,2,NUM}} }, 377 { 0x4d830020, "bunlr", }, 378 { 0x4d830021, "bunlrl", {{16,5,CRF}} }, 379 { 0x4d830021, "bunlrl", {{16,5,CRF}, {11,2,NUM}} }, 380 { 0x4d830021, "bunlrl", }, 381 { 0x4c830020, "bnulr", {{16,5,CRF}} }, 382 { 0x4c830020, "bnulr", {{16,5,CRF}, {11,2,NUM}} }, 383 { 0x4c830020, "bnulr", }, 384 { 0x4c830021, "bnulrl", {{16,5,CRF}} }, 385 { 0x4c830021, "bnulrl", {{16,5,CRF}, {11,2,NUM}} }, 386 { 0x4c830021, "bnulrl", }, 387 388 { 0x4d800420, "bltctr", {{16,5,CRF}} }, 389 { 0x4d800420, "bltctr", {{16,5,CRF}, {11,2,NUM}} }, 390 { 0x4d800420, "bltctr", }, 391 { 0x4d800421, "bltctrl", {{16,5,CRF}} }, 392 { 0x4d800421, "bltctrl", {{16,5,CRF}, {11,2,NUM}} }, 393 { 0x4d800421, "bltctrl", }, 394 { 0x4c810420, "blectr", {{16,5,CRF}} }, 395 { 0x4c810420, "blectr", {{16,5,CRF}, {11,2,NUM}} }, 396 { 0x4c810420, "blectr", }, 397 { 0x4c810421, "blectrl", {{16,5,CRF}} }, 398 { 0x4c810421, "blectrl", {{16,5,CRF}, {11,2,NUM}} }, 399 { 0x4c810421, "blectrl", }, 400 { 0x4d820420, "beqctr", {{16,5,CRF}} }, 401 { 0x4d820420, "beqctr", {{16,5,CRF}, {11,2,NUM}} }, 402 { 0x4d820420, "beqctr", }, 403 { 0x4d820421, "beqctrl", {{16,5,CRF}} }, 404 { 0x4d820421, "beqctrl", {{16,5,CRF}, {11,2,NUM}} }, 405 { 0x4d820421, "beqctrl", }, 406 { 0x4c800420, "bgectr", {{16,5,CRF}} }, 407 { 0x4c800420, "bgectr", {{16,5,CRF}, {11,2,NUM}} }, 408 { 0x4c800420, "bgectr", }, 409 { 0x4c800421, "bgectrl", {{16,5,CRF}} }, 410 { 0x4c800421, "bgectrl", {{16,5,CRF}, {11,2,NUM}} }, 411 { 0x4c800421, "bgectrl", }, 412 { 0x4d810420, "bgtctr", {{16,5,CRF}} }, 413 { 0x4d810420, "bgtctr", {{16,5,CRF}, {11,2,NUM}} }, 414 { 0x4d810420, "bgtctr", }, 415 { 0x4d810421, "bgtctrl", {{16,5,CRF}} }, 416 { 0x4d810421, "bgtctrl", {{16,5,CRF}, {11,2,NUM}} }, 417 { 0x4d810421, "bgtctrl", }, 418 { 0x4c800420, "bnlctr", {{16,5,CRF}} }, 419 { 0x4c800420, "bnlctr", {{16,5,CRF}, {11,2,NUM}} }, 420 { 0x4c800420, "bnlctr", }, 421 { 0x4c800421, "bnlctrl", {{16,5,CRF}} }, 422 { 0x4c800421, "bnlctrl", {{16,5,CRF}, {11,2,NUM}} }, 423 { 0x4c800421, "bnlctrl", }, 424 { 0x4c820420, "bnectr", {{16,5,CRF}} }, 425 { 0x4c820420, "bnectr", {{16,5,CRF}, {11,2,NUM}} }, 426 { 0x4c820420, "bnectr", }, 427 { 0x4c820421, "bnectrl", {{16,5,CRF}} }, 428 { 0x4c820421, "bnectrl", {{16,5,CRF}, {11,2,NUM}} }, 429 { 0x4c820421, "bnectrl", }, 430 { 0x4c810420, "bngctr", {{16,5,CRF}} }, 431 { 0x4c810420, "bngctr", {{16,5,CRF}, {11,2,NUM}} }, 432 { 0x4c810420, "bngctr", }, 433 { 0x4c810421, "bngctrl", {{16,5,CRF}} }, 434 { 0x4c810421, "bngctrl", {{16,5,CRF}, {11,2,NUM}} }, 435 { 0x4c810421, "bngctrl", }, 436 { 0x4d830420, "bsoctr", {{16,5,CRF}} }, 437 { 0x4d830420, "bsoctr", {{16,5,CRF}, {11,2,NUM}} }, 438 { 0x4d830420, "bsoctr", }, 439 { 0x4d830421, "bsoctrl", {{16,5,CRF}} }, 440 { 0x4d830421, "bsoctrl", {{16,5,CRF}, {11,2,NUM}} }, 441 { 0x4d830421, "bsoctrl", }, 442 { 0x4c830420, "bnsctr", {{16,5,CRF}} }, 443 { 0x4c830420, "bnsctr", {{16,5,CRF}, {11,2,NUM}} }, 444 { 0x4c830420, "bnsctr", }, 445 { 0x4c830421, "bnsctrl", {{16,5,CRF}} }, 446 { 0x4c830421, "bnsctrl", {{16,5,CRF}, {11,2,NUM}} }, 447 { 0x4c830421, "bnsctrl", }, 448 { 0x4d830420, "bunctr", {{16,5,CRF}} }, 449 { 0x4d830420, "bunctr", {{16,5,CRF}, {11,2,NUM}} }, 450 { 0x4d830420, "bunctr", }, 451 { 0x4d830421, "bunctrl", {{16,5,CRF}} }, 452 { 0x4d830421, "bunctrl", {{16,5,CRF}, {11,2,NUM}} }, 453 { 0x4d830421, "bunctrl", }, 454 { 0x4c830420, "bnuctr", {{16,5,CRF}} }, 455 { 0x4c830420, "bnuctr", {{16,5,CRF}, {11,2,NUM}} }, 456 { 0x4c830420, "bnuctr", }, 457 { 0x4c830421, "bnuctrl", {{16,5,CRF}} }, 458 { 0x4c830421, "bnuctrl", {{16,5,CRF}, {11,2,NUM}} }, 459 { 0x4c830421, "bnuctrl", }, 460 461 { 0x2c000000, "cmpi", 462 {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} }, 463 { 0x2c000000, "cmpi", 464 {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {0,16,SI}} }, 465 { 0x2c000000, "cmpi", 466 {{23,3,NUM}, {16,5,GREG}, {0,16,SI}} }, 467 { 0x2c000000, "cmpi", 468 {{23,3,NUM}, {21,1,NUM}, {16,5,GREG}, {0,16,SI}} }, 469 { 0x2c000000, "cmpwi", {{16,5,GREG}, {0,16,SI}} }, 470 { 0x2c000000, "cmpwi", {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} }, 471 { 0x2c000000, "cmpwi", {{23,3,NUM}, {16,5,GREG}, {0,16,SI}} }, 472 { 0x2c200000, "cmpdi", {{16,5,GREG}, {0,16,SI}} }, 473 { 0x2c200000, "cmpdi", {{21,5,CRFONLY},{16,5,GREG}, {0,16,SI}} }, 474 { 0x2c200000, "cmpdi", {{23,3,NUM}, {16,5,GREG}, {0,16,SI}} }, 475 476 { 0x7c000000, "cmp", 477 {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 478 { 0x7c000000, "cmp", 479 {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {11,5,GREG}} }, 480 { 0x7c000000, "cmp", 481 {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 482 { 0x7c000000, "cmp", 483 {{23,3,NUM}, {21,1,NUM}, {16,5,GREG}, {11,5,GREG}} }, 484 { 0x7c000000, "cmpw", {{16,5,GREG}, {11,5,GREG}} }, 485 { 0x7c000000, "cmpw", {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 486 { 0x7c000000, "cmpw", {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 487 { 0x7c200000, "cmpd", {{16,5,GREG}, {11,5,GREG}} }, 488 { 0x7c200000, "cmpd", {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 489 { 0x7c200000, "cmpd", {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 490 491 { 0x28000000, "cmpli", 492 {{21,5,CRFONLY},{16,5,GREG}, {0,16,UI}} }, 493 { 0x28000000, "cmpli", 494 {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {0,16,UI}} }, 495 { 0x28000000, "cmpli", 496 {{23,3,NUM}, {16,5,GREG}, {0,16,UI}} }, 497 { 0x28000000, "cmpli", 498 {{23,3,NUM}, {21,1,NUM}, {16,5,GREG}, {0,16,UI}} }, 499 { 0x28000000, "cmplwi", {{16,5,GREG}, {0,16,UI}} }, 500 { 0x28000000, "cmplwi", {{21,5,CRFONLY},{16,5,GREG}, {0,16,UI}} }, 501 { 0x28000000, "cmplwi", {{23,3,NUM}, {16,5,GREG}, {0,16,UI}} }, 502 { 0x28200000, "cmpldi", {{16,5,GREG}, {0,16,UI}} }, 503 { 0x28200000, "cmpldi", {{21,5,CRFONLY},{16,5,GREG}, {0,16,UI}} }, 504 { 0x28200000, "cmpldi", {{23,3,NUM}, {16,5,GREG}, {0,16,UI}} }, 505 506 { 0x7c000040, "cmpl", 507 {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 508 { 0x7c000040, "cmpl", 509 {{21,5,CRFONLY},{21,1,NUM}, {16,5,GREG}, {11,5,GREG}} }, 510 { 0x7c000040, "cmpl", 511 {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 512 { 0x7c000040, "cmpl", 513 {{23,3,NUM}, {21,1,NUM}, {16,5,GREG}, {11,5,GREG}} }, 514 { 0x7c000040, "cmplw", {{16,5,GREG}, {11,5,GREG}} }, 515 { 0x7c000040, "cmplw", {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 516 { 0x7c000040, "cmplw", {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 517 { 0x7c200040, "cmpld", {{16,5,GREG}, {11,5,GREG}} }, 518 { 0x7c200040, "cmpld", {{21,5,CRFONLY},{16,5,GREG}, {11,5,GREG}} }, 519 { 0x7c200040, "cmpld", {{23,3,NUM}, {16,5,GREG}, {11,5,GREG}} }, 520 521 { 0x7c000034, "cntlzw", {{16,5,GREG}, {21,5,GREG}} }, 522 { 0x7c000035, "cntlzw.", {{16,5,GREG}, {21,5,GREG}} }, 523 { 0x7c000074, "cntlzd", {{16,5,GREG}, {21,5,GREG}}, IMPL64 }, 524 { 0x7c000075, "cntlzd.", {{16,5,GREG}, {21,5,GREG}}, IMPL64 }, 525 526 { 0x4c000202, "crand", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 527 { 0x4c000102, "crandc", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 528 { 0x4c000242, "creqv", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 529 { 0x4c0001c2, "crnand", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 530 { 0x4c000042, "crnor", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 531 { 0x4c000382, "cror", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 532 { 0x4c000342, "crorc", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 533 { 0x4c000182, "crxor", {{21,5,NUM}, {16,5,NUM}, {11,5,NUM}} }, 534 535 { 0x7c0003d2, "divd", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 536 { 0x7c0003d3, "divd.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 537 { 0x7c0007d2, "divdo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 538 { 0x7c0007d3, "divdo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 539 540 { 0x7c000392, "divdu", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 541 { 0x7c000393, "divdu.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 542 { 0x7c000792, "divduo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 543 { 0x7c000793, "divduo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 544 545 { 0x7c0003d6, "divw", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 546 { 0x7c0003d7, "divw.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 547 { 0x7c0007d6, "divwo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 548 { 0x7c0007d7, "divwo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 549 550 { 0x7c000396, "divwu", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 551 { 0x7c000397, "divwu.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 552 { 0x7c000796, "divwuo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 553 { 0x7c000797, "divwuo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 554 555 { 0x7c000238, "eqv", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 556 { 0x7c000239, "eqv.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 557 558 { 0x7c000774, "extsb", {{16,5,GREG}, {21,5,GREG}} }, 559 { 0x7c000775, "extsb.", {{16,5,GREG}, {21,5,GREG}} }, 560 { 0x7c000734, "extsh", {{16,5,GREG}, {21,5,GREG}} }, 561 { 0x7c000735, "extsh.", {{16,5,GREG}, {21,5,GREG}} }, 562 { 0x7c0007b4, "extsw", {{16,5,GREG}, {21,5,GREG}}, IMPL64 }, 563 { 0x7c0007b5, "extsw.", {{16,5,GREG}, {21,5,GREG}}, IMPL64 }, 564 565 { 0xfc00002a, "fadd", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 566 { 0xfc00002b, "fadd.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 567 { 0xec00002a, "fadds", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 568 { 0xec00002b, "fadds.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 569 { 0xfc000028, "fsub", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 570 { 0xfc000029, "fsub.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 571 { 0xec000028, "fsubs", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 572 { 0xec000029, "fsubs.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 573 { 0xfc000032, "fmul", {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}} }, 574 { 0xfc000033, "fmul.", {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}} }, 575 { 0xec000032, "fmuls", {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}} }, 576 { 0xec000033, "fmuls.", {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}} }, 577 { 0xfc000024, "fdiv", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 578 { 0xfc000025, "fdiv.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 579 { 0xec000024, "fdivs", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 580 { 0xec000025, "fdivs.", {{21,5,FREG}, {16,5,FREG}, {11,5,FREG}} }, 581 582 { 0xfc00003a, "fmadd", 583 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 584 { 0xfc00003b, "fmadd.", 585 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 586 { 0xec00003a, "fmadds", 587 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 588 { 0xec00003b, "fmadds.", 589 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 590 { 0xfc000038, "fmsub", 591 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 592 { 0xfc000039, "fmsub.", 593 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 594 { 0xec000038, "fmsubs", 595 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 596 { 0xec000039, "fmsubs.", 597 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 598 { 0xfc00003e, "fnmadd", 599 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 600 { 0xfc00003f, "fnmadd.", 601 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 602 { 0xec00003e, "fnmadds", 603 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 604 { 0xec00003f, "fnmadds.", 605 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 606 { 0xfc00003c, "fnmsub", 607 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 608 { 0xfc00003d, "fnmsub.", 609 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 610 { 0xec00003c, "fnmsubs", 611 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 612 { 0xec00003d, "fnmsubs.", 613 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 614 615 { 0xfc000090, "fmr", {{21,5,FREG}, {11,5,FREG}} }, 616 { 0xfc000091, "fmr.", {{21,5,FREG}, {11,5,FREG}} }, 617 { 0xfc000210, "fabs", {{21,5,FREG}, {11,5,FREG}} }, 618 { 0xfc000211, "fabs.", {{21,5,FREG}, {11,5,FREG}} }, 619 { 0xfc000050, "fneg", {{21,5,FREG}, {11,5,FREG}} }, 620 { 0xfc000051, "fneg.", {{21,5,FREG}, {11,5,FREG}} }, 621 { 0xfc000110, "fnabs", {{21,5,FREG}, {11,5,FREG}} }, 622 { 0xfc000111, "fnabs.", {{21,5,FREG}, {11,5,FREG}} }, 623 { 0xec000030, "fres", {{21,5,FREG}, {11,5,FREG}} }, 624 { 0xec000031, "fres.", {{21,5,FREG}, {11,5,FREG}} }, 625 { 0xfc000018, "frsp", {{21,5,FREG}, {11,5,FREG}} }, 626 { 0xfc000019, "frsp.", {{21,5,FREG}, {11,5,FREG}} }, 627 { 0xfc000034, "frsqrte", {{21,5,FREG}, {11,5,FREG}} }, 628 { 0xfc000035, "frsqrte.",{{21,5,FREG}, {11,5,FREG}} }, 629 { 0xfc00002e, "fsel", 630 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 631 { 0xfc00002f, "fsel.", 632 {{21,5,FREG}, {16,5,FREG}, {6,5,FREG}, {11,5,FREG}} }, 633 { 0xfc00002c, "fsqrt", {{21,5,FREG}, {11,5,FREG}}, OPTIONAL|CPU970 }, 634 { 0xfc00002d, "fsqrt.", {{21,5,FREG}, {11,5,FREG}}, OPTIONAL|CPU970 }, 635 { 0xec00002c, "fsqrts", {{21,5,FREG}, {11,5,FREG}}, OPTIONAL|CPU970 }, 636 { 0xec00002d, "fsqrts.", {{21,5,FREG}, {11,5,FREG}}, OPTIONAL|CPU970 }, 637 { 0xfc00065c, "fctid", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 638 { 0xfc00065d, "fctid.", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 639 { 0xfc00065e, "fctidz", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 640 { 0xfc00065f, "fctidz.", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 641 { 0xfc00001c, "fctiw", {{21,5,FREG}, {11,5,FREG}} }, 642 { 0xfc00001d, "fctiw.", {{21,5,FREG}, {11,5,FREG}} }, 643 { 0xfc00001e, "fctiwz", {{21,5,FREG}, {11,5,FREG}} }, 644 { 0xfc00001f, "fctiwz.", {{21,5,FREG}, {11,5,FREG}} }, 645 { 0xfc00069c, "fcfid", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 646 { 0xfc00069d, "fcfid.", {{21,5,FREG}, {11,5,FREG}}, IMPL64 }, 647 648 { 0xfc000000, "fcmpu", {{21,5,CRFONLY},{16,5,FREG}, {11,5,FREG}} }, 649 { 0xfc000000, "fcmpu", {{23,3,NUM}, {16,5,FREG}, {11,5,FREG}} }, 650 { 0xfc000040, "fcmpo", {{21,5,CRFONLY},{16,5,FREG}, {11,5,FREG}} }, 651 { 0xfc000040, "fcmpo", {{23,3,NUM}, {16,5,FREG}, {11,5,FREG}} }, 652 { 0xfc00048e, "mffs", {{21,5,FREG}} }, 653 { 0xfc00048f, "mffs.", {{21,5,FREG}} }, 654 { 0xfc000080, "mcrfs", {{21,5,CRFONLY},{18,5,NUM}} }, 655 { 0xfc000080, "mcrfs", {{23,3,NUM}, {18,5,NUM}} }, 656 { 0xfc00010c, "mtfsfi", {{23,3,NUM}, {12,4,NUM}} }, 657 { 0xfc00010d, "mtfsfi.", {{23,3,NUM}, {12,4,NUM}} }, 658 { 0xfc00058e, "mtfsf", {{17,8,NUM}, {11,5,FREG}} }, 659 { 0xfc00058f, "mtfsf.", {{17,8,NUM}, {11,5,FREG}} }, 660 { 0xfc00008c, "mtfsb0", {{21,5,NUM}} }, 661 { 0xfc00008d, "mtfsb0.", {{21,5,NUM}} }, 662 { 0xfc00004c, "mtfsb1", {{21,5,NUM}} }, 663 { 0xfc00004d, "mtfsb1.", {{21,5,NUM}} }, 664 665 { 0x88000000, "lbz", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 666 { 0x7c0000ae, "lbzx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 667 { 0x8c000000, "lbzu", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 668 { 0x7c0000ee, "lbzux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 669 { 0xa0000000, "lhz", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 670 { 0x7c00022e, "lhzx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 671 { 0xa4000000, "lhzu", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 672 { 0x7c00026e, "lhzux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 673 { 0xa8000000, "lha", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 674 { 0x7c0002ae, "lhax", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 675 { 0xac000000, "lhau", {{21,5,GREG}, {0,16,D}, {16,5,GREG}} }, 676 { 0x7c0002ee, "lhaux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 677 { 0x80000000, "lwz", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 678 { 0x7c00002e, "lwzx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 679 { 0x84000000, "lwzu", {{21,5,GREG}, {0,16,D}, {16,5,GREG}} }, 680 { 0x7c00006e, "lwzux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 681 { 0xe8000002, "lwa", {{21,5,GREG}, {2,14,DS}, {16,5,G0REG}}, IMPL64 }, 682 { 0x7c0002aa, "lwax", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}}, IMPL64 }, 683 { 0x7c0002ea, "lwaux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 684 { 0xe8000000, "ld", {{21,5,GREG}, {2,14,DS}, {16,5,G0REG}}, IMPL64 }, 685 { 0x7c00002a, "ldx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}}, IMPL64 }, 686 { 0xe8000001, "ldu", {{21,5,GREG}, {2,14,DS}, {16,5,GREG}}, IMPL64 }, 687 { 0x7c00006a, "ldux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 688 689 { 0xb8000000, "lmw", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 690 { 0xbc000000, "stmw", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 691 692 { 0x7c00062c, "lhbrx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 693 { 0x7c00042c, "lwbrx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 694 { 0x7c00042a, "lswx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 695 { 0x7c000028, "lwarx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}} }, 696 { 0x7c0000a8, "ldarx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}}, IMPL64 }, 697 698 { 0x7c00022a, "lscbx", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}}, CPU601 }, 699 { 0x7c00022b, "lscbx.", {{21,5,GREG}, {16,5,G0REG}, {11,5,GREG}}, CPU601 }, 700 701 { 0x7c0004aa, "lswi", {{21,5,GREG}, {16,5,G0REG}, {11,5,NUM0}} }, 702 703 { 0xc0000000, "lfs", {{21,5,FREG}, {0,16,D}, {16,5,G0REG}} }, 704 { 0xc4000000, "lfsu", {{21,5,FREG}, {0,16,D}, {16,5,GREG}} }, 705 { 0x7c00042e, "lfsx", {{21,5,FREG}, {16,5,G0REG}, {11,5,GREG}} }, 706 { 0x7c00046e, "lfsux", {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} }, 707 { 0xc8000000, "lfd", {{21,5,FREG}, {0,16,D}, {16,5,G0REG}} }, 708 { 0xcc000000, "lfdu", {{21,5,FREG}, {0,16,D}, {16,5,GREG}} }, 709 { 0x7c0004ae, "lfdx", {{21,5,FREG}, {16,5,G0REG}, {11,5,GREG}} }, 710 { 0x7c0004ee, "lfdux", {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} }, 711 712 { 0x38000000, "la", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 713 714 { 0x4c000000, "mcrf", {{21,5,CRFONLY},{16,5,CRFONLY}} }, 715 { 0x4c000000, "mcrf", {{23,3,NUM}, {18,3,NUM}} }, 716 717 { 0x7c0002a6, "mfspr", {{21,5,GREG}, {11,10,SPREG}} }, 718 { 0x7c0003a6, "mtspr", {{11,10,SPREG},{21,5,GREG}} }, 719 { 0x7c000120, "mtcrf", {{12,8,FXM}, {21,5,GREG}} }, 720 { 0x7c000120, "mtocrf", {{12,8,FXM}, {21,5,GREG}} }, 721 { 0x7c000400, "mcrxr", {{21,5,CRFONLY}} }, 722 { 0x7c000400, "mcrxr", {{23,3,NUM}} }, 723 { 0x7c000026, "mfcr", {{21,5,GREG}} }, 724 { 0x7c100026, "mfcr", {{21,5,GREG}, {12,8,FXM}} }, 725 { 0x7c100026, "mfocrf", {{21,5,GREG}, {12,8,FXM}} }, 726 727/* Move to/from spr mnemonics (assember extended mnemonics) */ 728 { 0x7c0102a6, "mfxer", {{21,5,GREG}} }, 729 { 0x7c0802a6, "mflr", {{21,5,GREG}} }, 730 { 0x7c0902a6, "mfctr", {{21,5,GREG}} }, 731 { 0x7c0103a6, "mtxer", {{21,5,GREG}} }, 732 { 0x7c0803a6, "mtlr", {{21,5,GREG}} }, 733 { 0x7c0903a6, "mtctr", {{21,5,GREG}} }, 734 { 0x7c0002a6, "mfmq", {{21,5,GREG}} }, 735 { 0x7c0502a6, "mfrtcl", {{21,5,GREG}} }, 736 { 0x7c0402a6, "mfrtcu", {{21,5,GREG}} }, 737 { 0x7c0003a6, "mtmq", {{21,5,GREG}} }, 738 { 0x7c1503a6, "mtrtcl", {{21,5,GREG}} }, 739 { 0x7c1403a6, "mtrtcu", {{21,5,GREG}} }, 740 741#ifdef NRW_COMPILER 742 { 0x7c0001d6, "mull", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 743 { 0x7c0001d7, "mull.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 744 { 0x7c0005d6, "mullo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 745 { 0x7c0005d7, "mullo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 746#endif /* NRW_COMPILER */ 747 { 0x7c0001d6, "mullw", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 748 { 0x7c0001d7, "mullw.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 749 { 0x7c0005d6, "mullwo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 750 { 0x7c0005d7, "mullwo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 751 752 { 0x7c000092, "mulhd", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 753 { 0x7c000093, "mulhd.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 754 755#ifdef NRW_COMPILER 756 { 0x7c000096, "mulwd", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 757 { 0x7c000097, "mulwd.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 758#endif /* NRW_COMPILER */ 759 { 0x7c000096, "mulhw", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 760 { 0x7c000097, "mulhw.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 761 762 { 0x7c000012, "mulhdu", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 763 { 0x7c000013, "mulhdu.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 764 765 { 0x7c000016, "mulhwu", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 766 { 0x7c000017, "mulhwu.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 767 768 { 0x7c0001d2, "mulld", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 769 { 0x7c0001d3, "mulld.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 770 { 0x7c0005d2, "mulldo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 771 { 0x7c0005d3, "mulldo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 772 773 { 0x7c0003b8, "nand", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 774 { 0x7c0003b9, "nand.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 775 776 { 0x7c0000d0, "neg", {{21,5,GREG}, {16,5,GREG}} }, 777 { 0x7c0000d1, "neg.", {{21,5,GREG}, {16,5,GREG}} }, 778 { 0x7c0004d0, "nego", {{21,5,GREG}, {16,5,GREG}} }, 779 { 0x7c0004d1, "nego.", {{21,5,GREG}, {16,5,GREG}} }, 780 781 { 0x7c0000f8, "nor", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 782 { 0x7c0000f9, "nor.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 783 784/* Miscellaneous mnemonics (assember extended mnemonics) */ 785 { 0x60000000, "nop", }, 786 787 { 0x60000000, "ori", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 788 { 0x60000000, "ori", {{16,5,ZERO}, {21,5,ZERO}, {0,16,ZERO}} }, 789 { 0x64000000, "oris", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 790 { 0x7c000378, "or", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 791 { 0x7c000379, "or.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 792 793 { 0x7c000338, "orc", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 794 { 0x7c000339, "orc.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 795 796 { 0x78000000, "rldicl", 797 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 798 { 0x78000001, "rldicl.", 799 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 800 { 0x78000004, "rldicr", 801 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 802 { 0x78000005, "rldicr.", 803 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 804 { 0x78000008, "rldic", 805 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 806 { 0x78000009, "rldic.", 807 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 808 { 0x7800000c, "rldimi", 809 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 810 { 0x7800000d, "rldimi.", 811 {{16,5,GREG}, {21,5,GREG}, {0,0,sh}, {0,0,mb}}, IMPL64 }, 812 { 0x78000010, "rldcl", 813 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}}, IMPL64 }, 814 { 0x78000011, "rldcl.", 815 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}}, IMPL64 }, 816 { 0x78000012, "rldcr", 817 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}}, IMPL64 }, 818 { 0x78000013, "rldcr.", 819 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {0,0,mb}}, IMPL64 }, 820 821 { 0x54000000, "rlwinm", 822 {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,MBE}, {1,5,MBE}} }, 823 { 0x54000001, "rlwinm.", 824 {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,MBE}, {1,5,MBE}} }, 825 { 0x5c000000, "rlwnm", 826 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,MBE}, {1,5,MBE}} }, 827 { 0x5c000001, "rlwnm.", 828 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,MBE}, {1,5,MBE}} }, 829 { 0x50000000, "rlwimi", 830 {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,MBE}, {1,5,MBE}} }, 831 { 0x50000001, "rlwimi.", 832 {{16,5,GREG}, {21,5,GREG}, {11,5,NUM0}, {6,5,MBE}, {1,5,MBE}} }, 833 834 { 0x44000002, "sc", }, 835 { 0x4c000024, "rfid", {{0}}, IMPL64|OPTIONAL }, 836 837 { 0x7c000030, "slw", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 838 { 0x7c000031, "slw.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 839 { 0x7c000036, "sld", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 840 { 0x7c000037, "sld.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 841 842 { 0x7c000430, "srw", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 843 { 0x7c000431, "srw.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 844 { 0x7c000436, "srd", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 845 { 0x7c000437, "srd.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 846 847 { 0x7c000670, "srawi", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} }, 848 { 0x7c000671, "srawi.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}} }, 849 { 0x7c000674, "sradi", {{16,5,GREG}, {21,5,GREG}, {0, 0,sh}}, IMPL64 }, 850 { 0x7c000675, "sradi.", {{16,5,GREG}, {21,5,GREG}, {0, 0,sh}}, IMPL64 }, 851 852 { 0x7c000630, "sraw", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 853 { 0x7c000631, "sraw.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 854 { 0x7c000634, "srad", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 855 { 0x7c000635, "srad.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, IMPL64 }, 856 857 { 0x98000000, "stb", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 858 { 0x9c000000, "stbu", {{21,5,GREG}, {0,16,D}, {16,5,GREG}} }, 859 { 0x7c0001ae, "stbx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 860 { 0x7c0001ee, "stbux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 861 { 0xb0000000, "sth", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 862 { 0xb4000000, "sthu", {{21,5,GREG}, {0,16,D}, {16,5,GREG}} }, 863 { 0x7c00032e, "sthx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 864 { 0x7c00036e, "sthux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 865 { 0x90000000, "stw", {{21,5,GREG}, {0,16,D}, {16,5,G0REG}} }, 866 { 0x94000000, "stwu", {{21,5,GREG}, {0,16,D}, {16,5,GREG}} }, 867 { 0x7c00012e, "stwx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 868 { 0x7c00016e, "stwux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 869 { 0xf8000000, "std", {{21,5,GREG}, {2,14,DS}, {16,5,G0REG}}, IMPL64 }, 870 { 0xf8000001, "stdu", {{21,5,GREG}, {2,14,DS}, {16,5,GREG}}, IMPL64 }, 871 { 0x7c00012a, "stdx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}}, IMPL64 }, 872 { 0x7c00016a, "stdux", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 873 874 { 0x7c00072c, "sthbrx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 875 { 0x7c00052c, "stwbrx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 876 { 0x7c00052a, "stswx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 877 { 0x7c00012d, "stwcx.", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}} }, 878 { 0x7c0001ad, "stdcx.", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}}, IMPL64 }, 879 880 { 0x7c0005aa, "stswi", {{21,5,GREG}, {16,5,G0REG},{11,5,NUM0}} }, 881 882 { 0x7c0007ae, "stfiwx", {{21,5,FREG}, {16,5,G0REG},{11,5,GREG}}, }, 883 884 { 0xd0000000, "stfs", {{21,5,FREG}, {0,16,D}, {16,5,G0REG}} }, 885 { 0xd4000000, "stfsu", {{21,5,FREG}, {0,16,D}, {16,5,GREG}} }, 886 { 0x7c00052e, "stfsx", {{21,5,FREG}, {16,5,G0REG},{11,5,GREG}} }, 887 { 0x7c00056e, "stfsux", {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} }, 888 { 0xd8000000, "stfd", {{21,5,FREG}, {0,16,D}, {16,5,G0REG}} }, 889 { 0xdc000000, "stfdu", {{21,5,FREG}, {0,16,D}, {16,5,GREG}} }, 890 { 0x7c0005ae, "stfdx", {{21,5,FREG}, {16,5,G0REG},{11,5,GREG}} }, 891 { 0x7c0005ee, "stfdux", {{21,5,FREG}, {16,5,GREG}, {11,5,GREG}} }, 892 893 { 0x20000000, "subfic", {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} }, 894 { 0x7c000050, "sub", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 895 { 0x7c000051, "sub.", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 896 { 0x7c000450, "subo", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 897 { 0x7c000451, "subo.", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 898 { 0x7c000050, "subf", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 899 { 0x7c000051, "subf.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 900 { 0x7c000450, "subfo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 901 { 0x7c000451, "subfo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 902 903 { 0x7c000010, "subc", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 904 { 0x7c000011, "subc.", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 905 { 0x7c000410, "subco", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 906 { 0x7c000411, "subco.", {{21,5,GREG}, {11,5,GREG}, {16,5,GREG}} }, 907 { 0x7c000010, "subfc", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 908 { 0x7c000011, "subfc.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 909 { 0x7c000410, "subfco", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 910 { 0x7c000411, "subfco.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 911 912 { 0x7c000110, "subfe", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 913 { 0x7c000111, "subfe.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 914 { 0x7c000510, "subfeo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 915 { 0x7c000511, "subfeo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}} }, 916 917 { 0x7c0001d0, "subfme", {{21,5,GREG}, {16,5,GREG}} }, 918 { 0x7c0001d1, "subfme.", {{21,5,GREG}, {16,5,GREG}} }, 919 { 0x7c0005d0, "subfmeo", {{21,5,GREG}, {16,5,GREG}} }, 920 { 0x7c0005d1, "subfmeo.",{{21,5,GREG}, {16,5,GREG}} }, 921 922 { 0x7c000190, "subfze", {{21,5,GREG}, {16,5,GREG}} }, 923 { 0x7c000191, "subfze.", {{21,5,GREG}, {16,5,GREG}} }, 924 { 0x7c000590, "subfzeo", {{21,5,GREG}, {16,5,GREG}} }, 925 { 0x7c000591, "subfzeo.",{{21,5,GREG}, {16,5,GREG}} }, 926 927 { 0x7c0004ac, "sync", }, 928 { 0x7c0004ac, "sync", {{21,2,NUM}} }, 929 { 0x7c2004ac, "lwsync", }, 930 { 0x7c4004ac, "ptesync", }, 931 932 { 0x08000000, "tdi", {{21,5,NUM}, {16,5,GREG}, {0,16,SI}}, IMPL64 }, 933 { 0x0a000000, "tdlti", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 934 { 0x0a800000, "tdlei", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 935 { 0x08800000, "tdeqi", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 936 { 0x09800000, "tdgei", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 937 { 0x09000000, "tdgti", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 938 { 0x09800000, "tdnli", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 939 { 0x0b000000, "tdnei", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 940 { 0x0a800000, "tdngi", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 941 { 0x08400000, "tdllti", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 942 { 0x08c00000, "tdllei", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 943 { 0x08a00000, "tdlgei", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 944 { 0x08200000, "tdlgti", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 945 { 0x08a00000, "tdlnli", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 946 { 0x08c00000, "tdlngi", {{16,5,GREG}, {0,16,SI}}, IMPL64 }, 947 948 { 0x7c000088, "td", {{21,5,NUM}, {16,5,GREG}, {11,5,GREG}}, IMPL64 }, 949 { 0x7e000088, "tdlt", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 950 { 0x7e800088, "tdle", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 951 { 0x7c800088, "tdeq", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 952 { 0x7d800088, "tdge", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 953 { 0x7d000088, "tdgt", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 954 { 0x7d800088, "tdnl", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 955 { 0x7f000088, "tdne", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 956 { 0x7e800088, "tdng", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 957 { 0x7c400088, "tdllt", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 958 { 0x7cc00088, "tdlle", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 959 { 0x7ca00088, "tdlge", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 960 { 0x7c200088, "tdlgt", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 961 { 0x7ca00088, "tdlnl", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 962 { 0x7cc00088, "tdlng", {{16,5,GREG}, {11,5,GREG}}, IMPL64 }, 963 964 { 0x0c000000, "twi", {{21,5,NUM}, {16,5,GREG}, {0,16,SI}} }, 965 { 0x0e000000, "twlti", {{16,5,GREG}, {0,16,SI}} }, 966 { 0x0e800000, "twlei", {{16,5,GREG}, {0,16,SI}} }, 967 { 0x0c800000, "tweqi", {{16,5,GREG}, {0,16,SI}} }, 968 { 0x0d800000, "twgei", {{16,5,GREG}, {0,16,SI}} }, 969 { 0x0d000000, "twgti", {{16,5,GREG}, {0,16,SI}} }, 970 { 0x0d800000, "twnli", {{16,5,GREG}, {0,16,SI}} }, 971 { 0x0f000000, "twnei", {{16,5,GREG}, {0,16,SI}} }, 972 { 0x0e800000, "twngi", {{16,5,GREG}, {0,16,SI}} }, 973 { 0x0c400000, "twllti", {{16,5,GREG}, {0,16,SI}} }, 974 { 0x0cc00000, "twllei", {{16,5,GREG}, {0,16,SI}} }, 975 { 0x0ca00000, "twlgei", {{16,5,GREG}, {0,16,SI}} }, 976 { 0x0c200000, "twlgti", {{16,5,GREG}, {0,16,SI}} }, 977 { 0x0ca00000, "twlnli", {{16,5,GREG}, {0,16,SI}} }, 978 { 0x0cc00000, "twlngi", {{16,5,GREG}, {0,16,SI}} }, 979 980 { 0x7c000008, "tw", {{21,5,NUM}, {16,5,GREG}, {11,5,GREG}} }, 981 { 0x7c000008, "tw", {{21,5,NUM}, {16,5,ZERO}, {11,5,ZERO}} }, 982 { 0x7e000008, "twlt", {{16,5,GREG}, {11,5,GREG}} }, 983 { 0x7e800008, "twle", {{16,5,GREG}, {11,5,GREG}} }, 984 { 0x7c800008, "tweq", {{16,5,GREG}, {11,5,GREG}} }, 985 { 0x7d800008, "twge", {{16,5,GREG}, {11,5,GREG}} }, 986 { 0x7d000008, "twgt", {{16,5,GREG}, {11,5,GREG}} }, 987 { 0x7d800008, "twnl", {{16,5,GREG}, {11,5,GREG}} }, 988 { 0x7f000008, "twne", {{16,5,GREG}, {11,5,GREG}} }, 989 { 0x7e800008, "twng", {{16,5,GREG}, {11,5,GREG}} }, 990 { 0x7c400008, "twllt", {{16,5,GREG}, {11,5,GREG}} }, 991 { 0x7cc00008, "twlle", {{16,5,GREG}, {11,5,GREG}} }, 992 { 0x7ca00008, "twlge", {{16,5,GREG}, {11,5,GREG}} }, 993 { 0x7c200008, "twlgt", {{16,5,GREG}, {11,5,GREG}} }, 994 { 0x7ca00008, "twlnl", {{16,5,GREG}, {11,5,GREG}} }, 995 { 0x7cc00008, "twlng", {{16,5,GREG}, {11,5,GREG}} }, 996 { 0x7fe00008, "trap", }, 997 998 { 0x68000000, "xori", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 999 { 0x6c000000, "xoris", {{16,5,GREG}, {21,5,GREG}, {0,16,UI}} }, 1000 { 0x7c000278, "xor", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 1001 { 0x7c000279, "xor.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}} }, 1002 1003/* Cache Management Instructions (from book II) */ 1004 { 0x7c0007ac, "icbi", {{16,5,G0REG}, {11,5,GREG}} }, 1005 { 0x4c00012c, "isync", }, 1006 { 0x7c00022c, "dcbt", {{16,5,G0REG}, {11,5,GREG}} }, 1007 { 0x7c00022c, "dcbt", {{16,5,G0REG}, {11,5,GREG}, {21,4,NUM}}, }, 1008 { 0x7c0001ec, "dcbtst", {{16,5,G0REG}, {11,5,GREG}} }, 1009 { 0x7c00022c, "dcbt128", {{16,5,G0REG}, {11,5,GREG}, {21,4,NUM}}, 1010 IMPL64|OPTIONAL }, 1011 { 0x7c0007ec, "dcbz", {{16,5,G0REG}, {11,5,GREG}} }, 1012 { 0x7c2007ec, "dcbzl", {{16,5,G0REG}, {11,5,GREG}} }, 1013 { 0x7c2007ec, "dcbz128", {{16,5,G0REG}, {11,5,GREG}}, IMPL64|OPTIONAL }, 1014 { 0x7c00006c, "dcbst", {{16,5,G0REG}, {11,5,GREG}} }, 1015 { 0x7c0000ac, "dcbf", {{16,5,G0REG}, {11,5,GREG}} }, 1016 { 0x7c00026c, "eciwx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}}, 1017 OPTIONAL|CPU970 }, 1018 { 0x7c00036c, "ecowx", {{21,5,GREG}, {16,5,G0REG},{11,5,GREG}}, 1019 OPTIONAL|CPU970 }, 1020 { 0x7c0006ac, "eieio", }, 1021/* Instructions (from book III) */ 1022 { 0x4c000064, "rfi", }, 1023 { 0x7c000124, "mtmsr", {{21,5,GREG}} }, 1024 { 0x7c000164, "mtmsrd", {{21,5,GREG}}, IMPL64|OPTIONAL }, 1025 { 0x7c000164, "mtmsrd", {{21,5,GREG}, {16,1,NUM}}, IMPL64|OPTIONAL }, 1026 { 0x7c0000a6, "mfmsr", {{21,5,GREG}} }, 1027 { 0x7c0005ec, "dcba", {{16,5,G0REG},{11,5,GREG}}, OPTIONAL }, 1028 { 0x7c0003ac, "dcbi", {{16,5,G0REG},{11,5,GREG}} }, 1029 { 0x7c0001a4, "mtsr", {{16,4,SGREG},{21,5,GREG}} }, 1030 { 0x7c0004a6, "mfsr", {{21,5,GREG},{16,4,SGREG}} }, 1031 { 0x7c0001e4, "mtsrin", {{21,5,GREG}, {11,5,GREG}} }, 1032 { 0x7c000526, "mfsrin", {{21,5,GREG}, {11,5,GREG}} }, 1033 { 0x7c000364, "slbie", {{11,5,GREG}}, IMPL64|OPTIONAL }, 1034 { 0x7c0003e4, "slbia", {{0}}, IMPL64|OPTIONAL }, 1035 { 0x7c000324, "slbmte", {{21,5,GREG}, {11,5,GREG}}, IMPL64|OPTIONAL }, 1036 { 0x7c0006a6, "slbmfev", {{21,5,GREG}, {11,5,GREG}}, IMPL64|OPTIONAL }, 1037 { 0x7c000726, "slbmfee", {{21,5,GREG}, {11,5,GREG}}, IMPL64|OPTIONAL }, 1038 { 0x7c000264, "tlbie", {{11,5,GREG}}, OPTIONAL|CPU970 }, 1039 { 0x7c000264, "tlbie", {{11,5,GREG}, {21,1,NUM}}, IMPL64|OPTIONAL|CPU970 }, 1040 { 0x7c000224, "tlbiel", {{11,5,GREG}}, IMPL64|OPTIONAL }, 1041 { 0x7c0002e4, "tlbia", {{0}}, OPTIONAL|CPU970 }, 1042 { 0x7c00046c, "tlbsync", {{0}}, OPTIONAL|CPU970 }, 1043 { 0x7c1c43a6, "mttbl", {{21,5,GREG}} }, 1044 { 0x7c1d43a6, "mttbu", {{21,5,GREG}} }, 1045 { 0x7c0002e6, "mftb", {{21,5,GREG}, {11,10,SPREG}} }, 1046 { 0x7c0c42e6, "mftb", {{21,5,GREG}} }, 1047 { 0x7c0d42e6, "mftbu", {{21,5,GREG}} }, 1048 { 0x00000200, "attn", {{11,15,NUM}}, OPTIONAL|CPU970 }, 1049 1050/* Instructions (from book IV) */ 1051 { 0x24000000, "dozi", {{21,5,GREG}, {16,5,GREG}, {0,16,SI}}, CPU601 }, 1052 { 0x7c000210, "doz", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1053 { 0x7c000211, "doz.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1054 { 0x7c000610, "dozo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1055 { 0x7c000611, "dozo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1056 1057 { 0x7c0002d0, "abs", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1058 { 0x7c0002d1, "abs.", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1059 { 0x7c0006d0, "abso", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1060 { 0x7c0006d1, "abso.", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1061 1062 { 0x7c0003d0, "nabs", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1063 { 0x7c0003d1, "nabs.", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1064 { 0x7c0007d0, "nabso", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1065 { 0x7c0007d1, "nabso.", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1066 1067 { 0x1c000000, "mulli", {{21,5,GREG}, {16,5,GREG}, {0,16,SI}} }, 1068 1069 { 0x7c0000d6, "mul", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1070 { 0x7c0000d7, "mul.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1071 { 0x7c0004d6, "mulo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1072 { 0x7c0004d7, "mulo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1073 1074 { 0x7c000296, "div", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1075 { 0x7c000297, "div.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1076 { 0x7c000696, "divo", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1077 { 0x7c000697, "divo.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1078 1079 { 0x7c0002d6, "divs", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1080 { 0x7c0002d7, "divs.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1081 { 0x7c0006d6, "divso", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1082 { 0x7c0006d7, "divso.", {{21,5,GREG}, {16,5,GREG}, {11,5,GREG}}, CPU601 }, 1083 1084 { 0x58000000, "rlmi", 1085 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,MBE}, {1,5,MBE}}, CPU601 }, 1086 { 0x58000001, "rlmi.", 1087 {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}, {6,5,MBE}, {1,5,MBE}}, CPU601 }, 1088 1089 { 0x7c000432, "rrib", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1090 { 0x7c000433, "rrib.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1091 1092 { 0x7c00003a, "maskg", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1093 { 0x7c00003b, "maskg.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1094 1095 { 0x7c00043a, "maskir", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1096 { 0x7c00043b, "maskir.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1097 1098 { 0x7c000130, "slq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1099 { 0x7c000131, "slq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1100 1101 { 0x7c000530, "srq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1102 { 0x7c000531, "srq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1103 1104 { 0x7c000170, "sliq", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1105 { 0x7c000171, "sliq.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1106 1107 { 0x7c000570, "sriq", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1108 { 0x7c000571, "sriq.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1109 1110 { 0x7c0001f0, "slliq", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1111 { 0x7c0001f1, "slliq.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1112 1113 { 0x7c0005f0, "srliq", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1114 { 0x7c0005f1, "srliq.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1115 1116 { 0x7c0001b0, "sllq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1117 { 0x7c0001b1, "sllq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1118 1119 { 0x7c0005b0, "srlq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1120 { 0x7c0005b1, "srlq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1121 1122 { 0x7c000132, "sle", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1123 { 0x7c000133, "sle.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1124 1125 { 0x7c000532, "sre", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1126 { 0x7c000533, "sre.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1127 1128 { 0x7c0001b2, "sleq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1129 { 0x7c0001b3, "sleq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1130 1131 { 0x7c0005b2, "sreq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1132 { 0x7c0005b3, "sreq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1133 1134 { 0x7c000770, "sraiq", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1135 { 0x7c000771, "sraiq.", {{16,5,GREG}, {21,5,GREG}, {11,5,NUM}}, CPU601 }, 1136 1137 { 0x7c000730, "sraq", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1138 { 0x7c000731, "sraq.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1139 1140 { 0x7c000732, "srea", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1141 { 0x7c000733, "srea.", {{16,5,GREG}, {21,5,GREG}, {11,5,GREG}}, CPU601 }, 1142 1143/* Added from the PowerPC 601 book */ 1144 { 0x7c000426, "clcs", {{21,5,GREG}, {16,5,GREG}}, CPU601 }, 1145 1146/* Added from the PowerPC 603 book. 1147 * These are really 603 specific instructions but we mark them as OPTIONAL 1148 * so that the -force_cpusubtype_ALL flag as to be used. This makes it so 1149 * only 601 instructions will cause the cputype to be set to other an ALL. 1150 */ 1151 { 0x7c0007a4, "tlbld", {{11,5,GREG}}, OPTIONAL }, 1152 { 0x7c0007e4, "tlbli", {{11,5,GREG}}, OPTIONAL }, 1153 1154/* VMX Instructions */ 1155 { 0x7c00000e, "lvebx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1156 { 0x7c00004e, "lvehx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1157 { 0x7c00008e, "lvewx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1158 { 0x7c0000ce, "lvx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1159 { 0x7c0002ce, "lvxl", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1160 1161 { 0x7c00010e, "stvebx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1162 { 0x7c00014e, "stvehx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1163 { 0x7c00018e, "stvewx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1164 { 0x7c0001ce, "stvx", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1165 { 0x7c0003ce, "stvxl", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1166 1167 { 0x7c00000c, "lvsl", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1168 { 0x7c00004c, "lvsr", {{21,5,VREG}, {16,5,G0REG}, {11,5,GREG}}, VMX }, 1169 1170 { 0x10000644, "mtvscr", {{11,5,VREG}}, VMX }, 1171 { 0x10000604, "mfvscr", {{21,5,VREG}}, VMX }, 1172 1173 { 0x7c0002ac, "dst", {{16,5,GREG}, {11,5,GREG}, {21,2,NUM}}, VMX }, 1174 { 0x7e0002ac, "dstt", {{16,5,GREG}, {11,5,GREG}, {21,2,NUM}}, VMX }, 1175 { 0x7c0002ec, "dstst", {{16,5,GREG}, {11,5,GREG}, {21,2,NUM}}, VMX }, 1176 { 0x7e0002ec, "dststt", {{16,5,GREG}, {11,5,GREG}, {21,2,NUM}}, VMX }, 1177 { 0x7c00066c, "dss", {{21,2,NUM}}, VMX }, 1178 { 0x7e00066c, "dssall", {{0}}, VMX}, 1179 1180 { 0x10000000, "vaddubm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1181 { 0x10000200, "vaddubs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1182 { 0x10000300, "vaddsbs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1183 { 0x10000040, "vadduhm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1184 { 0x10000240, "vadduhs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1185 { 0x10000340, "vaddshs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1186 { 0x10000080, "vadduwm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1187 { 0x10000280, "vadduws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1188 { 0x10000380, "vaddsws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1189 { 0x1000000a, "vaddfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1190 1191 { 0x10000180, "vaddcuw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1192 1193 { 0x10000400, "vsububm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1194 { 0x10000600, "vsububs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1195 { 0x10000700, "vsubsbs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1196 { 0x10000440, "vsubuhm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1197 { 0x10000640, "vsubuhs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1198 { 0x10000740, "vsubshs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1199 { 0x10000480, "vsubuwm", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1200 { 0x10000680, "vsubuws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1201 { 0x10000780, "vsubsws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1202 { 0x1000004a, "vsubfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1203 1204 { 0x10000580, "vsubcuw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1205 1206 { 0x10000008, "vmuloub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1207 { 0x10000108, "vmulosb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1208 { 0x10000048, "vmulouh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1209 { 0x10000148, "vmulosh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1210 1211 { 0x10000208, "vmuleub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1212 { 0x10000308, "vmulesb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1213 { 0x10000248, "vmuleuh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1214 { 0x10000348, "vmulesh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1215 1216 { 0x10000020, "vmhaddshs", 1217 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1218 { 0x10000021, "vmhraddshs", 1219 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1220 { 0x10000022, "vmladduhm", 1221 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1222 { 0x1000002e, "vmaddfp", 1223 {{21,5,VREG}, {16,5,VREG}, {6,5,VREG}, {11,5,VREG}}, VMX }, 1224 1225 { 0x10000024, "vmsumubm", 1226 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1227 { 0x10000025, "vmsummbm", 1228 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1229 { 0x10000026, "vmsumuhm", 1230 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1231 { 0x10000027, "vmsumuhs", 1232 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1233 { 0x10000028, "vmsumshm", 1234 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1235 { 0x10000029, "vmsumshs", 1236 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1237 1238 { 0x10000788, "vsumsws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1239 1240 { 0x10000688, "vsum2sws", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1241 1242 { 0x10000608, "vsum4ubs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1243 { 0x10000708, "vsum4sbs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1244 { 0x10000648, "vsum4shs", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1245 1246 { 0x10000402, "vavgub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1247 { 0x10000442, "vavguh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1248 { 0x10000482, "vavguw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1249 { 0x10000502, "vavgsb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1250 { 0x10000542, "vavgsh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1251 { 0x10000582, "vavgsw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1252 1253 { 0x10000404, "vand", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1254 { 0x10000484, "vor", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1255 { 0x100004c4, "vxor", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1256 { 0x10000444, "vandc", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1257 { 0x10000504, "vnor", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1258 1259 { 0x10000004, "vrlb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1260 { 0x10000044, "vrlh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1261 { 0x10000084, "vrlw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1262 1263 { 0x10000104, "vslb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1264 { 0x10000144, "vslh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1265 { 0x10000184, "vslw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1266 { 0x100001c4, "vsl", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1267 1268 { 0x10000204, "vsrb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1269 { 0x10000304, "vsrab", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1270 { 0x10000244, "vsrh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1271 { 0x10000344, "vsrah", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1272 { 0x10000284, "vsrw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1273 { 0x10000384, "vsraw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1274 { 0x100002c4, "vsr", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1275 1276 { 0x10000206, "vcmpgtub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1277 { 0x10000606, "vcmpgtub.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1278 { 0x10000306, "vcmpgtsb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1279 { 0x10000706, "vcmpgtsb.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1280 { 0x10000246, "vcmpgtuh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1281 { 0x10000646, "vcmpgtuh.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1282 { 0x10000346, "vcmpgtsh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1283 { 0x10000746, "vcmpgtsh.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1284 { 0x10000286, "vcmpgtuw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1285 { 0x10000686, "vcmpgtuw.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1286 { 0x10000386, "vcmpgtsw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1287 { 0x10000786, "vcmpgtsw.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1288 { 0x100002c6, "vcmpgtfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1289 { 0x100006c6, "vcmpgtfp.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1290 1291 { 0x10000006, "vcmpequb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1292 { 0x10000406, "vcmpequb.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1293 { 0x10000046, "vcmpequh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1294 { 0x10000446, "vcmpequh.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1295 { 0x10000086, "vcmpequw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1296 { 0x10000486, "vcmpequw.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1297 { 0x100000c6, "vcmpeqfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1298 { 0x100004c6, "vcmpeqfp.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1299 1300 { 0x100001c6, "vcmpgefp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1301 { 0x100005c6, "vcmpgefp.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1302 1303 { 0x100003c6, "vcmpbfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1304 { 0x100007c6, "vcmpbfp.", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1305 1306 { 0x1000002a, "vsel", 1307 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1308 1309 { 0x1000000e, "vpkuhum", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1310 { 0x1000008e, "vpkuhus", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1311 { 0x1000010e, "vpkshus", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1312 { 0x1000018e, "vpkshss", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1313 { 0x1000004e, "vpkuwum", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1314 { 0x100000ce, "vpkuwus", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1315 { 0x1000014e, "vpkswus", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1316 { 0x100001ce, "vpkswss", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1317 { 0x1000030e, "vpkpx", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1318 1319 { 0x1000020e, "vupkhsb", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1320 { 0x1000024e, "vupkhsh", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1321 { 0x1000034e, "vupkhpx", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1322 1323 { 0x1000028e, "vupklsb", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1324 { 0x100002ce, "vupklsh", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1325 { 0x100003ce, "vupklpx", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1326 1327 { 0x1000000c, "vmrghb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1328 { 0x1000004c, "vmrghh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1329 { 0x1000008c, "vmrghw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1330 1331 { 0x1000010c, "vmrglb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1332 { 0x1000014c, "vmrglh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1333 { 0x1000018c, "vmrglw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1334 1335 { 0x1000020c, "vspltb", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1336 { 0x1000024c, "vsplth", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1337 { 0x1000028c, "vspltw", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1338 1339 { 0x1000030c, "vspltisb",{{21,5,VREG}, {16,5,SNUM}}, VMX }, 1340 { 0x1000034c, "vspltish",{{21,5,VREG}, {16,5,SNUM}}, VMX }, 1341 { 0x1000038c, "vspltisw",{{21,5,VREG}, {16,5,SNUM}}, VMX }, 1342 1343 { 0x1000002b, "vperm", 1344 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,5,VREG}}, VMX }, 1345 1346 { 0x1000002c, "vsldoi", 1347 {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}, {6,4,NUM}}, VMX }, 1348 1349 { 0x1000040c, "vslo", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1350 { 0x1000044c, "vsro", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1351 1352 { 0x10000002, "vmaxub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1353 { 0x10000102, "vmaxsb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1354 { 0x10000042, "vmaxuh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1355 { 0x10000142, "vmaxsh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1356 { 0x10000082, "vmaxuw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1357 { 0x10000182, "vmaxsw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1358 { 0x1000040a, "vmaxfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1359 1360 { 0x10000202, "vminub", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1361 { 0x10000302, "vminsb", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1362 { 0x10000242, "vminuh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1363 { 0x10000342, "vminsh", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1364 { 0x10000282, "vminuw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1365 { 0x10000382, "vminsw", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1366 { 0x1000044a, "vminfp", {{21,5,VREG}, {16,5,VREG}, {11,5,VREG}}, VMX }, 1367 1368 { 0x1000010a, "vrefp", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1369 { 0x1000014a, "vrsqrtefp",{{21,5,VREG}, {11,5,VREG}}, VMX }, 1370 { 0x100001ca, "vlogefp", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1371 { 0x1000018a, "vexptefp", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1372 1373 { 0x1000002f, "vnmsubfp", 1374 {{21,5,VREG}, {16,5,VREG}, {6,5,VREG}, {11,5,VREG}}, VMX }, 1375 1376 { 0x1000020a, "vrfin", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1377 { 0x1000024a, "vrfiz", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1378 { 0x1000028a, "vrfip", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1379 { 0x100002ca, "vrfim", {{21,5,VREG}, {11,5,VREG}}, VMX }, 1380 1381 { 0x1000038a, "vctuxs", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1382 { 0x100003ca, "vctsxs", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1383 1384 { 0x1000030a, "vcfux", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1385 { 0x1000034a, "vcfsx", {{21,5,VREG}, {11,5,VREG}, {16,5,NUM}}, VMX }, 1386 1387 { 0, "" } /* end of table marker */ 1388}; 1389