1 1.1 skrll /* ppc-opc.c -- PowerPC opcode list 2 1.14 christos Copyright (C) 1994-2026 Free Software Foundation, Inc. 3 1.1 skrll Written by Ian Lance Taylor, Cygnus Support 4 1.1 skrll 5 1.1 skrll This file is part of the GNU opcodes library. 6 1.1 skrll 7 1.1 skrll This library is free software; you can redistribute it and/or modify 8 1.1 skrll it under the terms of the GNU General Public License as published by 9 1.1 skrll the Free Software Foundation; either version 3, or (at your option) 10 1.1 skrll any later version. 11 1.1 skrll 12 1.1 skrll It is distributed in the hope that it will be useful, but WITHOUT 13 1.1 skrll ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 1.1 skrll or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 1.1 skrll License for more details. 16 1.1 skrll 17 1.1 skrll You should have received a copy of the GNU General Public License 18 1.1 skrll along with this file; see the file COPYING. If not, write to the 19 1.1 skrll Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, 20 1.1 skrll MA 02110-1301, USA. */ 21 1.1 skrll 22 1.4 christos #include "sysdep.h" 23 1.1 skrll #include <stdio.h> 24 1.1 skrll #include "opcode/ppc.h" 25 1.1 skrll #include "opintl.h" 26 1.12 christos #include "libiberty.h" 27 1.1 skrll 28 1.1 skrll /* This file holds the PowerPC opcode table. The opcode table 29 1.1 skrll includes almost all of the extended instruction mnemonics. This 30 1.1 skrll permits the disassembler to use them, and simplifies the assembler 31 1.1 skrll logic, at the cost of increasing the table size. The table is 32 1.1 skrll strictly constant data, so the compiler should be able to put it in 33 1.8 christos the text segment. 34 1.1 skrll 35 1.1 skrll This file also holds the operand table. All knowledge about 36 1.1 skrll inserting operands into instructions and vice-versa is kept in this 37 1.1 skrll file. */ 38 1.1 skrll 39 1.8 christos /* The functions used to insert and extract complicated operands. */ 40 1.8 christos 41 1.8 christos /* The ARX, ARY, RX and RY operands are alternate encodings of GPRs. */ 42 1.8 christos 43 1.8 christos static uint64_t 44 1.8 christos insert_arx (uint64_t insn, 45 1.8 christos int64_t value, 46 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 47 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 48 1.8 christos { 49 1.10 christos value -= 8; 50 1.10 christos if (value < 0 || value >= 16) 51 1.8 christos { 52 1.8 christos *errmsg = _("invalid register"); 53 1.10 christos value = 0xf; 54 1.8 christos } 55 1.10 christos return insn | value; 56 1.8 christos } 57 1.8 christos 58 1.8 christos static int64_t 59 1.8 christos extract_arx (uint64_t insn, 60 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 61 1.8 christos int *invalid ATTRIBUTE_UNUSED) 62 1.8 christos { 63 1.8 christos return (insn & 0xf) + 8; 64 1.8 christos } 65 1.8 christos 66 1.8 christos static uint64_t 67 1.8 christos insert_ary (uint64_t insn, 68 1.8 christos int64_t value, 69 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 70 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 71 1.8 christos { 72 1.10 christos value -= 8; 73 1.10 christos if (value < 0 || value >= 16) 74 1.8 christos { 75 1.8 christos *errmsg = _("invalid register"); 76 1.10 christos value = 0xf; 77 1.8 christos } 78 1.10 christos return insn | (value << 4); 79 1.8 christos } 80 1.8 christos 81 1.8 christos static int64_t 82 1.8 christos extract_ary (uint64_t insn, 83 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 84 1.8 christos int *invalid ATTRIBUTE_UNUSED) 85 1.8 christos { 86 1.8 christos return ((insn >> 4) & 0xf) + 8; 87 1.8 christos } 88 1.8 christos 89 1.8 christos static uint64_t 90 1.8 christos insert_rx (uint64_t insn, 91 1.8 christos int64_t value, 92 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 93 1.8 christos const char **errmsg) 94 1.8 christos { 95 1.8 christos if (value >= 0 && value < 8) 96 1.10 christos ; 97 1.8 christos else if (value >= 24 && value <= 31) 98 1.10 christos value -= 16; 99 1.8 christos else 100 1.8 christos { 101 1.8 christos *errmsg = _("invalid register"); 102 1.10 christos value = 0xf; 103 1.8 christos } 104 1.10 christos return insn | value; 105 1.8 christos } 106 1.8 christos 107 1.8 christos static int64_t 108 1.8 christos extract_rx (uint64_t insn, 109 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 110 1.8 christos int *invalid ATTRIBUTE_UNUSED) 111 1.8 christos { 112 1.8 christos int64_t value = insn & 0xf; 113 1.8 christos if (value >= 0 && value < 8) 114 1.8 christos return value; 115 1.8 christos else 116 1.8 christos return value + 16; 117 1.8 christos } 118 1.8 christos 119 1.8 christos static uint64_t 120 1.8 christos insert_ry (uint64_t insn, 121 1.8 christos int64_t value, 122 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 123 1.8 christos const char **errmsg) 124 1.8 christos { 125 1.8 christos if (value >= 0 && value < 8) 126 1.10 christos ; 127 1.8 christos else if (value >= 24 && value <= 31) 128 1.10 christos value -= 16; 129 1.8 christos else 130 1.8 christos { 131 1.8 christos *errmsg = _("invalid register"); 132 1.10 christos value = 0xf; 133 1.8 christos } 134 1.10 christos return insn | (value << 4); 135 1.8 christos } 136 1.8 christos 137 1.8 christos static int64_t 138 1.8 christos extract_ry (uint64_t insn, 139 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 140 1.8 christos int *invalid ATTRIBUTE_UNUSED) 141 1.8 christos { 142 1.8 christos int64_t value = (insn >> 4) & 0xf; 143 1.8 christos if (value >= 0 && value < 8) 144 1.8 christos return value; 145 1.8 christos else 146 1.8 christos return value + 16; 147 1.8 christos } 148 1.8 christos 149 1.9 christos /* The BA and BB fields in an XL form instruction or the RA and RB fields or 150 1.9 christos VRA and VRB fields in a VX form instruction when they must be the same. 151 1.9 christos This is used for extended mnemonics like crclr. The extraction function 152 1.9 christos enforces that the fields are the same. */ 153 1.8 christos 154 1.8 christos static uint64_t 155 1.9 christos insert_bab (uint64_t insn, 156 1.9 christos int64_t value, 157 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 158 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 159 1.8 christos { 160 1.9 christos value &= 0x1f; 161 1.9 christos return insn | (value << 16) | (value << 11); 162 1.8 christos } 163 1.8 christos 164 1.8 christos static int64_t 165 1.9 christos extract_bab (uint64_t insn, 166 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 167 1.8 christos int *invalid) 168 1.8 christos { 169 1.9 christos int64_t ba = (insn >> 16) & 0x1f; 170 1.9 christos int64_t bb = (insn >> 11) & 0x1f; 171 1.9 christos 172 1.9 christos if (ba != bb) 173 1.8 christos *invalid = 1; 174 1.9 christos return ba; 175 1.8 christos } 176 1.8 christos 177 1.9 christos /* The BT, BA and BB fields in an XL form instruction when they must all be 178 1.9 christos the same. This is used for extended mnemonics like crclr. The extraction 179 1.9 christos function enforces that the fields are the same. */ 180 1.8 christos 181 1.8 christos static uint64_t 182 1.9 christos insert_btab (uint64_t insn, 183 1.9 christos int64_t value, 184 1.9 christos ppc_cpu_t dialect, 185 1.9 christos const char **errmsg) 186 1.8 christos { 187 1.9 christos value &= 0x1f; 188 1.9 christos return (value << 21) | insert_bab (insn, value, dialect, errmsg); 189 1.8 christos } 190 1.8 christos 191 1.8 christos static int64_t 192 1.9 christos extract_btab (uint64_t insn, 193 1.9 christos ppc_cpu_t dialect, 194 1.8 christos int *invalid) 195 1.8 christos { 196 1.9 christos int64_t bt = (insn >> 21) & 0x1f; 197 1.9 christos int64_t bab = extract_bab (insn, dialect, invalid); 198 1.9 christos 199 1.9 christos if (bt != bab) 200 1.8 christos *invalid = 1; 201 1.9 christos return bt; 202 1.8 christos } 203 1.8 christos 204 1.8 christos /* The BD field in a B form instruction when the - modifier is used. 205 1.8 christos This modifier means that the branch is not expected to be taken. 206 1.8 christos For chips built to versions of the architecture prior to version 2 207 1.8 christos (ie. not Power4 compatible), we set the y bit of the BO field to 1 208 1.8 christos if the offset is negative. When extracting, we require that the y 209 1.8 christos bit be 1 and that the offset be positive, since if the y bit is 0 210 1.8 christos we just want to print the normal form of the instruction. 211 1.8 christos Power4 compatible targets use two bits, "a", and "t", instead of 212 1.8 christos the "y" bit. "at" == 00 => no hint, "at" == 01 => unpredictable, 213 1.8 christos "at" == 10 => not taken, "at" == 11 => taken. The "t" bit is 00001 214 1.8 christos in BO field, the "a" bit is 00010 for branch on CR(BI) and 01000 215 1.8 christos for branch on CTR. We only handle the taken/not-taken hint here. 216 1.8 christos Note that we don't relax the conditions tested here when 217 1.8 christos disassembling with -Many because insns using extract_bdm and 218 1.8 christos extract_bdp always occur in pairs. One or the other will always 219 1.8 christos be valid. */ 220 1.8 christos 221 1.8 christos #define ISA_V2 (PPC_OPCODE_POWER4 | PPC_OPCODE_E500MC | PPC_OPCODE_TITAN) 222 1.8 christos 223 1.8 christos static uint64_t 224 1.8 christos insert_bdm (uint64_t insn, 225 1.8 christos int64_t value, 226 1.8 christos ppc_cpu_t dialect, 227 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 228 1.8 christos { 229 1.8 christos if ((dialect & ISA_V2) == 0) 230 1.8 christos { 231 1.8 christos if ((value & 0x8000) != 0) 232 1.8 christos insn |= 1 << 21; 233 1.8 christos } 234 1.8 christos else 235 1.8 christos { 236 1.8 christos if ((insn & (0x14 << 21)) == (0x04 << 21)) 237 1.8 christos insn |= 0x02 << 21; 238 1.8 christos else if ((insn & (0x14 << 21)) == (0x10 << 21)) 239 1.8 christos insn |= 0x08 << 21; 240 1.8 christos } 241 1.8 christos return insn | (value & 0xfffc); 242 1.8 christos } 243 1.8 christos 244 1.8 christos static int64_t 245 1.8 christos extract_bdm (uint64_t insn, 246 1.8 christos ppc_cpu_t dialect, 247 1.8 christos int *invalid) 248 1.8 christos { 249 1.8 christos if ((dialect & ISA_V2) == 0) 250 1.8 christos { 251 1.8 christos if (((insn & (1 << 21)) == 0) != ((insn & (1 << 15)) == 0)) 252 1.8 christos *invalid = 1; 253 1.8 christos } 254 1.8 christos else 255 1.8 christos { 256 1.8 christos if ((insn & (0x17 << 21)) != (0x06 << 21) 257 1.8 christos && (insn & (0x1d << 21)) != (0x18 << 21)) 258 1.8 christos *invalid = 1; 259 1.8 christos } 260 1.1 skrll 261 1.8 christos return ((insn & 0xfffc) ^ 0x8000) - 0x8000; 262 1.8 christos } 263 1.1 skrll 264 1.8 christos /* The BD field in a B form instruction when the + modifier is used. 265 1.8 christos This is like BDM, above, except that the branch is expected to be 266 1.8 christos taken. */ 267 1.1 skrll 268 1.8 christos static uint64_t 269 1.8 christos insert_bdp (uint64_t insn, 270 1.8 christos int64_t value, 271 1.8 christos ppc_cpu_t dialect, 272 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 273 1.1 skrll { 274 1.8 christos if ((dialect & ISA_V2) == 0) 275 1.8 christos { 276 1.8 christos if ((value & 0x8000) == 0) 277 1.8 christos insn |= 1 << 21; 278 1.8 christos } 279 1.8 christos else 280 1.8 christos { 281 1.8 christos if ((insn & (0x14 << 21)) == (0x04 << 21)) 282 1.8 christos insn |= 0x03 << 21; 283 1.8 christos else if ((insn & (0x14 << 21)) == (0x10 << 21)) 284 1.8 christos insn |= 0x09 << 21; 285 1.8 christos } 286 1.8 christos return insn | (value & 0xfffc); 287 1.8 christos } 288 1.1 skrll 289 1.8 christos static int64_t 290 1.8 christos extract_bdp (uint64_t insn, 291 1.8 christos ppc_cpu_t dialect, 292 1.8 christos int *invalid) 293 1.8 christos { 294 1.8 christos if ((dialect & ISA_V2) == 0) 295 1.8 christos { 296 1.8 christos if (((insn & (1 << 21)) == 0) == ((insn & (1 << 15)) == 0)) 297 1.8 christos *invalid = 1; 298 1.8 christos } 299 1.8 christos else 300 1.8 christos { 301 1.8 christos if ((insn & (0x17 << 21)) != (0x07 << 21) 302 1.8 christos && (insn & (0x1d << 21)) != (0x19 << 21)) 303 1.8 christos *invalid = 1; 304 1.8 christos } 305 1.1 skrll 306 1.8 christos return ((insn & 0xfffc) ^ 0x8000) - 0x8000; 307 1.8 christos } 308 1.1 skrll 309 1.8 christos static inline int 310 1.8 christos valid_bo_pre_v2 (int64_t value) 311 1.8 christos { 312 1.8 christos /* Certain encodings have bits that are required to be zero. 313 1.8 christos These are (z must be zero, y may be anything): 314 1.8 christos 0000y 315 1.8 christos 0001y 316 1.8 christos 001zy 317 1.8 christos 0100y 318 1.8 christos 0101y 319 1.8 christos 011zy 320 1.8 christos 1z00y 321 1.8 christos 1z01y 322 1.8 christos 1z1zz 323 1.8 christos */ 324 1.8 christos if ((value & 0x14) == 0) 325 1.10 christos /* BO: 0000y, 0001y, 0100y, 0101y. */ 326 1.8 christos return 1; 327 1.8 christos else if ((value & 0x14) == 0x4) 328 1.10 christos /* BO: 001zy, 011zy. */ 329 1.8 christos return (value & 0x2) == 0; 330 1.8 christos else if ((value & 0x14) == 0x10) 331 1.10 christos /* BO: 1z00y, 1z01y. */ 332 1.8 christos return (value & 0x8) == 0; 333 1.8 christos else 334 1.10 christos /* BO: 1z1zz. */ 335 1.8 christos return value == 0x14; 336 1.8 christos } 337 1.1 skrll 338 1.8 christos static inline int 339 1.8 christos valid_bo_post_v2 (int64_t value) 340 1.8 christos { 341 1.8 christos /* Certain encodings have bits that are required to be zero. 342 1.8 christos These are (z must be zero, a & t may be anything): 343 1.8 christos 0000z 344 1.8 christos 0001z 345 1.8 christos 001at 346 1.8 christos 0100z 347 1.8 christos 0101z 348 1.8 christos 011at 349 1.8 christos 1a00t 350 1.8 christos 1a01t 351 1.8 christos 1z1zz 352 1.8 christos */ 353 1.8 christos if ((value & 0x14) == 0) 354 1.10 christos /* BO: 0000z, 0001z, 0100z, 0101z. */ 355 1.8 christos return (value & 0x1) == 0; 356 1.8 christos else if ((value & 0x14) == 0x14) 357 1.10 christos /* BO: 1z1zz. */ 358 1.8 christos return value == 0x14; 359 1.10 christos else if ((value & 0x14) == 0x4) 360 1.10 christos /* BO: 001at, 011at, with "at" == 0b01 being reserved. */ 361 1.10 christos return (value & 0x3) != 1; 362 1.10 christos else if ((value & 0x14) == 0x10) 363 1.10 christos /* BO: 1a00t, 1a01t, with "at" == 0b01 being reserved. */ 364 1.10 christos return (value & 0x9) != 1; 365 1.8 christos else 366 1.8 christos return 1; 367 1.8 christos } 368 1.1 skrll 369 1.8 christos /* Check for legal values of a BO field. */ 370 1.1 skrll 371 1.8 christos static int 372 1.8 christos valid_bo (int64_t value, ppc_cpu_t dialect, int extract) 373 1.8 christos { 374 1.8 christos int valid_y = valid_bo_pre_v2 (value); 375 1.8 christos int valid_at = valid_bo_post_v2 (value); 376 1.1 skrll 377 1.8 christos /* When disassembling with -Many, accept either encoding on the 378 1.8 christos second pass through opcodes. */ 379 1.8 christos if (extract && dialect == ~(ppc_cpu_t) PPC_OPCODE_ANY) 380 1.8 christos return valid_y || valid_at; 381 1.8 christos if ((dialect & ISA_V2) == 0) 382 1.8 christos return valid_y; 383 1.8 christos else 384 1.8 christos return valid_at; 385 1.8 christos } 386 1.1 skrll 387 1.8 christos /* The BO field in a B form instruction. Warn about attempts to set 388 1.8 christos the field to an illegal value. */ 389 1.1 skrll 390 1.8 christos static uint64_t 391 1.8 christos insert_bo (uint64_t insn, 392 1.8 christos int64_t value, 393 1.8 christos ppc_cpu_t dialect, 394 1.8 christos const char **errmsg) 395 1.8 christos { 396 1.8 christos if (!valid_bo (value, dialect, 0)) 397 1.8 christos *errmsg = _("invalid conditional option"); 398 1.10 christos else if (PPC_OP (insn) == 19 399 1.10 christos && (((insn >> 1) & 0x3ff) == 528) && ! (value & 4)) 400 1.8 christos *errmsg = _("invalid counter access"); 401 1.8 christos return insn | ((value & 0x1f) << 21); 402 1.8 christos } 403 1.1 skrll 404 1.8 christos static int64_t 405 1.8 christos extract_bo (uint64_t insn, 406 1.8 christos ppc_cpu_t dialect, 407 1.8 christos int *invalid) 408 1.8 christos { 409 1.8 christos int64_t value = (insn >> 21) & 0x1f; 410 1.8 christos if (!valid_bo (value, dialect, 1)) 411 1.8 christos *invalid = 1; 412 1.8 christos return value; 413 1.8 christos } 414 1.1 skrll 415 1.10 christos /* For the given BO value, return a bit mask detailing which bits 416 1.10 christos define the branch hints. */ 417 1.10 christos 418 1.10 christos static int64_t 419 1.10 christos get_bo_hint_mask (int64_t bo, ppc_cpu_t dialect) 420 1.10 christos { 421 1.10 christos if ((dialect & ISA_V2) == 0) 422 1.10 christos { 423 1.10 christos if ((bo & 0x14) != 0x14) 424 1.10 christos /* BO: 0000y, 0001y, 001zy, 0100y, 0101y, 011zy, 1z00y, 1z01y . */ 425 1.10 christos return 1; 426 1.10 christos else 427 1.10 christos /* BO: 1z1zz. */ 428 1.10 christos return 0; 429 1.10 christos } 430 1.10 christos else 431 1.10 christos { 432 1.10 christos if ((bo & 0x14) == 0x4) 433 1.10 christos /* BO: 001at, 011at. */ 434 1.10 christos return 0x3; 435 1.10 christos else if ((bo & 0x14) == 0x10) 436 1.10 christos /* BO: 1a00t, 1a01t. */ 437 1.10 christos return 0x9; 438 1.10 christos else 439 1.10 christos /* BO: 0000z, 0001z, 0100z, 0101z, 1z1zz. */ 440 1.10 christos return 0; 441 1.10 christos } 442 1.10 christos } 443 1.10 christos 444 1.10 christos /* The BO field in a B form instruction when the + or - modifier is used. */ 445 1.1 skrll 446 1.8 christos static uint64_t 447 1.8 christos insert_boe (uint64_t insn, 448 1.8 christos int64_t value, 449 1.8 christos ppc_cpu_t dialect, 450 1.10 christos const char **errmsg, 451 1.10 christos int branch_taken) 452 1.8 christos { 453 1.10 christos int64_t implied_hint; 454 1.10 christos int64_t hint_mask = get_bo_hint_mask (value, dialect); 455 1.10 christos 456 1.10 christos if (branch_taken) 457 1.10 christos implied_hint = hint_mask; 458 1.10 christos else 459 1.10 christos implied_hint = hint_mask & ~1; 460 1.10 christos 461 1.10 christos /* The branch hint bit(s) in the BO field must either be zero or exactly 462 1.10 christos match the branch hint bits implied by the '+' or '-' modifier. */ 463 1.10 christos if (implied_hint == 0) 464 1.10 christos *errmsg = _("BO value implies no branch hint, when using + or - modifier"); 465 1.10 christos else if ((value & hint_mask) != 0 466 1.10 christos && (value & hint_mask) != implied_hint) 467 1.10 christos { 468 1.10 christos if ((dialect & ISA_V2) == 0) 469 1.10 christos *errmsg = _("attempt to set y bit when using + or - modifier"); 470 1.10 christos else 471 1.10 christos *errmsg = _("attempt to set 'at' bits when using + or - modifier"); 472 1.10 christos } 473 1.10 christos 474 1.10 christos value |= implied_hint; 475 1.1 skrll 476 1.10 christos return insert_bo (insn, value, dialect, errmsg); 477 1.8 christos } 478 1.1 skrll 479 1.8 christos static int64_t 480 1.8 christos extract_boe (uint64_t insn, 481 1.8 christos ppc_cpu_t dialect, 482 1.10 christos int *invalid, 483 1.10 christos int branch_taken) 484 1.8 christos { 485 1.8 christos int64_t value = (insn >> 21) & 0x1f; 486 1.10 christos int64_t implied_hint; 487 1.10 christos int64_t hint_mask = get_bo_hint_mask (value, dialect); 488 1.10 christos 489 1.10 christos if (branch_taken) 490 1.10 christos implied_hint = hint_mask; 491 1.10 christos else 492 1.10 christos implied_hint = hint_mask & ~1; 493 1.10 christos 494 1.10 christos if (!valid_bo (value, dialect, 1) 495 1.10 christos || implied_hint == 0 496 1.10 christos || (value & hint_mask) != implied_hint) 497 1.8 christos *invalid = 1; 498 1.10 christos return value; 499 1.10 christos } 500 1.10 christos 501 1.10 christos /* The BO field in a B form instruction when the - modifier is used. */ 502 1.10 christos 503 1.10 christos static uint64_t 504 1.10 christos insert_bom (uint64_t insn, 505 1.10 christos int64_t value, 506 1.10 christos ppc_cpu_t dialect, 507 1.10 christos const char **errmsg) 508 1.10 christos { 509 1.10 christos return insert_boe (insn, value, dialect, errmsg, 0); 510 1.10 christos } 511 1.10 christos 512 1.10 christos static int64_t 513 1.10 christos extract_bom (uint64_t insn, 514 1.10 christos ppc_cpu_t dialect, 515 1.10 christos int *invalid) 516 1.10 christos { 517 1.10 christos return extract_boe (insn, dialect, invalid, 0); 518 1.10 christos } 519 1.10 christos 520 1.10 christos /* The BO field in a B form instruction when the + modifier is used. */ 521 1.10 christos 522 1.10 christos static uint64_t 523 1.10 christos insert_bop (uint64_t insn, 524 1.10 christos int64_t value, 525 1.10 christos ppc_cpu_t dialect, 526 1.10 christos const char **errmsg) 527 1.10 christos { 528 1.10 christos return insert_boe (insn, value, dialect, errmsg, 1); 529 1.10 christos } 530 1.10 christos 531 1.10 christos static int64_t 532 1.10 christos extract_bop (uint64_t insn, 533 1.10 christos ppc_cpu_t dialect, 534 1.10 christos int *invalid) 535 1.10 christos { 536 1.10 christos return extract_boe (insn, dialect, invalid, 1); 537 1.8 christos } 538 1.1 skrll 539 1.8 christos /* The DCMX field in a X form instruction when the field is split 540 1.8 christos into separate DC, DM and DX fields. */ 541 1.1 skrll 542 1.8 christos static uint64_t 543 1.8 christos insert_dcmxs (uint64_t insn, 544 1.8 christos int64_t value, 545 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 546 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 547 1.8 christos { 548 1.8 christos return (insn 549 1.8 christos | ((value & 0x1f) << 16) 550 1.8 christos | ((value & 0x20) >> 3) 551 1.8 christos | (value & 0x40)); 552 1.8 christos } 553 1.1 skrll 554 1.8 christos static int64_t 555 1.8 christos extract_dcmxs (uint64_t insn, 556 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 557 1.8 christos int *invalid ATTRIBUTE_UNUSED) 558 1.8 christos { 559 1.8 christos return (insn & 0x40) | ((insn << 3) & 0x20) | ((insn >> 16) & 0x1f); 560 1.8 christos } 561 1.6 christos 562 1.11 christos /* The DW field in a X form instruction when the field is split 563 1.11 christos into separate D and DX fields. */ 564 1.11 christos 565 1.11 christos static uint64_t 566 1.11 christos insert_dw (uint64_t insn, 567 1.11 christos int64_t value, 568 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 569 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 570 1.11 christos { 571 1.11 christos /* DW offsets must be in the range [-512, -8] and be a multiple of 8. */ 572 1.11 christos if (value < -512 573 1.11 christos || value > -8 574 1.11 christos || (value & 0x7) != 0) 575 1.11 christos *errmsg = _("invalid offset: must be in the range [-512, -8] " 576 1.11 christos "and be a multiple of 8"); 577 1.11 christos 578 1.11 christos return insn | ((value & 0xf8) << 18) | ((value >> 8) & 1); 579 1.11 christos } 580 1.11 christos 581 1.11 christos static int64_t 582 1.11 christos extract_dw (uint64_t insn, 583 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 584 1.11 christos int *invalid ATTRIBUTE_UNUSED) 585 1.11 christos { 586 1.11 christos int64_t dw = ((insn & 1) << 8) | ((insn >> 18) & 0xf8); 587 1.11 christos return dw - 512; 588 1.11 christos } 589 1.11 christos 590 1.8 christos /* The D field in a DX form instruction when the field is split 591 1.8 christos into separate D0, D1 and D2 fields. */ 592 1.1 skrll 593 1.8 christos static uint64_t 594 1.8 christos insert_dxd (uint64_t insn, 595 1.8 christos int64_t value, 596 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 597 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 598 1.8 christos { 599 1.8 christos return insn | (value & 0xffc1) | ((value & 0x3e) << 15); 600 1.8 christos } 601 1.4 christos 602 1.8 christos static int64_t 603 1.8 christos extract_dxd (uint64_t insn, 604 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 605 1.8 christos int *invalid ATTRIBUTE_UNUSED) 606 1.8 christos { 607 1.8 christos uint64_t dxd = (insn & 0xffc1) | ((insn >> 15) & 0x3e); 608 1.8 christos return (dxd ^ 0x8000) - 0x8000; 609 1.8 christos } 610 1.4 christos 611 1.8 christos static uint64_t 612 1.8 christos insert_dxdn (uint64_t insn, 613 1.8 christos int64_t value, 614 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 615 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 616 1.8 christos { 617 1.8 christos return insert_dxd (insn, -value, dialect, errmsg); 618 1.8 christos } 619 1.4 christos 620 1.8 christos static int64_t 621 1.8 christos extract_dxdn (uint64_t insn, 622 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 623 1.10 christos int *invalid) 624 1.8 christos { 625 1.8 christos return -extract_dxd (insn, dialect, invalid); 626 1.8 christos } 627 1.4 christos 628 1.10 christos /* The D field in a 64-bit D form prefix instruction when the field is split 629 1.10 christos into separate D0 and D1 fields. */ 630 1.10 christos 631 1.10 christos static uint64_t 632 1.10 christos insert_d34 (uint64_t insn, 633 1.10 christos int64_t value, 634 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 635 1.10 christos const char **errmsg ATTRIBUTE_UNUSED) 636 1.10 christos { 637 1.10 christos return insn | ((value & 0x3ffff0000ULL) << 16) | (value & 0xffff); 638 1.10 christos } 639 1.10 christos 640 1.10 christos static int64_t 641 1.10 christos extract_d34 (uint64_t insn, 642 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 643 1.10 christos int *invalid ATTRIBUTE_UNUSED) 644 1.10 christos { 645 1.10 christos int64_t mask = 1ULL << 33; 646 1.10 christos int64_t value = ((insn >> 16) & 0x3ffff0000ULL) | (insn & 0xffff); 647 1.10 christos value = (value ^ mask) - mask; 648 1.10 christos return value; 649 1.10 christos } 650 1.10 christos 651 1.10 christos /* The NSI34 field in an 8-byte D form prefix instruction. This is the same 652 1.10 christos as the SI34 field, only negated. The extraction function always marks it 653 1.10 christos as invalid, since we never want to recognize an instruction which uses 654 1.10 christos a field of this type. */ 655 1.10 christos 656 1.10 christos static uint64_t 657 1.10 christos insert_nsi34 (uint64_t insn, 658 1.10 christos int64_t value, 659 1.10 christos ppc_cpu_t dialect, 660 1.10 christos const char **errmsg) 661 1.10 christos { 662 1.10 christos return insert_d34 (insn, -value, dialect, errmsg); 663 1.10 christos } 664 1.10 christos 665 1.10 christos static int64_t 666 1.10 christos extract_nsi34 (uint64_t insn, 667 1.10 christos ppc_cpu_t dialect, 668 1.10 christos int *invalid) 669 1.10 christos { 670 1.10 christos int64_t value = extract_d34 (insn, dialect, invalid); 671 1.10 christos *invalid = 1; 672 1.10 christos return -value; 673 1.10 christos } 674 1.10 christos 675 1.11 christos /* The split IMM32 field in a vector splat insn. */ 676 1.11 christos 677 1.11 christos static uint64_t 678 1.11 christos insert_imm32 (uint64_t insn, 679 1.11 christos int64_t value, 680 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 681 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 682 1.11 christos { 683 1.11 christos return insn | ((value & 0xffff0000) << 16) | (value & 0xffff); 684 1.11 christos } 685 1.11 christos 686 1.11 christos static int64_t 687 1.11 christos extract_imm32 (uint64_t insn, 688 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 689 1.11 christos int *invalid ATTRIBUTE_UNUSED) 690 1.11 christos { 691 1.11 christos return (insn & 0xffff) | ((insn >> 16) & 0xffff0000); 692 1.11 christos } 693 1.11 christos 694 1.13 christos /* The 32bit SI field in a 64-bit D form prefix instruction when the field is split 695 1.13 christos into separate SI0 and SI1 fields. */ 696 1.13 christos 697 1.13 christos static uint64_t 698 1.13 christos insert_si32 (uint64_t insn, 699 1.13 christos int64_t value, 700 1.13 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 701 1.13 christos const char **errmsg ATTRIBUTE_UNUSED) 702 1.13 christos { 703 1.13 christos return insn | ((value & 0xffff0000ULL) << 16) | (value & 0xffff); 704 1.13 christos } 705 1.13 christos 706 1.13 christos static int64_t 707 1.13 christos extract_si32 (uint64_t insn, 708 1.13 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 709 1.13 christos int *invalid ATTRIBUTE_UNUSED) 710 1.13 christos { 711 1.13 christos int64_t mask = 1ULL << 31; 712 1.13 christos int64_t value = ((insn >> 16) & 0xffff0000ULL) | (insn & 0xffff); 713 1.13 christos value = (value ^ mask) - mask; 714 1.13 christos return value; 715 1.13 christos } 716 1.13 christos 717 1.13 christos /* The NSI32 field in an 8-byte D form prefix instruction. This is the same 718 1.13 christos as the SI32 field, only negated. The extraction function always marks it 719 1.13 christos as invalid, since we never want to recognize an instruction which uses 720 1.13 christos a field of this type. */ 721 1.13 christos static uint64_t 722 1.13 christos insert_nsi32 (uint64_t insn, 723 1.13 christos int64_t value, 724 1.13 christos ppc_cpu_t dialect, 725 1.13 christos const char **errmsg) 726 1.13 christos { 727 1.13 christos return insert_si32 (insn, -value, dialect, errmsg); 728 1.13 christos } 729 1.13 christos 730 1.13 christos static int64_t 731 1.13 christos extract_nsi32 (uint64_t insn, 732 1.13 christos ppc_cpu_t dialect, 733 1.13 christos int *invalid) 734 1.13 christos { 735 1.13 christos int64_t value = extract_si32 (insn, dialect, invalid); 736 1.13 christos *invalid = 1; 737 1.13 christos return -value; 738 1.13 christos } 739 1.13 christos 740 1.10 christos /* The R field in an 8-byte prefix instruction when there are restrictions 741 1.10 christos between R's value and the RA value (ie, they cannot both be non zero). */ 742 1.10 christos 743 1.10 christos static uint64_t 744 1.10 christos insert_pcrel (uint64_t insn, 745 1.10 christos int64_t value, 746 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 747 1.10 christos const char **errmsg) 748 1.10 christos { 749 1.10 christos value &= 0x1; 750 1.10 christos int64_t ra = (insn >> 16) & 0x1f; 751 1.10 christos if (ra != 0 && value != 0) 752 1.10 christos *errmsg = _("invalid R operand"); 753 1.10 christos 754 1.10 christos return insn | (value << 52); 755 1.10 christos } 756 1.10 christos 757 1.10 christos static int64_t 758 1.10 christos extract_pcrel (uint64_t insn, 759 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 760 1.10 christos int *invalid) 761 1.10 christos { 762 1.10 christos /* If called with *invalid < 0 to return the value for missing 763 1.10 christos operands, *invalid will be the negative count of missing operands 764 1.10 christos including this one. Return a default value of 1 if the PRA0/PRAQ 765 1.10 christos operand was also omitted (ie. *invalid is -2). Return a default 766 1.10 christos value of 0 if the PRA0/PRAQ operand was not omitted 767 1.10 christos (ie. *invalid is -1). */ 768 1.10 christos if (*invalid < 0) 769 1.10 christos return ~ *invalid & 1; 770 1.10 christos 771 1.10 christos int64_t ra = (insn >> 16) & 0x1f; 772 1.10 christos int64_t pcrel = (insn >> 52) & 0x1; 773 1.10 christos if (ra != 0 && pcrel != 0) 774 1.10 christos *invalid = 1; 775 1.10 christos 776 1.10 christos return pcrel; 777 1.10 christos } 778 1.10 christos 779 1.12 christos /* Variant of extract_pcrel that sets invalid for R bit clear. Used 780 1.12 christos to disassemble "paddi rt,0,offset,1" as "pla rt,offset". */ 781 1.10 christos 782 1.10 christos static int64_t 783 1.12 christos extract_pcrel1 (uint64_t insn, 784 1.10 christos ppc_cpu_t dialect, 785 1.10 christos int *invalid) 786 1.10 christos { 787 1.10 christos int64_t pcrel = extract_pcrel (insn, dialect, invalid); 788 1.12 christos if (!pcrel) 789 1.10 christos *invalid = 1; 790 1.10 christos return pcrel; 791 1.10 christos } 792 1.10 christos 793 1.8 christos /* FXM mask in mfcr and mtcrf instructions. */ 794 1.4 christos 795 1.8 christos static uint64_t 796 1.8 christos insert_fxm (uint64_t insn, 797 1.8 christos int64_t value, 798 1.8 christos ppc_cpu_t dialect, 799 1.8 christos const char **errmsg) 800 1.8 christos { 801 1.8 christos /* If we're handling the mfocrf and mtocrf insns ensure that exactly 802 1.8 christos one bit of the mask field is set. */ 803 1.8 christos if ((insn & (1 << 20)) != 0) 804 1.8 christos { 805 1.8 christos if (value == 0 || (value & -value) != value) 806 1.8 christos { 807 1.8 christos *errmsg = _("invalid mask field"); 808 1.8 christos value = 0; 809 1.8 christos } 810 1.8 christos } 811 1.4 christos 812 1.8 christos /* If only one bit of the FXM field is set, we can use the new form 813 1.8 christos of the instruction, which is faster. Unlike the Power4 branch hint 814 1.8 christos encoding, this is not backward compatible. Do not generate the 815 1.8 christos new form unless -mpower4 has been given, or -many and the two 816 1.8 christos operand form of mfcr was used. */ 817 1.8 christos else if (value > 0 818 1.8 christos && (value & -value) == value 819 1.8 christos && ((dialect & PPC_OPCODE_POWER4) != 0 820 1.8 christos || ((dialect & PPC_OPCODE_ANY) != 0 821 1.8 christos && (insn & (0x3ff << 1)) == 19 << 1))) 822 1.8 christos insn |= 1 << 20; 823 1.1 skrll 824 1.8 christos /* Any other value on mfcr is an error. */ 825 1.8 christos else if ((insn & (0x3ff << 1)) == 19 << 1) 826 1.8 christos { 827 1.8 christos /* A value of -1 means we used the one operand form of 828 1.8 christos mfcr which is valid. */ 829 1.8 christos if (value != -1) 830 1.8 christos *errmsg = _("invalid mfcr mask"); 831 1.8 christos value = 0; 832 1.8 christos } 833 1.1 skrll 834 1.8 christos return insn | ((value & 0xff) << 12); 835 1.8 christos } 836 1.1 skrll 837 1.8 christos static int64_t 838 1.8 christos extract_fxm (uint64_t insn, 839 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 840 1.8 christos int *invalid) 841 1.8 christos { 842 1.10 christos /* Return a value of -1 for a missing optional operand, which is 843 1.10 christos used as a flag by insert_fxm. */ 844 1.10 christos if (*invalid < 0) 845 1.10 christos return -1; 846 1.10 christos 847 1.8 christos int64_t mask = (insn >> 12) & 0xff; 848 1.8 christos /* Is this a Power4 insn? */ 849 1.8 christos if ((insn & (1 << 20)) != 0) 850 1.8 christos { 851 1.8 christos /* Exactly one bit of MASK should be set. */ 852 1.8 christos if (mask == 0 || (mask & -mask) != mask) 853 1.8 christos *invalid = 1; 854 1.8 christos } 855 1.4 christos 856 1.8 christos /* Check that non-power4 form of mfcr has a zero MASK. */ 857 1.8 christos else if ((insn & (0x3ff << 1)) == 19 << 1) 858 1.8 christos { 859 1.8 christos if (mask != 0) 860 1.8 christos *invalid = 1; 861 1.8 christos else 862 1.8 christos mask = -1; 863 1.8 christos } 864 1.1 skrll 865 1.8 christos return mask; 866 1.8 christos } 867 1.1 skrll 868 1.11 christos /* L field in the paste. instruction. */ 869 1.11 christos 870 1.11 christos static uint64_t 871 1.11 christos insert_l1opt (uint64_t insn, 872 1.11 christos int64_t value, 873 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 874 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 875 1.11 christos { 876 1.11 christos return insn | ((value & 1) << 21); 877 1.11 christos } 878 1.11 christos 879 1.11 christos static int64_t 880 1.11 christos extract_l1opt (uint64_t insn, 881 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 882 1.11 christos int *invalid) 883 1.11 christos { 884 1.11 christos /* Return a value of 1 for a missing optional operand. */ 885 1.11 christos if (*invalid < 0) 886 1.11 christos return 1; 887 1.11 christos 888 1.11 christos return (insn >> 21) & 1; 889 1.11 christos } 890 1.11 christos 891 1.8 christos static uint64_t 892 1.8 christos insert_li20 (uint64_t insn, 893 1.8 christos int64_t value, 894 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 895 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 896 1.8 christos { 897 1.8 christos return (insn 898 1.8 christos | ((value & 0xf0000) >> 5) 899 1.8 christos | ((value & 0x0f800) << 5) 900 1.8 christos | (value & 0x7ff)); 901 1.8 christos } 902 1.1 skrll 903 1.8 christos static int64_t 904 1.8 christos extract_li20 (uint64_t insn, 905 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 906 1.8 christos int *invalid ATTRIBUTE_UNUSED) 907 1.8 christos { 908 1.8 christos return ((((insn << 5) & 0xf0000) 909 1.8 christos | ((insn >> 5) & 0xf800) 910 1.8 christos | (insn & 0x7ff)) ^ 0x80000) - 0x80000; 911 1.8 christos } 912 1.4 christos 913 1.11 christos /* The 2-bit/3-bit L or 2-bit WC field in a SYNC, DCBF or WAIT instruction. 914 1.8 christos For SYNC, some L values are reserved: 915 1.11 christos * Values 6 and 7 are reserved on newer server cpus. 916 1.11 christos * Value 3 is reserved on all server cpus. 917 1.11 christos * Value 2 is reserved on all other cpus. 918 1.11 christos For DCBF, some L values are reserved: 919 1.11 christos * Values 2, 5 and 7 are reserved on all cpus. 920 1.11 christos For WAIT, some WC values are reserved: 921 1.11 christos * Value 3 is reserved on all server cpus. 922 1.11 christos * Values 1 and 2 are reserved on older server cpus. */ 923 1.5 christos 924 1.8 christos static uint64_t 925 1.8 christos insert_ls (uint64_t insn, 926 1.8 christos int64_t value, 927 1.8 christos ppc_cpu_t dialect, 928 1.8 christos const char **errmsg) 929 1.8 christos { 930 1.11 christos int64_t mask; 931 1.11 christos 932 1.8 christos if (((insn >> 1) & 0x3ff) == 598) 933 1.8 christos { 934 1.11 christos /* For SYNC, some L values are illegal. */ 935 1.11 christos mask = (dialect & PPC_OPCODE_POWER10) ? 0x7 : 0x3; 936 1.11 christos 937 1.11 christos /* If the value is within range, check for other illegal values. */ 938 1.11 christos if ((value & mask) == value) 939 1.11 christos switch (value) 940 1.11 christos { 941 1.11 christos case 2: 942 1.11 christos if (dialect & PPC_OPCODE_POWER4) 943 1.11 christos break; 944 1.11 christos /* Fall through. */ 945 1.11 christos case 3: 946 1.11 christos case 6: 947 1.11 christos case 7: 948 1.11 christos *errmsg = _("illegal L operand value"); 949 1.11 christos break; 950 1.11 christos default: 951 1.11 christos break; 952 1.11 christos } 953 1.11 christos } 954 1.11 christos else if (((insn >> 1) & 0x3ff) == 86) 955 1.11 christos { 956 1.11 christos /* For DCBF, some L values are illegal. */ 957 1.11 christos mask = (dialect & PPC_OPCODE_POWER10) ? 0x7 : 0x3; 958 1.11 christos 959 1.11 christos /* If the value is within range, check for other illegal values. */ 960 1.11 christos if ((value & mask) == value) 961 1.11 christos switch (value) 962 1.11 christos { 963 1.11 christos case 2: 964 1.11 christos case 5: 965 1.11 christos case 7: 966 1.11 christos *errmsg = _("illegal L operand value"); 967 1.11 christos break; 968 1.11 christos default: 969 1.11 christos break; 970 1.11 christos } 971 1.11 christos } 972 1.11 christos else 973 1.11 christos { 974 1.11 christos /* For WAIT, some WC values are illegal. */ 975 1.11 christos mask = 0x3; 976 1.11 christos 977 1.11 christos /* If the value is within range, check for other illegal values. */ 978 1.11 christos if ((dialect & PPC_OPCODE_A2) == 0 979 1.11 christos && (dialect & PPC_OPCODE_E500MC) == 0 980 1.11 christos && (value & mask) == value) 981 1.11 christos switch (value) 982 1.11 christos { 983 1.11 christos case 1: 984 1.11 christos case 2: 985 1.11 christos if (dialect & PPC_OPCODE_POWER10) 986 1.11 christos break; 987 1.11 christos /* Fall through. */ 988 1.11 christos case 3: 989 1.11 christos *errmsg = _("illegal WC operand value"); 990 1.11 christos break; 991 1.11 christos default: 992 1.11 christos break; 993 1.11 christos } 994 1.8 christos } 995 1.5 christos 996 1.11 christos return insn | ((value & mask) << 21); 997 1.8 christos } 998 1.1 skrll 999 1.8 christos static int64_t 1000 1.8 christos extract_ls (uint64_t insn, 1001 1.8 christos ppc_cpu_t dialect, 1002 1.8 christos int *invalid) 1003 1.8 christos { 1004 1.11 christos uint64_t value; 1005 1.11 christos 1006 1.10 christos /* Missing optional operands have a value of zero. */ 1007 1.10 christos if (*invalid < 0) 1008 1.10 christos return 0; 1009 1.10 christos 1010 1.8 christos if (((insn >> 1) & 0x3ff) == 598) 1011 1.8 christos { 1012 1.11 christos /* For SYNC, some L values are illegal. */ 1013 1.11 christos int64_t mask = (dialect & PPC_OPCODE_POWER10) ? 0x7 : 0x3; 1014 1.11 christos 1015 1.11 christos value = (insn >> 21) & mask; 1016 1.11 christos switch (value) 1017 1.11 christos { 1018 1.11 christos case 2: 1019 1.11 christos if (dialect & PPC_OPCODE_POWER4) 1020 1.11 christos break; 1021 1.11 christos /* Fall through. */ 1022 1.11 christos case 3: 1023 1.11 christos case 6: 1024 1.11 christos case 7: 1025 1.11 christos *invalid = 1; 1026 1.11 christos break; 1027 1.11 christos default: 1028 1.11 christos break; 1029 1.11 christos } 1030 1.11 christos } 1031 1.11 christos else if (((insn >> 1) & 0x3ff) == 86) 1032 1.11 christos { 1033 1.11 christos /* For DCBF, some L values are illegal. */ 1034 1.11 christos int64_t mask = (dialect & PPC_OPCODE_POWER10) ? 0x7 : 0x3; 1035 1.11 christos 1036 1.11 christos value = (insn >> 21) & mask; 1037 1.11 christos switch (value) 1038 1.11 christos { 1039 1.11 christos case 2: 1040 1.11 christos case 5: 1041 1.11 christos case 7: 1042 1.11 christos *invalid = 1; 1043 1.11 christos break; 1044 1.11 christos default: 1045 1.11 christos break; 1046 1.11 christos } 1047 1.11 christos } 1048 1.11 christos else 1049 1.11 christos { 1050 1.11 christos /* For WAIT, some WC values are illegal. */ 1051 1.11 christos value = (insn >> 21) & 0x3; 1052 1.11 christos if ((dialect & PPC_OPCODE_A2) == 0 1053 1.11 christos && (dialect & PPC_OPCODE_E500MC) == 0) 1054 1.11 christos switch (value) 1055 1.11 christos { 1056 1.11 christos case 1: 1057 1.11 christos case 2: 1058 1.11 christos if (dialect & PPC_OPCODE_POWER10) 1059 1.11 christos break; 1060 1.11 christos /* Fall through. */ 1061 1.11 christos case 3: 1062 1.11 christos *invalid = 1; 1063 1.11 christos break; 1064 1.11 christos default: 1065 1.11 christos break; 1066 1.11 christos } 1067 1.8 christos } 1068 1.11 christos 1069 1.11 christos return value; 1070 1.8 christos } 1071 1.1 skrll 1072 1.8 christos /* The 4-bit E field in a sync instruction that accepts 2 operands. 1073 1.8 christos If ESYNC is non-zero, then the L field must be either 0 or 1 and 1074 1.8 christos the complement of ESYNC-bit2. */ 1075 1.5 christos 1076 1.8 christos static uint64_t 1077 1.8 christos insert_esync (uint64_t insn, 1078 1.8 christos int64_t value, 1079 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1080 1.8 christos const char **errmsg) 1081 1.8 christos { 1082 1.8 christos uint64_t ls = (insn >> 21) & 0x03; 1083 1.5 christos 1084 1.10 christos if (value != 0 1085 1.10 christos && ((~value >> 1) & 0x1) != ls) 1086 1.8 christos *errmsg = _("incompatible L operand value"); 1087 1.1 skrll 1088 1.8 christos return insn | ((value & 0xf) << 16); 1089 1.8 christos } 1090 1.1 skrll 1091 1.8 christos static int64_t 1092 1.8 christos extract_esync (uint64_t insn, 1093 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1094 1.8 christos int *invalid) 1095 1.8 christos { 1096 1.10 christos /* Missing optional operands have a value of zero. */ 1097 1.10 christos if (*invalid < 0) 1098 1.10 christos return 0; 1099 1.10 christos 1100 1.8 christos uint64_t ls = (insn >> 21) & 0x3; 1101 1.10 christos uint64_t value = (insn >> 16) & 0xf; 1102 1.10 christos if (value != 0 1103 1.10 christos && ((~value >> 1) & 0x1) != ls) 1104 1.8 christos *invalid = 1; 1105 1.10 christos return value; 1106 1.8 christos } 1107 1.4 christos 1108 1.11 christos /* The n operand of clrrwi, which sets the ME field to 31 - n. */ 1109 1.11 christos 1110 1.11 christos static uint64_t 1111 1.11 christos insert_crwn (uint64_t insn, 1112 1.11 christos int64_t value, 1113 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1114 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1115 1.11 christos { 1116 1.11 christos return insn | ((~value & 0x1f) << 1); 1117 1.11 christos } 1118 1.11 christos 1119 1.11 christos static int64_t 1120 1.11 christos extract_crwn (uint64_t insn, 1121 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1122 1.11 christos int *invalid ATTRIBUTE_UNUSED) 1123 1.11 christos { 1124 1.11 christos return ~(insn >> 1) & 0x1f; 1125 1.11 christos } 1126 1.11 christos 1127 1.11 christos /* The n operand of extlwi, which sets the ME field to n - 1. */ 1128 1.11 christos 1129 1.11 christos static uint64_t 1130 1.11 christos insert_elwn (uint64_t insn, 1131 1.11 christos int64_t value, 1132 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1133 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1134 1.11 christos { 1135 1.11 christos return insn | (((value - 1) & 0x1f) << 1); 1136 1.11 christos } 1137 1.11 christos 1138 1.11 christos static int64_t 1139 1.11 christos extract_elwn (uint64_t insn, 1140 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1141 1.11 christos int *invalid ATTRIBUTE_UNUSED) 1142 1.11 christos { 1143 1.11 christos return ((insn >> 1) & 0x1f) + 1; 1144 1.11 christos } 1145 1.11 christos 1146 1.11 christos /* The n operand of extrwi, sets MB = 32 - n. */ 1147 1.11 christos 1148 1.11 christos static uint64_t 1149 1.11 christos insert_erwn (uint64_t insn, 1150 1.11 christos int64_t value, 1151 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1152 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1153 1.11 christos { 1154 1.11 christos return insn | ((-value & 0x1f) << 6); 1155 1.11 christos } 1156 1.11 christos 1157 1.11 christos static int64_t 1158 1.11 christos extract_erwn (uint64_t insn, 1159 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1160 1.11 christos int *invalid ATTRIBUTE_UNUSED) 1161 1.11 christos { 1162 1.11 christos return (~(insn >> 6) & 0x1f) + 1; 1163 1.11 christos } 1164 1.11 christos 1165 1.11 christos /* The b operand of extrwi, sets SH = b + n. */ 1166 1.11 christos 1167 1.11 christos static uint64_t 1168 1.11 christos insert_erwb (uint64_t insn, 1169 1.11 christos int64_t value, 1170 1.11 christos ppc_cpu_t dialect, 1171 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1172 1.11 christos { 1173 1.11 christos int64_t n = extract_erwn (insn, dialect, NULL); 1174 1.11 christos return insn | (((n + value) & 0x1f) << 11); 1175 1.11 christos } 1176 1.11 christos 1177 1.11 christos static int64_t 1178 1.11 christos extract_erwb (uint64_t insn, 1179 1.11 christos ppc_cpu_t dialect, 1180 1.11 christos int *invalid ATTRIBUTE_UNUSED) 1181 1.11 christos { 1182 1.11 christos int64_t n = extract_erwn (insn, dialect, NULL); 1183 1.11 christos return ((insn >> 11) - n) & 0x1f; 1184 1.11 christos } 1185 1.11 christos 1186 1.11 christos /* The n and b operands of clrlslwi. */ 1187 1.11 christos 1188 1.11 christos static uint64_t 1189 1.11 christos insert_cslwn (uint64_t insn, 1190 1.11 christos int64_t value, 1191 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1192 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1193 1.11 christos { 1194 1.11 christos uint64_t mb = 0x1f << 6; 1195 1.11 christos int64_t b = (insn >> 6) & 0x1f; 1196 1.11 christos return ((insn & ~mb) | ((value & 0x1f) << 11) | (((b - value) & 0x1f) << 6) 1197 1.11 christos | ((~value & 0x1f) << 1)); 1198 1.11 christos } 1199 1.11 christos 1200 1.11 christos static int64_t 1201 1.11 christos extract_cslwb (uint64_t insn, 1202 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1203 1.11 christos int *invalid) 1204 1.11 christos { 1205 1.11 christos int64_t sh = (insn >> 11) & 0x1f; 1206 1.11 christos int64_t mb = (insn >> 6) & 0x1f; 1207 1.11 christos int64_t me = (insn >> 1) & 0x1f; 1208 1.11 christos if (sh != 31 - me) 1209 1.11 christos *invalid = 1; 1210 1.11 christos return (mb + sh) & 0x1f; 1211 1.11 christos } 1212 1.11 christos 1213 1.11 christos /* The n and b operands of inslwi. */ 1214 1.11 christos 1215 1.11 christos static uint64_t 1216 1.11 christos insert_ilwb (uint64_t insn, 1217 1.11 christos int64_t value, 1218 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1219 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1220 1.11 christos { 1221 1.11 christos uint64_t me = 0x1f << 1; 1222 1.11 christos int64_t n = (insn >> 1) & 0x1f; 1223 1.11 christos return ((insn & ~me) | ((-value & 0x1f) << 11) | ((value & 0x1f) << 6) 1224 1.11 christos | (((value + n - 1) & 0x1f) << 1)); 1225 1.11 christos } 1226 1.11 christos 1227 1.11 christos static int64_t 1228 1.11 christos extract_ilwn (uint64_t insn, 1229 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1230 1.11 christos int *invalid) 1231 1.11 christos { 1232 1.11 christos int64_t sh = (insn >> 11) & 0x1f; 1233 1.11 christos int64_t mb = (insn >> 6) & 0x1f; 1234 1.11 christos int64_t me = (insn >> 1) & 0x1f; 1235 1.11 christos if (((sh + mb) & 0x1f) != 0) 1236 1.11 christos *invalid = 1; 1237 1.11 christos return ((me - mb) & 0x1f) + 1; 1238 1.11 christos } 1239 1.11 christos 1240 1.11 christos /* The n and b operands of insrwi. */ 1241 1.11 christos 1242 1.11 christos static uint64_t 1243 1.11 christos insert_irwb (uint64_t insn, 1244 1.11 christos int64_t value, 1245 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1246 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1247 1.11 christos { 1248 1.11 christos uint64_t me = 0x1f << 1; 1249 1.11 christos int64_t n = (insn >> 1) & 0x1f; 1250 1.11 christos return ((insn & ~me) | ((-(value + n) & 0x1f) << 11) | ((value & 0x1f) << 6) 1251 1.11 christos | (((value + n - 1) & 0x1f) << 1)); 1252 1.11 christos } 1253 1.11 christos 1254 1.11 christos static int64_t 1255 1.11 christos extract_irwn (uint64_t insn, 1256 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1257 1.11 christos int *invalid) 1258 1.11 christos { 1259 1.11 christos int64_t sh = (insn >> 11) & 0x1f; 1260 1.11 christos int64_t mb = (insn >> 6) & 0x1f; 1261 1.11 christos int64_t me = (insn >> 1) & 0x1f; 1262 1.11 christos if (((sh + me + 1) & 0x1f) != 0) 1263 1.11 christos *invalid = 1; 1264 1.11 christos return ((me - mb) & 0x1f) + 1; 1265 1.11 christos } 1266 1.11 christos 1267 1.8 christos /* The MB and ME fields in an M form instruction expressed as a single 1268 1.8 christos operand which is itself a bitmask. The extraction function always 1269 1.8 christos marks it as invalid, since we never want to recognize an 1270 1.8 christos instruction which uses a field of this type. */ 1271 1.1 skrll 1272 1.8 christos static uint64_t 1273 1.8 christos insert_mbe (uint64_t insn, 1274 1.8 christos int64_t value, 1275 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1276 1.8 christos const char **errmsg) 1277 1.8 christos { 1278 1.8 christos uint64_t uval, mask; 1279 1.8 christos long mb, me, mx, count, last; 1280 1.4 christos 1281 1.8 christos uval = value; 1282 1.1 skrll 1283 1.8 christos if (uval == 0) 1284 1.8 christos { 1285 1.8 christos *errmsg = _("illegal bitmask"); 1286 1.8 christos return insn; 1287 1.8 christos } 1288 1.1 skrll 1289 1.8 christos mb = 0; 1290 1.8 christos me = 32; 1291 1.8 christos if ((uval & 1) != 0) 1292 1.8 christos last = 1; 1293 1.8 christos else 1294 1.8 christos last = 0; 1295 1.8 christos count = 0; 1296 1.4 christos 1297 1.8 christos /* mb: location of last 0->1 transition */ 1298 1.8 christos /* me: location of last 1->0 transition */ 1299 1.8 christos /* count: # transitions */ 1300 1.1 skrll 1301 1.8 christos for (mx = 0, mask = (uint64_t) 1 << 31; mx < 32; ++mx, mask >>= 1) 1302 1.8 christos { 1303 1.8 christos if ((uval & mask) && !last) 1304 1.8 christos { 1305 1.8 christos ++count; 1306 1.8 christos mb = mx; 1307 1.8 christos last = 1; 1308 1.8 christos } 1309 1.8 christos else if (!(uval & mask) && last) 1310 1.8 christos { 1311 1.8 christos ++count; 1312 1.8 christos me = mx; 1313 1.8 christos last = 0; 1314 1.8 christos } 1315 1.8 christos } 1316 1.8 christos if (me == 0) 1317 1.8 christos me = 32; 1318 1.1 skrll 1319 1.8 christos if (count != 2 && (count != 0 || ! last)) 1320 1.8 christos *errmsg = _("illegal bitmask"); 1321 1.4 christos 1322 1.8 christos return insn | (mb << 6) | ((me - 1) << 1); 1323 1.8 christos } 1324 1.1 skrll 1325 1.8 christos static int64_t 1326 1.8 christos extract_mbe (uint64_t insn, 1327 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1328 1.8 christos int *invalid) 1329 1.8 christos { 1330 1.8 christos int64_t ret; 1331 1.8 christos long mb, me; 1332 1.8 christos long i; 1333 1.5 christos 1334 1.8 christos *invalid = 1; 1335 1.1 skrll 1336 1.8 christos mb = (insn >> 6) & 0x1f; 1337 1.8 christos me = (insn >> 1) & 0x1f; 1338 1.8 christos if (mb < me + 1) 1339 1.8 christos { 1340 1.8 christos ret = 0; 1341 1.8 christos for (i = mb; i <= me; i++) 1342 1.8 christos ret |= (uint64_t) 1 << (31 - i); 1343 1.8 christos } 1344 1.8 christos else if (mb == me + 1) 1345 1.8 christos ret = ~0; 1346 1.8 christos else /* (mb > me + 1) */ 1347 1.8 christos { 1348 1.8 christos ret = ~0; 1349 1.8 christos for (i = me + 1; i < mb; i++) 1350 1.8 christos ret &= ~((uint64_t) 1 << (31 - i)); 1351 1.8 christos } 1352 1.8 christos return ret; 1353 1.8 christos } 1354 1.1 skrll 1355 1.8 christos /* The MB or ME field in an MD or MDS form instruction. The high bit 1356 1.8 christos is wrapped to the low end. */ 1357 1.1 skrll 1358 1.8 christos static uint64_t 1359 1.8 christos insert_mb6 (uint64_t insn, 1360 1.8 christos int64_t value, 1361 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1362 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1363 1.8 christos { 1364 1.8 christos return insn | ((value & 0x1f) << 6) | (value & 0x20); 1365 1.8 christos } 1366 1.1 skrll 1367 1.8 christos static int64_t 1368 1.8 christos extract_mb6 (uint64_t insn, 1369 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1370 1.8 christos int *invalid ATTRIBUTE_UNUSED) 1371 1.8 christos { 1372 1.8 christos return ((insn >> 6) & 0x1f) | (insn & 0x20); 1373 1.8 christos } 1374 1.1 skrll 1375 1.11 christos /* The n operand of extrdi, which sets MB field. */ 1376 1.11 christos 1377 1.11 christos static uint64_t 1378 1.11 christos insert_erdn (uint64_t insn, 1379 1.11 christos int64_t value, 1380 1.11 christos ppc_cpu_t dialect, 1381 1.11 christos const char **errmsg) 1382 1.11 christos { 1383 1.11 christos return insert_mb6 (insn, -value, dialect, errmsg); 1384 1.11 christos } 1385 1.11 christos 1386 1.11 christos static int64_t 1387 1.11 christos extract_erdn (uint64_t insn, 1388 1.11 christos ppc_cpu_t dialect, 1389 1.11 christos int *invalid) 1390 1.11 christos { 1391 1.11 christos return (~extract_mb6 (insn, dialect, invalid) & 63) + 1; 1392 1.11 christos } 1393 1.11 christos 1394 1.11 christos /* The n operand of extldi, which sets ME field. */ 1395 1.11 christos 1396 1.11 christos static uint64_t 1397 1.11 christos insert_eldn (uint64_t insn, 1398 1.11 christos int64_t value, 1399 1.11 christos ppc_cpu_t dialect, 1400 1.11 christos const char **errmsg) 1401 1.11 christos { 1402 1.11 christos return insert_mb6 (insn, value - 1, dialect, errmsg); 1403 1.11 christos } 1404 1.11 christos 1405 1.11 christos static int64_t 1406 1.11 christos extract_eldn (uint64_t insn, 1407 1.11 christos ppc_cpu_t dialect, 1408 1.11 christos int *invalid) 1409 1.11 christos { 1410 1.11 christos return extract_mb6 (insn, dialect, invalid) + 1; 1411 1.11 christos } 1412 1.11 christos 1413 1.11 christos /* The n operand of clrrdi, which set ME field. */ 1414 1.11 christos 1415 1.11 christos static uint64_t 1416 1.11 christos insert_crdn (uint64_t insn, 1417 1.11 christos int64_t value, 1418 1.11 christos ppc_cpu_t dialect, 1419 1.11 christos const char **errmsg) 1420 1.11 christos { 1421 1.11 christos return insert_mb6 (insn, 63 - value, dialect, errmsg); 1422 1.11 christos } 1423 1.11 christos 1424 1.11 christos static int64_t 1425 1.11 christos extract_crdn (uint64_t insn, 1426 1.11 christos ppc_cpu_t dialect, 1427 1.11 christos int *invalid) 1428 1.11 christos { 1429 1.11 christos return 63 - extract_mb6 (insn, dialect, invalid); 1430 1.11 christos } 1431 1.11 christos 1432 1.8 christos /* The NB field in an X form instruction. The value 32 is stored as 1433 1.8 christos 0. */ 1434 1.1 skrll 1435 1.8 christos static int64_t 1436 1.8 christos extract_nb (uint64_t insn, 1437 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1438 1.8 christos int *invalid ATTRIBUTE_UNUSED) 1439 1.8 christos { 1440 1.8 christos int64_t ret; 1441 1.1 skrll 1442 1.8 christos ret = (insn >> 11) & 0x1f; 1443 1.8 christos if (ret == 0) 1444 1.8 christos ret = 32; 1445 1.8 christos return ret; 1446 1.8 christos } 1447 1.1 skrll 1448 1.8 christos /* The NB field in an lswi instruction, which has special value 1449 1.8 christos restrictions. The value 32 is stored as 0. */ 1450 1.1 skrll 1451 1.8 christos static uint64_t 1452 1.8 christos insert_nbi (uint64_t insn, 1453 1.8 christos int64_t value, 1454 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1455 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1456 1.8 christos { 1457 1.8 christos int64_t rtvalue = (insn >> 21) & 0x1f; 1458 1.8 christos int64_t ravalue = (insn >> 16) & 0x1f; 1459 1.4 christos 1460 1.8 christos if (value == 0) 1461 1.8 christos value = 32; 1462 1.8 christos if (rtvalue + (value + 3) / 4 > (rtvalue > ravalue ? ravalue + 32 1463 1.8 christos : ravalue)) 1464 1.8 christos *errmsg = _("address register in load range"); 1465 1.8 christos return insn | ((value & 0x1f) << 11); 1466 1.8 christos } 1467 1.7 christos 1468 1.8 christos /* The NSI field in a D form instruction. This is the same as the SI 1469 1.8 christos field, only negated. The extraction function always marks it as 1470 1.8 christos invalid, since we never want to recognize an instruction which uses 1471 1.8 christos a field of this type. */ 1472 1.1 skrll 1473 1.8 christos static uint64_t 1474 1.8 christos insert_nsi (uint64_t insn, 1475 1.8 christos int64_t value, 1476 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1477 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1478 1.8 christos { 1479 1.8 christos return insn | (-value & 0xffff); 1480 1.8 christos } 1481 1.1 skrll 1482 1.8 christos static int64_t 1483 1.8 christos extract_nsi (uint64_t insn, 1484 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1485 1.8 christos int *invalid) 1486 1.8 christos { 1487 1.8 christos *invalid = 1; 1488 1.8 christos return -(((insn & 0xffff) ^ 0x8000) - 0x8000); 1489 1.8 christos } 1490 1.1 skrll 1491 1.11 christos /* The 2-bit SC field in a SYNC or PL field in a WAIT instruction. 1492 1.11 christos For WAIT, some PL values are reserved: 1493 1.11 christos * Values 1, 2 and 3 are reserved. */ 1494 1.11 christos 1495 1.11 christos static uint64_t 1496 1.11 christos insert_pl (uint64_t insn, 1497 1.11 christos int64_t value, 1498 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1499 1.11 christos const char **errmsg) 1500 1.11 christos { 1501 1.11 christos /* For WAIT, some PL values are illegal. */ 1502 1.11 christos if (((insn >> 1) & 0x3ff) == 30 1503 1.11 christos && value != 0) 1504 1.11 christos *errmsg = _("illegal PL operand value"); 1505 1.11 christos return insn | ((value & 0x3) << 16); 1506 1.11 christos } 1507 1.11 christos 1508 1.11 christos static int64_t 1509 1.11 christos extract_pl (uint64_t insn, 1510 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1511 1.11 christos int *invalid) 1512 1.11 christos { 1513 1.11 christos /* Missing optional operands have a value of zero. */ 1514 1.11 christos if (*invalid < 0) 1515 1.11 christos return 0; 1516 1.11 christos 1517 1.11 christos uint64_t value = (insn >> 16) & 0x3; 1518 1.11 christos 1519 1.11 christos /* For WAIT, some PL values are illegal. */ 1520 1.11 christos if (((insn >> 1) & 0x3ff) == 30 1521 1.11 christos && value != 0) 1522 1.11 christos *invalid = 1; 1523 1.11 christos return value; 1524 1.11 christos } 1525 1.11 christos 1526 1.12 christos /* The 2-bit P field in a MMA XX2-form instruction. This is split. */ 1527 1.12 christos 1528 1.12 christos static uint64_t 1529 1.12 christos insert_p2 (uint64_t insn, 1530 1.12 christos int64_t value, 1531 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1532 1.12 christos const char **errmsg ATTRIBUTE_UNUSED) 1533 1.12 christos { 1534 1.12 christos return insn | ((value & 0x2) << 15) | ((value & 0x1) << 11); 1535 1.12 christos } 1536 1.12 christos 1537 1.12 christos static int64_t 1538 1.12 christos extract_p2 (uint64_t insn, 1539 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1540 1.12 christos int *invalid ATTRIBUTE_UNUSED) 1541 1.12 christos { 1542 1.12 christos uint64_t value = ((insn >> 15) & 0x2) | ((insn >> 11) & 0x1); 1543 1.12 christos return value; 1544 1.12 christos } 1545 1.12 christos 1546 1.8 christos /* The RA field in a D or X form instruction which is an updating 1547 1.8 christos load, which means that the RA field may not be zero and may not 1548 1.8 christos equal the RT field. */ 1549 1.1 skrll 1550 1.8 christos static uint64_t 1551 1.8 christos insert_ral (uint64_t insn, 1552 1.8 christos int64_t value, 1553 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1554 1.8 christos const char **errmsg) 1555 1.8 christos { 1556 1.8 christos if (value == 0 1557 1.8 christos || (uint64_t) value == ((insn >> 21) & 0x1f)) 1558 1.8 christos *errmsg = "invalid register operand when updating"; 1559 1.8 christos return insn | ((value & 0x1f) << 16); 1560 1.8 christos } 1561 1.1 skrll 1562 1.8 christos static int64_t 1563 1.8 christos extract_ral (uint64_t insn, 1564 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1565 1.8 christos int *invalid) 1566 1.8 christos { 1567 1.8 christos int64_t rtvalue = (insn >> 21) & 0x1f; 1568 1.8 christos int64_t ravalue = (insn >> 16) & 0x1f; 1569 1.1 skrll 1570 1.8 christos if (rtvalue == ravalue || ravalue == 0) 1571 1.8 christos *invalid = 1; 1572 1.8 christos return ravalue; 1573 1.8 christos } 1574 1.1 skrll 1575 1.8 christos /* The RA field in an lmw instruction, which has special value 1576 1.8 christos restrictions. */ 1577 1.1 skrll 1578 1.8 christos static uint64_t 1579 1.8 christos insert_ram (uint64_t insn, 1580 1.8 christos int64_t value, 1581 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1582 1.8 christos const char **errmsg) 1583 1.8 christos { 1584 1.8 christos if ((uint64_t) value >= ((insn >> 21) & 0x1f)) 1585 1.8 christos *errmsg = _("index register in load range"); 1586 1.8 christos return insn | ((value & 0x1f) << 16); 1587 1.8 christos } 1588 1.1 skrll 1589 1.8 christos static int64_t 1590 1.8 christos extract_ram (uint64_t insn, 1591 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1592 1.8 christos int *invalid) 1593 1.8 christos { 1594 1.8 christos uint64_t rtvalue = (insn >> 21) & 0x1f; 1595 1.8 christos uint64_t ravalue = (insn >> 16) & 0x1f; 1596 1.1 skrll 1597 1.8 christos if (ravalue >= rtvalue) 1598 1.8 christos *invalid = 1; 1599 1.8 christos return ravalue; 1600 1.8 christos } 1601 1.4 christos 1602 1.8 christos /* The RA field in the DQ form lq or an lswx instruction, which have special 1603 1.8 christos value restrictions. */ 1604 1.3 christos 1605 1.8 christos static uint64_t 1606 1.8 christos insert_raq (uint64_t insn, 1607 1.8 christos int64_t value, 1608 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1609 1.8 christos const char **errmsg) 1610 1.8 christos { 1611 1.8 christos int64_t rtvalue = (insn >> 21) & 0x1f; 1612 1.5 christos 1613 1.8 christos if (value == rtvalue) 1614 1.8 christos *errmsg = _("source and target register operands must be different"); 1615 1.8 christos return insn | ((value & 0x1f) << 16); 1616 1.8 christos } 1617 1.1 skrll 1618 1.8 christos static int64_t 1619 1.8 christos extract_raq (uint64_t insn, 1620 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1621 1.8 christos int *invalid) 1622 1.8 christos { 1623 1.10 christos /* Missing optional operands have a value of zero. */ 1624 1.10 christos if (*invalid < 0) 1625 1.10 christos return 0; 1626 1.10 christos 1627 1.8 christos uint64_t rtvalue = (insn >> 21) & 0x1f; 1628 1.8 christos uint64_t ravalue = (insn >> 16) & 0x1f; 1629 1.8 christos if (ravalue == rtvalue) 1630 1.8 christos *invalid = 1; 1631 1.8 christos return ravalue; 1632 1.8 christos } 1633 1.1 skrll 1634 1.8 christos /* The RA field in a D or X form instruction which is an updating 1635 1.8 christos store or an updating floating point load, which means that the RA 1636 1.8 christos field may not be zero. */ 1637 1.4 christos 1638 1.8 christos static uint64_t 1639 1.8 christos insert_ras (uint64_t insn, 1640 1.8 christos int64_t value, 1641 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1642 1.8 christos const char **errmsg) 1643 1.8 christos { 1644 1.8 christos if (value == 0) 1645 1.13 christos *errmsg = _("invalid base address register operand"); 1646 1.8 christos return insn | ((value & 0x1f) << 16); 1647 1.8 christos } 1648 1.4 christos 1649 1.8 christos static int64_t 1650 1.8 christos extract_ras (uint64_t insn, 1651 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1652 1.8 christos int *invalid) 1653 1.8 christos { 1654 1.8 christos uint64_t ravalue = (insn >> 16) & 0x1f; 1655 1.4 christos 1656 1.8 christos if (ravalue == 0) 1657 1.8 christos *invalid = 1; 1658 1.8 christos return ravalue; 1659 1.8 christos } 1660 1.4 christos 1661 1.9 christos /* The RS and RB fields in an X form instruction when they must be the same. 1662 1.9 christos This is used for extended mnemonics like mr. The extraction function 1663 1.9 christos enforces that the fields are the same. */ 1664 1.4 christos 1665 1.8 christos static uint64_t 1666 1.9 christos insert_rsb (uint64_t insn, 1667 1.9 christos int64_t value, 1668 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1669 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1670 1.8 christos { 1671 1.9 christos value &= 0x1f; 1672 1.9 christos return insn | (value << 21) | (value << 11); 1673 1.8 christos } 1674 1.4 christos 1675 1.8 christos static int64_t 1676 1.9 christos extract_rsb (uint64_t insn, 1677 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1678 1.8 christos int *invalid) 1679 1.8 christos { 1680 1.9 christos int64_t rs = (insn >> 21) & 0x1f; 1681 1.9 christos int64_t rb = (insn >> 11) & 0x1f; 1682 1.9 christos 1683 1.9 christos if (rs != rb) 1684 1.8 christos *invalid = 1; 1685 1.9 christos return rs; 1686 1.8 christos } 1687 1.4 christos 1688 1.8 christos /* The RB field in an lswx instruction, which has special value 1689 1.8 christos restrictions. */ 1690 1.4 christos 1691 1.8 christos static uint64_t 1692 1.8 christos insert_rbx (uint64_t insn, 1693 1.8 christos int64_t value, 1694 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1695 1.8 christos const char **errmsg) 1696 1.8 christos { 1697 1.8 christos int64_t rtvalue = (insn >> 21) & 0x1f; 1698 1.4 christos 1699 1.8 christos if (value == rtvalue) 1700 1.8 christos *errmsg = _("source and target register operands must be different"); 1701 1.8 christos return insn | ((value & 0x1f) << 11); 1702 1.8 christos } 1703 1.1 skrll 1704 1.8 christos static int64_t 1705 1.8 christos extract_rbx (uint64_t insn, 1706 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1707 1.8 christos int *invalid) 1708 1.8 christos { 1709 1.8 christos uint64_t rtvalue = (insn >> 21) & 0x1f; 1710 1.8 christos uint64_t rbvalue = (insn >> 11) & 0x1f; 1711 1.5 christos 1712 1.8 christos if (rbvalue == rtvalue) 1713 1.8 christos *invalid = 1; 1714 1.8 christos return rbvalue; 1715 1.8 christos } 1716 1.1 skrll 1717 1.8 christos /* The SCI8 field is made up of SCL and {U,N}I8 fields. */ 1718 1.8 christos static uint64_t 1719 1.8 christos insert_sci8 (uint64_t insn, 1720 1.8 christos int64_t value, 1721 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1722 1.8 christos const char **errmsg) 1723 1.8 christos { 1724 1.8 christos uint64_t fill_scale = 0; 1725 1.8 christos uint64_t ui8 = value; 1726 1.1 skrll 1727 1.8 christos if ((ui8 & 0xffffff00) == 0) 1728 1.8 christos ; 1729 1.8 christos else if ((ui8 & 0xffffff00) == 0xffffff00) 1730 1.8 christos fill_scale = 0x400; 1731 1.8 christos else if ((ui8 & 0xffff00ff) == 0) 1732 1.8 christos { 1733 1.8 christos fill_scale = 1 << 8; 1734 1.8 christos ui8 >>= 8; 1735 1.8 christos } 1736 1.8 christos else if ((ui8 & 0xffff00ff) == 0xffff00ff) 1737 1.8 christos { 1738 1.8 christos fill_scale = 0x400 | (1 << 8); 1739 1.8 christos ui8 >>= 8; 1740 1.8 christos } 1741 1.8 christos else if ((ui8 & 0xff00ffff) == 0) 1742 1.8 christos { 1743 1.8 christos fill_scale = 2 << 8; 1744 1.8 christos ui8 >>= 16; 1745 1.8 christos } 1746 1.8 christos else if ((ui8 & 0xff00ffff) == 0xff00ffff) 1747 1.8 christos { 1748 1.8 christos fill_scale = 0x400 | (2 << 8); 1749 1.8 christos ui8 >>= 16; 1750 1.8 christos } 1751 1.8 christos else if ((ui8 & 0x00ffffff) == 0) 1752 1.8 christos { 1753 1.8 christos fill_scale = 3 << 8; 1754 1.8 christos ui8 >>= 24; 1755 1.8 christos } 1756 1.8 christos else if ((ui8 & 0x00ffffff) == 0x00ffffff) 1757 1.8 christos { 1758 1.8 christos fill_scale = 0x400 | (3 << 8); 1759 1.8 christos ui8 >>= 24; 1760 1.8 christos } 1761 1.8 christos else 1762 1.8 christos { 1763 1.8 christos *errmsg = _("illegal immediate value"); 1764 1.8 christos ui8 = 0; 1765 1.8 christos } 1766 1.1 skrll 1767 1.8 christos return insn | fill_scale | (ui8 & 0xff); 1768 1.8 christos } 1769 1.1 skrll 1770 1.8 christos static int64_t 1771 1.8 christos extract_sci8 (uint64_t insn, 1772 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1773 1.8 christos int *invalid ATTRIBUTE_UNUSED) 1774 1.8 christos { 1775 1.8 christos int64_t fill = insn & 0x400; 1776 1.8 christos int64_t scale_factor = (insn & 0x300) >> 5; 1777 1.8 christos int64_t value = (insn & 0xff) << scale_factor; 1778 1.4 christos 1779 1.8 christos if (fill != 0) 1780 1.8 christos value |= ~((int64_t) 0xff << scale_factor); 1781 1.8 christos return value; 1782 1.8 christos } 1783 1.1 skrll 1784 1.8 christos static uint64_t 1785 1.8 christos insert_sci8n (uint64_t insn, 1786 1.8 christos int64_t value, 1787 1.8 christos ppc_cpu_t dialect, 1788 1.8 christos const char **errmsg) 1789 1.8 christos { 1790 1.8 christos return insert_sci8 (insn, -value, dialect, errmsg); 1791 1.8 christos } 1792 1.1 skrll 1793 1.8 christos static int64_t 1794 1.8 christos extract_sci8n (uint64_t insn, 1795 1.8 christos ppc_cpu_t dialect, 1796 1.8 christos int *invalid) 1797 1.8 christos { 1798 1.8 christos return -extract_sci8 (insn, dialect, invalid); 1799 1.8 christos } 1800 1.1 skrll 1801 1.8 christos static uint64_t 1802 1.8 christos insert_oimm (uint64_t insn, 1803 1.8 christos int64_t value, 1804 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1805 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1806 1.8 christos { 1807 1.8 christos return insn | (((value - 1) & 0x1f) << 4); 1808 1.8 christos } 1809 1.1 skrll 1810 1.8 christos static int64_t 1811 1.8 christos extract_oimm (uint64_t insn, 1812 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1813 1.8 christos int *invalid ATTRIBUTE_UNUSED) 1814 1.8 christos { 1815 1.8 christos return ((insn >> 4) & 0x1f) + 1; 1816 1.8 christos } 1817 1.1 skrll 1818 1.11 christos /* The n operand of rotrwi, sets SH = 32 - n. */ 1819 1.11 christos 1820 1.11 christos static uint64_t 1821 1.11 christos insert_rrwn (uint64_t insn, 1822 1.11 christos int64_t value, 1823 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1824 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1825 1.11 christos { 1826 1.11 christos return insn | ((-value & 0x1f) << 11); 1827 1.11 christos } 1828 1.11 christos 1829 1.11 christos static int64_t 1830 1.11 christos extract_rrwn (uint64_t insn, 1831 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1832 1.11 christos int *invalid ATTRIBUTE_UNUSED) 1833 1.11 christos { 1834 1.11 christos return 31 & -(insn >> 11); 1835 1.11 christos } 1836 1.11 christos 1837 1.11 christos /* The n operand of slwi, sets SH = n and ME = 31 - n. */ 1838 1.11 christos 1839 1.11 christos static uint64_t 1840 1.11 christos insert_slwn (uint64_t insn, 1841 1.11 christos int64_t value, 1842 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1843 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1844 1.11 christos { 1845 1.11 christos return insn | ((value & 0x1f) << 11) | ((~value & 0x1f) << 1); 1846 1.11 christos } 1847 1.11 christos 1848 1.11 christos static int64_t 1849 1.11 christos extract_slwn (uint64_t insn, 1850 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1851 1.11 christos int *invalid) 1852 1.11 christos { 1853 1.11 christos int64_t sh = (insn >> 11) & 0x1f; 1854 1.11 christos int64_t nme = ~(insn >> 1) & 0x1f; 1855 1.11 christos if (sh != nme) 1856 1.11 christos *invalid = 1; 1857 1.11 christos return sh; 1858 1.11 christos } 1859 1.11 christos 1860 1.11 christos /* The n operand of srwi, sets SH = 32 - n and MB = n. */ 1861 1.11 christos 1862 1.11 christos static uint64_t 1863 1.11 christos insert_srwn (uint64_t insn, 1864 1.11 christos int64_t value, 1865 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1866 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 1867 1.11 christos { 1868 1.11 christos return insn | ((-value & 0x1f) << 11) | ((value & 0x1f) << 6); 1869 1.11 christos } 1870 1.11 christos 1871 1.11 christos static int64_t 1872 1.11 christos extract_srwn (uint64_t insn, 1873 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1874 1.11 christos int *invalid) 1875 1.11 christos { 1876 1.11 christos int64_t nsh = -(insn >> 11) & 0x1f; 1877 1.11 christos int64_t mb = (insn >> 6) & 0x1f; 1878 1.11 christos if (nsh != mb) 1879 1.11 christos *invalid = 1; 1880 1.11 christos return nsh; 1881 1.11 christos } 1882 1.11 christos 1883 1.8 christos /* The SH field in an MD form instruction. This is split. */ 1884 1.1 skrll 1885 1.8 christos static uint64_t 1886 1.8 christos insert_sh6 (uint64_t insn, 1887 1.8 christos int64_t value, 1888 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1889 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 1890 1.8 christos { 1891 1.10 christos return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4); 1892 1.8 christos } 1893 1.5 christos 1894 1.8 christos static int64_t 1895 1.8 christos extract_sh6 (uint64_t insn, 1896 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 1897 1.8 christos int *invalid ATTRIBUTE_UNUSED) 1898 1.8 christos { 1899 1.10 christos return ((insn >> 11) & 0x1f) | ((insn << 4) & 0x20); 1900 1.8 christos } 1901 1.4 christos 1902 1.11 christos /* The n operand of rotrdi, which writes to SH field. */ 1903 1.11 christos 1904 1.11 christos static uint64_t 1905 1.11 christos insert_rrdn (uint64_t insn, 1906 1.11 christos int64_t value, 1907 1.11 christos ppc_cpu_t dialect, 1908 1.11 christos const char **errmsg) 1909 1.11 christos { 1910 1.11 christos return insert_sh6 (insn, -value, dialect, errmsg); 1911 1.11 christos } 1912 1.11 christos 1913 1.11 christos static int64_t 1914 1.11 christos extract_rrdn (uint64_t insn, 1915 1.11 christos ppc_cpu_t dialect, 1916 1.11 christos int *invalid) 1917 1.11 christos { 1918 1.11 christos return -extract_sh6 (insn, dialect, invalid) & 63; 1919 1.11 christos } 1920 1.11 christos 1921 1.11 christos /* The n operand of sldi, which writes to SH and ME fields. */ 1922 1.11 christos 1923 1.11 christos static uint64_t 1924 1.11 christos insert_sldn (uint64_t insn, 1925 1.11 christos int64_t value, 1926 1.11 christos ppc_cpu_t dialect, 1927 1.11 christos const char **errmsg) 1928 1.11 christos { 1929 1.11 christos insn = insert_sh6 (insn, value, dialect, errmsg); 1930 1.11 christos return insert_crdn (insn, value, dialect, errmsg); 1931 1.11 christos } 1932 1.11 christos 1933 1.11 christos static int64_t 1934 1.11 christos extract_sldn (uint64_t insn, 1935 1.11 christos ppc_cpu_t dialect, 1936 1.11 christos int *invalid) 1937 1.11 christos { 1938 1.11 christos int64_t sh = extract_sh6 (insn, dialect, invalid); 1939 1.11 christos int64_t me = extract_crdn (insn, dialect, invalid); 1940 1.11 christos if (me != sh) 1941 1.11 christos *invalid = 1; 1942 1.11 christos return sh; 1943 1.11 christos } 1944 1.11 christos 1945 1.11 christos /* The n operand of srdi, which writes to SH and MB fields. */ 1946 1.11 christos 1947 1.11 christos static uint64_t 1948 1.11 christos insert_srdn (uint64_t insn, 1949 1.11 christos int64_t value, 1950 1.11 christos ppc_cpu_t dialect, 1951 1.11 christos const char **errmsg) 1952 1.11 christos { 1953 1.11 christos insn = insert_rrdn (insn, value, dialect, errmsg); 1954 1.11 christos return insert_mb6 (insn, value, dialect, errmsg); 1955 1.11 christos } 1956 1.11 christos 1957 1.11 christos static int64_t 1958 1.11 christos extract_srdn (uint64_t insn, 1959 1.11 christos ppc_cpu_t dialect, 1960 1.11 christos int *invalid) 1961 1.11 christos { 1962 1.11 christos int64_t sh = extract_rrdn (insn, dialect, invalid); 1963 1.11 christos int64_t mb = extract_mb6 (insn, dialect, invalid); 1964 1.11 christos if (mb != sh) 1965 1.11 christos *invalid = 1; 1966 1.11 christos return sh; 1967 1.11 christos } 1968 1.11 christos 1969 1.11 christos /* The b operand of extrdi, which sets SH field. */ 1970 1.11 christos 1971 1.11 christos static uint64_t 1972 1.11 christos insert_erdb (uint64_t insn, 1973 1.11 christos int64_t value, 1974 1.11 christos ppc_cpu_t dialect, 1975 1.11 christos const char **errmsg) 1976 1.11 christos { 1977 1.11 christos int64_t n = extract_erdn (insn, dialect, NULL); 1978 1.11 christos return insert_sh6 (insn, value + n, dialect, errmsg); 1979 1.11 christos } 1980 1.11 christos 1981 1.11 christos static int64_t 1982 1.11 christos extract_erdb (uint64_t insn, 1983 1.11 christos ppc_cpu_t dialect, 1984 1.11 christos int *invalid) 1985 1.11 christos { 1986 1.11 christos int64_t sh = extract_sh6 (insn, dialect, invalid); 1987 1.11 christos int64_t n = extract_erdn (insn, dialect, invalid); 1988 1.11 christos return (sh - n) & 63; 1989 1.11 christos } 1990 1.11 christos 1991 1.11 christos /* The b and n operands of clrlsldi. */ 1992 1.11 christos 1993 1.11 christos static uint64_t 1994 1.11 christos insert_csldn (uint64_t insn, 1995 1.11 christos int64_t value, 1996 1.11 christos ppc_cpu_t dialect, 1997 1.11 christos const char **errmsg) 1998 1.11 christos { 1999 1.11 christos uint64_t mb6 = 0x3f << 5; 2000 1.11 christos int64_t b = extract_mb6 (insn, dialect, NULL); 2001 1.11 christos insn = insert_mb6 (insn & ~mb6, b - value, dialect, errmsg); 2002 1.11 christos return insert_sh6 (insn, value, dialect, errmsg); 2003 1.11 christos } 2004 1.11 christos 2005 1.11 christos static int64_t 2006 1.11 christos extract_csldb (uint64_t insn, 2007 1.11 christos ppc_cpu_t dialect, 2008 1.11 christos int *invalid) 2009 1.11 christos { 2010 1.11 christos int64_t sh = extract_sh6 (insn, dialect, invalid); 2011 1.11 christos int64_t mb = extract_mb6 (insn, dialect, invalid); 2012 1.11 christos return (mb + sh) & 63; 2013 1.11 christos } 2014 1.11 christos 2015 1.11 christos /* The b and n operands of insrdi. */ 2016 1.11 christos 2017 1.11 christos static uint64_t 2018 1.11 christos insert_irdb (uint64_t insn, 2019 1.11 christos int64_t value, 2020 1.11 christos ppc_cpu_t dialect, 2021 1.11 christos const char **errmsg) 2022 1.11 christos { 2023 1.11 christos uint64_t sh6 = (0x1f << 11) | 2; 2024 1.11 christos int64_t n = extract_sh6 (insn, dialect, NULL); 2025 1.11 christos insn = insert_sh6 (insn & ~sh6, -(value + n), dialect, errmsg); 2026 1.11 christos return insert_mb6 (insn, value, dialect, errmsg); 2027 1.11 christos } 2028 1.11 christos 2029 1.11 christos static int64_t 2030 1.11 christos extract_irdn (uint64_t insn, 2031 1.11 christos ppc_cpu_t dialect, 2032 1.11 christos int *invalid) 2033 1.11 christos { 2034 1.11 christos int64_t sh = extract_sh6 (insn, dialect, invalid); 2035 1.11 christos int64_t mb = extract_mb6 (insn, dialect, invalid); 2036 1.11 christos return (~(mb + sh) & 63) + 1; 2037 1.11 christos } 2038 1.11 christos 2039 1.8 christos /* The SPR field in an XFX form instruction. This is flipped--the 2040 1.8 christos lower 5 bits are stored in the upper 5 and vice- versa. */ 2041 1.4 christos 2042 1.8 christos static uint64_t 2043 1.8 christos insert_spr (uint64_t insn, 2044 1.8 christos int64_t value, 2045 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2046 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2047 1.8 christos { 2048 1.8 christos return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6); 2049 1.8 christos } 2050 1.4 christos 2051 1.8 christos static int64_t 2052 1.8 christos extract_spr (uint64_t insn, 2053 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2054 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2055 1.8 christos { 2056 1.8 christos return ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0); 2057 1.8 christos } 2058 1.1 skrll 2059 1.10 christos /* Some dialects have 8 [DI]BAT registers instead of the standard 4. */ 2060 1.10 christos #define ALLOW8_BAT (PPC_OPCODE_750) 2061 1.10 christos 2062 1.10 christos static uint64_t 2063 1.10 christos insert_sprbat (uint64_t insn, 2064 1.10 christos int64_t value, 2065 1.10 christos ppc_cpu_t dialect, 2066 1.10 christos const char **errmsg) 2067 1.10 christos { 2068 1.10 christos if ((uint64_t) value > 7 2069 1.10 christos || ((uint64_t) value > 3 && (dialect & ALLOW8_BAT) == 0)) 2070 1.10 christos *errmsg = _("invalid bat number"); 2071 1.10 christos 2072 1.10 christos /* If this is [di]bat4..7 then use spr 560..575, otherwise 528..543. */ 2073 1.10 christos if ((uint64_t) value > 3) 2074 1.10 christos value = ((value & 3) << 6) | 1; 2075 1.10 christos else 2076 1.10 christos value = value << 6; 2077 1.10 christos 2078 1.10 christos return insn | (value << 11); 2079 1.10 christos } 2080 1.10 christos 2081 1.10 christos static int64_t 2082 1.10 christos extract_sprbat (uint64_t insn, 2083 1.10 christos ppc_cpu_t dialect, 2084 1.10 christos int *invalid) 2085 1.10 christos { 2086 1.10 christos uint64_t val = (insn >> 17) & 0x3; 2087 1.10 christos 2088 1.10 christos val = val + ((insn >> 9) & 0x4); 2089 1.10 christos if (val > 3 && (dialect & ALLOW8_BAT) == 0) 2090 1.10 christos *invalid = 1; 2091 1.10 christos return val; 2092 1.10 christos } 2093 1.10 christos 2094 1.8 christos /* Some dialects have 8 SPRG registers instead of the standard 4. */ 2095 1.8 christos #define ALLOW8_SPRG (PPC_OPCODE_BOOKE | PPC_OPCODE_405) 2096 1.1 skrll 2097 1.8 christos static uint64_t 2098 1.8 christos insert_sprg (uint64_t insn, 2099 1.8 christos int64_t value, 2100 1.8 christos ppc_cpu_t dialect, 2101 1.8 christos const char **errmsg) 2102 1.8 christos { 2103 1.10 christos if ((uint64_t) value > 7 2104 1.10 christos || ((uint64_t) value > 3 && (dialect & ALLOW8_SPRG) == 0)) 2105 1.8 christos *errmsg = _("invalid sprg number"); 2106 1.1 skrll 2107 1.8 christos /* If this is mfsprg4..7 then use spr 260..263 which can be read in 2108 1.8 christos user mode. Anything else must use spr 272..279. */ 2109 1.10 christos if ((uint64_t) value <= 3 || (insn & 0x100) != 0) 2110 1.8 christos value |= 0x10; 2111 1.1 skrll 2112 1.8 christos return insn | ((value & 0x17) << 16); 2113 1.8 christos } 2114 1.1 skrll 2115 1.8 christos static int64_t 2116 1.8 christos extract_sprg (uint64_t insn, 2117 1.8 christos ppc_cpu_t dialect, 2118 1.8 christos int *invalid) 2119 1.8 christos { 2120 1.8 christos uint64_t val = (insn >> 16) & 0x1f; 2121 1.1 skrll 2122 1.8 christos /* mfsprg can use 260..263 and 272..279. mtsprg only uses spr 272..279 2123 1.8 christos If not BOOKE, 405 or VLE, then both use only 272..275. */ 2124 1.8 christos if ((val - 0x10 > 3 && (dialect & ALLOW8_SPRG) == 0) 2125 1.8 christos || (val - 0x10 > 7 && (insn & 0x100) != 0) 2126 1.8 christos || val <= 3 2127 1.8 christos || (val & 8) != 0) 2128 1.8 christos *invalid = 1; 2129 1.8 christos return val & 7; 2130 1.8 christos } 2131 1.4 christos 2132 1.8 christos /* The TBR field in an XFX instruction. This is just like SPR, but it 2133 1.8 christos is optional. */ 2134 1.5 christos 2135 1.8 christos static uint64_t 2136 1.8 christos insert_tbr (uint64_t insn, 2137 1.8 christos int64_t value, 2138 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2139 1.8 christos const char **errmsg) 2140 1.8 christos { 2141 1.8 christos if (value != 268 && value != 269) 2142 1.8 christos *errmsg = _("invalid tbr number"); 2143 1.8 christos return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6); 2144 1.8 christos } 2145 1.5 christos 2146 1.8 christos static int64_t 2147 1.8 christos extract_tbr (uint64_t insn, 2148 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2149 1.8 christos int *invalid) 2150 1.8 christos { 2151 1.10 christos /* Missing optional operands have a value of 268. */ 2152 1.10 christos if (*invalid < 0) 2153 1.10 christos return 268; 2154 1.10 christos 2155 1.8 christos int64_t ret = ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0); 2156 1.8 christos if (ret != 268 && ret != 269) 2157 1.8 christos *invalid = 1; 2158 1.8 christos return ret; 2159 1.8 christos } 2160 1.5 christos 2161 1.8 christos /* The XT and XS fields in an XX1 or XX3 form instruction. This is split. */ 2162 1.1 skrll 2163 1.8 christos static uint64_t 2164 1.8 christos insert_xt6 (uint64_t insn, 2165 1.8 christos int64_t value, 2166 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2167 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2168 1.8 christos { 2169 1.8 christos return insn | ((value & 0x1f) << 21) | ((value & 0x20) >> 5); 2170 1.8 christos } 2171 1.1 skrll 2172 1.8 christos static int64_t 2173 1.8 christos extract_xt6 (uint64_t insn, 2174 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2175 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2176 1.8 christos { 2177 1.8 christos return ((insn << 5) & 0x20) | ((insn >> 21) & 0x1f); 2178 1.8 christos } 2179 1.1 skrll 2180 1.8 christos /* The XT and XS fields in an DQ form VSX instruction. This is split. */ 2181 1.8 christos static uint64_t 2182 1.8 christos insert_xtq6 (uint64_t insn, 2183 1.8 christos int64_t value, 2184 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2185 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2186 1.8 christos { 2187 1.8 christos return insn | ((value & 0x1f) << 21) | ((value & 0x20) >> 2); 2188 1.8 christos } 2189 1.1 skrll 2190 1.8 christos static int64_t 2191 1.8 christos extract_xtq6 (uint64_t insn, 2192 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2193 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2194 1.8 christos { 2195 1.8 christos return ((insn << 2) & 0x20) | ((insn >> 21) & 0x1f); 2196 1.8 christos } 2197 1.1 skrll 2198 1.12 christos /* The 5-bit XAp field in an XX3 form instruction. This is split. */ 2199 1.12 christos 2200 1.12 christos static uint64_t 2201 1.12 christos insert_xa5 (uint64_t insn, 2202 1.12 christos int64_t value, 2203 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2204 1.12 christos const char **errmsg ATTRIBUTE_UNUSED) 2205 1.12 christos { 2206 1.12 christos return insn | ((value & 0x1e) << 16) | ((value & 0x20) >> 3); 2207 1.12 christos } 2208 1.12 christos 2209 1.12 christos static int64_t 2210 1.12 christos extract_xa5 (uint64_t insn, 2211 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2212 1.12 christos int *invalid ATTRIBUTE_UNUSED) 2213 1.12 christos { 2214 1.12 christos return ((insn << 3) & 0x20) | ((insn >> 16) & 0x1e); 2215 1.12 christos } 2216 1.12 christos 2217 1.8 christos /* The XA field in an XX3 form instruction. This is split. */ 2218 1.1 skrll 2219 1.8 christos static uint64_t 2220 1.8 christos insert_xa6 (uint64_t insn, 2221 1.8 christos int64_t value, 2222 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2223 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2224 1.8 christos { 2225 1.8 christos return insn | ((value & 0x1f) << 16) | ((value & 0x20) >> 3); 2226 1.8 christos } 2227 1.1 skrll 2228 1.8 christos static int64_t 2229 1.8 christos extract_xa6 (uint64_t insn, 2230 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2231 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2232 1.8 christos { 2233 1.8 christos return ((insn << 3) & 0x20) | ((insn >> 16) & 0x1f); 2234 1.8 christos } 2235 1.1 skrll 2236 1.11 christos /* The XA field in an MMA XX3 form instruction. This is split 2237 1.11 christos and must not overlap with the ACC operand. */ 2238 1.11 christos 2239 1.11 christos static uint64_t 2240 1.11 christos insert_xa6a (uint64_t insn, 2241 1.11 christos int64_t value, 2242 1.11 christos ppc_cpu_t dialect, 2243 1.11 christos const char **errmsg) 2244 1.11 christos { 2245 1.11 christos int64_t acc = (insn >> 23) & 0x7; 2246 1.12 christos /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */ 2247 1.12 christos if ((dialect & PPC_OPCODE_FUTURE) == 0 2248 1.12 christos && (value >> 2) == acc) 2249 1.11 christos *errmsg = _("VSR overlaps ACC operand"); 2250 1.11 christos return insert_xa6 (insn, value, dialect, errmsg); 2251 1.11 christos } 2252 1.11 christos 2253 1.11 christos static int64_t 2254 1.11 christos extract_xa6a (uint64_t insn, 2255 1.11 christos ppc_cpu_t dialect, 2256 1.11 christos int *invalid) 2257 1.11 christos { 2258 1.11 christos int64_t acc = (insn >> 23) & 0x7; 2259 1.11 christos int64_t value = extract_xa6 (insn, dialect, invalid); 2260 1.12 christos /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */ 2261 1.12 christos if ((dialect & PPC_OPCODE_FUTURE) == 0 2262 1.12 christos && (value >> 2) == acc) 2263 1.11 christos *invalid = 1; 2264 1.11 christos return value; 2265 1.11 christos } 2266 1.11 christos 2267 1.12 christos /* The 5-bit XB field in an XX3 form instruction. This is split. */ 2268 1.12 christos 2269 1.12 christos static uint64_t 2270 1.12 christos insert_xb5 (uint64_t insn, 2271 1.12 christos int64_t value, 2272 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2273 1.12 christos const char **errmsg ATTRIBUTE_UNUSED) 2274 1.12 christos { 2275 1.12 christos return insn | ((value & 0x1e) << 11) | ((value & 0x20) >> 4); 2276 1.12 christos } 2277 1.12 christos 2278 1.12 christos static int64_t 2279 1.12 christos extract_xb5 (uint64_t insn, 2280 1.12 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2281 1.12 christos int *invalid ATTRIBUTE_UNUSED) 2282 1.12 christos { 2283 1.12 christos return ((insn << 4) & 0x20) | ((insn >> 11) & 0x1e); 2284 1.12 christos } 2285 1.8 christos /* The XB field in an XX3 form instruction. This is split. */ 2286 1.1 skrll 2287 1.8 christos static uint64_t 2288 1.8 christos insert_xb6 (uint64_t insn, 2289 1.8 christos int64_t value, 2290 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2291 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2292 1.8 christos { 2293 1.8 christos return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4); 2294 1.8 christos } 2295 1.1 skrll 2296 1.8 christos static int64_t 2297 1.8 christos extract_xb6 (uint64_t insn, 2298 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2299 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2300 1.8 christos { 2301 1.8 christos return ((insn << 4) & 0x20) | ((insn >> 11) & 0x1f); 2302 1.8 christos } 2303 1.1 skrll 2304 1.11 christos /* The XB field in an MMA XX3 form instruction. This is split 2305 1.11 christos and must not overlap with the ACC operand. */ 2306 1.11 christos 2307 1.11 christos static uint64_t 2308 1.11 christos insert_xb6a (uint64_t insn, 2309 1.11 christos int64_t value, 2310 1.11 christos ppc_cpu_t dialect, 2311 1.11 christos const char **errmsg) 2312 1.11 christos { 2313 1.11 christos int64_t acc = (insn >> 23) & 0x7; 2314 1.12 christos /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */ 2315 1.12 christos if ((dialect & PPC_OPCODE_FUTURE) == 0 2316 1.12 christos && (value >> 2) == acc) 2317 1.11 christos *errmsg = _("VSR overlaps ACC operand"); 2318 1.11 christos return insert_xb6 (insn, value, dialect, errmsg); 2319 1.11 christos } 2320 1.11 christos 2321 1.11 christos static int64_t 2322 1.11 christos extract_xb6a (uint64_t insn, 2323 1.11 christos ppc_cpu_t dialect, 2324 1.11 christos int *invalid) 2325 1.11 christos { 2326 1.11 christos int64_t acc = (insn >> 23) & 0x7; 2327 1.11 christos int64_t value = extract_xb6 (insn, dialect, invalid); 2328 1.12 christos /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */ 2329 1.12 christos if ((dialect & PPC_OPCODE_FUTURE) == 0 2330 1.12 christos && (value >> 2) == acc) 2331 1.11 christos *invalid = 1; 2332 1.11 christos return value; 2333 1.11 christos } 2334 1.11 christos 2335 1.9 christos /* The XA and XB fields in an XX3 form instruction when they must be the same. 2336 1.9 christos This is used for extended mnemonics like xvmovdp. The extraction function 2337 1.9 christos enforces that the fields are the same. */ 2338 1.5 christos 2339 1.8 christos static uint64_t 2340 1.9 christos insert_xab6 (uint64_t insn, 2341 1.9 christos int64_t value, 2342 1.9 christos ppc_cpu_t dialect, 2343 1.9 christos const char **errmsg) 2344 1.8 christos { 2345 1.9 christos return insert_xa6 (insn, value, dialect, errmsg) 2346 1.9 christos | insert_xb6 (insn, value, dialect, errmsg); 2347 1.8 christos } 2348 1.5 christos 2349 1.8 christos static int64_t 2350 1.9 christos extract_xab6 (uint64_t insn, 2351 1.9 christos ppc_cpu_t dialect, 2352 1.8 christos int *invalid) 2353 1.8 christos { 2354 1.9 christos int64_t xa6 = extract_xa6 (insn, dialect, invalid); 2355 1.9 christos int64_t xb6 = extract_xb6 (insn, dialect, invalid); 2356 1.9 christos 2357 1.9 christos if (xa6 != xb6) 2358 1.8 christos *invalid = 1; 2359 1.9 christos return xa6; 2360 1.8 christos } 2361 1.1 skrll 2362 1.8 christos /* The XC field in an XX4 form instruction. This is split. */ 2363 1.1 skrll 2364 1.8 christos static uint64_t 2365 1.8 christos insert_xc6 (uint64_t insn, 2366 1.8 christos int64_t value, 2367 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2368 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2369 1.8 christos { 2370 1.8 christos return insn | ((value & 0x1f) << 6) | ((value & 0x20) >> 2); 2371 1.8 christos } 2372 1.5 christos 2373 1.8 christos static int64_t 2374 1.8 christos extract_xc6 (uint64_t insn, 2375 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2376 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2377 1.8 christos { 2378 1.8 christos return ((insn << 2) & 0x20) | ((insn >> 6) & 0x1f); 2379 1.8 christos } 2380 1.1 skrll 2381 1.12 christos /* The split XTp and XSp field in a vector paired insn. */ 2382 1.11 christos 2383 1.11 christos static uint64_t 2384 1.11 christos insert_xtp (uint64_t insn, 2385 1.11 christos int64_t value, 2386 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2387 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 2388 1.11 christos { 2389 1.11 christos return insn | ((value & 0x1e) << 21) | ((value & 0x20) << (21 - 5)); 2390 1.11 christos } 2391 1.11 christos 2392 1.11 christos static int64_t 2393 1.11 christos extract_xtp (uint64_t insn, 2394 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2395 1.11 christos int *invalid ATTRIBUTE_UNUSED) 2396 1.11 christos { 2397 1.11 christos return ((insn >> (21 - 5)) & 0x20) | ((insn >> 21) & 0x1e); 2398 1.11 christos } 2399 1.11 christos 2400 1.11 christos /* The split XT field in a vector splat insn. */ 2401 1.11 christos 2402 1.11 christos static uint64_t 2403 1.11 christos insert_xts (uint64_t insn, 2404 1.11 christos int64_t value, 2405 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2406 1.11 christos const char **errmsg ATTRIBUTE_UNUSED) 2407 1.11 christos { 2408 1.11 christos return insn | ((value & 0x1f) << 21) | ((value & 0x20) << (16 - 5)); 2409 1.11 christos } 2410 1.11 christos 2411 1.11 christos static int64_t 2412 1.11 christos extract_xts (uint64_t insn, 2413 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2414 1.11 christos int *invalid ATTRIBUTE_UNUSED) 2415 1.11 christos { 2416 1.11 christos return ((insn >> (16 - 5)) & 0x20) | ((insn >> 21) & 0x1f); 2417 1.11 christos } 2418 1.11 christos 2419 1.8 christos static uint64_t 2420 1.8 christos insert_dm (uint64_t insn, 2421 1.8 christos int64_t value, 2422 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2423 1.8 christos const char **errmsg) 2424 1.8 christos { 2425 1.8 christos if (value != 0 && value != 1) 2426 1.8 christos *errmsg = _("invalid constant"); 2427 1.8 christos return insn | (((value) ? 3 : 0) << 8); 2428 1.8 christos } 2429 1.1 skrll 2430 1.8 christos static int64_t 2431 1.8 christos extract_dm (uint64_t insn, 2432 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2433 1.8 christos int *invalid) 2434 1.8 christos { 2435 1.8 christos int64_t value = (insn >> 8) & 3; 2436 1.8 christos if (value != 0 && value != 3) 2437 1.8 christos *invalid = 1; 2438 1.8 christos return (value) ? 1 : 0; 2439 1.8 christos } 2440 1.1 skrll 2441 1.13 christos static uint64_t 2442 1.13 christos insert_m2 (uint64_t insn, 2443 1.13 christos int64_t value, 2444 1.13 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2445 1.13 christos const char **errmsg) 2446 1.13 christos { 2447 1.13 christos if (value != 0 && value != 1 && value != 2) 2448 1.13 christos *errmsg = _("invalid M value"); 2449 1.13 christos return insn | ((value & 0x2) << (15)) | ((value & 0x1) << 11); 2450 1.13 christos } 2451 1.13 christos 2452 1.13 christos static int64_t 2453 1.13 christos extract_m2 (uint64_t insn, 2454 1.13 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2455 1.13 christos int *invalid) 2456 1.13 christos { 2457 1.13 christos int64_t value = ((insn >> 15) & 0x2) | ((insn >> 11) & 0x1); 2458 1.13 christos if (value == 3) 2459 1.13 christos *invalid = 1; 2460 1.13 christos return value; 2461 1.13 christos } 2462 1.13 christos 2463 1.8 christos /* The VLESIMM field in an I16A form instruction. This is split. */ 2464 1.1 skrll 2465 1.8 christos static uint64_t 2466 1.8 christos insert_vlesi (uint64_t insn, 2467 1.8 christos int64_t value, 2468 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2469 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2470 1.8 christos { 2471 1.8 christos return insn | ((value & 0xf800) << 10) | (value & 0x7ff); 2472 1.8 christos } 2473 1.1 skrll 2474 1.8 christos static int64_t 2475 1.8 christos extract_vlesi (uint64_t insn, 2476 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2477 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2478 1.8 christos { 2479 1.8 christos int64_t value = ((insn >> 10) & 0xf800) | (insn & 0x7ff); 2480 1.8 christos value = (value ^ 0x8000) - 0x8000; 2481 1.8 christos return value; 2482 1.8 christos } 2483 1.1 skrll 2484 1.8 christos static uint64_t 2485 1.8 christos insert_vlensi (uint64_t insn, 2486 1.8 christos int64_t value, 2487 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2488 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2489 1.8 christos { 2490 1.8 christos value = -value; 2491 1.8 christos return insn | ((value & 0xf800) << 10) | (value & 0x7ff); 2492 1.8 christos } 2493 1.8 christos static int64_t 2494 1.8 christos extract_vlensi (uint64_t insn, 2495 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2496 1.10 christos int *invalid) 2497 1.8 christos { 2498 1.8 christos int64_t value = ((insn >> 10) & 0xf800) | (insn & 0x7ff); 2499 1.8 christos value = (value ^ 0x8000) - 0x8000; 2500 1.8 christos /* Don't use for disassembly. */ 2501 1.8 christos *invalid = 1; 2502 1.8 christos return -value; 2503 1.8 christos } 2504 1.1 skrll 2505 1.8 christos /* The VLEUIMM field in an I16A form instruction. This is split. */ 2506 1.1 skrll 2507 1.8 christos static uint64_t 2508 1.8 christos insert_vleui (uint64_t insn, 2509 1.8 christos int64_t value, 2510 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2511 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2512 1.8 christos { 2513 1.8 christos return insn | ((value & 0xf800) << 10) | (value & 0x7ff); 2514 1.8 christos } 2515 1.1 skrll 2516 1.8 christos static int64_t 2517 1.8 christos extract_vleui (uint64_t insn, 2518 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2519 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2520 1.8 christos { 2521 1.8 christos return ((insn >> 10) & 0xf800) | (insn & 0x7ff); 2522 1.8 christos } 2523 1.4 christos 2524 1.8 christos /* The VLEUIMML field in an I16L form instruction. This is split. */ 2525 1.4 christos 2526 1.8 christos static uint64_t 2527 1.8 christos insert_vleil (uint64_t insn, 2528 1.8 christos int64_t value, 2529 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2530 1.8 christos const char **errmsg ATTRIBUTE_UNUSED) 2531 1.8 christos { 2532 1.8 christos return insn | ((value & 0xf800) << 5) | (value & 0x7ff); 2533 1.8 christos } 2534 1.4 christos 2535 1.8 christos static int64_t 2536 1.8 christos extract_vleil (uint64_t insn, 2537 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2538 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2539 1.8 christos { 2540 1.8 christos return ((insn >> 5) & 0xf800) | (insn & 0x7ff); 2541 1.8 christos } 2542 1.4 christos 2543 1.8 christos static uint64_t 2544 1.8 christos insert_evuimm1_ex0 (uint64_t insn, 2545 1.8 christos int64_t value, 2546 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2547 1.8 christos const char **errmsg) 2548 1.8 christos { 2549 1.10 christos if (value <= 0 || value > 0x1f) 2550 1.10 christos *errmsg = _("UIMM = 00000 is illegal"); 2551 1.10 christos return insn | ((value & 0x1f) << 11); 2552 1.8 christos } 2553 1.1 skrll 2554 1.8 christos static int64_t 2555 1.8 christos extract_evuimm1_ex0 (uint64_t insn, 2556 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2557 1.8 christos int *invalid) 2558 1.8 christos { 2559 1.8 christos int64_t value = ((insn >> 11) & 0x1f); 2560 1.8 christos if (value == 0) 2561 1.8 christos *invalid = 1; 2562 1.5 christos 2563 1.8 christos return value; 2564 1.8 christos } 2565 1.1 skrll 2566 1.8 christos static uint64_t 2567 1.8 christos insert_evuimm2_ex0 (uint64_t insn, 2568 1.8 christos int64_t value, 2569 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2570 1.8 christos const char **errmsg) 2571 1.8 christos { 2572 1.10 christos if (value <= 0 || value > 0x3e) 2573 1.10 christos *errmsg = _("UIMM = 00000 is illegal"); 2574 1.10 christos return insn | ((value & 0x3e) << 10); 2575 1.8 christos } 2576 1.1 skrll 2577 1.8 christos static int64_t 2578 1.8 christos extract_evuimm2_ex0 (uint64_t insn, 2579 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2580 1.8 christos int *invalid) 2581 1.8 christos { 2582 1.8 christos int64_t value = ((insn >> 10) & 0x3e); 2583 1.8 christos if (value == 0) 2584 1.8 christos *invalid = 1; 2585 1.1 skrll 2586 1.8 christos return value; 2587 1.8 christos } 2588 1.2 skrll 2589 1.8 christos static uint64_t 2590 1.8 christos insert_evuimm4_ex0 (uint64_t insn, 2591 1.8 christos int64_t value, 2592 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2593 1.8 christos const char **errmsg) 2594 1.8 christos { 2595 1.10 christos if (value <= 0 || value > 0x7c) 2596 1.10 christos *errmsg = _("UIMM = 00000 is illegal"); 2597 1.10 christos return insn | ((value & 0x7c) << 9); 2598 1.8 christos } 2599 1.2 skrll 2600 1.8 christos static int64_t 2601 1.8 christos extract_evuimm4_ex0 (uint64_t insn, 2602 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2603 1.8 christos int *invalid) 2604 1.8 christos { 2605 1.8 christos int64_t value = ((insn >> 9) & 0x7c); 2606 1.8 christos if (value == 0) 2607 1.8 christos *invalid = 1; 2608 1.2 skrll 2609 1.8 christos return value; 2610 1.8 christos } 2611 1.3 christos 2612 1.8 christos static uint64_t 2613 1.8 christos insert_evuimm8_ex0 (uint64_t insn, 2614 1.8 christos int64_t value, 2615 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2616 1.8 christos const char **errmsg) 2617 1.8 christos { 2618 1.10 christos if (value <= 0 || value > 0xf8) 2619 1.10 christos *errmsg = _("UIMM = 00000 is illegal"); 2620 1.10 christos return insn | ((value & 0xf8) << 8); 2621 1.8 christos } 2622 1.5 christos 2623 1.8 christos static int64_t 2624 1.8 christos extract_evuimm8_ex0 (uint64_t insn, 2625 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2626 1.8 christos int *invalid) 2627 1.8 christos { 2628 1.8 christos int64_t value = ((insn >> 8) & 0xf8); 2629 1.8 christos if (value == 0) 2630 1.8 christos *invalid = 1; 2631 1.5 christos 2632 1.8 christos return value; 2633 1.8 christos } 2634 1.1 skrll 2635 1.8 christos static uint64_t 2636 1.8 christos insert_evuimm_lt8 (uint64_t insn, 2637 1.8 christos int64_t value, 2638 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2639 1.8 christos const char **errmsg) 2640 1.8 christos { 2641 1.10 christos if (value < 0 || value > 7) 2642 1.10 christos *errmsg = _("UIMM values >7 are illegal"); 2643 1.10 christos return insn | ((value & 0x7) << 11); 2644 1.8 christos } 2645 1.1 skrll 2646 1.8 christos static int64_t 2647 1.8 christos extract_evuimm_lt8 (uint64_t insn, 2648 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2649 1.8 christos int *invalid) 2650 1.8 christos { 2651 1.8 christos int64_t value = ((insn >> 11) & 0x1f); 2652 1.8 christos if (value > 7) 2653 1.8 christos *invalid = 1; 2654 1.1 skrll 2655 1.8 christos return value; 2656 1.8 christos } 2657 1.4 christos 2658 1.8 christos static uint64_t 2659 1.8 christos insert_evuimm_lt16 (uint64_t insn, 2660 1.8 christos int64_t value, 2661 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2662 1.8 christos const char **errmsg) 2663 1.4 christos { 2664 1.10 christos if (value < 0 || value > 15) 2665 1.10 christos *errmsg = _("UIMM values >15 are illegal"); 2666 1.10 christos return insn | ((value & 0xf) << 11); 2667 1.4 christos } 2668 1.4 christos 2669 1.8 christos static int64_t 2670 1.8 christos extract_evuimm_lt16 (uint64_t insn, 2671 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2672 1.8 christos int *invalid) 2673 1.5 christos { 2674 1.8 christos int64_t value = ((insn >> 11) & 0x1f); 2675 1.8 christos if (value > 15) 2676 1.8 christos *invalid = 1; 2677 1.8 christos 2678 1.8 christos return value; 2679 1.4 christos } 2680 1.4 christos 2681 1.8 christos static uint64_t 2682 1.8 christos insert_rD_rS_even (uint64_t insn, 2683 1.8 christos int64_t value, 2684 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2685 1.8 christos const char **errmsg) 2686 1.4 christos { 2687 1.10 christos if ((value & 0x1) != 0) 2688 1.10 christos *errmsg = _("GPR odd is illegal"); 2689 1.10 christos return insn | ((value & 0x1e) << 21); 2690 1.4 christos } 2691 1.4 christos 2692 1.8 christos static int64_t 2693 1.8 christos extract_rD_rS_even (uint64_t insn, 2694 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2695 1.8 christos int *invalid) 2696 1.4 christos { 2697 1.8 christos int64_t value = ((insn >> 21) & 0x1f); 2698 1.8 christos if ((value & 0x1) != 0) 2699 1.8 christos *invalid = 1; 2700 1.8 christos 2701 1.8 christos return value; 2702 1.4 christos } 2703 1.4 christos 2704 1.8 christos static uint64_t 2705 1.8 christos insert_off_lsp (uint64_t insn, 2706 1.8 christos int64_t value, 2707 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2708 1.8 christos const char **errmsg) 2709 1.4 christos { 2710 1.10 christos if (value <= 0 || value > 0x3) 2711 1.10 christos *errmsg = _("invalid offset"); 2712 1.10 christos return insn | (value & 0x3); 2713 1.4 christos } 2714 1.4 christos 2715 1.8 christos static int64_t 2716 1.8 christos extract_off_lsp (uint64_t insn, 2717 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2718 1.8 christos int *invalid) 2719 1.4 christos { 2720 1.8 christos int64_t value = (insn & 0x3); 2721 1.8 christos if (value == 0) 2722 1.8 christos *invalid = 1; 2723 1.8 christos 2724 1.8 christos return value; 2725 1.4 christos } 2726 1.4 christos 2727 1.8 christos static uint64_t 2728 1.8 christos insert_off_spe2 (uint64_t insn, 2729 1.8 christos int64_t value, 2730 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2731 1.8 christos const char **errmsg) 2732 1.4 christos { 2733 1.10 christos if (value <= 0 || value > 0x7) 2734 1.10 christos *errmsg = _("invalid offset"); 2735 1.10 christos return insn | (value & 0x7); 2736 1.4 christos } 2737 1.4 christos 2738 1.8 christos static int64_t 2739 1.8 christos extract_off_spe2 (uint64_t insn, 2740 1.8 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2741 1.8 christos int *invalid) 2742 1.4 christos { 2743 1.8 christos int64_t value = (insn & 0x7); 2744 1.8 christos if (value == 0) 2745 1.8 christos *invalid = 1; 2746 1.8 christos 2747 1.8 christos return value; 2748 1.4 christos } 2749 1.4 christos 2750 1.8 christos static uint64_t 2751 1.8 christos insert_Ddd (uint64_t insn, 2752 1.8 christos int64_t value, 2753 1.1 skrll ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2754 1.8 christos const char **errmsg) 2755 1.1 skrll { 2756 1.10 christos if (value < 0 || value > 0x7) 2757 1.10 christos *errmsg = _("invalid Ddd value"); 2758 1.10 christos return insn | ((value & 0x3) << 11) | ((value & 0x4) >> 2); 2759 1.1 skrll } 2760 1.1 skrll 2761 1.8 christos static int64_t 2762 1.8 christos extract_Ddd (uint64_t insn, 2763 1.1 skrll ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2764 1.8 christos int *invalid ATTRIBUTE_UNUSED) 2765 1.1 skrll { 2766 1.8 christos return ((insn >> 11) & 0x3) | ((insn << 2) & 0x4); 2767 1.1 skrll } 2768 1.10 christos 2769 1.10 christos static uint64_t 2770 1.10 christos insert_sxl (uint64_t insn, 2771 1.10 christos int64_t value, 2772 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2773 1.10 christos const char **errmsg ATTRIBUTE_UNUSED) 2774 1.10 christos { 2775 1.10 christos return insn | ((value & 0x1) << 11); 2776 1.10 christos } 2777 1.10 christos 2778 1.10 christos static int64_t 2779 1.10 christos extract_sxl (uint64_t insn, 2780 1.10 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2781 1.10 christos int *invalid) 2782 1.10 christos { 2783 1.10 christos /* Missing optional operands have a value of one. */ 2784 1.10 christos if (*invalid < 0) 2785 1.10 christos return 1; 2786 1.10 christos return (insn >> 11) & 0x1; 2787 1.10 christos } 2788 1.11 christos 2789 1.11 christos /* The list of embedded processors that use the embedded operand ordering 2790 1.11 christos for the 3 operand dcbt and dcbtst instructions. */ 2791 1.11 christos #define DCBT_EO (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_476 \ 2792 1.11 christos | PPC_OPCODE_A2) 2793 1.11 christos 2794 1.11 christos /* ISA 2.03 and later specify extended mnemonics dcbtct, dcbtds, and 2795 1.11 christos dcbtstct, dcbtstds with a note saying these should be used in new 2796 1.11 christos programs rather than the base mnemonics "so that it can be coded 2797 1.11 christos with TH as the last operand for all categories". For that reason 2798 1.11 christos the extended mnemonics are enabled in the assembler for the 2799 1.11 christos embedded processors, but not for the disassembler so as to display 2800 1.11 christos the embedded dcbt or dcbtst expected form with TH first for 2801 1.11 christos embedded programmers. */ 2802 1.11 christos 2803 1.11 christos static uint64_t 2804 1.11 christos insert_thct (uint64_t insn, 2805 1.11 christos int64_t value, 2806 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2807 1.11 christos const char **errmsg) 2808 1.11 christos { 2809 1.11 christos if ((uint64_t) value > 7) 2810 1.11 christos *errmsg = _("invalid TH value"); 2811 1.11 christos return insn | ((value & 7) << 21); 2812 1.11 christos } 2813 1.11 christos 2814 1.11 christos static int64_t 2815 1.11 christos extract_thct (uint64_t insn, 2816 1.11 christos ppc_cpu_t dialect, 2817 1.11 christos int *invalid) 2818 1.11 christos { 2819 1.11 christos /* Missing optional operands have a value of 0. */ 2820 1.11 christos if (*invalid < 0) 2821 1.11 christos return 0; 2822 1.11 christos 2823 1.11 christos int64_t value = (insn >> 21) & 0x1f; 2824 1.11 christos if (value > 7 || (dialect & DCBT_EO) != 0) 2825 1.11 christos *invalid = 1; 2826 1.11 christos 2827 1.11 christos return value; 2828 1.11 christos } 2829 1.11 christos 2830 1.11 christos static uint64_t 2831 1.11 christos insert_thds (uint64_t insn, 2832 1.11 christos int64_t value, 2833 1.11 christos ppc_cpu_t dialect ATTRIBUTE_UNUSED, 2834 1.11 christos const char **errmsg) 2835 1.11 christos { 2836 1.11 christos if (value < 8 || value > 15) 2837 1.11 christos *errmsg = _("invalid TH value"); 2838 1.11 christos return insn | ((value & 0x1f) << 21); 2839 1.11 christos } 2840 1.11 christos 2841 1.11 christos static int64_t 2842 1.11 christos extract_thds (uint64_t insn, 2843 1.11 christos ppc_cpu_t dialect, 2844 1.11 christos int *invalid) 2845 1.11 christos { 2846 1.11 christos /* Missing optional operands have a value of 8. */ 2847 1.11 christos if (*invalid < 0) 2848 1.11 christos return 8; 2849 1.11 christos 2850 1.11 christos int64_t value = (insn >> 21) & 0x1f; 2851 1.11 christos if (value < 8 || value > 15 || (dialect & DCBT_EO) != 0) 2852 1.11 christos *invalid = 1; 2853 1.11 christos 2854 1.11 christos return value; 2855 1.11 christos } 2856 1.8 christos 2857 1.8 christos /* The operands table. 2859 1.8 christos 2860 1.1 skrll The fields are bitm, shift, insert, extract, flags. 2861 1.8 christos 2862 1.8 christos We used to put parens around the various additions, like the one 2863 1.8 christos for BA just below. However, that caused trouble with feeble 2864 1.8 christos compilers with a limit on depth of a parenthesized expression, like 2865 1.8 christos (reportedly) the compiler in Microsoft Developer Studio 5. So we 2866 1.8 christos omit the parens, since the macros are never used in a context where 2867 1.1 skrll the addition will be ambiguous. */ 2868 1.8 christos 2869 1.1 skrll const struct powerpc_operand powerpc_operands[] = 2870 1.8 christos { 2871 1.8 christos /* The zero index is used to indicate the end of the list of 2872 1.8 christos operands. */ 2873 1.8 christos #define UNUSED 0 2874 1.8 christos { 0, 0, NULL, NULL, 0 }, 2875 1.8 christos 2876 1.8 christos /* The BA field in an XL form instruction. */ 2877 1.8 christos #define BA UNUSED + 1 2878 1.8 christos /* The BI field in a B form or XL form instruction. */ 2879 1.8 christos #define BI BA 2880 1.8 christos #define BI_MASK (0x1f << 16) 2881 1.8 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_CR_BIT }, 2882 1.9 christos 2883 1.9 christos /* The BT, BA and BB fields in a XL form instruction when they must all 2884 1.9 christos be the same. */ 2885 1.9 christos #define BTAB BA + 1 2886 1.8 christos { 0x1f, 21, insert_btab, extract_btab, PPC_OPERAND_CR_BIT }, 2887 1.8 christos 2888 1.9 christos /* The BB field in an XL form instruction. */ 2889 1.8 christos #define BB BTAB + 1 2890 1.8 christos #define BB_MASK (0x1f << 11) 2891 1.8 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_CR_BIT }, 2892 1.9 christos 2893 1.9 christos /* The BA and BB fields in a XL form instruction when they must be 2894 1.9 christos the same. */ 2895 1.9 christos #define BAB BB + 1 2896 1.9 christos { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_CR_BIT }, 2897 1.9 christos 2898 1.9 christos /* The VRA and VRB fields in a VX form instruction when they must be the same. 2899 1.9 christos This is used for extended mnemonics like vmr. */ 2900 1.9 christos #define VAB BAB + 1 2901 1.9 christos { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_VR }, 2902 1.9 christos 2903 1.9 christos /* The RA and RB fields in a VX form instruction when they must be the same. 2904 1.9 christos This is used for extended mnemonics like evmr. */ 2905 1.9 christos #define RAB VAB + 1 2906 1.8 christos { 0x1f, 16, insert_bab, extract_bab, PPC_OPERAND_GPR }, 2907 1.11 christos 2908 1.11 christos #define BC RAB + 1 2909 1.11 christos { 0x1f, 6, NULL, NULL, PPC_OPERAND_CR_BIT }, 2910 1.8 christos 2911 1.8 christos /* The BD field in a B form instruction. The lower two bits are 2912 1.11 christos forced to zero. */ 2913 1.8 christos #define BD BC + 1 2914 1.8 christos { 0xfffc, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 2915 1.8 christos 2916 1.8 christos /* The BD field in a B form instruction when absolute addressing is 2917 1.8 christos used. */ 2918 1.8 christos #define BDA BD + 1 2919 1.8 christos { 0xfffc, 0, NULL, NULL, PPC_OPERAND_ABSOLUTE | PPC_OPERAND_SIGNED }, 2920 1.8 christos 2921 1.8 christos /* The BD field in a B form instruction when the - modifier is used. 2922 1.8 christos This sets the y bit of the BO field appropriately. */ 2923 1.8 christos #define BDM BDA + 1 2924 1.8 christos { 0xfffc, 0, insert_bdm, extract_bdm, 2925 1.8 christos PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 2926 1.8 christos 2927 1.8 christos /* The BD field in a B form instruction when the - modifier is used 2928 1.8 christos and absolute address is used. */ 2929 1.8 christos #define BDMA BDM + 1 2930 1.8 christos { 0xfffc, 0, insert_bdm, extract_bdm, 2931 1.8 christos PPC_OPERAND_ABSOLUTE | PPC_OPERAND_SIGNED }, 2932 1.8 christos 2933 1.8 christos /* The BD field in a B form instruction when the + modifier is used. 2934 1.8 christos This sets the y bit of the BO field appropriately. */ 2935 1.8 christos #define BDP BDMA + 1 2936 1.8 christos { 0xfffc, 0, insert_bdp, extract_bdp, 2937 1.8 christos PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 2938 1.8 christos 2939 1.8 christos /* The BD field in a B form instruction when the + modifier is used 2940 1.8 christos and absolute addressing is used. */ 2941 1.8 christos #define BDPA BDP + 1 2942 1.8 christos { 0xfffc, 0, insert_bdp, extract_bdp, 2943 1.8 christos PPC_OPERAND_ABSOLUTE | PPC_OPERAND_SIGNED }, 2944 1.8 christos 2945 1.8 christos /* The BF field in an X or XL form instruction. */ 2946 1.8 christos #define BF BDPA + 1 2947 1.8 christos /* The CRFD field in an X form instruction. */ 2948 1.8 christos #define CRFD BF 2949 1.8 christos /* The CRD field in an XL form instruction. */ 2950 1.8 christos #define CRD BF 2951 1.8 christos { 0x7, 23, NULL, NULL, PPC_OPERAND_CR_REG }, 2952 1.8 christos 2953 1.8 christos /* The BF field in an X or XL form instruction. */ 2954 1.8 christos #define BFF BF + 1 2955 1.8 christos { 0x7, 23, NULL, NULL, 0 }, 2956 1.11 christos 2957 1.11 christos /* The ACC field in a VSX ACC 8LS:D-form instruction. */ 2958 1.11 christos #define ACC BFF + 1 2959 1.11 christos { 0x7, 23, NULL, NULL, PPC_OPERAND_ACC }, 2960 1.12 christos 2961 1.12 christos /* The DMR field in a MMA instruction. */ 2962 1.12 christos #define DMR ACC + 1 2963 1.12 christos { 0x7, 23, NULL, NULL, PPC_OPERAND_DMR }, 2964 1.12 christos 2965 1.12 christos /* The second DMR field in a two DMR operand MMA instruction. */ 2966 1.12 christos #define DMRAB DMR + 1 2967 1.12 christos { 0x7, 13, NULL, NULL, PPC_OPERAND_DMR }, 2968 1.8 christos 2969 1.8 christos /* An optional BF field. This is used for comparison instructions, 2970 1.12 christos in which an omitted BF field is taken as zero. */ 2971 1.8 christos #define OBF DMRAB + 1 2972 1.8 christos { 0x7, 23, NULL, NULL, PPC_OPERAND_CR_REG | PPC_OPERAND_OPTIONAL }, 2973 1.8 christos 2974 1.8 christos /* The BFA field in an X or XL form instruction. */ 2975 1.8 christos #define BFA OBF + 1 2976 1.8 christos { 0x7, 18, NULL, NULL, PPC_OPERAND_CR_REG }, 2977 1.8 christos 2978 1.8 christos /* The BO field in a B form instruction. Certain values are 2979 1.8 christos illegal. */ 2980 1.8 christos #define BO BFA + 1 2981 1.8 christos #define BO_MASK (0x1f << 21) 2982 1.8 christos { 0x1f, 21, insert_bo, extract_bo, 0 }, 2983 1.10 christos 2984 1.10 christos /* The BO field in a B form instruction when the - modifier is used. */ 2985 1.10 christos #define BOM BO + 1 2986 1.10 christos { 0x1f, 21, insert_bom, extract_bom, 0 }, 2987 1.10 christos 2988 1.10 christos /* The BO field in a B form instruction when the + modifier is used. */ 2989 1.10 christos #define BOP BOM + 1 2990 1.8 christos { 0x1f, 21, insert_bop, extract_bop, 0 }, 2991 1.8 christos 2992 1.10 christos /* The RM field in an X form instruction. */ 2993 1.8 christos #define RM BOP + 1 2994 1.12 christos #define DD RM 2995 1.8 christos #define mo1 RM 2996 1.8 christos { 0x3, 11, NULL, NULL, 0 }, 2997 1.8 christos 2998 1.8 christos #define BH RM + 1 2999 1.8 christos { 0x3, 11, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3000 1.8 christos 3001 1.8 christos /* The BT field in an X or XL form instruction. */ 3002 1.8 christos #define BT BH + 1 3003 1.8 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_CR_BIT }, 3004 1.10 christos 3005 1.10 christos /* The BT field in a mtfsb0 or mtfsb1 instruction. */ 3006 1.10 christos #define BTF BT + 1 3007 1.10 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_CR_BIT | PPC_OPERAND_CR_REG }, 3008 1.8 christos 3009 1.10 christos /* The BI16 field in a BD8 form instruction. */ 3010 1.8 christos #define BI16 BTF + 1 3011 1.8 christos { 0x3, 8, NULL, NULL, PPC_OPERAND_CR_BIT }, 3012 1.8 christos 3013 1.8 christos /* The BI32 field in a BD15 form instruction. */ 3014 1.8 christos #define BI32 BI16 + 1 3015 1.8 christos { 0xf, 16, NULL, NULL, PPC_OPERAND_CR_BIT }, 3016 1.8 christos 3017 1.8 christos /* The BO32 field in a BD15 form instruction. */ 3018 1.8 christos #define BO32 BI32 + 1 3019 1.8 christos { 0x3, 20, NULL, NULL, 0 }, 3020 1.8 christos 3021 1.8 christos /* The B8 field in a BD8 form instruction. */ 3022 1.8 christos #define B8 BO32 + 1 3023 1.1 skrll { 0x1fe, -1, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 3024 1.8 christos 3025 1.8 christos /* The B15 field in a BD15 form instruction. The lowest bit is 3026 1.8 christos forced to zero. */ 3027 1.8 christos #define B15 B8 + 1 3028 1.1 skrll { 0xfffe, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 3029 1.8 christos 3030 1.8 christos /* The B24 field in a BD24 form instruction. The lowest bit is 3031 1.8 christos forced to zero. */ 3032 1.8 christos #define B24 B15 + 1 3033 1.1 skrll { 0x1fffffe, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 3034 1.8 christos 3035 1.8 christos /* The condition register number portion of the BI field in a B form 3036 1.8 christos or XL form instruction. This is used for the extended 3037 1.8 christos conditional branch mnemonics, which set the lower two bits of the 3038 1.8 christos BI field. This field is optional. */ 3039 1.8 christos #define CR B24 + 1 3040 1.4 christos { 0x7, 18, NULL, NULL, PPC_OPERAND_CR_REG | PPC_OPERAND_OPTIONAL }, 3041 1.8 christos 3042 1.8 christos /* The CRB field in an X form instruction. */ 3043 1.8 christos #define CRB CR + 1 3044 1.8 christos /* The MB field in an M form instruction. */ 3045 1.8 christos #define MB CRB 3046 1.8 christos #define MB_MASK (0x1f << 6) 3047 1.1 skrll { 0x1f, 6, NULL, NULL, 0 }, 3048 1.8 christos 3049 1.8 christos /* The CRD32 field in an XL form instruction. */ 3050 1.8 christos #define CRD32 CRB + 1 3051 1.1 skrll { 0x3, 21, NULL, NULL, PPC_OPERAND_CR_REG }, 3052 1.8 christos 3053 1.8 christos /* The CRFS field in an X form instruction. */ 3054 1.8 christos #define CRFS CRD32 + 1 3055 1.1 skrll { 0x7, 0, NULL, NULL, PPC_OPERAND_CR_REG }, 3056 1.8 christos 3057 1.8 christos #define CRS CRFS + 1 3058 1.1 skrll { 0x3, 18, NULL, NULL, PPC_OPERAND_CR_REG | PPC_OPERAND_OPTIONAL }, 3059 1.8 christos 3060 1.8 christos /* The CT field in an X form instruction. */ 3061 1.8 christos #define CT CRS + 1 3062 1.8 christos /* The MO field in an mbar instruction. */ 3063 1.8 christos #define MO CT 3064 1.1 skrll { 0x1f, 21, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3065 1.11 christos 3066 1.11 christos /* The TH field in dcbtct. */ 3067 1.11 christos #define THCT CT + 1 3068 1.11 christos { 0x1f, 21, insert_thct, extract_thct, PPC_OPERAND_OPTIONAL }, 3069 1.11 christos 3070 1.11 christos /* The TH field in dcbtds. */ 3071 1.11 christos #define THDS THCT + 1 3072 1.11 christos { 0x1f, 21, insert_thds, extract_thds, PPC_OPERAND_OPTIONAL }, 3073 1.8 christos 3074 1.8 christos /* The D field in a D form instruction. This is a displacement off 3075 1.8 christos a register, and implies that the next operand is a register in 3076 1.11 christos parentheses. */ 3077 1.8 christos #define D THDS + 1 3078 1.1 skrll { 0xffff, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, 3079 1.8 christos 3080 1.8 christos /* The D8 field in a D form instruction. This is a displacement off 3081 1.8 christos a register, and implies that the next operand is a register in 3082 1.8 christos parentheses. */ 3083 1.8 christos #define D8 D + 1 3084 1.1 skrll { 0xff, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, 3085 1.8 christos 3086 1.8 christos /* The DCMX field in an X form instruction. */ 3087 1.8 christos #define DCMX D8 + 1 3088 1.1 skrll { 0x7f, 16, NULL, NULL, 0 }, 3089 1.8 christos 3090 1.8 christos /* The split DCMX field in an X form instruction. */ 3091 1.8 christos #define DCMXS DCMX + 1 3092 1.1 skrll { 0x7f, PPC_OPSHIFT_INV, insert_dcmxs, extract_dcmxs, 0 }, 3093 1.8 christos 3094 1.8 christos /* The DQ field in a DQ form instruction. This is like D, but the 3095 1.8 christos lower four bits are forced to zero. */ 3096 1.8 christos #define DQ DCMXS + 1 3097 1.8 christos { 0xfff0, 0, NULL, NULL, 3098 1.4 christos PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED | PPC_OPERAND_DQ }, 3099 1.8 christos 3100 1.8 christos /* The DS field in a DS form instruction. This is like D, but the 3101 1.8 christos lower two bits are forced to zero. */ 3102 1.8 christos #define DS DQ + 1 3103 1.8 christos { 0xfffc, 0, NULL, NULL, 3104 1.4 christos PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED | PPC_OPERAND_DS }, 3105 1.10 christos 3106 1.10 christos /* The D field in an 8-byte D form prefix instruction. This is a displacement 3107 1.10 christos off a register, and implies that the next operand is a register in 3108 1.10 christos parentheses. */ 3109 1.10 christos #define D34 DS + 1 3110 1.10 christos { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV, insert_d34, extract_d34, 3111 1.10 christos PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, 3112 1.10 christos 3113 1.10 christos /* The SI field in an 8-byte D form prefix instruction. */ 3114 1.10 christos #define SI34 D34 + 1 3115 1.10 christos { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV, insert_d34, extract_d34, PPC_OPERAND_SIGNED }, 3116 1.10 christos 3117 1.10 christos /* The NSI field in an 8-byte D form prefix instruction. This is the 3118 1.10 christos same as the SI34 field, only negated. */ 3119 1.10 christos #define NSI34 SI34 + 1 3120 1.10 christos { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV, insert_nsi34, extract_nsi34, 3121 1.10 christos PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED }, 3122 1.13 christos 3123 1.13 christos /* The 32bit SI field in an 8-byte D form prefix instruction. */ 3124 1.13 christos #define SI32 NSI34 + 1 3125 1.13 christos { UINT64_C(0xffffffff), PPC_OPSHIFT_INV, insert_si32, extract_si32, PPC_OPERAND_SIGNED }, 3126 1.13 christos 3127 1.13 christos /* The NSI field in an 8-byte D form prefix instruction with 32bit SI field. This is 3128 1.13 christos the same as the SI32 field, only negated. */ 3129 1.13 christos #define NSI32 SI32 + 1 3130 1.13 christos { UINT64_C(0xffffffff), PPC_OPSHIFT_INV, insert_nsi32, extract_nsi32, 3131 1.13 christos PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED }, 3132 1.11 christos 3133 1.13 christos /* The IMM32 field in a vector splat immediate prefix instruction. */ 3134 1.11 christos #define IMM32 NSI32 + 1 3135 1.11 christos { 0xffffffff, PPC_OPSHIFT_INV, insert_imm32, extract_imm32, 0}, 3136 1.11 christos 3137 1.11 christos /* The UIM field in a vector permute extended prefix instruction. */ 3138 1.11 christos #define UIM3 IMM32 + 1 3139 1.11 christos { 0x7, 32, NULL, NULL, 0}, 3140 1.11 christos 3141 1.11 christos /* The UIM field in a vector eval prefix instruction. */ 3142 1.11 christos #define UIM8 UIM3 + 1 3143 1.11 christos { 0xff, 32, NULL, NULL, 0}, 3144 1.11 christos 3145 1.11 christos /* The IX field in xxsplti32dx. */ 3146 1.11 christos #define IX UIM8 + 1 3147 1.11 christos { 0x1, 17, NULL, NULL, 0 }, 3148 1.11 christos 3149 1.11 christos /* The PMSK field in GER rank 8 prefix instructions. */ 3150 1.11 christos #define PMSK8 IX + 1 3151 1.11 christos { 0xff, 40, NULL, NULL, 0 }, 3152 1.11 christos 3153 1.11 christos /* The PMSK field in GER rank 4 prefix instructions. */ 3154 1.11 christos #define PMSK4 PMSK8 + 1 3155 1.11 christos { 0xf, 44, NULL, NULL, 0 }, 3156 1.11 christos 3157 1.11 christos /* The PMSK field in GER rank 2 prefix instructions. */ 3158 1.11 christos #define PMSK2 PMSK4 + 1 3159 1.11 christos { 0x3, 46, NULL, NULL, 0 }, 3160 1.11 christos 3161 1.11 christos /* The XMSK field in GER prefix instructions. */ 3162 1.11 christos #define XMSK PMSK2 + 1 3163 1.11 christos { 0xf, 36, NULL, NULL, 0 }, 3164 1.12 christos 3165 1.12 christos /* The XMSK field in GERX prefix instructions. */ 3166 1.12 christos #define XMSK8 XMSK + 1 3167 1.12 christos { 0xff, 36, NULL, NULL, 0 }, 3168 1.11 christos 3169 1.12 christos /* The YMSK field in GER prefix instructions. */ 3170 1.11 christos #define YMSK XMSK8 + 1 3171 1.11 christos { 0xf, 32, NULL, NULL, 0 }, 3172 1.11 christos 3173 1.11 christos /* The YMSK field in 64-bit GER prefix instructions. */ 3174 1.11 christos #define YMSK2 YMSK + 1 3175 1.11 christos { 0x3, 34, NULL, NULL, 0 }, 3176 1.8 christos 3177 1.8 christos /* The DUIS or BHRBE fields in a XFX form instruction, 10 bits 3178 1.11 christos unsigned imediate */ 3179 1.8 christos #define DUIS YMSK2 + 1 3180 1.8 christos #define BHRBE DUIS 3181 1.4 christos { 0x3ff, 11, NULL, NULL, 0 }, 3182 1.11 christos 3183 1.11 christos /* The split DW field in a X form instruction. */ 3184 1.11 christos #define DW DUIS + 1 3185 1.11 christos { -1, PPC_OPSHIFT_INV, insert_dw, extract_dw, 3186 1.11 christos PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED}, 3187 1.8 christos 3188 1.11 christos /* The split D field in a DX form instruction. */ 3189 1.8 christos #define DXD DW + 1 3190 1.8 christos { 0xffff, PPC_OPSHIFT_INV, insert_dxd, extract_dxd, 3191 1.1 skrll PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT}, 3192 1.8 christos 3193 1.8 christos /* The split ND field in a DX form instruction. 3194 1.8 christos This is the same as the DX field, only negated. */ 3195 1.8 christos #define NDXD DXD + 1 3196 1.8 christos { 0xffff, PPC_OPSHIFT_INV, insert_dxdn, extract_dxdn, 3197 1.1 skrll PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT}, 3198 1.8 christos 3199 1.8 christos /* The E field in a wrteei instruction. */ 3200 1.8 christos /* And the W bit in the pair singles instructions. */ 3201 1.8 christos /* And the ST field in a VX form instruction. */ 3202 1.8 christos #define E NDXD + 1 3203 1.8 christos #define PSW E 3204 1.8 christos #define ST E 3205 1.1 skrll { 0x1, 15, NULL, NULL, 0 }, 3206 1.8 christos 3207 1.8 christos /* The FL1 field in a POWER SC form instruction. */ 3208 1.8 christos #define FL1 E + 1 3209 1.8 christos /* The U field in an X form instruction. */ 3210 1.8 christos #define U FL1 3211 1.1 skrll { 0xf, 12, NULL, NULL, 0 }, 3212 1.8 christos 3213 1.8 christos /* The FL2 field in a POWER SC form instruction. */ 3214 1.8 christos #define FL2 FL1 + 1 3215 1.1 skrll { 0x7, 2, NULL, NULL, 0 }, 3216 1.8 christos 3217 1.8 christos /* The FLM field in an XFL form instruction. */ 3218 1.8 christos #define FLM FL2 + 1 3219 1.1 skrll { 0xff, 17, NULL, NULL, 0 }, 3220 1.8 christos 3221 1.8 christos /* The FRA field in an X or A form instruction. */ 3222 1.8 christos #define FRA FLM + 1 3223 1.8 christos #define FRA_MASK (0x1f << 16) 3224 1.1 skrll { 0x1f, 16, NULL, NULL, PPC_OPERAND_FPR }, 3225 1.8 christos 3226 1.8 christos /* The FRAp field of DFP instructions. */ 3227 1.8 christos #define FRAp FRA + 1 3228 1.1 skrll { 0x1e, 16, NULL, NULL, PPC_OPERAND_FPR }, 3229 1.8 christos 3230 1.8 christos /* The FRB field in an X or A form instruction. */ 3231 1.8 christos #define FRB FRAp + 1 3232 1.8 christos #define FRB_MASK (0x1f << 11) 3233 1.1 skrll { 0x1f, 11, NULL, NULL, PPC_OPERAND_FPR }, 3234 1.8 christos 3235 1.8 christos /* The FRBp field of DFP instructions. */ 3236 1.8 christos #define FRBp FRB + 1 3237 1.5 christos { 0x1e, 11, NULL, NULL, PPC_OPERAND_FPR }, 3238 1.8 christos 3239 1.8 christos /* The FRC field in an A form instruction. */ 3240 1.8 christos #define FRC FRBp + 1 3241 1.8 christos #define FRC_MASK (0x1f << 6) 3242 1.5 christos { 0x1f, 6, NULL, NULL, PPC_OPERAND_FPR }, 3243 1.8 christos 3244 1.8 christos /* The FRS field in an X form instruction or the FRT field in a D, X 3245 1.8 christos or A form instruction. */ 3246 1.8 christos #define FRS FRC + 1 3247 1.8 christos #define FRT FRS 3248 1.5 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_FPR }, 3249 1.8 christos 3250 1.8 christos /* The FRSp field of stfdp or the FRTp field of lfdp and DFP 3251 1.8 christos instructions. */ 3252 1.8 christos #define FRSp FRS + 1 3253 1.8 christos #define FRTp FRSp 3254 1.5 christos { 0x1e, 21, NULL, NULL, PPC_OPERAND_FPR }, 3255 1.8 christos 3256 1.8 christos /* The FXM field in an XFX instruction. */ 3257 1.8 christos #define FXM FRSp + 1 3258 1.5 christos { 0xff, 12, insert_fxm, extract_fxm, 0 }, 3259 1.8 christos 3260 1.8 christos /* Power4 version for mfcr. */ 3261 1.10 christos #define FXM4 FXM + 1 3262 1.5 christos { 0xff, 12, insert_fxm, extract_fxm, PPC_OPERAND_OPTIONAL }, 3263 1.8 christos 3264 1.10 christos /* The IMM20 field in an LI instruction. */ 3265 1.8 christos #define IMM20 FXM4 + 1 3266 1.5 christos { 0xfffff, PPC_OPSHIFT_INV, insert_li20, extract_li20, PPC_OPERAND_SIGNED}, 3267 1.8 christos 3268 1.8 christos /* The L field in a D or X form instruction. */ 3269 1.8 christos #define L IMM20 + 1 3270 1.5 christos { 0x1, 21, NULL, NULL, 0 }, 3271 1.8 christos 3272 1.8 christos /* The optional L field in tlbie and tlbiel instructions. */ 3273 1.8 christos #define LOPT L + 1 3274 1.8 christos /* The R field in a HTM X form instruction. */ 3275 1.8 christos #define HTM_R LOPT 3276 1.1 skrll { 0x1, 21, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3277 1.11 christos 3278 1.11 christos /* The optional L field in the paste. instruction. This is similar to LOPT 3279 1.11 christos above, but with a default value of 1. */ 3280 1.11 christos #define L1OPT LOPT + 1 3281 1.11 christos { 0x1, 21, insert_l1opt, extract_l1opt, PPC_OPERAND_OPTIONAL }, 3282 1.8 christos 3283 1.11 christos /* The optional (for 32-bit) L field in cmp[l][i] instructions. */ 3284 1.8 christos #define L32OPT L1OPT + 1 3285 1.8 christos { 0x1, 21, NULL, NULL, PPC_OPERAND_OPTIONAL | PPC_OPERAND_OPTIONAL32 }, 3286 1.11 christos 3287 1.8 christos /* The 2-bit L or WC field in an X (sync, dcbf or wait) form instruction. */ 3288 1.11 christos #define L2OPT L32OPT + 1 3289 1.11 christos #define LS L2OPT 3290 1.11 christos #define WC L2OPT 3291 1.1 skrll { 0x3, 21, insert_ls, extract_ls, PPC_OPERAND_OPTIONAL }, 3292 1.8 christos 3293 1.8 christos /* The LEV field in a POWER SVC / POWER9 SCV form instruction. */ 3294 1.8 christos #define SVC_LEV L2OPT + 1 3295 1.1 skrll { 0x7f, 5, NULL, NULL, 0 }, 3296 1.8 christos 3297 1.8 christos /* The LEV field in an SC form instruction. */ 3298 1.8 christos #define LEV SVC_LEV + 1 3299 1.1 skrll { 0x7f, 5, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3300 1.8 christos 3301 1.8 christos /* The LI field in an I form instruction. The lower two bits are 3302 1.8 christos forced to zero. */ 3303 1.8 christos #define LI LEV + 1 3304 1.1 skrll { 0x3fffffc, 0, NULL, NULL, PPC_OPERAND_RELATIVE | PPC_OPERAND_SIGNED }, 3305 1.8 christos 3306 1.8 christos /* The LI field in an I form instruction when used as an absolute 3307 1.8 christos address. */ 3308 1.8 christos #define LIA LI + 1 3309 1.1 skrll { 0x3fffffc, 0, NULL, NULL, PPC_OPERAND_ABSOLUTE | PPC_OPERAND_SIGNED }, 3310 1.11 christos 3311 1.11 christos /* The 3-bit L field in a sync or dcbf instruction. */ 3312 1.11 christos #define LS3 LIA + 1 3313 1.11 christos #define L3OPT LS3 3314 1.1 skrll { 0x7, 21, insert_ls, extract_ls, PPC_OPERAND_OPTIONAL }, 3315 1.8 christos 3316 1.11 christos /* The ME field in an M form instruction. */ 3317 1.8 christos #define ME LS3 + 1 3318 1.8 christos #define ME_MASK (0x1f << 1) 3319 1.1 skrll { 0x1f, 1, NULL, NULL, 0 }, 3320 1.11 christos 3321 1.11 christos #define CRWn ME + 1 3322 1.11 christos { 0x1f, 1, insert_crwn, extract_crwn, 0 }, 3323 1.11 christos 3324 1.11 christos #define ELWn CRWn + 1 3325 1.11 christos { 0x1f, 1, insert_elwn, extract_elwn, PPC_OPERAND_PLUS1 }, 3326 1.11 christos 3327 1.11 christos #define ERWn ELWn + 1 3328 1.11 christos { 0x1f, 6, insert_erwn, extract_erwn, 0 }, 3329 1.11 christos 3330 1.11 christos #define ERWb ERWn + 1 3331 1.11 christos { 0x1f, 11, insert_erwb, extract_erwb, 0 }, 3332 1.11 christos 3333 1.11 christos #define CSLWb ERWb + 1 3334 1.11 christos { 0x1f, 6, NULL, extract_cslwb, 0 }, 3335 1.11 christos 3336 1.11 christos #define CSLWn CSLWb + 1 3337 1.11 christos { 0x1f, 11, insert_cslwn, NULL, 0 }, 3338 1.11 christos 3339 1.11 christos #define ILWn CSLWn + 1 3340 1.11 christos { 0x1f, 1, NULL, extract_ilwn, PPC_OPERAND_PLUS1 }, 3341 1.11 christos 3342 1.11 christos #define ILWb ILWn + 1 3343 1.11 christos { 0x1f, 6, insert_ilwb, NULL, 0 }, 3344 1.11 christos 3345 1.11 christos #define IRWn ILWb + 1 3346 1.11 christos { 0x1f, 1, NULL, extract_irwn, PPC_OPERAND_PLUS1 }, 3347 1.11 christos 3348 1.11 christos #define IRWb IRWn + 1 3349 1.11 christos { 0x1f, 6, insert_irwb, NULL, 0 }, 3350 1.8 christos 3351 1.8 christos /* The MB and ME fields in an M form instruction expressed a single 3352 1.8 christos operand which is a bitmask indicating which bits to select. This 3353 1.8 christos is a two operand form using PPC_OPERAND_NEXT. See the 3354 1.11 christos description in opcode/ppc.h for what this means. */ 3355 1.8 christos #define MBE IRWb + 1 3356 1.8 christos { 0x1f, 6, NULL, NULL, PPC_OPERAND_OPTIONAL | PPC_OPERAND_NEXT }, 3357 1.1 skrll { -1, 0, insert_mbe, extract_mbe, 0 }, 3358 1.8 christos 3359 1.8 christos /* The MB or ME field in an MD or MDS form instruction. The high 3360 1.8 christos bit is wrapped to the low end. */ 3361 1.8 christos #define MB6 MBE + 2 3362 1.8 christos #define ME6 MB6 3363 1.8 christos #define MB6_MASK (0x3f << 5) 3364 1.5 christos { 0x3f, 5, insert_mb6, extract_mb6, 0 }, 3365 1.11 christos 3366 1.11 christos #define ELDn MB6 + 1 3367 1.11 christos { 0x3f, 5, insert_eldn, extract_eldn, PPC_OPERAND_PLUS1 }, 3368 1.11 christos 3369 1.11 christos #define ERDn ELDn + 1 3370 1.11 christos { 0x3f, 5, insert_erdn, extract_erdn, 0 }, 3371 1.11 christos 3372 1.11 christos #define CRDn ERDn + 1 3373 1.11 christos { 0x3f, 5, insert_crdn, extract_crdn, 0 }, 3374 1.8 christos 3375 1.8 christos /* The NB field in an X form instruction. The value 32 is stored as 3376 1.11 christos 0. */ 3377 1.8 christos #define NB CRDn + 1 3378 1.5 christos { 0x1f, 11, NULL, extract_nb, PPC_OPERAND_PLUS1 }, 3379 1.8 christos 3380 1.8 christos /* The NBI field in an lswi instruction, which has special value 3381 1.8 christos restrictions. The value 32 is stored as 0. */ 3382 1.8 christos #define NBI NB + 1 3383 1.5 christos { 0x1f, 11, insert_nbi, extract_nb, PPC_OPERAND_PLUS1 }, 3384 1.8 christos 3385 1.8 christos /* The NSI field in a D form instruction. This is the same as the 3386 1.8 christos SI field, only negated. */ 3387 1.8 christos #define NSI NBI + 1 3388 1.8 christos { 0xffff, 0, insert_nsi, extract_nsi, 3389 1.5 christos PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED }, 3390 1.8 christos 3391 1.8 christos /* The NSI field in a D form instruction when we accept a wide range 3392 1.8 christos of positive values. */ 3393 1.8 christos #define NSISIGNOPT NSI + 1 3394 1.8 christos { 0xffff, 0, insert_nsi, extract_nsi, 3395 1.5 christos PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT }, 3396 1.8 christos 3397 1.8 christos /* The RA field in an D, DS, DQ, X, XO, M, or MDS form instruction. */ 3398 1.8 christos #define RA NSISIGNOPT + 1 3399 1.8 christos #define RA_MASK (0x1f << 16) 3400 1.5 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_GPR }, 3401 1.8 christos 3402 1.8 christos /* As above, but 0 in the RA field means zero, not r0. */ 3403 1.8 christos #define RA0 RA + 1 3404 1.5 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_GPR_0 }, 3405 1.10 christos 3406 1.10 christos /* Similar to above, but optional. */ 3407 1.10 christos #define PRA0 RA0 + 1 3408 1.10 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_GPR_0 | PPC_OPERAND_OPTIONAL }, 3409 1.8 christos 3410 1.8 christos /* The RA field in the DQ form lq or an lswx instruction, which have 3411 1.10 christos special value restrictions. */ 3412 1.8 christos #define RAQ PRA0 + 1 3413 1.8 christos #define RAX RAQ 3414 1.5 christos { 0x1f, 16, insert_raq, extract_raq, PPC_OPERAND_GPR_0 }, 3415 1.10 christos 3416 1.10 christos /* Similar to above, but optional. */ 3417 1.10 christos #define PRAQ RAQ + 1 3418 1.10 christos { 0x1f, 16, insert_raq, extract_raq, 3419 1.10 christos PPC_OPERAND_GPR_0 | PPC_OPERAND_OPTIONAL }, 3420 1.10 christos 3421 1.10 christos /* The R field in an 8-byte D, DS, DQ or X form prefix instruction. */ 3422 1.10 christos #define PCREL PRAQ + 1 3423 1.10 christos #define PCREL_MASK (1ULL << 52) 3424 1.10 christos { 0x1, 52, insert_pcrel, extract_pcrel, PPC_OPERAND_OPTIONAL }, 3425 1.12 christos 3426 1.12 christos #define PCREL1 PCREL + 1 3427 1.10 christos { 0x1, 52, insert_pcrel, extract_pcrel1, PPC_OPERAND_OPTIONAL }, 3428 1.8 christos 3429 1.8 christos /* The RA field in a D or X form instruction which is an updating 3430 1.8 christos load, which means that the RA field may not be zero and may not 3431 1.12 christos equal the RT field. */ 3432 1.8 christos #define RAL PCREL1 + 1 3433 1.4 christos { 0x1f, 16, insert_ral, extract_ral, PPC_OPERAND_GPR_0 }, 3434 1.8 christos 3435 1.8 christos /* The RA field in an lmw instruction, which has special value 3436 1.8 christos restrictions. */ 3437 1.8 christos #define RAM RAL + 1 3438 1.4 christos { 0x1f, 16, insert_ram, extract_ram, PPC_OPERAND_GPR_0 }, 3439 1.8 christos 3440 1.13 christos /* The RA field in a D or X form instruction which is an updating 3441 1.13 christos store or an updating floating point load or a hash store or check, 3442 1.8 christos which means that the RA field may not be zero. */ 3443 1.8 christos #define RAS RAM + 1 3444 1.4 christos { 0x1f, 16, insert_ras, extract_ras, PPC_OPERAND_GPR_0 }, 3445 1.8 christos 3446 1.8 christos /* The RA field of the tlbwe, dccci and iccci instructions, 3447 1.8 christos which are optional. */ 3448 1.8 christos #define RAOPT RAS + 1 3449 1.4 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL }, 3450 1.8 christos 3451 1.8 christos /* The RB field in an X, XO, M, or MDS form instruction. */ 3452 1.8 christos #define RB RAOPT + 1 3453 1.8 christos #define RB_MASK (0x1f << 11) 3454 1.5 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_GPR }, 3455 1.9 christos 3456 1.9 christos /* The RS and RB fields in an X form instruction when they must be the same. 3457 1.9 christos This is used for extended mnemonics like mr. */ 3458 1.9 christos #define RSB RB + 1 3459 1.5 christos { 0x1f, 11, insert_rsb, extract_rsb, PPC_OPERAND_GPR }, 3460 1.8 christos 3461 1.8 christos /* The RB field in an lswx instruction, which has special value 3462 1.9 christos restrictions. */ 3463 1.8 christos #define RBX RSB + 1 3464 1.5 christos { 0x1f, 11, insert_rbx, extract_rbx, PPC_OPERAND_GPR }, 3465 1.8 christos 3466 1.8 christos /* The RB field of the dccci and iccci instructions, which are optional. */ 3467 1.8 christos #define RBOPT RBX + 1 3468 1.4 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL }, 3469 1.8 christos 3470 1.8 christos /* The RC register field in an maddld, maddhd or maddhdu instruction. */ 3471 1.8 christos #define RC RBOPT + 1 3472 1.5 christos { 0x1f, 6, NULL, NULL, PPC_OPERAND_GPR }, 3473 1.8 christos 3474 1.8 christos /* The RS field in a D, DS, X, XFX, XS, M, MD or MDS form 3475 1.8 christos instruction or the RT field in a D, DS, X, XFX or XO form 3476 1.8 christos instruction. */ 3477 1.8 christos #define RS RC + 1 3478 1.8 christos #define RT RS 3479 1.8 christos #define RT_MASK (0x1f << 21) 3480 1.8 christos #define RD RS 3481 1.4 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_GPR }, 3482 1.8 christos 3483 1.8 christos #define RD_EVEN RS + 1 3484 1.8 christos #define RS_EVEN RD_EVEN 3485 1.1 skrll { 0x1f, 21, insert_rD_rS_even, extract_rD_rS_even, PPC_OPERAND_GPR }, 3486 1.8 christos 3487 1.8 christos /* The RS and RT fields of the DS form stq and DQ form lq instructions, 3488 1.8 christos which have special value restrictions. */ 3489 1.8 christos #define RSQ RS_EVEN + 1 3490 1.8 christos #define RTQ RSQ 3491 1.8 christos #define Q_MASK (1 << 21) 3492 1.1 skrll { 0x1e, 21, NULL, NULL, PPC_OPERAND_GPR }, 3493 1.8 christos 3494 1.8 christos /* The RS field of the tlbwe instruction, which is optional. */ 3495 1.8 christos #define RSO RSQ + 1 3496 1.8 christos #define RTO RSO 3497 1.1 skrll { 0x1f, 21, NULL, NULL, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL }, 3498 1.8 christos 3499 1.8 christos /* The RX field of the SE_RR form instruction. */ 3500 1.8 christos #define RX RSO + 1 3501 1.1 skrll { 0x1f, PPC_OPSHIFT_INV, insert_rx, extract_rx, PPC_OPERAND_GPR }, 3502 1.8 christos 3503 1.8 christos /* The ARX field of the SE_RR form instruction. */ 3504 1.8 christos #define ARX RX + 1 3505 1.1 skrll { 0x1f, PPC_OPSHIFT_INV, insert_arx, extract_arx, PPC_OPERAND_GPR }, 3506 1.8 christos 3507 1.8 christos /* The RY field of the SE_RR form instruction. */ 3508 1.8 christos #define RY ARX + 1 3509 1.8 christos #define RZ RY 3510 1.1 skrll { 0x1f, PPC_OPSHIFT_INV, insert_ry, extract_ry, PPC_OPERAND_GPR }, 3511 1.8 christos 3512 1.8 christos /* The ARY field of the SE_RR form instruction. */ 3513 1.8 christos #define ARY RY + 1 3514 1.1 skrll { 0x1f, PPC_OPSHIFT_INV, insert_ary, extract_ary, PPC_OPERAND_GPR }, 3515 1.8 christos 3516 1.8 christos /* The SCLSCI8 field in a D form instruction. */ 3517 1.8 christos #define SCLSCI8 ARY + 1 3518 1.1 skrll { 0xffffffff, PPC_OPSHIFT_INV, insert_sci8, extract_sci8, 0 }, 3519 1.8 christos 3520 1.8 christos /* The SCLSCI8N field in a D form instruction. This is the same as the 3521 1.8 christos SCLSCI8 field, only negated. */ 3522 1.8 christos #define SCLSCI8N SCLSCI8 + 1 3523 1.8 christos { 0xffffffff, PPC_OPSHIFT_INV, insert_sci8n, extract_sci8n, 3524 1.1 skrll PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED }, 3525 1.8 christos 3526 1.8 christos /* The SD field of the SD4 form instruction. */ 3527 1.8 christos #define SE_SD SCLSCI8N + 1 3528 1.1 skrll { 0xf, 8, NULL, NULL, PPC_OPERAND_PARENS }, 3529 1.8 christos 3530 1.8 christos /* The SD field of the SD4 form instruction, for halfword. */ 3531 1.10 christos #define SE_SDH SE_SD + 1 3532 1.1 skrll { 0x1e, 7, NULL, NULL, PPC_OPERAND_PARENS }, 3533 1.8 christos 3534 1.8 christos /* The SD field of the SD4 form instruction, for word. */ 3535 1.10 christos #define SE_SDW SE_SDH + 1 3536 1.1 skrll { 0x3c, 6, NULL, NULL, PPC_OPERAND_PARENS }, 3537 1.8 christos 3538 1.8 christos /* The SH field in an X or M form instruction. */ 3539 1.8 christos #define SH SE_SDW + 1 3540 1.8 christos #define SH_MASK (0x1f << 11) 3541 1.8 christos /* The other UIMM field in a EVX form instruction. */ 3542 1.8 christos #define EVUIMM SH 3543 1.8 christos /* The FC field in an atomic X form instruction. */ 3544 1.11 christos #define FC SH 3545 1.8 christos #define UIM5 SH 3546 1.1 skrll { 0x1f, 11, NULL, NULL, 0 }, 3547 1.11 christos 3548 1.11 christos #define RRWn SH + 1 3549 1.11 christos { 0x1f, 11, insert_rrwn, extract_rrwn, 0 }, 3550 1.11 christos 3551 1.11 christos #define SLWn RRWn + 1 3552 1.11 christos { 0x1f, 11, insert_slwn, extract_slwn, 0 }, 3553 1.11 christos 3554 1.11 christos #define SRWn SLWn + 1 3555 1.11 christos { 0x1f, 11, insert_srwn, extract_srwn, 0 }, 3556 1.11 christos 3557 1.8 christos #define EVUIMM_LT8 SRWn + 1 3558 1.1 skrll { 0x1f, 11, insert_evuimm_lt8, extract_evuimm_lt8, 0 }, 3559 1.8 christos 3560 1.8 christos #define EVUIMM_LT16 EVUIMM_LT8 + 1 3561 1.1 skrll { 0x1f, 11, insert_evuimm_lt16, extract_evuimm_lt16, 0 }, 3562 1.8 christos 3563 1.8 christos /* The SI field in a HTM X form instruction. */ 3564 1.8 christos #define HTM_SI EVUIMM_LT16 + 1 3565 1.1 skrll { 0x1f, 11, NULL, NULL, PPC_OPERAND_SIGNED }, 3566 1.8 christos 3567 1.8 christos /* The SH field in an MD form instruction. This is split. */ 3568 1.8 christos #define SH6 HTM_SI + 1 3569 1.8 christos #define SH6_MASK ((0x1f << 11) | (1 << 1)) 3570 1.1 skrll { 0x3f, PPC_OPSHIFT_INV, insert_sh6, extract_sh6, 0 }, 3571 1.11 christos 3572 1.11 christos #define RRDn SH6 + 1 3573 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_rrdn, extract_rrdn, 0 }, 3574 1.11 christos 3575 1.11 christos #define SLDn RRDn + 1 3576 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_sldn, extract_sldn, 0 }, 3577 1.11 christos 3578 1.11 christos #define SRDn SLDn + 1 3579 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_srdn, extract_srdn, 0 }, 3580 1.11 christos 3581 1.11 christos #define ERDb SRDn + 1 3582 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_erdb, extract_erdb, 0 }, 3583 1.11 christos 3584 1.11 christos #define CSLDn ERDb + 1 3585 1.11 christos { 0x3f, PPC_OPSHIFT_SH6, insert_csldn, extract_sh6, 0 }, 3586 1.11 christos 3587 1.11 christos #define CSLDb CSLDn + 1 3588 1.11 christos { 0x3f, 5, insert_mb6, extract_csldb, 0 }, 3589 1.11 christos 3590 1.11 christos #define IRDn CSLDb + 1 3591 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_sh6, extract_irdn, PPC_OPERAND_PLUS1 }, 3592 1.11 christos 3593 1.11 christos #define IRDb IRDn + 1 3594 1.11 christos { 0x3f, 5, insert_irdb, extract_mb6, 0 }, 3595 1.8 christos 3596 1.8 christos /* The SH field of some variants of the tlbre and tlbwe 3597 1.11 christos instructions, and the ELEV field of the e_sc instruction. */ 3598 1.8 christos #define SHO IRDb + 1 3599 1.8 christos #define ELEV SHO 3600 1.1 skrll { 0x1f, 11, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3601 1.8 christos 3602 1.8 christos /* The SI field in a D form instruction. */ 3603 1.8 christos #define SI SHO + 1 3604 1.4 christos { 0xffff, 0, NULL, NULL, PPC_OPERAND_SIGNED }, 3605 1.8 christos 3606 1.8 christos /* The SI field in a D form instruction when we accept a wide range 3607 1.8 christos of positive values. */ 3608 1.8 christos #define SISIGNOPT SI + 1 3609 1.4 christos { 0xffff, 0, NULL, NULL, PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT }, 3610 1.8 christos 3611 1.8 christos /* The SI8 field in a D form instruction. */ 3612 1.8 christos #define SI8 SISIGNOPT + 1 3613 1.4 christos { 0xff, 0, NULL, NULL, PPC_OPERAND_SIGNED }, 3614 1.8 christos 3615 1.8 christos /* The SPR field in an XFX form instruction. This is flipped--the 3616 1.8 christos lower 5 bits are stored in the upper 5 and vice- versa. */ 3617 1.8 christos #define SPR SI8 + 1 3618 1.8 christos #define PMR SPR 3619 1.8 christos #define TMR SPR 3620 1.8 christos #define SPR_MASK (0x3ff << 11) 3621 1.1 skrll { 0x3ff, 11, insert_spr, extract_spr, PPC_OPERAND_SPR }, 3622 1.8 christos 3623 1.8 christos /* The BAT index number in an XFX form m[ft]ibat[lu] instruction. */ 3624 1.10 christos #define SPRBAT SPR + 1 3625 1.10 christos #define SPRBAT_MASK (0xc1 << 11) 3626 1.10 christos { 0x7, PPC_OPSHIFT_INV, insert_sprbat, extract_sprbat, PPC_OPERAND_SPR }, 3627 1.10 christos 3628 1.10 christos /* The GQR index number in an XFX form m[ft]gqr instruction. */ 3629 1.10 christos #define SPRGQR SPRBAT + 1 3630 1.10 christos #define SPRGQR_MASK (0x7 << 16) 3631 1.1 skrll { 0x7, 16, NULL, NULL, PPC_OPERAND_GQR }, 3632 1.8 christos 3633 1.10 christos /* The SPRG register number in an XFX form m[ft]sprg instruction. */ 3634 1.8 christos #define SPRG SPRGQR + 1 3635 1.1 skrll { 0x1f, 16, insert_sprg, extract_sprg, PPC_OPERAND_SPR }, 3636 1.8 christos 3637 1.8 christos /* The SR field in an X form instruction. */ 3638 1.8 christos #define SR SPRG + 1 3639 1.8 christos /* The 4-bit UIMM field in a VX form instruction. */ 3640 1.8 christos #define UIMM4 SR 3641 1.1 skrll { 0xf, 16, NULL, NULL, 0 }, 3642 1.8 christos 3643 1.8 christos /* The STRM field in an X AltiVec form instruction. */ 3644 1.8 christos #define STRM SR + 1 3645 1.8 christos /* The T field in a tlbilx form instruction. */ 3646 1.8 christos #define T STRM 3647 1.8 christos /* The L field in wclr instructions. */ 3648 1.8 christos #define L2 STRM 3649 1.1 skrll { 0x3, 21, NULL, NULL, 0 }, 3650 1.8 christos 3651 1.8 christos /* The ESYNC field in an X (sync) form instruction. */ 3652 1.8 christos #define ESYNC STRM + 1 3653 1.1 skrll { 0xf, 16, insert_esync, extract_esync, PPC_OPERAND_OPTIONAL }, 3654 1.8 christos 3655 1.8 christos /* The SV field in a POWER SC form instruction. */ 3656 1.8 christos #define SV ESYNC + 1 3657 1.1 skrll { 0x3fff, 2, NULL, NULL, 0 }, 3658 1.8 christos 3659 1.8 christos /* The TBR field in an XFX form instruction. This is like the SPR 3660 1.8 christos field, but it is optional. */ 3661 1.8 christos #define TBR SV + 1 3662 1.10 christos { 0x3ff, 11, insert_tbr, extract_tbr, 3663 1.1 skrll PPC_OPERAND_SPR | PPC_OPERAND_OPTIONAL }, 3664 1.8 christos 3665 1.10 christos /* The TO field in a D or X form instruction. */ 3666 1.8 christos #define TO TBR + 1 3667 1.12 christos #define DUI TO 3668 1.12 christos #define SVme TO 3669 1.8 christos #define SVG TO 3670 1.8 christos #define TO_MASK (0x1f << 21) 3671 1.1 skrll { 0x1f, 21, NULL, NULL, 0 }, 3672 1.8 christos 3673 1.8 christos /* The UI field in a D form instruction. */ 3674 1.8 christos #define UI TO + 1 3675 1.1 skrll { 0xffff, 0, NULL, NULL, 0 }, 3676 1.8 christos 3677 1.8 christos #define UISIGNOPT UI + 1 3678 1.1 skrll { 0xffff, 0, NULL, NULL, PPC_OPERAND_SIGNOPT }, 3679 1.8 christos 3680 1.8 christos /* The IMM field in an SE_IM5 instruction. */ 3681 1.8 christos #define UI5 UISIGNOPT + 1 3682 1.1 skrll { 0x1f, 4, NULL, NULL, 0 }, 3683 1.8 christos 3684 1.8 christos /* The OIMM field in an SE_OIM5 instruction. */ 3685 1.10 christos #define OIMM5 UI5 + 1 3686 1.1 skrll { 0x1f, 4, insert_oimm, extract_oimm, PPC_OPERAND_PLUS1 }, 3687 1.8 christos 3688 1.8 christos /* The UI7 field in an SE_LI instruction. */ 3689 1.8 christos #define UI7 OIMM5 + 1 3690 1.1 skrll { 0x7f, 4, NULL, NULL, 0 }, 3691 1.8 christos 3692 1.8 christos /* The VA field in a VA, VX or VXR form instruction. */ 3693 1.8 christos #define VA UI7 + 1 3694 1.1 skrll { 0x1f, 16, NULL, NULL, PPC_OPERAND_VR }, 3695 1.8 christos 3696 1.8 christos /* The VB field in a VA, VX or VXR form instruction. */ 3697 1.8 christos #define VB VA + 1 3698 1.4 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_VR }, 3699 1.8 christos 3700 1.8 christos /* The VC field in a VA form instruction. */ 3701 1.8 christos #define VC VB + 1 3702 1.4 christos { 0x1f, 6, NULL, NULL, PPC_OPERAND_VR }, 3703 1.8 christos 3704 1.8 christos /* The VD or VS field in a VA, VX, VXR or X form instruction. */ 3705 1.8 christos #define VD VC + 1 3706 1.8 christos #define VS VD 3707 1.4 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_VR }, 3708 1.8 christos 3709 1.8 christos /* The SIMM field in a VX form instruction, and TE in Z form. */ 3710 1.8 christos #define SIMM VD + 1 3711 1.8 christos #define TE SIMM 3712 1.4 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_SIGNED}, 3713 1.8 christos 3714 1.8 christos /* The UIMM field in a VX form instruction. */ 3715 1.8 christos #define UIMM SIMM + 1 3716 1.12 christos #define DCTL UIMM 3717 1.8 christos #define rmm UIMM 3718 1.4 christos { 0x1f, 16, NULL, NULL, 0 }, 3719 1.8 christos 3720 1.8 christos /* The 3-bit UIMM field in a VX form instruction. */ 3721 1.8 christos #define UIMM3 UIMM + 1 3722 1.4 christos { 0x7, 16, NULL, NULL, 0 }, 3723 1.8 christos 3724 1.8 christos /* The 6-bit UIM field in a X form instruction. */ 3725 1.8 christos #define UIM6 UIMM3 + 1 3726 1.4 christos { 0x3f, 16, NULL, NULL, 0 }, 3727 1.8 christos 3728 1.8 christos /* The SIX field in a VX form instruction. */ 3729 1.8 christos #define SIX UIM6 + 1 3730 1.8 christos #define MMMM SIX 3731 1.4 christos { 0xf, 11, NULL, NULL, 0 }, 3732 1.8 christos 3733 1.8 christos /* The PS field in a VX form instruction. */ 3734 1.8 christos #define PS SIX + 1 3735 1.4 christos { 0x1, 9, NULL, NULL, 0 }, 3736 1.11 christos 3737 1.11 christos /* The SH field in a vector shift double by bit immediate instruction. */ 3738 1.11 christos #define SH3 PS + 1 3739 1.11 christos { 0x7, 6, NULL, NULL, 0 }, 3740 1.8 christos 3741 1.11 christos /* The SHB field in a VA form instruction. */ 3742 1.8 christos #define SHB SH3 + 1 3743 1.4 christos { 0xf, 6, NULL, NULL, 0 }, 3744 1.8 christos 3745 1.8 christos /* The other UIMM field in a half word EVX form instruction. */ 3746 1.8 christos #define EVUIMM_1 SHB + 1 3747 1.4 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_PARENS }, 3748 1.8 christos 3749 1.8 christos #define EVUIMM_1_EX0 EVUIMM_1 + 1 3750 1.4 christos { 0x1f, 11, insert_evuimm1_ex0, extract_evuimm1_ex0, PPC_OPERAND_PARENS }, 3751 1.8 christos 3752 1.8 christos #define EVUIMM_2 EVUIMM_1_EX0 + 1 3753 1.4 christos { 0x3e, 10, NULL, NULL, PPC_OPERAND_PARENS }, 3754 1.8 christos 3755 1.8 christos #define EVUIMM_2_EX0 EVUIMM_2 + 1 3756 1.4 christos { 0x3e, 10, insert_evuimm2_ex0, extract_evuimm2_ex0, PPC_OPERAND_PARENS }, 3757 1.8 christos 3758 1.8 christos /* The other UIMM field in a word EVX form instruction. */ 3759 1.8 christos #define EVUIMM_4 EVUIMM_2_EX0 + 1 3760 1.4 christos { 0x7c, 9, NULL, NULL, PPC_OPERAND_PARENS }, 3761 1.8 christos 3762 1.8 christos #define EVUIMM_4_EX0 EVUIMM_4 + 1 3763 1.4 christos { 0x7c, 9, insert_evuimm4_ex0, extract_evuimm4_ex0, PPC_OPERAND_PARENS }, 3764 1.8 christos 3765 1.8 christos /* The other UIMM field in a double EVX form instruction. */ 3766 1.8 christos #define EVUIMM_8 EVUIMM_4_EX0 + 1 3767 1.1 skrll { 0xf8, 8, NULL, NULL, PPC_OPERAND_PARENS }, 3768 1.8 christos 3769 1.8 christos #define EVUIMM_8_EX0 EVUIMM_8 + 1 3770 1.1 skrll { 0xf8, 8, insert_evuimm8_ex0, extract_evuimm8_ex0, PPC_OPERAND_PARENS }, 3771 1.8 christos 3772 1.8 christos /* The WS or DRM field in an X form instruction. */ 3773 1.8 christos #define WS EVUIMM_8_EX0 + 1 3774 1.8 christos #define DRM WS 3775 1.8 christos /* The NNN field in a VX form instruction for SPE2 */ 3776 1.8 christos #define NNN WS 3777 1.1 skrll { 0x7, 11, NULL, NULL, 0 }, 3778 1.8 christos 3779 1.8 christos /* PowerPC paired singles extensions. */ 3780 1.8 christos /* W bit in the pair singles instructions for x type instructions. */ 3781 1.8 christos #define PSWM WS + 1 3782 1.8 christos /* The BO16 field in a BD8 form instruction. */ 3783 1.12 christos #define BO16 PSWM 3784 1.12 christos /* The pst field in a SVRM form instruction. */ 3785 1.12 christos #define pst PSWM 3786 1.12 christos /* The L field in a XO form instruction. */ 3787 1.8 christos #define XOL PSWM 3788 1.1 skrll { 0x1, 10, 0, 0, 0 }, 3789 1.8 christos 3790 1.8 christos /* IDX bits for quantization in the pair singles instructions. */ 3791 1.8 christos #define PSQ PSWM + 1 3792 1.1 skrll { 0x7, 12, 0, 0, PPC_OPERAND_GQR }, 3793 1.8 christos 3794 1.8 christos /* IDX bits for quantization in the pair singles x-type instructions. */ 3795 1.8 christos #define PSQM PSQ + 1 3796 1.1 skrll { 0x7, 7, 0, 0, PPC_OPERAND_GQR }, 3797 1.8 christos 3798 1.8 christos /* Smaller D field for quantization in the pair singles instructions. */ 3799 1.8 christos #define PSD PSQM + 1 3800 1.1 skrll { 0xfff, 0, 0, 0, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, 3801 1.8 christos 3802 1.8 christos /* The L field in an mtmsrd or A form instruction or R or W in an 3803 1.8 christos X form. */ 3804 1.8 christos #define A_L PSD + 1 3805 1.8 christos #define W A_L 3806 1.8 christos #define X_R A_L 3807 1.1 skrll { 0x1, 16, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3808 1.8 christos 3809 1.8 christos /* The RMC or CY field in a Z23 form instruction. */ 3810 1.8 christos #define RMC A_L + 1 3811 1.12 christos #define CY RMC 3812 1.8 christos #define ew RMC 3813 1.1 skrll { 0x3, 9, NULL, NULL, 0 }, 3814 1.8 christos 3815 1.11 christos #define R RMC + 1 3816 1.14 christos #define MP R 3817 1.12 christos #define UIMM1 R 3818 1.8 christos #define P1 R 3819 1.1 skrll { 0x1, 16, NULL, NULL, 0 }, 3820 1.8 christos 3821 1.8 christos #define RIC R + 1 3822 1.1 skrll { 0x3, 18, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3823 1.8 christos 3824 1.8 christos #define PRS RIC + 1 3825 1.1 skrll { 0x1, 17, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3826 1.8 christos 3827 1.12 christos #define SP PRS + 1 3828 1.8 christos #define mi0 SP 3829 1.1 skrll { 0x3, 19, NULL, NULL, 0 }, 3830 1.8 christos 3831 1.8 christos #define S SP + 1 3832 1.1 skrll { 0x1, 20, NULL, NULL, 0 }, 3833 1.8 christos 3834 1.8 christos /* The S field in a XL form instruction. */ 3835 1.10 christos #define SXL S + 1 3836 1.1 skrll { 0x1, 11, insert_sxl, extract_sxl, PPC_OPERAND_OPTIONAL }, 3837 1.8 christos 3838 1.10 christos /* SH field starting at bit position 16. */ 3839 1.8 christos #define SH16 SXL + 1 3840 1.8 christos /* The DCM and DGM fields in a Z form instruction. */ 3841 1.8 christos #define DCM SH16 3842 1.8 christos #define DGM DCM 3843 1.1 skrll { 0x3f, 10, NULL, NULL, 0 }, 3844 1.8 christos 3845 1.8 christos /* The EH field in larx instruction. */ 3846 1.8 christos #define EH SH16 + 1 3847 1.1 skrll { 0x1, 0, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3848 1.8 christos 3849 1.8 christos /* The L field in an mtfsf or XFL form instruction. */ 3850 1.8 christos /* The A field in a HTM X form instruction. */ 3851 1.8 christos #define XFL_L EH + 1 3852 1.8 christos #define HTM_A XFL_L 3853 1.1 skrll { 0x1, 25, NULL, NULL, PPC_OPERAND_OPTIONAL}, 3854 1.8 christos 3855 1.8 christos /* Xilinx APU related masks and macros */ 3856 1.8 christos #define FCRT XFL_L + 1 3857 1.8 christos #define FCRT_MASK (0x1f << 21) 3858 1.5 christos { 0x1f, 21, 0, 0, PPC_OPERAND_FCR }, 3859 1.8 christos 3860 1.8 christos /* Xilinx FSL related masks and macros */ 3861 1.8 christos #define FSL FCRT + 1 3862 1.8 christos #define FSL_MASK (0x1f << 11) 3863 1.5 christos { 0x1f, 11, 0, 0, PPC_OPERAND_FSL }, 3864 1.8 christos 3865 1.8 christos /* Xilinx UDI related masks and macros */ 3866 1.8 christos #define URT FSL + 1 3867 1.1 skrll { 0x1f, 21, 0, 0, PPC_OPERAND_UDI }, 3868 1.8 christos 3869 1.8 christos #define URA URT + 1 3870 1.1 skrll { 0x1f, 16, 0, 0, PPC_OPERAND_UDI }, 3871 1.8 christos 3872 1.8 christos #define URB URA + 1 3873 1.1 skrll { 0x1f, 11, 0, 0, PPC_OPERAND_UDI }, 3874 1.8 christos 3875 1.8 christos #define URC URB + 1 3876 1.1 skrll { 0x1f, 6, 0, 0, PPC_OPERAND_UDI }, 3877 1.8 christos 3878 1.8 christos /* The VLESIMM field in a D form instruction. */ 3879 1.8 christos #define VLESIMM URC + 1 3880 1.8 christos { 0xffff, PPC_OPSHIFT_INV, insert_vlesi, extract_vlesi, 3881 1.1 skrll PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT }, 3882 1.8 christos 3883 1.8 christos /* The VLENSIMM field in a D form instruction. */ 3884 1.8 christos #define VLENSIMM VLESIMM + 1 3885 1.8 christos { 0xffff, PPC_OPSHIFT_INV, insert_vlensi, extract_vlensi, 3886 1.1 skrll PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED | PPC_OPERAND_SIGNOPT }, 3887 1.8 christos 3888 1.8 christos /* The VLEUIMM field in a D form instruction. */ 3889 1.8 christos #define VLEUIMM VLENSIMM + 1 3890 1.1 skrll { 0xffff, PPC_OPSHIFT_INV, insert_vleui, extract_vleui, 0 }, 3891 1.8 christos 3892 1.8 christos /* The VLEUIMML field in a D form instruction. */ 3893 1.8 christos #define VLEUIMML VLEUIMM + 1 3894 1.1 skrll { 0xffff, PPC_OPSHIFT_INV, insert_vleil, extract_vleil, 0 }, 3895 1.8 christos 3896 1.8 christos /* The XT and XS fields in an XX1 or XX3 form instruction. This is 3897 1.8 christos split. */ 3898 1.8 christos #define XS6 VLEUIMML + 1 3899 1.8 christos #define XT6 XS6 3900 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xt6, extract_xt6, PPC_OPERAND_VSR }, 3901 1.8 christos 3902 1.8 christos /* The XT and XS fields in an DQ form VSX instruction. This is split. */ 3903 1.8 christos #define XSQ6 XT6 + 1 3904 1.8 christos #define XTQ6 XSQ6 3905 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xtq6, extract_xtq6, PPC_OPERAND_VSR }, 3906 1.12 christos 3907 1.11 christos /* The split XTp and XSp field in a vector paired instruction. */ 3908 1.12 christos #define XTP XSQ6 + 1 3909 1.11 christos #define XSP XTP 3910 1.11 christos { 0x3e, PPC_OPSHIFT_INV, insert_xtp, extract_xtp, PPC_OPERAND_VSR }, 3911 1.11 christos 3912 1.11 christos #define XTS XTP + 1 3913 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_xts, extract_xts, PPC_OPERAND_VSR }, 3914 1.10 christos 3915 1.11 christos /* The XT field in a plxv instruction. Runs into the OP field. */ 3916 1.10 christos #define XTOP XTS + 1 3917 1.10 christos { 0x3f, 21, NULL, NULL, PPC_OPERAND_VSR }, 3918 1.8 christos 3919 1.10 christos /* The XA field in an XX3 form instruction. This is split. */ 3920 1.8 christos #define XA6 XTOP + 1 3921 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xa6, extract_xa6, PPC_OPERAND_VSR }, 3922 1.11 christos 3923 1.11 christos /* The XA field in an MMA XX3 form instruction. This is split and 3924 1.11 christos must not overlap with the ACC operand. */ 3925 1.11 christos #define XA6a XA6 + 1 3926 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_xa6a, extract_xa6a, PPC_OPERAND_VSR }, 3927 1.11 christos 3928 1.11 christos /* The XAp field in an MMA XX3 form instruction. This is split. 3929 1.11 christos This is like XA6a, but must be even. */ 3930 1.11 christos #define XA6ap XA6a + 1 3931 1.11 christos { 0x3e, PPC_OPSHIFT_INV, insert_xa6a, extract_xa6a, PPC_OPERAND_VSR }, 3932 1.12 christos 3933 1.12 christos /* The 5-bit XAp field in an MMA XX3 form instruction. This is split. 3934 1.12 christos This is like XA6, but must be even. */ 3935 1.12 christos #define XA5p XA6ap + 1 3936 1.12 christos { 0x3e, PPC_OPSHIFT_INV, insert_xa5, extract_xa5, PPC_OPERAND_VSR }, 3937 1.8 christos 3938 1.12 christos /* The XB field in an XX2 or XX3 form instruction. This is split. */ 3939 1.8 christos #define XB6 XA5p + 1 3940 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xb6, extract_xb6, PPC_OPERAND_VSR }, 3941 1.11 christos 3942 1.11 christos /* The XB field in an XX3 form instruction. This is split and 3943 1.11 christos must not overlap with the ACC operand. */ 3944 1.11 christos #define XB6a XB6 + 1 3945 1.11 christos { 0x3f, PPC_OPSHIFT_INV, insert_xb6a, extract_xb6a, PPC_OPERAND_VSR }, 3946 1.12 christos 3947 1.12 christos /* The 5-bit XBp field in an MMA XX3 form instruction. This is split. 3948 1.12 christos This is like XB6, but must be even. */ 3949 1.12 christos #define XB5p XB6a + 1 3950 1.12 christos { 0x3e, PPC_OPSHIFT_INV, insert_xb5, extract_xb5, PPC_OPERAND_VSR }, 3951 1.9 christos 3952 1.9 christos /* The XA and XB fields in an XX3 form instruction when they must be the same. 3953 1.12 christos This is used in extended mnemonics like xvmovdp. This is split. */ 3954 1.9 christos #define XAB6 XB5p + 1 3955 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xab6, extract_xab6, PPC_OPERAND_VSR }, 3956 1.8 christos 3957 1.9 christos /* The XC field in an XX4 form instruction. This is split. */ 3958 1.8 christos #define XC6 XAB6 + 1 3959 1.2 skrll { 0x3f, PPC_OPSHIFT_INV, insert_xc6, extract_xc6, PPC_OPERAND_VSR }, 3960 1.8 christos 3961 1.8 christos /* The DM or SHW field in an XX3 form instruction. */ 3962 1.8 christos #define DM XC6 + 1 3963 1.8 christos #define SHW DM 3964 1.5 christos { 0x3, 8, NULL, NULL, 0 }, 3965 1.8 christos 3966 1.8 christos /* The DM field in an extended mnemonic XX3 form instruction. */ 3967 1.8 christos #define DMEX DM + 1 3968 1.4 christos { 0x3, 8, insert_dm, extract_dm, 0 }, 3969 1.13 christos 3970 1.13 christos /* The 2-bit M field in an AES XX2/XX3 form instruction. This is split. */ 3971 1.13 christos #define AESM DMEX + 1 3972 1.13 christos { 0x3, PPC_OPSHIFT_INV, insert_m2, extract_m2, 0 }, 3973 1.8 christos 3974 1.13 christos /* The UIM field in an XX2 form instruction. */ 3975 1.8 christos #define UIM AESM + 1 3976 1.8 christos /* The 2-bit UIMM field in a VX form instruction. */ 3977 1.8 christos #define UIMM2 UIM 3978 1.8 christos /* The 2-bit L field in a darn instruction. */ 3979 1.8 christos #define LRAND UIM 3980 1.4 christos { 0x3, 16, NULL, NULL, 0 }, 3981 1.8 christos 3982 1.8 christos #define ERAT_T UIM + 1 3983 1.4 christos { 0x7, 21, NULL, NULL, 0 }, 3984 1.8 christos 3985 1.8 christos #define IH ERAT_T + 1 3986 1.4 christos { 0x7, 21, NULL, NULL, PPC_OPERAND_OPTIONAL }, 3987 1.11 christos 3988 1.11 christos /* The 2-bit SC or PL field in an X form instruction. */ 3989 1.11 christos #define SC2 IH + 1 3990 1.11 christos #define PL SC2 3991 1.11 christos { 0x3, 16, insert_pl, extract_pl, PPC_OPERAND_OPTIONAL }, 3992 1.12 christos 3993 1.12 christos #define P2 PL + 1 3994 1.12 christos { 0x3, PPC_OPSHIFT_INV, insert_p2, extract_p2, 0 }, 3995 1.8 christos 3996 1.12 christos /* The 8-bit IMM8 field in a XX1 form instruction. */ 3997 1.8 christos #define IMM8 P2 + 1 3998 1.4 christos { 0xff, 11, NULL, NULL, PPC_OPERAND_SIGNOPT }, 3999 1.8 christos 4000 1.8 christos #define VX_OFF IMM8 + 1 4001 1.4 christos { 0x3, 0, insert_off_lsp, extract_off_lsp, 0 }, 4002 1.8 christos 4003 1.8 christos #define VX_OFF_SPE2 VX_OFF + 1 4004 1.4 christos { 0x7, 0, insert_off_spe2, extract_off_spe2, 0 }, 4005 1.8 christos 4006 1.8 christos #define BBB VX_OFF_SPE2 + 1 4007 1.4 christos { 0x7, 13, NULL, NULL, 0 }, 4008 1.8 christos 4009 1.8 christos #define DDD BBB + 1 4010 1.8 christos #define VX_MASK_DDD (VX_MASK & ~0x1) 4011 1.4 christos { 0x7, PPC_OPSHIFT_INV, insert_Ddd, extract_Ddd, 0 }, 4012 1.8 christos 4013 1.12 christos #define HH DDD + 1 4014 1.8 christos #define mo0 HH 4015 1.12 christos { 0x3, 13, NULL, NULL, 0 }, 4016 1.12 christos 4017 1.12 christos #define SVi HH + 1 4018 1.12 christos { 0x3f, 9, NULL, NULL, PPC_OPERAND_NONZERO }, 4019 1.12 christos 4020 1.12 christos #define vf SVi + 1 4021 1.12 christos #define sk vf 4022 1.12 christos { 0x1, 6, NULL, NULL, 0 }, 4023 1.12 christos 4024 1.12 christos #define vs vf + 1 4025 1.12 christos #define mm vs 4026 1.12 christos { 0x1, 7, NULL, NULL, 0 }, 4027 1.12 christos 4028 1.12 christos #define ms vs + 1 4029 1.13 christos #define yx ms 4030 1.13 christos /* The P field in Galois Field XX3 form instruction. */ 4031 1.12 christos #define PGF1 yx 4032 1.12 christos { 0x1, 8, NULL, NULL, 0 }, 4033 1.12 christos 4034 1.12 christos #define SVLcr ms + 1 4035 1.12 christos { 0x1, 5, NULL, NULL, 0 }, 4036 1.12 christos 4037 1.12 christos #define SVxd SVLcr + 1 4038 1.12 christos { 0x1f, 21, NULL, NULL, PPC_OPERAND_NONZERO }, 4039 1.12 christos 4040 1.12 christos #define SVyd SVxd + 1 4041 1.12 christos { 0x1f, 16, NULL, NULL, PPC_OPERAND_NONZERO }, 4042 1.12 christos 4043 1.12 christos #define SVzd SVyd + 1 4044 1.12 christos #define SVd SVzd 4045 1.12 christos { 0x1f, 11, NULL, NULL, PPC_OPERAND_NONZERO }, 4046 1.12 christos 4047 1.12 christos #define SVrm SVzd + 1 4048 1.12 christos { 0xf, 7, NULL, NULL, 0 }, 4049 1.12 christos 4050 1.12 christos #define mi1 SVrm + 1 4051 1.12 christos { 0x3, 17, NULL, NULL, 0 }, 4052 1.12 christos 4053 1.12 christos #define mi2 mi1 + 1 4054 1.8 christos { 0x3, 15, NULL, NULL, 0 }, 4055 1.4 christos }; 4056 1.12 christos 4057 1.1 skrll const unsigned int num_powerpc_operands = ARRAY_SIZE (powerpc_operands); 4058 1.1 skrll 4059 1.1 skrll /* Macros used to form opcodes. */ 4061 1.8 christos 4062 1.1 skrll /* The main opcode. */ 4063 1.1 skrll #define OP(x) ((((uint64_t)(x)) & 0x3f) << 26) 4064 1.10 christos #define OP_MASK OP (0x3f) 4065 1.10 christos 4066 1.10 christos /* The prefix opcode. */ 4067 1.10 christos #define PREFIX_OP (1ULL << 58) 4068 1.10 christos 4069 1.10 christos /* The 2-bit prefix form. */ 4070 1.10 christos #define PREFIX_FORM(x) ((x & 3ULL) << 56) 4071 1.10 christos 4072 1.10 christos #define SUFFIX_MASK ((1ULL << 32) - 1) 4073 1.10 christos #define PREFIX_MASK (SUFFIX_MASK << 32) 4074 1.10 christos 4075 1.10 christos /* Prefix insn, eight byte load/store form 8LS. */ 4076 1.11 christos #define P8LS (PREFIX_OP | PREFIX_FORM (0)) 4077 1.11 christos 4078 1.11 christos /* Prefix insn, eight byte register to register form 8RR. */ 4079 1.10 christos #define P8RR (PREFIX_OP | PREFIX_FORM (1)) 4080 1.10 christos 4081 1.10 christos /* Prefix insn, modified load/store form MLS. */ 4082 1.10 christos #define PMLS (PREFIX_OP | PREFIX_FORM (2)) 4083 1.10 christos 4084 1.10 christos /* Prefix insn, modified register to register form MRR. */ 4085 1.11 christos #define PMRR (PREFIX_OP | PREFIX_FORM (3)) 4086 1.11 christos 4087 1.11 christos /* Prefix insn, modified masked immediate register to register form MMIRR. */ 4088 1.10 christos #define PMMIRR (PREFIX_OP | PREFIX_FORM (3) | (9ULL << 52)) 4089 1.10 christos 4090 1.10 christos /* An 8-byte D form prefix instruction. */ 4091 1.13 christos #define P_D_MASK (((-1ULL << 50) & ~PCREL_MASK) | OP_MASK) 4092 1.13 christos 4093 1.13 christos /* An 8-byte D form prefix instruction with 32bit SI field. */ 4094 1.10 christos #define P_D_SI32_MASK (((-1ULL << 48) & ~PCREL_MASK) | OP_MASK) 4095 1.10 christos 4096 1.10 christos /* The same as P_D_MASK, but with the RA and PCREL fields specified. */ 4097 1.13 christos #define P_DRAPCREL_MASK (P_D_MASK | PCREL_MASK | RA_MASK) 4098 1.13 christos 4099 1.13 christos /* The same as P_D_SI32_MASK, but with the RA and PCREL fields specified. */ 4100 1.11 christos #define P_DRAPCREL_SI32_MASK (P_D_SI32_MASK | PCREL_MASK | RA_MASK) 4101 1.11 christos 4102 1.11 christos /* Mask for prefix X form instructions. */ 4103 1.11 christos #define P_X_MASK (PREFIX_MASK | X_MASK) 4104 1.11 christos #define P_XX1_MASK (PREFIX_MASK | XX1_MASK) 4105 1.11 christos 4106 1.11 christos /* Mask for prefix vector permute insns. */ 4107 1.11 christos #define P_XX4_MASK (PREFIX_MASK | XX4_MASK) 4108 1.11 christos #define P_UXX4_MASK (P_XX4_MASK & ~(7ULL << 32)) 4109 1.11 christos #define P_U8XX4_MASK (P_XX4_MASK & ~(0xffULL << 32)) 4110 1.11 christos 4111 1.11 christos /* MMIRR:XX3-form 8-byte outer product instructions. */ 4112 1.11 christos #define P_GER_MASK ((-1ULL << 40) | XX3ACC_MASK) 4113 1.11 christos #define P_GER2_MASK (P_GER_MASK & ~(3ULL << 46)) 4114 1.11 christos #define P_GER4_MASK (P_GER_MASK & ~(15ULL << 44)) 4115 1.12 christos #define P_GER8_MASK (P_GER_MASK & ~(255ULL << 40)) 4116 1.12 christos #define P_GER64_MASK (P_GER_MASK | (3ULL << 32)) 4117 1.11 christos #define P_GERX4_MASK ((-1ULL << 48) | XX3GERX_MASK) 4118 1.11 christos #define P_GERX2_MASK (P_GERX4_MASK & ~(3ULL << 46)) 4119 1.11 christos 4120 1.11 christos /* Vector splat immediate op. */ 4121 1.11 christos #define VSOP(op, xop) (OP (op) | (xop << 17)) 4122 1.11 christos #define P_VS_MASK ((-1ULL << 48) | VSOP (0x3f, 0xf)) 4123 1.1 skrll #define P_VSI_MASK ((-1ULL << 48) | VSOP (0x3f, 0xe)) 4124 1.1 skrll 4125 1.1 skrll /* The main opcode combined with a trap code in the TO field of a D 4126 1.8 christos form instruction. Used for extended mnemonics for the trap 4127 1.1 skrll instructions. */ 4128 1.1 skrll #define OPTO(x,to) (OP (x) | ((((uint64_t)(to)) & 0x1f) << 21)) 4129 1.1 skrll #define OPTO_MASK (OP_MASK | TO_MASK) 4130 1.1 skrll 4131 1.1 skrll /* The main opcode combined with a comparison size bit in the L field 4132 1.8 christos of a D form or X form instruction. Used for extended mnemonics for 4133 1.1 skrll the comparison instructions. */ 4134 1.1 skrll #define OPL(x,l) (OP (x) | ((((uint64_t)(l)) & 1) << 21)) 4135 1.4 christos #define OPL_MASK OPL (0x3f,1) 4136 1.4 christos 4137 1.8 christos /* The main opcode combined with an update code in D form instruction. 4138 1.4 christos Used for extended mnemonics for VLE memory instructions. */ 4139 1.4 christos #define OPVUP(x,vup) (OP (x) | ((((uint64_t)(vup)) & 0xff) << 8)) 4140 1.8 christos #define OPVUP_MASK OPVUP (0x3f, 0xff) 4141 1.8 christos 4142 1.8 christos /* The main opcode combined with an update code and the RT fields 4143 1.8 christos specified in D form instruction. Used for VLE volatile context 4144 1.8 christos save/restore instructions. */ 4145 1.8 christos #define OPVUPRT(x,vup,rt) \ 4146 1.8 christos (OPVUP (x, vup) \ 4147 1.8 christos | ((((uint64_t)(rt)) & 0x1f) << 21)) 4148 1.1 skrll #define OPVUPRT_MASK OPVUPRT (0x3f, 0xff, 0x1f) 4149 1.8 christos 4150 1.8 christos /* An A form instruction. */ 4151 1.8 christos #define A(op, xop, rc) \ 4152 1.8 christos (OP (op) \ 4153 1.1 skrll | ((((uint64_t)(xop)) & 0x1f) << 1) \ 4154 1.1 skrll | (((uint64_t)(rc)) & 1)) 4155 1.1 skrll #define A_MASK A (0x3f, 0x1f, 1) 4156 1.1 skrll 4157 1.1 skrll /* An A_MASK with the FRB field fixed. */ 4158 1.1 skrll #define AFRB_MASK (A_MASK | FRB_MASK) 4159 1.1 skrll 4160 1.1 skrll /* An A_MASK with the FRC field fixed. */ 4161 1.1 skrll #define AFRC_MASK (A_MASK | FRC_MASK) 4162 1.1 skrll 4163 1.1 skrll /* An A_MASK with the FRA and FRC fields fixed. */ 4164 1.1 skrll #define AFRAFRC_MASK (A_MASK | FRA_MASK | FRC_MASK) 4165 1.8 christos 4166 1.1 skrll /* An AFRAFRC_MASK, but with L bit clear. */ 4167 1.1 skrll #define AFRALFRC_MASK (AFRAFRC_MASK & ~((uint64_t) 1 << 16)) 4168 1.8 christos 4169 1.8 christos /* A B form instruction. */ 4170 1.8 christos #define B(op, aa, lk) \ 4171 1.8 christos (OP (op) \ 4172 1.1 skrll | ((((uint64_t)(aa)) & 1) << 1) \ 4173 1.1 skrll | ((lk) & 1)) 4174 1.4 christos #define B_MASK B (0x3f, 1, 1) 4175 1.8 christos 4176 1.8 christos /* A BD8 form instruction. This is a 16-bit instruction. */ 4177 1.8 christos #define BD8(op, aa, lk) \ 4178 1.8 christos (((((uint64_t)(op)) & 0x3f) << 10) \ 4179 1.4 christos | (((aa) & 1) << 9) \ 4180 1.4 christos | (((lk) & 1) << 8)) 4181 1.4 christos #define BD8_MASK BD8 (0x3f, 1, 1) 4182 1.8 christos 4183 1.4 christos /* Another BD8 form instruction. This is a 16-bit instruction. */ 4184 1.4 christos #define BD8IO(op) ((((uint64_t)(op)) & 0x1f) << 11) 4185 1.4 christos #define BD8IO_MASK BD8IO (0x1f) 4186 1.4 christos 4187 1.4 christos /* A BD8 form instruction for simplified mnemonics. */ 4188 1.4 christos #define EBD8IO(op, bo, bi) (BD8IO ((op)) | ((bo) << 10) | ((bi) << 8)) 4189 1.4 christos /* A mask that excludes BO32 and BI32. */ 4190 1.4 christos #define EBD8IO1_MASK 0xf800 4191 1.4 christos /* A mask that includes BO32 and excludes BI32. */ 4192 1.4 christos #define EBD8IO2_MASK 0xfc00 4193 1.4 christos /* A mask that include BO32 AND BI32. */ 4194 1.4 christos #define EBD8IO3_MASK 0xff00 4195 1.8 christos 4196 1.8 christos /* A BD15 form instruction. */ 4197 1.8 christos #define BD15(op, aa, lk) \ 4198 1.8 christos (OP (op) \ 4199 1.4 christos | ((((uint64_t)(aa)) & 0xf) << 22) \ 4200 1.4 christos | ((lk) & 1)) 4201 1.4 christos #define BD15_MASK BD15 (0x3f, 0xf, 1) 4202 1.8 christos 4203 1.10 christos /* A BD15 form instruction for extended conditional branch mnemonics. */ 4204 1.8 christos #define EBD15(op, aa, bo, lk) \ 4205 1.8 christos (((op) & 0x3fu) << 26) \ 4206 1.8 christos | (((aa) & 0xf) << 22) \ 4207 1.4 christos | (((bo) & 0x3) << 20) \ 4208 1.4 christos | ((lk) & 1) 4209 1.8 christos #define EBD15_MASK 0xfff00001 4210 1.8 christos 4211 1.8 christos /* A BD15 form instruction for extended conditional branch mnemonics 4212 1.10 christos with BI. */ 4213 1.8 christos #define EBD15BI(op, aa, bo, bi, lk) \ 4214 1.8 christos ((((op) & 0x3fu) << 26) \ 4215 1.8 christos | (((aa) & 0xf) << 22) \ 4216 1.8 christos | (((bo) & 0x3) << 20) \ 4217 1.8 christos | (((bi) & 0x3) << 16) \ 4218 1.4 christos | ((lk) & 1)) 4219 1.4 christos 4220 1.4 christos #define EBD15BI_MASK 0xfff30001 4221 1.8 christos 4222 1.8 christos /* A BD24 form instruction. */ 4223 1.8 christos #define BD24(op, aa, lk) \ 4224 1.8 christos (OP (op) \ 4225 1.4 christos | ((((uint64_t)(aa)) & 1) << 25) \ 4226 1.4 christos | ((lk) & 1)) 4227 1.1 skrll #define BD24_MASK BD24 (0x3f, 1, 1) 4228 1.8 christos 4229 1.8 christos /* A B form instruction setting the BO field. */ 4230 1.8 christos #define BBO(op, bo, aa, lk) \ 4231 1.1 skrll (B ((op), (aa), (lk)) \ 4232 1.1 skrll | ((((uint64_t)(bo)) & 0x1f) << 21)) 4233 1.1 skrll #define BBO_MASK BBO (0x3f, 0x1f, 1, 1) 4234 1.1 skrll 4235 1.1 skrll /* A BBO_MASK with the y bit of the BO field removed. This permits 4236 1.8 christos matching a conditional branch regardless of the setting of the y 4237 1.8 christos bit. Similarly for the 'at' bits used for power4 branch hints. */ 4238 1.8 christos #define Y_MASK (((uint64_t) 1) << 21) 4239 1.1 skrll #define AT1_MASK (((uint64_t) 3) << 21) 4240 1.1 skrll #define AT2_MASK (((uint64_t) 9) << 21) 4241 1.1 skrll #define BBOY_MASK (BBO_MASK &~ Y_MASK) 4242 1.1 skrll #define BBOAT_MASK (BBO_MASK &~ AT1_MASK) 4243 1.1 skrll 4244 1.1 skrll /* A B form instruction setting the BO field and the condition bits of 4245 1.8 christos the BI field. */ 4246 1.1 skrll #define BBOCB(op, bo, cb, aa, lk) \ 4247 1.1 skrll (BBO ((op), (bo), (aa), (lk)) | ((((uint64_t)(cb)) & 0x3) << 16)) 4248 1.1 skrll #define BBOCB_MASK BBOCB (0x3f, 0x1f, 0x3, 1, 1) 4249 1.1 skrll 4250 1.1 skrll /* A BBOCB_MASK with the y bit of the BO field removed. */ 4251 1.1 skrll #define BBOYCB_MASK (BBOCB_MASK &~ Y_MASK) 4252 1.1 skrll #define BBOATCB_MASK (BBOCB_MASK &~ AT1_MASK) 4253 1.1 skrll #define BBOAT2CB_MASK (BBOCB_MASK &~ AT2_MASK) 4254 1.1 skrll 4255 1.1 skrll /* A BBOYCB_MASK in which the BI field is fixed. */ 4256 1.1 skrll #define BBOYBI_MASK (BBOYCB_MASK | BI_MASK) 4257 1.4 christos #define BBOATBI_MASK (BBOAT2CB_MASK | BI_MASK) 4258 1.8 christos 4259 1.4 christos /* A VLE C form instruction. */ 4260 1.8 christos #define C_LK(x, lk) (((((uint64_t)(x)) & 0x7fff) << 1) | ((lk) & 1)) 4261 1.4 christos #define C_LK_MASK C_LK(0x7fff, 1) 4262 1.4 christos #define C(x) ((((uint64_t)(x)) & 0xffff)) 4263 1.1 skrll #define C_MASK C(0xffff) 4264 1.8 christos 4265 1.1 skrll /* An Context form instruction. */ 4266 1.1 skrll #define CTX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7)) 4267 1.1 skrll #define CTX_MASK CTX(0x3f, 0x7) 4268 1.8 christos 4269 1.1 skrll /* An User Context form instruction. */ 4270 1.1 skrll #define UCTX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f)) 4271 1.1 skrll #define UCTX_MASK UCTX(0x3f, 0x1f) 4272 1.1 skrll 4273 1.1 skrll /* The main opcode mask with the RA field clear. */ 4274 1.5 christos #define DRA_MASK (OP_MASK | RA_MASK) 4275 1.5 christos 4276 1.5 christos /* A DQ form VSX instruction. */ 4277 1.5 christos #define DQX(op, xop) (OP (op) | ((xop) & 0x7)) 4278 1.11 christos #define DQX_MASK DQX (0x3f, 7) 4279 1.11 christos 4280 1.11 christos /* A DQ form VSX vector paired instruction. */ 4281 1.11 christos #define DQXP(op, xop) (OP (op) | ((xop) & 0xf)) 4282 1.1 skrll #define DQXP_MASK DQXP (0x3f, 0xf) 4283 1.1 skrll 4284 1.1 skrll /* A DS form instruction. */ 4285 1.1 skrll #define DSO(op, xop) (OP (op) | ((xop) & 0x3)) 4286 1.5 christos #define DS_MASK DSO (0x3f, 3) 4287 1.8 christos 4288 1.5 christos /* An DX form instruction. */ 4289 1.8 christos #define DX(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 1)) 4290 1.8 christos #define DX_MASK DX (0x3f, 0x1f) 4291 1.5 christos /* An DX form instruction with the D bits specified. */ 4292 1.1 skrll #define NODX_MASK (DX_MASK | 0x1fffc1) 4293 1.8 christos 4294 1.1 skrll /* An EVSEL form instruction. */ 4295 1.1 skrll #define EVSEL(op, xop) (OP (op) | (((uint64_t)(xop)) & 0xff) << 3) 4296 1.4 christos #define EVSEL_MASK EVSEL(0x3f, 0xff) 4297 1.8 christos 4298 1.4 christos /* An IA16 form instruction. */ 4299 1.4 christos #define IA16(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11) 4300 1.4 christos #define IA16_MASK IA16(0x3f, 0x1f) 4301 1.8 christos 4302 1.4 christos /* An I16A form instruction. */ 4303 1.4 christos #define I16A(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11) 4304 1.4 christos #define I16A_MASK I16A(0x3f, 0x1f) 4305 1.8 christos 4306 1.4 christos /* An I16L form instruction. */ 4307 1.4 christos #define I16L(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11) 4308 1.4 christos #define I16L_MASK I16L(0x3f, 0x1f) 4309 1.8 christos 4310 1.4 christos /* An IM7 form instruction. */ 4311 1.4 christos #define IM7(op) ((((uint64_t)(op)) & 0x1f) << 11) 4312 1.1 skrll #define IM7_MASK IM7(0x1f) 4313 1.1 skrll 4314 1.1 skrll /* An M form instruction. */ 4315 1.1 skrll #define M(op, rc) (OP (op) | ((rc) & 1)) 4316 1.4 christos #define M_MASK M (0x3f, 1) 4317 1.8 christos 4318 1.4 christos /* An LI20 form instruction. */ 4319 1.4 christos #define LI20(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1) << 15) 4320 1.1 skrll #define LI20_MASK LI20(0x3f, 0x1) 4321 1.8 christos 4322 1.8 christos /* An M form instruction with the ME field specified. */ 4323 1.8 christos #define MME(op, me, rc) \ 4324 1.1 skrll (M ((op), (rc)) \ 4325 1.11 christos | ((((uint64_t)(me)) & 0x1f) << 1)) 4326 1.11 christos 4327 1.11 christos /* An M_MASK with the MB field fixed. */ 4328 1.11 christos #define MMB_MASK (M_MASK | MB_MASK) 4329 1.11 christos 4330 1.11 christos /* An M_MASK with the ME field fixed. */ 4331 1.1 skrll #define MME_MASK (M_MASK | ME_MASK) 4332 1.1 skrll 4333 1.1 skrll /* An M_MASK with the MB and ME fields fixed. */ 4334 1.1 skrll #define MMBME_MASK (M_MASK | MB_MASK | ME_MASK) 4335 1.1 skrll 4336 1.1 skrll /* An M_MASK with the SH and ME fields fixed. */ 4337 1.11 christos #define MSHME_MASK (M_MASK | SH_MASK | ME_MASK) 4338 1.11 christos 4339 1.11 christos /* An M_MASK with the SH and MB fields fixed. */ 4340 1.1 skrll #define MSHMB_MASK (M_MASK | SH_MASK | MB_MASK) 4341 1.8 christos 4342 1.8 christos /* An MD form instruction. */ 4343 1.8 christos #define MD(op, xop, rc) \ 4344 1.8 christos (OP (op) \ 4345 1.1 skrll | ((((uint64_t)(xop)) & 0x7) << 2) \ 4346 1.1 skrll | ((rc) & 1)) 4347 1.1 skrll #define MD_MASK MD (0x3f, 0x7, 1) 4348 1.1 skrll 4349 1.1 skrll /* An MD_MASK with the MB field fixed. */ 4350 1.1 skrll #define MDMB_MASK (MD_MASK | MB6_MASK) 4351 1.1 skrll 4352 1.1 skrll /* An MD_MASK with the SH field fixed. */ 4353 1.1 skrll #define MDSH_MASK (MD_MASK | SH6_MASK) 4354 1.8 christos 4355 1.8 christos /* An MDS form instruction. */ 4356 1.8 christos #define MDS(op, xop, rc) \ 4357 1.8 christos (OP (op) \ 4358 1.1 skrll | ((((uint64_t)(xop)) & 0xf) << 1) \ 4359 1.1 skrll | ((rc) & 1)) 4360 1.1 skrll #define MDS_MASK MDS (0x3f, 0xf, 1) 4361 1.1 skrll 4362 1.1 skrll /* An MDS_MASK with the MB field fixed. */ 4363 1.1 skrll #define MDSMB_MASK (MDS_MASK | MB6_MASK) 4364 1.8 christos 4365 1.8 christos /* An SC form instruction. */ 4366 1.8 christos #define SC(op, sa, lk) \ 4367 1.8 christos (OP (op) \ 4368 1.8 christos | ((((uint64_t)(sa)) & 1) << 1) \ 4369 1.8 christos | ((lk) & 1)) 4370 1.8 christos #define SC_MASK \ 4371 1.8 christos (OP_MASK \ 4372 1.8 christos | (((uint64_t) 0x3ff) << 16) \ 4373 1.1 skrll | (((uint64_t) 1) << 1) \ 4374 1.4 christos | 1) 4375 1.8 christos 4376 1.4 christos /* An SCI8 form instruction. */ 4377 1.4 christos #define SCI8(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 11)) 4378 1.4 christos #define SCI8_MASK SCI8(0x3f, 0x1f) 4379 1.8 christos 4380 1.8 christos /* An SCI8 form instruction. */ 4381 1.8 christos #define SCI8BF(op, fop, xop) \ 4382 1.8 christos (OP (op) \ 4383 1.4 christos | ((((uint64_t)(xop)) & 0x1f) << 11) \ 4384 1.4 christos | (((fop) & 7) << 23)) 4385 1.4 christos #define SCI8BF_MASK SCI8BF(0x3f, 7, 0x1f) 4386 1.8 christos 4387 1.4 christos /* An SD4 form instruction. This is a 16-bit instruction. */ 4388 1.4 christos #define SD4(op) ((((uint64_t)(op)) & 0xf) << 12) 4389 1.4 christos #define SD4_MASK SD4(0xf) 4390 1.8 christos 4391 1.8 christos /* An SE_IM5 form instruction. This is a 16-bit instruction. */ 4392 1.8 christos #define SE_IM5(op, xop) \ 4393 1.4 christos (((((uint64_t)(op)) & 0x3f) << 10) \ 4394 1.4 christos | (((xop) & 0x1) << 9)) 4395 1.4 christos #define SE_IM5_MASK SE_IM5(0x3f, 1) 4396 1.8 christos 4397 1.8 christos /* An SE_R form instruction. This is a 16-bit instruction. */ 4398 1.8 christos #define SE_R(op, xop) \ 4399 1.4 christos (((((uint64_t)(op)) & 0x3f) << 10) \ 4400 1.4 christos | (((xop) & 0x3f) << 4)) 4401 1.4 christos #define SE_R_MASK SE_R(0x3f, 0x3f) 4402 1.8 christos 4403 1.8 christos /* An SE_RR form instruction. This is a 16-bit instruction. */ 4404 1.8 christos #define SE_RR(op, xop) \ 4405 1.4 christos (((((uint64_t)(op)) & 0x3f) << 10) \ 4406 1.4 christos | (((xop) & 0x3) << 8)) 4407 1.4 christos #define SE_RR_MASK SE_RR(0x3f, 3) 4408 1.8 christos 4409 1.1 skrll /* A VX form instruction. */ 4410 1.14 christos #define VX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7ff)) 4411 1.14 christos 4412 1.14 christos /* A VX form instruction with selector bit */ 4413 1.14 christos #define VXSEL5(op, xop, sel) (VX(op, xop) | (((sel) & 0x1f) << 16)) 4414 1.14 christos #define VXSEL4(op, xop, sel) (VX(op, xop) | (((sel) & 0xf) << 17)) 4415 1.14 christos #define VXSEL3(op, xop, sel) (VX(op, xop) | (((sel) & 0x7) << 18)) 4416 1.1 skrll #define VXSEL2(op, xop, sel) (VX(op, xop) | (((sel) & 0x3) << 19)) 4417 1.1 skrll 4418 1.1 skrll /* The mask for an VX form instruction. */ 4419 1.8 christos #define VX_MASK VX(0x3f, 0x7ff) 4420 1.8 christos 4421 1.8 christos /* A VX LSP form instruction. */ 4422 1.8 christos #define VX_LSP(op, xop) (OP (op) | (((uint64_t)(xop)) & 0xffff)) 4423 1.8 christos 4424 1.8 christos /* The mask for an VX LSP form instruction. */ 4425 1.8 christos #define VX_LSP_MASK VX_LSP(0x3f, 0xffff) 4426 1.8 christos #define VX_LSP_OFF_MASK VX_LSP(0x3f, 0x7fc) 4427 1.8 christos 4428 1.8 christos /* Additional format of VX SPE2 form instruction. */ 4429 1.8 christos #define VX_RA_CONST(op, xop, bits11_15) \ 4430 1.8 christos (OP (op) \ 4431 1.8 christos | (((uint64_t)(bits11_15) & 0x1f) << 16) \ 4432 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4433 1.8 christos #define VX_RA_CONST_MASK VX_RA_CONST(0x3f, 0x7ff, 0x1f) 4434 1.8 christos 4435 1.8 christos #define VX_RB_CONST(op, xop, bits16_20) \ 4436 1.8 christos (OP (op) \ 4437 1.8 christos | (((uint64_t)(bits16_20) & 0x1f) << 11) \ 4438 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4439 1.8 christos #define VX_RB_CONST_MASK VX_RB_CONST(0x3f, 0x7ff, 0x1f) 4440 1.8 christos 4441 1.8 christos #define VX_OFF_SPE2_MASK VX(0x3f, 0x7f8) 4442 1.8 christos 4443 1.8 christos #define VX_SPE_CRFD(op, xop, bits9_10) \ 4444 1.8 christos (OP (op) \ 4445 1.8 christos | (((uint64_t)(bits9_10) & 0x3) << 21) \ 4446 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4447 1.8 christos #define VX_SPE_CRFD_MASK VX_SPE_CRFD(0x3f, 0x7ff, 0x3) 4448 1.8 christos 4449 1.8 christos #define VX_SPE2_CLR(op, xop, bit16) \ 4450 1.8 christos (OP (op) \ 4451 1.8 christos | (((uint64_t)(bit16) & 0x1) << 15) \ 4452 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4453 1.8 christos #define VX_SPE2_CLR_MASK VX_SPE2_CLR(0x3f, 0x7ff, 0x1) 4454 1.8 christos 4455 1.8 christos #define VX_SPE2_SPLATB(op, xop, bits19_20) \ 4456 1.8 christos (OP (op) \ 4457 1.8 christos | (((uint64_t)(bits19_20) & 0x3) << 11) \ 4458 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4459 1.8 christos #define VX_SPE2_SPLATB_MASK VX_SPE2_SPLATB(0x3f, 0x7ff, 0x3) 4460 1.8 christos 4461 1.8 christos #define VX_SPE2_OCTET(op, xop, bits16_17) \ 4462 1.8 christos (OP (op) \ 4463 1.8 christos | (((uint64_t)(bits16_17) & 0x3) << 14) \ 4464 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4465 1.8 christos #define VX_SPE2_OCTET_MASK VX_SPE2_OCTET(0x3f, 0x7ff, 0x7) 4466 1.8 christos 4467 1.8 christos #define VX_SPE2_DDHH(op, xop, bit16) \ 4468 1.8 christos (OP (op) \ 4469 1.8 christos | (((uint64_t)(bit16) & 0x1) << 15) \ 4470 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4471 1.8 christos #define VX_SPE2_DDHH_MASK VX_SPE2_DDHH(0x3f, 0x7ff, 0x1) 4472 1.8 christos 4473 1.8 christos #define VX_SPE2_HH(op, xop, bit16, bits19_20) \ 4474 1.8 christos (OP (op) \ 4475 1.8 christos | (((uint64_t)(bit16) & 0x1) << 15) \ 4476 1.8 christos | (((uint64_t)(bits19_20) & 0x3) << 11) \ 4477 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4478 1.8 christos #define VX_SPE2_HH_MASK VX_SPE2_HH(0x3f, 0x7ff, 0x1, 0x3) 4479 1.8 christos 4480 1.8 christos #define VX_SPE2_EVMAR(op, xop) \ 4481 1.8 christos (OP (op) \ 4482 1.8 christos | ((uint64_t)(0x1) << 11) \ 4483 1.8 christos | (((uint64_t)(xop)) & 0x7ff)) 4484 1.8 christos #define VX_SPE2_EVMAR_MASK \ 4485 1.8 christos (VX_SPE2_EVMAR(0x3f, 0x7ff) \ 4486 1.4 christos | ((uint64_t)(0x1) << 11)) 4487 1.4 christos 4488 1.4 christos /* A VX_MASK with the VA field fixed. */ 4489 1.4 christos #define VXVA_MASK (VX_MASK | (0x1f << 16)) 4490 1.4 christos 4491 1.4 christos /* A VX_MASK with the VB field fixed. */ 4492 1.4 christos #define VXVB_MASK (VX_MASK | (0x1f << 11)) 4493 1.4 christos 4494 1.4 christos /* A VX_MASK with the VA and VB fields fixed. */ 4495 1.4 christos #define VXVAVB_MASK (VX_MASK | (0x1f << 16) | (0x1f << 11)) 4496 1.4 christos 4497 1.4 christos /* A VX_MASK with the VD and VA fields fixed. */ 4498 1.5 christos #define VXVDVA_MASK (VX_MASK | (0x1f << 21) | (0x1f << 16)) 4499 1.4 christos 4500 1.4 christos /* A VX_MASK with a UIMM4 field. */ 4501 1.5 christos #define VXUIMM4_MASK (VX_MASK | (0x1 << 20)) 4502 1.4 christos 4503 1.4 christos /* A VX_MASK with a UIMM3 field. */ 4504 1.5 christos #define VXUIMM3_MASK (VX_MASK | (0x3 << 19)) 4505 1.4 christos 4506 1.4 christos /* A VX_MASK with a UIMM2 field. */ 4507 1.14 christos #define VXUIMM2_MASK (VX_MASK | (0x7 << 18)) 4508 1.14 christos 4509 1.14 christos /* A VX_MASK with a UIMM1 field. */ 4510 1.5 christos #define VXUIMM1_MASK (VX_MASK | (0xf << 17)) 4511 1.5 christos 4512 1.5 christos /* A VX_MASK with a PS field. */ 4513 1.5 christos #define VXPS_MASK (VX_MASK & ~(0x1 << 9)) 4514 1.11 christos 4515 1.11 christos /* A VX_MASK with the VA field fixed with a PS field. */ 4516 1.11 christos #define VXVAPS_MASK (VXVA_MASK & ~(0x1 << 9)) 4517 1.11 christos 4518 1.11 christos /* A VX_MASK with the VA field fixed with a MP field. */ 4519 1.11 christos #define VXVAM_MASK (VXVA_MASK & ~(0x1 << 16)) 4520 1.11 christos 4521 1.11 christos /* A VX_MASK for instructions using a BF field. */ 4522 1.11 christos #define VXBF_MASK (VX_MASK | (3 << 21)) 4523 1.11 christos 4524 1.11 christos /* A VX_MASK for instructions with an RC field. */ 4525 1.11 christos #define VXRC_MASK (VX_MASK & ~(0x1f << 6)) 4526 1.11 christos 4527 1.5 christos /* A VX_MASK for instructions with a SH field. */ 4528 1.4 christos #define VXSH_MASK (VX_MASK & ~(0x7 << 6)) 4529 1.8 christos 4530 1.1 skrll /* A VA form instruction. */ 4531 1.1 skrll #define VXA(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x03f)) 4532 1.1 skrll 4533 1.1 skrll /* The mask for an VA form instruction. */ 4534 1.4 christos #define VXA_MASK VXA(0x3f, 0x3f) 4535 1.4 christos 4536 1.4 christos /* A VXA_MASK with a SHB field. */ 4537 1.4 christos #define VXASHB_MASK (VXA_MASK | (1 << 10)) 4538 1.8 christos 4539 1.8 christos /* A VXR form instruction. */ 4540 1.8 christos #define VXR(op, xop, rc) \ 4541 1.8 christos (OP (op) \ 4542 1.1 skrll | (((uint64_t)(rc) & 1) << 10) \ 4543 1.1 skrll | (((uint64_t)(xop)) & 0x3ff)) 4544 1.1 skrll 4545 1.1 skrll /* The mask for a VXR form instruction. */ 4546 1.5 christos #define VXR_MASK VXR(0x3f, 0x3ff, 1) 4547 1.5 christos 4548 1.5 christos /* A VX form instruction with a VA tertiary opcode. */ 4549 1.8 christos #define VXVA(op, xop, vaop) (VX(op,xop) | (((vaop) & 0x1f) << 16)) 4550 1.6 christos 4551 1.6 christos #define VXASH(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 1)) 4552 1.1 skrll #define VXASH_MASK VXASH (0x3f, 0x1f) 4553 1.8 christos 4554 1.1 skrll /* An X form instruction. */ 4555 1.5 christos #define X(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3ff) << 1)) 4556 1.5 christos 4557 1.5 christos /* A X form instruction for Quad-Precision FP Instructions. */ 4558 1.4 christos #define XVA(op, xop, vaop) (X(op,xop) | (((vaop) & 0x1f) << 16)) 4559 1.8 christos 4560 1.4 christos /* An EX form instruction. */ 4561 1.4 christos #define EX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7ff)) 4562 1.4 christos 4563 1.4 christos /* The mask for an EX form instruction. */ 4564 1.2 skrll #define EX_MASK EX (0x3f, 0x7ff) 4565 1.8 christos 4566 1.2 skrll /* An XX2 form instruction. */ 4567 1.5 christos #define XX2(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1ff) << 2)) 4568 1.5 christos 4569 1.5 christos /* A XX2 form instruction with the VA bits specified. */ 4570 1.13 christos #define XX2VA(op, xop, vaop) (XX2(op,xop) | (((vaop) & 0x1f) << 16)) 4571 1.13 christos 4572 1.13 christos /* An XX2 form instruction with the M bits specified. */ 4573 1.13 christos #define XX2M(op, xop, m) \ 4574 1.13 christos (XX2 (op, xop) \ 4575 1.13 christos | (((uint64_t)(m) & 0x2) << 15) \ 4576 1.1 skrll | (((uint64_t)(m) & 0x1) << 11)) 4577 1.8 christos 4578 1.1 skrll /* An XX3 form instruction. */ 4579 1.2 skrll #define XX3(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0xff) << 3)) 4580 1.8 christos 4581 1.8 christos /* An XX3 form instruction with the RC bit specified. */ 4582 1.8 christos #define XX3RC(op, xop, rc) \ 4583 1.8 christos (OP (op) \ 4584 1.2 skrll | (((uint64_t)(rc) & 1) << 10) \ 4585 1.13 christos | ((((uint64_t)(xop)) & 0x7f) << 3)) 4586 1.13 christos 4587 1.13 christos /* An XX3 form instruction with the M bits specified. */ 4588 1.13 christos #define XX3M(op, xop, m) \ 4589 1.13 christos (XX3 (op, xop) \ 4590 1.13 christos | (((uint64_t)(m) & 0x2) << 15) \ 4591 1.13 christos | (((uint64_t)(m) & 0x1) << 11)) 4592 1.13 christos 4593 1.13 christos /* A GF XX3 form instruction with the P bit specified. */ 4594 1.13 christos #define XX3GF(op, xop, xop1, p) \ 4595 1.13 christos (XX3 (op, xop) \ 4596 1.13 christos | (((uint64_t)(xop1) & 3) << 9) \ 4597 1.2 skrll | (((uint64_t)(p) & 1) << 8)) 4598 1.8 christos 4599 1.1 skrll /* An XX4 form instruction. */ 4600 1.1 skrll #define XX4(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3) << 4)) 4601 1.8 christos 4602 1.1 skrll /* A Z form instruction. */ 4603 1.1 skrll #define Z(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1ff) << 1)) 4604 1.1 skrll 4605 1.1 skrll /* An X form instruction with the RC bit specified. */ 4606 1.5 christos #define XRC(op, xop, rc) (X ((op), (xop)) | ((rc) & 1)) 4607 1.5 christos 4608 1.5 christos /* A X form instruction for Quad-Precision FP Instructions with RC bit. */ 4609 1.6 christos #define XVARC(op, xop, vaop, rc) (XVA ((op), (xop), (vaop)) | ((rc) & 1)) 4610 1.8 christos 4611 1.8 christos /* An X form instruction with the RA bits specified as two ops. */ 4612 1.8 christos #define XMMF(op, xop, mop0, mop1) \ 4613 1.8 christos (X ((op), (xop)) \ 4614 1.6 christos | ((mop0) & 3) << 19 \ 4615 1.1 skrll | ((mop1) & 7) << 16) 4616 1.1 skrll 4617 1.1 skrll /* A Z form instruction with the RC bit specified. */ 4618 1.1 skrll #define ZRC(op, xop, rc) (Z ((op), (xop)) | ((rc) & 1)) 4619 1.1 skrll 4620 1.1 skrll /* The mask for an X form instruction. */ 4621 1.5 christos #define X_MASK XRC (0x3f, 0x3ff, 1) 4622 1.5 christos 4623 1.5 christos /* The mask for an X form instruction with the BF bits specified. */ 4624 1.11 christos #define XBF_MASK (X_MASK | (3 << 21)) 4625 1.11 christos 4626 1.11 christos /* An X form instruction without the RC field specified. */ 4627 1.8 christos #define XRC_MASK XRC (0x3f, 0x3ff, 0) 4628 1.8 christos 4629 1.3 christos /* An X form wait instruction with everything filled in except the WC 4630 1.3 christos field. */ 4631 1.14 christos #define XWC_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | RA_MASK | RB_MASK) 4632 1.14 christos 4633 1.14 christos /* The mask of TLB invalidate Entry with 20th bit specified. */ 4634 1.14 christos #define XTLBIE_MASK (X_MASK | (1<<20)) 4635 1.14 christos 4636 1.14 christos /* The mask of TLB invalidate Entry for I/O device. */ 4637 1.11 christos #define XTLBIEIO_MASK (XTLBIE_MASK | (3<<16)) 4638 1.11 christos 4639 1.11 christos /* An X form wait instruction with everything filled in except the WC 4640 1.11 christos and PL fields. */ 4641 1.1 skrll #define XWCPL_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | (3 << 18) | RB_MASK) 4642 1.1 skrll 4643 1.1 skrll /* The mask for an XX1 form instruction. */ 4644 1.5 christos #define XX1_MASK X (0x3f, 0x3ff) 4645 1.5 christos 4646 1.5 christos /* An XX1_MASK with the RB field fixed. */ 4647 1.2 skrll #define XX1RB_MASK (XX1_MASK | RB_MASK) 4648 1.2 skrll 4649 1.2 skrll /* The mask for an XX2 form instruction. */ 4650 1.2 skrll #define XX2_MASK (XX2 (0x3f, 0x1ff) | (0x1f << 16)) 4651 1.2 skrll 4652 1.2 skrll /* The mask for an XX2 form instruction with the UIM bits specified. */ 4653 1.5 christos #define XX2UIM_MASK (XX2 (0x3f, 0x1ff) | (7 << 18)) 4654 1.5 christos 4655 1.5 christos /* The mask for an XX2 form instruction with the 4 UIM bits specified. */ 4656 1.2 skrll #define XX2UIM4_MASK (XX2 (0x3f, 0x1ff) | (1 << 20)) 4657 1.2 skrll 4658 1.2 skrll /* The mask for an XX2 form instruction with the BF bits specified. */ 4659 1.8 christos #define XX2BF_MASK (XX2_MASK | (3 << 21) | (1)) 4660 1.8 christos 4661 1.5 christos /* The mask for an XX2 form instruction with the BF and DCMX bits 4662 1.5 christos specified. */ 4663 1.8 christos #define XX2BFD_MASK (XX2 (0x3f, 0x1ff) | 1) 4664 1.8 christos 4665 1.5 christos /* The mask for an XX2 form instruction with a split DCMX bits 4666 1.5 christos specified. */ 4667 1.1 skrll #define XX2DCMXS_MASK XX2 (0x3f, 0x1ee) 4668 1.1 skrll 4669 1.1 skrll /* The mask for an XX3 form instruction. */ 4670 1.2 skrll #define XX3_MASK XX3 (0x3f, 0xff) 4671 1.2 skrll 4672 1.2 skrll /* The mask for an XX3 form instruction with the BF bits specified. */ 4673 1.11 christos #define XX3BF_MASK (XX3 (0x3f, 0xff) | (3 << 21) | (1)) 4674 1.11 christos 4675 1.12 christos /* An X_MASK with an accumulator register and the RA and RB fields fixed. */ 4676 1.11 christos #define XACC_MASK (X_MASK | RA_MASK | RB_MASK | (3 << 21)) 4677 1.12 christos #define XDMR_MASK XACC_MASK 4678 1.12 christos 4679 1.11 christos /* An X_MASK with two dense math register. */ 4680 1.8 christos #define XDMRDMR_MASK (X_MASK | RA_MASK | (3 << 21) | (3 << 11)) 4681 1.8 christos 4682 1.1 skrll /* The mask for an XX3 form instruction with the DM or SHW bits 4683 1.2 skrll specified. */ 4684 1.2 skrll #define XX3DM_MASK (XX3 (0x3f, 0x1f) | (1 << 10)) 4685 1.12 christos #define XX3SHW_MASK XX3DM_MASK 4686 1.12 christos 4687 1.12 christos /* The masks for X* form instructions with an ACC/DMR register. */ 4688 1.12 christos #define XX2ACC_MASK (XX2 (0x3f, 0x1ff) | (3 << 21) | 1) 4689 1.12 christos #define XX3ACC_MASK (XX3_MASK | (3 << 21) | 1) 4690 1.12 christos #define XX3DMR_MASK (XX3ACC_MASK | (1 << 11)) 4691 1.12 christos #define XX2DMR_MASK (XX2ACC_MASK | (0xf << 17)) 4692 1.13 christos #define XX3GERX_MASK (XX3ACC_MASK | (1 << 16)) 4693 1.13 christos 4694 1.13 christos /* The masks for XX2 AES instructions with m0, m1 bits. */ 4695 1.13 christos #define XX2AES_MASK (XX2 (0x3f, 0x1ff) | (0xf << 17) | 1) 4696 1.13 christos #define XX2AESM_MASK (XX2AES_MASK | (1 << 16) | (1 << 11)) 4697 1.13 christos 4698 1.13 christos /* The masks for XX3 AES instructions with m0, m1 bits. */ 4699 1.13 christos #define XX3AES_MASK (XX3 (0x3f, 0xff) | 1) 4700 1.13 christos #define XX3AESM_MASK (XX3AES_MASK | (1 << 16) | (1 << 11)) 4701 1.13 christos 4702 1.13 christos /* The masks for XX3 GF instructions with P bit. */ 4703 1.2 skrll #define XX3GF_MASK (XX3 (0x3f, 0xff) & ~(1 << 8)) 4704 1.2 skrll 4705 1.2 skrll /* The mask for an XX4 form instruction. */ 4706 1.8 christos #define XX4_MASK XX4 (0x3f, 0x3) 4707 1.8 christos 4708 1.2 skrll /* An X form wait instruction with everything filled in except the WC 4709 1.1 skrll field. */ 4710 1.6 christos #define XWC_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | RA_MASK | RB_MASK) 4711 1.6 christos 4712 1.6 christos /* The mask for an XMMF form instruction. */ 4713 1.1 skrll #define XMMF_MASK (XMMF (0x3f, 0x3ff, 3, 7) | (1)) 4714 1.1 skrll 4715 1.1 skrll /* The mask for a Z form instruction. */ 4716 1.1 skrll #define Z_MASK ZRC (0x3f, 0x1ff, 1) 4717 1.5 christos #define Z2_MASK ZRC (0x3f, 0xff, 1) 4718 1.1 skrll 4719 1.5 christos /* An X_MASK with the RA/VA field fixed. */ 4720 1.1 skrll #define XRA_MASK (X_MASK | RA_MASK) 4721 1.5 christos #define XVA_MASK XRA_MASK 4722 1.8 christos 4723 1.5 christos /* An XRA_MASK with the A_L/W field clear. */ 4724 1.1 skrll #define XWRA_MASK (XRA_MASK & ~((uint64_t) 1 << 16)) 4725 1.1 skrll #define XRLA_MASK XWRA_MASK 4726 1.1 skrll 4727 1.1 skrll /* An X_MASK with the RB field fixed. */ 4728 1.1 skrll #define XRB_MASK (X_MASK | RB_MASK) 4729 1.1 skrll 4730 1.1 skrll /* An X_MASK with the RT field fixed. */ 4731 1.11 christos #define XRT_MASK (X_MASK | RT_MASK) 4732 1.8 christos 4733 1.1 skrll /* An XRT_MASK mask with the 2 L bits clear. */ 4734 1.11 christos #define XLRT_MASK (XRT_MASK & ~((uint64_t) 0x3 << 21)) 4735 1.11 christos 4736 1.11 christos /* An XRT_MASK mask with the 3 L bits clear. */ 4737 1.1 skrll #define XL3RT_MASK (XRT_MASK & ~((uint64_t) 0x7 << 21)) 4738 1.1 skrll 4739 1.1 skrll /* An X_MASK with the RA and RB fields fixed. */ 4740 1.5 christos #define XRARB_MASK (X_MASK | RA_MASK | RB_MASK) 4741 1.5 christos 4742 1.5 christos /* An XBF_MASK with the RA and RB fields fixed. */ 4743 1.1 skrll #define XBFRARB_MASK (XBF_MASK | RA_MASK | RB_MASK) 4744 1.8 christos 4745 1.1 skrll /* An XRARB_MASK, but with the L bit clear. */ 4746 1.5 christos #define XRLARB_MASK (XRARB_MASK & ~((uint64_t) 1 << 16)) 4747 1.8 christos 4748 1.5 christos /* An XRARB_MASK, but with the L bits in a darn instruction clear. */ 4749 1.1 skrll #define XLRAND_MASK (XRARB_MASK & ~((uint64_t) 3 << 16)) 4750 1.1 skrll 4751 1.1 skrll /* An X_MASK with the RT and RA fields fixed. */ 4752 1.5 christos #define XRTRA_MASK (X_MASK | RT_MASK | RA_MASK) 4753 1.5 christos 4754 1.5 christos /* An X_MASK with the RT and RB fields fixed. */ 4755 1.1 skrll #define XRTRB_MASK (X_MASK | RT_MASK | RB_MASK) 4756 1.8 christos 4757 1.1 skrll /* An XRTRA_MASK, but with L bit clear. */ 4758 1.5 christos #define XRTLRA_MASK (XRTRA_MASK & ~((uint64_t) 1 << 21)) 4759 1.5 christos 4760 1.5 christos /* An X_MASK with the RT, RA and RB fields fixed. */ 4761 1.5 christos #define XRTRARB_MASK (X_MASK | RT_MASK | RA_MASK | RB_MASK) 4762 1.8 christos 4763 1.5 christos /* An XRTRARB_MASK, but with L bit clear. */ 4764 1.5 christos #define XRTLRARB_MASK (XRTRARB_MASK & ~((uint64_t) 1 << 21)) 4765 1.8 christos 4766 1.5 christos /* An XRTRARB_MASK, but with A bit clear. */ 4767 1.5 christos #define XRTARARB_MASK (XRTRARB_MASK & ~((uint64_t) 1 << 25)) 4768 1.8 christos 4769 1.5 christos /* An XRTRARB_MASK, but with BF bits clear. */ 4770 1.1 skrll #define XRTBFRARB_MASK (XRTRARB_MASK & ~((uint64_t) 7 << 23)) 4771 1.8 christos 4772 1.8 christos /* An X form instruction with the L bit specified. */ 4773 1.8 christos #define XOPL(op, xop, l) \ 4774 1.1 skrll (X ((op), (xop)) \ 4775 1.11 christos | ((((uint64_t)(l)) & 1) << 21)) 4776 1.8 christos 4777 1.8 christos /* An X form instruction with the 2 L bits specified. */ 4778 1.8 christos #define XOPL2(op, xop, l) \ 4779 1.3 christos (X ((op), (xop)) \ 4780 1.11 christos | ((((uint64_t)(l)) & 3) << 21)) 4781 1.11 christos 4782 1.11 christos /* An X form instruction with the 3 L bits specified. */ 4783 1.11 christos #define XOPL3(op, xop, l) \ 4784 1.11 christos (X ((op), (xop)) \ 4785 1.11 christos | ((((uint64_t)(l)) & 7) << 21)) 4786 1.11 christos 4787 1.11 christos /* An X form instruction with the WC and PL bits specified. */ 4788 1.11 christos #define XWCPL(op, xop, wc, pl) \ 4789 1.11 christos (XOPL3 ((op), (xop), (wc)) \ 4790 1.5 christos | ((((uint64_t)(pl)) & 3) << 16)) 4791 1.8 christos 4792 1.8 christos /* An X form instruction with the L bit and RC bit specified. */ 4793 1.8 christos #define XRCL(op, xop, l, rc) \ 4794 1.5 christos (XRC ((op), (xop), (rc)) \ 4795 1.1 skrll | ((((uint64_t)(l)) & 1) << 21)) 4796 1.8 christos 4797 1.8 christos /* An X form instruction with RT fields specified */ 4798 1.8 christos #define XRT(op, xop, rt) \ 4799 1.1 skrll (X ((op), (xop)) \ 4800 1.1 skrll | ((((uint64_t)(rt)) & 0x1f) << 21)) 4801 1.8 christos 4802 1.8 christos /* An X form instruction with RT and RA fields specified */ 4803 1.8 christos #define XRTRA(op, xop, rt, ra) \ 4804 1.8 christos (X ((op), (xop)) \ 4805 1.1 skrll | ((((uint64_t)(rt)) & 0x1f) << 21) \ 4806 1.1 skrll | ((((uint64_t)(ra)) & 0x1f) << 16)) 4807 1.8 christos 4808 1.1 skrll /* The mask for an X form comparison instruction. */ 4809 1.1 skrll #define XCMP_MASK (X_MASK | (((uint64_t)1) << 22)) 4810 1.1 skrll 4811 1.8 christos /* The mask for an X form comparison instruction with the L field 4812 1.1 skrll fixed. */ 4813 1.1 skrll #define XCMPL_MASK (XCMP_MASK | (((uint64_t)1) << 21)) 4814 1.8 christos 4815 1.8 christos /* An X form trap instruction with the TO field specified. */ 4816 1.8 christos #define XTO(op, xop, to) \ 4817 1.1 skrll (X ((op), (xop)) \ 4818 1.1 skrll | ((((uint64_t)(to)) & 0x1f) << 21)) 4819 1.1 skrll #define XTO_MASK (X_MASK | TO_MASK) 4820 1.8 christos 4821 1.8 christos /* An X form tlb instruction with the SH field specified. */ 4822 1.8 christos #define XTLB(op, xop, sh) \ 4823 1.1 skrll (X ((op), (xop)) \ 4824 1.1 skrll | ((((uint64_t)(sh)) & 0x1f) << 11)) 4825 1.1 skrll #define XTLB_MASK (X_MASK | SH_MASK) 4826 1.8 christos 4827 1.8 christos /* An X form sync instruction. */ 4828 1.8 christos #define XSYNC(op, xop, l) \ 4829 1.1 skrll (X ((op), (xop)) \ 4830 1.8 christos | ((((uint64_t)(l)) & 3) << 21)) 4831 1.8 christos 4832 1.1 skrll /* An X form sync instruction with everything filled in except the LS 4833 1.1 skrll field. */ 4834 1.8 christos #define XSYNC_MASK (0xff9fffff) 4835 1.8 christos 4836 1.4 christos /* An X form sync instruction with everything filled in except the L 4837 1.4 christos and E fields. */ 4838 1.11 christos #define XSYNCLE_MASK (0xff90ffff) 4839 1.11 christos 4840 1.11 christos /* An X form sync instruction. */ 4841 1.11 christos #define XSYNCLS(op, xop, l, s) \ 4842 1.11 christos (X ((op), (xop)) \ 4843 1.11 christos | ((((uint64_t)(l)) & 7) << 21) \ 4844 1.11 christos | ((((uint64_t)(s)) & 3) << 16)) 4845 1.11 christos 4846 1.11 christos /* An X form sync instruction with everything filled in except the 4847 1.11 christos L and SC fields. */ 4848 1.1 skrll #define XSYNCLS_MASK (0xff1cffff) 4849 1.8 christos 4850 1.1 skrll /* An X_MASK, but with the EH bit clear. */ 4851 1.1 skrll #define XEH_MASK (X_MASK & ~((uint64_t )1)) 4852 1.8 christos 4853 1.1 skrll /* An X form AltiVec dss instruction. */ 4854 1.1 skrll #define XDSS(op, xop, a) (X ((op), (xop)) | ((((uint64_t)(a)) & 1) << 25)) 4855 1.1 skrll #define XDSS_MASK XDSS(0x3f, 0x3ff, 1) 4856 1.8 christos 4857 1.8 christos /* An XFL form instruction. */ 4858 1.8 christos #define XFL(op, xop, rc) \ 4859 1.8 christos (OP (op) \ 4860 1.1 skrll | ((((uint64_t)(xop)) & 0x3ff) << 1) \ 4861 1.1 skrll | (((uint64_t)(rc)) & 1)) 4862 1.1 skrll #define XFL_MASK XFL (0x3f, 0x3ff, 1) 4863 1.11 christos 4864 1.11 christos /* An X form isel instruction. */ 4865 1.1 skrll #define XISEL(op, xop, cr) (OP (op) | ((xop) << 1) | ((cr) << 6)) 4866 1.1 skrll #define XISEL_MASK XISEL(0x3f, 0x1f, 0) 4867 1.8 christos 4868 1.1 skrll /* An XL form instruction with the LK field set to 0. */ 4869 1.1 skrll #define XL(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3ff) << 1)) 4870 1.1 skrll 4871 1.1 skrll /* An XL form instruction which uses the LK field. */ 4872 1.1 skrll #define XLLK(op, xop, lk) (XL ((op), (xop)) | ((lk) & 1)) 4873 1.1 skrll 4874 1.1 skrll /* The mask for an XL form instruction. */ 4875 1.5 christos #define XL_MASK XLLK (0x3f, 0x3ff, 1) 4876 1.5 christos 4877 1.5 christos /* An XL_MASK with the RT, RA and RB fields fixed, but S bit clear. */ 4878 1.1 skrll #define XLS_MASK ((XL_MASK | RT_MASK | RA_MASK | RB_MASK) & ~(1 << 11)) 4879 1.1 skrll 4880 1.8 christos /* An XL form instruction which explicitly sets the BO field. */ 4881 1.1 skrll #define XLO(op, bo, xop, lk) \ 4882 1.1 skrll (XLLK ((op), (xop), (lk)) | ((((uint64_t)(bo)) & 0x1f) << 21)) 4883 1.1 skrll #define XLO_MASK (XL_MASK | BO_MASK) 4884 1.1 skrll 4885 1.1 skrll /* An XL form instruction which sets the BO field and the condition 4886 1.8 christos bits of the BI field. */ 4887 1.1 skrll #define XLOCB(op, bo, cb, xop, lk) \ 4888 1.11 christos (XLO ((op), (bo), (xop), (lk)) | ((((uint64_t)(cb)) & 3) << 16)) 4889 1.1 skrll 4890 1.1 skrll /* An XL_MASK with the BB field fixed. */ 4891 1.1 skrll #define XLBB_MASK (XL_MASK | BB_MASK) 4892 1.10 christos 4893 1.1 skrll /* A mask for branch instructions using the BH field. */ 4894 1.11 christos #define XLBH_MASK (XL_MASK | (BB_MASK & ~(3 << 11))) 4895 1.11 christos 4896 1.11 christos /* An XLBH_MASK with the BO field fixed. */ 4897 1.11 christos #define XLBOBB_MASK (XLBH_MASK | BO_MASK) 4898 1.11 christos 4899 1.1 skrll /* An XLBH_MASK with the BO and BI fields fixed. */ 4900 1.11 christos #define XLBOBIBB_MASK (XLBOBB_MASK | BI_MASK) 4901 1.11 christos 4902 1.1 skrll /* An XLBH_MASK with the BO and condition bits of the BI fields fixed. */ 4903 1.3 christos #define XLBOCBBB_MASK (XLBOBB_MASK | (3 << 16)) 4904 1.8 christos 4905 1.8 christos /* An X form mbar instruction with MO field. */ 4906 1.8 christos #define XMBAR(op, xop, mo) \ 4907 1.3 christos (X ((op), (xop)) \ 4908 1.1 skrll | ((((uint64_t)(mo)) & 1) << 21)) 4909 1.8 christos 4910 1.8 christos /* An XO form instruction. */ 4911 1.8 christos #define XO(op, xop, oe, rc) \ 4912 1.8 christos (OP (op) \ 4913 1.8 christos | ((((uint64_t)(xop)) & 0x1ff) << 1) \ 4914 1.1 skrll | ((((uint64_t)(oe)) & 1) << 10) \ 4915 1.12 christos | (((unsigned long)(rc)) & 1)) 4916 1.1 skrll #define XO_MASK XO (0x3f, 0x1ff, 1, 1) 4917 1.1 skrll #define XOL_MASK XO (0x3f, 0x1ff, 0, 1) 4918 1.1 skrll 4919 1.1 skrll /* An XO_MASK with the RB field fixed. */ 4920 1.1 skrll #define XORB_MASK (XO_MASK | RB_MASK) 4921 1.8 christos 4922 1.8 christos /* An XOPS form instruction for paired singles. */ 4923 1.8 christos #define XOPS(op, xop, rc) \ 4924 1.8 christos (OP (op) \ 4925 1.1 skrll | ((((uint64_t)(xop)) & 0x3ff) << 1) \ 4926 1.1 skrll | (((uint64_t)(rc)) & 1)) 4927 1.1 skrll #define XOPS_MASK XOPS (0x3f, 0x3ff, 1) 4928 1.1 skrll 4929 1.8 christos 4930 1.8 christos /* An XS form instruction. */ 4931 1.8 christos #define XS(op, xop, rc) \ 4932 1.8 christos (OP (op) \ 4933 1.1 skrll | ((((uint64_t)(xop)) & 0x1ff) << 2) \ 4934 1.1 skrll | (((uint64_t)(rc)) & 1)) 4935 1.1 skrll #define XS_MASK XS (0x3f, 0x1ff, 1) 4936 1.1 skrll 4937 1.1 skrll /* A mask for the FXM version of an XFX form instruction. */ 4938 1.1 skrll #define XFXFXM_MASK (X_MASK | (1 << 11) | (1 << 20)) 4939 1.8 christos 4940 1.8 christos /* An XFX form instruction with the FXM field filled in. */ 4941 1.8 christos #define XFXM(op, xop, fxm, p4) \ 4942 1.8 christos (X ((op), (xop)) \ 4943 1.1 skrll | ((((uint64_t)(fxm)) & 0xff) << 12) \ 4944 1.1 skrll | ((uint64_t)(p4) << 20)) 4945 1.8 christos 4946 1.8 christos /* An XFX form instruction with the SPR field filled in. */ 4947 1.8 christos #define XSPR(op, xop, spr) \ 4948 1.8 christos (X ((op), (xop)) \ 4949 1.1 skrll | ((((uint64_t)(spr)) & 0x1f) << 16) \ 4950 1.1 skrll | ((((uint64_t)(spr)) & 0x3e0) << 6)) 4951 1.1 skrll #define XSPR_MASK (X_MASK | SPR_MASK) 4952 1.1 skrll 4953 1.1 skrll /* An XFX form instruction with the SPR field filled in except for the 4954 1.1 skrll SPRBAT field. */ 4955 1.1 skrll #define XSPRBAT_MASK (XSPR_MASK &~ SPRBAT_MASK) 4956 1.10 christos 4957 1.10 christos /* An XFX form instruction with the SPR field filled in except for the 4958 1.10 christos SPRGQR field. */ 4959 1.10 christos #define XSPRGQR_MASK (XSPR_MASK &~ SPRGQR_MASK) 4960 1.1 skrll 4961 1.1 skrll /* An XFX form instruction with the SPR field filled in except for the 4962 1.1 skrll SPRG field. */ 4963 1.1 skrll #define XSPRG_MASK (XSPR_MASK & ~(0x1f << 16)) 4964 1.1 skrll 4965 1.1 skrll /* An X form instruction with everything filled in except the E field. */ 4966 1.1 skrll #define XE_MASK (0xffff7fff) 4967 1.8 christos 4968 1.1 skrll /* An X form user context instruction. */ 4969 1.1 skrll #define XUC(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f)) 4970 1.1 skrll #define XUC_MASK XUC(0x3f, 0x1f) 4971 1.8 christos 4972 1.8 christos /* An XW form instruction. */ 4973 1.8 christos #define XW(op, xop, rc) \ 4974 1.8 christos (OP (op) \ 4975 1.1 skrll | ((((uint64_t)(xop)) & 0x3f) << 1) \ 4976 1.1 skrll | ((rc) & 1)) 4977 1.1 skrll /* The mask for a G form instruction. rc not supported at present. */ 4978 1.1 skrll #define XW_MASK XW (0x3f, 0x3f, 0) 4979 1.8 christos 4980 1.8 christos /* An APU form instruction. */ 4981 1.8 christos #define APU(op, xop, rc) \ 4982 1.8 christos (OP (op) \ 4983 1.1 skrll | (((uint64_t)(xop)) & 0x3ff) << 1 \ 4984 1.1 skrll | ((rc) & 1)) 4985 1.1 skrll 4986 1.1 skrll /* The mask for an APU form instruction. */ 4987 1.1 skrll #define APU_MASK APU (0x3f, 0x3ff, 1) 4988 1.1 skrll #define APU_RT_MASK (APU_MASK | RT_MASK) 4989 1.12 christos #define APU_RA_MASK (APU_MASK | RA_MASK) 4990 1.12 christos 4991 1.12 christos /* An SVL form instruction. */ 4992 1.12 christos #define SVL(op, xop, rc) \ 4993 1.12 christos (OP (op) \ 4994 1.12 christos | ((((uint64_t)(xop)) & 0x1f) << 1) \ 4995 1.12 christos | (((uint64_t)(rc)) & 1)) 4996 1.12 christos #define SVL_MASK SVL (0x3f, 0x1f, 1) 4997 1.12 christos 4998 1.12 christos /* An SVM form instruction. */ 4999 1.12 christos #define SVM(op, xop) \ 5000 1.12 christos (OP (op) \ 5001 1.12 christos | (((uint64_t)(xop)) & 0x3f)) 5002 1.12 christos #define SVM_MASK SVM (0x3f, 0x3f) 5003 1.12 christos 5004 1.12 christos /* An SVRM form instruction. */ 5005 1.12 christos #define SVRM(op, xop) \ 5006 1.12 christos (OP (op) \ 5007 1.12 christos | (((uint64_t)(xop)) & 0x3f)) 5008 1.12 christos #define SVRM_MASK SVRM (0x3f, 0x3f) 5009 1.12 christos 5010 1.12 christos /* An SVI form instruction. */ 5011 1.12 christos #define SVI(op, xop) \ 5012 1.12 christos (OP (op) \ 5013 1.12 christos | (((uint64_t)(xop)) & 0x3f)) 5014 1.1 skrll #define SVI_MASK SVI (0x3f, 0x3f) 5015 1.1 skrll 5016 1.1 skrll /* The BO encodings used in extended conditional branch mnemonics. */ 5017 1.1 skrll #define BODNZF (0x0) 5018 1.1 skrll #define BODNZFP (0x1) 5019 1.1 skrll #define BODZF (0x2) 5020 1.1 skrll #define BODZFP (0x3) 5021 1.1 skrll #define BODNZT (0x8) 5022 1.1 skrll #define BODNZTP (0x9) 5023 1.1 skrll #define BODZT (0xa) 5024 1.1 skrll #define BODZTP (0xb) 5025 1.1 skrll 5026 1.1 skrll #define BOF (0x4) 5027 1.1 skrll #define BOFP (0x5) 5028 1.1 skrll #define BOFM4 (0x6) 5029 1.1 skrll #define BOFP4 (0x7) 5030 1.1 skrll #define BOT (0xc) 5031 1.1 skrll #define BOTP (0xd) 5032 1.1 skrll #define BOTM4 (0xe) 5033 1.1 skrll #define BOTP4 (0xf) 5034 1.1 skrll 5035 1.1 skrll #define BODNZ (0x10) 5036 1.1 skrll #define BODNZP (0x11) 5037 1.1 skrll #define BODZ (0x12) 5038 1.1 skrll #define BODZP (0x13) 5039 1.1 skrll #define BODNZM4 (0x18) 5040 1.1 skrll #define BODNZP4 (0x19) 5041 1.1 skrll #define BODZM4 (0x1a) 5042 1.1 skrll #define BODZP4 (0x1b) 5043 1.1 skrll 5044 1.4 christos #define BOU (0x14) 5045 1.4 christos 5046 1.4 christos /* The BO16 encodings used in extended VLE conditional branch mnemonics. */ 5047 1.4 christos #define BO16F (0x0) 5048 1.4 christos #define BO16T (0x1) 5049 1.4 christos 5050 1.4 christos /* The BO32 encodings used in extended VLE conditional branch mnemonics. */ 5051 1.4 christos #define BO32F (0x0) 5052 1.4 christos #define BO32T (0x1) 5053 1.4 christos #define BO32DNZ (0x2) 5054 1.1 skrll #define BO32DZ (0x3) 5055 1.1 skrll 5056 1.1 skrll /* The BI condition bit encodings used in extended conditional branch 5057 1.1 skrll mnemonics. */ 5058 1.1 skrll #define CBLT (0) 5059 1.1 skrll #define CBGT (1) 5060 1.1 skrll #define CBEQ (2) 5061 1.1 skrll #define CBSO (3) 5062 1.1 skrll 5063 1.1 skrll /* The TO encodings used in extended trap mnemonics. */ 5064 1.1 skrll #define TOLGT (0x1) 5065 1.1 skrll #define TOLLT (0x2) 5066 1.1 skrll #define TOEQ (0x4) 5067 1.1 skrll #define TOLGE (0x5) 5068 1.1 skrll #define TOLNL (0x5) 5069 1.1 skrll #define TOLLE (0x6) 5070 1.1 skrll #define TOLNG (0x6) 5071 1.1 skrll #define TOGT (0x8) 5072 1.1 skrll #define TOGE (0xc) 5073 1.1 skrll #define TONL (0xc) 5074 1.1 skrll #define TOLT (0x10) 5075 1.1 skrll #define TOLE (0x14) 5076 1.1 skrll #define TONG (0x14) 5077 1.1 skrll #define TONE (0x18) 5078 1.1 skrll #define TOU (0x1f) 5079 1.1 skrll 5080 1.1 skrll /* Smaller names for the flags so each entry in the opcodes table will 5082 1.1 skrll fit on a single line. */ 5083 1.1 skrll #undef PPC 5084 1.1 skrll #define PPC PPC_OPCODE_PPC 5085 1.1 skrll #define PPCCOM PPC_OPCODE_PPC | PPC_OPCODE_COMMON 5086 1.2 skrll #define POWER4 PPC_OPCODE_POWER4 5087 1.5 christos #define POWER5 PPC_OPCODE_POWER5 5088 1.5 christos #define POWER6 PPC_OPCODE_POWER6 5089 1.11 christos #define POWER7 PPC_OPCODE_POWER7 5090 1.12 christos #define POWER8 PPC_OPCODE_POWER8 5091 1.1 skrll #define POWER9 PPC_OPCODE_POWER9 5092 1.3 christos #define POWER10 PPC_OPCODE_POWER10 5093 1.3 christos #define FUTURE PPC_OPCODE_FUTURE 5094 1.3 christos #define CELL PPC_OPCODE_CELL 5095 1.1 skrll #define PPC64 PPC_OPCODE_64 | PPC_OPCODE_64_BRIDGE 5096 1.1 skrll #define NON32 (PPC_OPCODE_64 | PPC_OPCODE_POWER4 \ 5097 1.1 skrll | PPC_OPCODE_EFS | PPC_OPCODE_E500MC | PPC_OPCODE_TITAN) 5098 1.1 skrll #define PPC403 PPC_OPCODE_403 5099 1.3 christos #define PPC405 PPC_OPCODE_405 5100 1.5 christos #define PPC440 PPC_OPCODE_440 5101 1.10 christos #define PPC464 PPC440 5102 1.10 christos #define PPC476 PPC_OPCODE_476 5103 1.5 christos #define PPC750 PPC_OPCODE_750 5104 1.5 christos #define GEKKO PPC_OPCODE_750 5105 1.1 skrll #define BROADWAY PPC_OPCODE_750 5106 1.1 skrll #define PPC7450 PPC_OPCODE_7450 5107 1.8 christos #define PPC860 PPC_OPCODE_860 5108 1.8 christos #define PPCPS PPC_OPCODE_PPCPS 5109 1.1 skrll #define PPCVEC PPC_OPCODE_ALTIVEC 5110 1.8 christos #define PPCVEC2 (PPC_OPCODE_POWER8 | PPC_OPCODE_E6500) 5111 1.8 christos #define PPCVEC3 PPC_OPCODE_POWER9 5112 1.11 christos #define PPCVSX PPC_OPCODE_VSX 5113 1.12 christos #define PPCVSX2 PPC_OPCODE_POWER8 5114 1.1 skrll #define PPCVSX3 PPC_OPCODE_POWER9 5115 1.1 skrll #define PPCVSX4 PPC_OPCODE_POWER10 5116 1.3 christos #define PPCVSXF PPC_OPCODE_FUTURE 5117 1.8 christos #define POWER PPC_OPCODE_POWER 5118 1.8 christos #define POWER2 PPC_OPCODE_POWER | PPC_OPCODE_POWER2 5119 1.1 skrll #define PWR2COM PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_COMMON 5120 1.1 skrll #define PPCPWR2 (PPC_OPCODE_PPC | PPC_OPCODE_POWER | PPC_OPCODE_POWER2 \ 5121 1.1 skrll | PPC_OPCODE_COMMON) 5122 1.1 skrll #define COM PPC_OPCODE_POWER | PPC_OPCODE_PPC | PPC_OPCODE_COMMON 5123 1.8 christos #define M601 PPC_OPCODE_POWER | PPC_OPCODE_601 5124 1.8 christos #define PWRCOM PPC_OPCODE_POWER | PPC_OPCODE_601 | PPC_OPCODE_COMMON 5125 1.1 skrll #define MFDEC1 PPC_OPCODE_POWER 5126 1.7 christos #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \ 5127 1.1 skrll | PPC_OPCODE_TITAN) 5128 1.7 christos #define BOOKE PPC_OPCODE_BOOKE 5129 1.8 christos #define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS 5130 1.7 christos #define PPCE300 PPC_OPCODE_E300 5131 1.7 christos #define PPCSPE PPC_OPCODE_SPE 5132 1.8 christos #define PPCSPE2 PPC_OPCODE_SPE2 5133 1.1 skrll #define PPCISEL PPC_OPCODE_ISEL 5134 1.1 skrll #define PPCEFS PPC_OPCODE_EFS 5135 1.12 christos #define PPCEFS2 PPC_OPCODE_EFS2 5136 1.1 skrll #define PPCBRLK PPC_OPCODE_BRLOCK 5137 1.10 christos #define PPCPMR PPC_OPCODE_PMR 5138 1.12 christos #define PPCTMR PPC_OPCODE_TMR 5139 1.3 christos #define PPCCHLK PPC_OPCODE_CACHELCK 5140 1.12 christos #define PPCRFMCI PPC_OPCODE_RFMCI 5141 1.12 christos #define E500MC PPC_OPCODE_E500MC 5142 1.3 christos #define PPCA2 PPC_OPCODE_A2 5143 1.4 christos #define TITAN PPC_OPCODE_TITAN 5144 1.12 christos #define MULHW PPC_OPCODE_405 | PPC_OPCODE_440 | PPC_OPCODE_476 | TITAN 5145 1.12 christos #define E500 PPC_OPCODE_E500 5146 1.12 christos #define E6500 PPC_OPCODE_E6500 5147 1.12 christos #define PPCVLE PPC_OPCODE_VLE 5148 1.12 christos #define PPCHTM PPC_OPCODE_POWER8 5149 1.11 christos #define E200Z4 PPC_OPCODE_E200Z4 5150 1.11 christos #define PPCLSP PPC_OPCODE_LSP 5151 1.11 christos #define SVP64 PPC_OPCODE_SVP64 5152 1.1 skrll /* Used to mark extended mnemonic in deprecated field so that -Mraw 5153 1.1 skrll won't use this variant in disassembly. */ 5154 1.1 skrll #define EXT PPC_OPCODE_RAW 5155 1.1 skrll 5156 1.1 skrll /* The opcode table. 5158 1.1 skrll 5159 1.1 skrll The format of the opcode table is: 5160 1.1 skrll 5161 1.1 skrll NAME OPCODE MASK FLAGS ANTI {OPERANDS} 5162 1.1 skrll 5163 1.4 christos NAME is the name of the instruction. 5164 1.4 christos OPCODE is the instruction opcode. 5165 1.1 skrll MASK is the opcode mask; this is used to tell the disassembler 5166 1.1 skrll which bits in the actual opcode must match OPCODE. 5167 1.1 skrll FLAGS are flags indicating which processors support the instruction. 5168 1.1 skrll ANTI indicates which processors don't support the instruction. 5169 1.1 skrll OPERANDS is the list of operands. 5170 1.1 skrll 5171 1.1 skrll The disassembler reads the table in order and prints the first 5172 1.1 skrll instruction which matches, so this table is sorted to put more 5173 1.1 skrll specific instructions before more general instructions. 5174 1.1 skrll 5175 1.1 skrll This table must be sorted by major opcode. Please try to keep it 5176 1.7 christos vaguely sorted within major opcode too, except of course where 5177 1.11 christos constrained otherwise by disassembler operation. */ 5178 1.11 christos 5179 1.11 christos const struct powerpc_opcode powerpc_opcodes[] = { 5180 1.11 christos {"attn", X(0,256), X_MASK, POWER4|PPCA2, PPC476|PPCVLE, {0}}, 5181 1.11 christos {"tdlgti", OPTO(2,TOLGT), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5182 1.11 christos {"tdllti", OPTO(2,TOLLT), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5183 1.11 christos {"tdeqi", OPTO(2,TOEQ), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5184 1.11 christos {"tdlgei", OPTO(2,TOLGE), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5185 1.11 christos {"tdlnli", OPTO(2,TOLNL), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5186 1.11 christos {"tdllei", OPTO(2,TOLLE), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5187 1.11 christos {"tdlngi", OPTO(2,TOLNG), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5188 1.11 christos {"tdgti", OPTO(2,TOGT), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5189 1.11 christos {"tdgei", OPTO(2,TOGE), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5190 1.11 christos {"tdnli", OPTO(2,TONL), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5191 1.11 christos {"tdlti", OPTO(2,TOLT), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5192 1.7 christos {"tdlei", OPTO(2,TOLE), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5193 1.7 christos {"tdngi", OPTO(2,TONG), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5194 1.11 christos {"tdnei", OPTO(2,TONE), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5195 1.11 christos {"tdui", OPTO(2,TOU), OPTO_MASK, PPC64, PPCVLE|EXT, {RA, SI}}, 5196 1.11 christos {"tdi", OP(2), OP_MASK, PPC64, PPCVLE, {TO, RA, SI}}, 5197 1.11 christos 5198 1.11 christos {"twlgti", OPTO(3,TOLGT), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5199 1.11 christos {"tlgti", OPTO(3,TOLGT), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5200 1.11 christos {"twllti", OPTO(3,TOLLT), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5201 1.11 christos {"tllti", OPTO(3,TOLLT), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5202 1.11 christos {"tweqi", OPTO(3,TOEQ), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5203 1.11 christos {"teqi", OPTO(3,TOEQ), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5204 1.11 christos {"twlgei", OPTO(3,TOLGE), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5205 1.11 christos {"tlgei", OPTO(3,TOLGE), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5206 1.11 christos {"twlnli", OPTO(3,TOLNL), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5207 1.11 christos {"tlnli", OPTO(3,TOLNL), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5208 1.11 christos {"twllei", OPTO(3,TOLLE), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5209 1.11 christos {"tllei", OPTO(3,TOLLE), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5210 1.11 christos {"twlngi", OPTO(3,TOLNG), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5211 1.11 christos {"tlngi", OPTO(3,TOLNG), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5212 1.11 christos {"twgti", OPTO(3,TOGT), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5213 1.11 christos {"tgti", OPTO(3,TOGT), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5214 1.11 christos {"twgei", OPTO(3,TOGE), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5215 1.11 christos {"tgei", OPTO(3,TOGE), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5216 1.11 christos {"twnli", OPTO(3,TONL), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5217 1.11 christos {"tnli", OPTO(3,TONL), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5218 1.11 christos {"twlti", OPTO(3,TOLT), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5219 1.11 christos {"tlti", OPTO(3,TOLT), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5220 1.11 christos {"twlei", OPTO(3,TOLE), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5221 1.11 christos {"tlei", OPTO(3,TOLE), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5222 1.11 christos {"twngi", OPTO(3,TONG), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5223 1.11 christos {"tngi", OPTO(3,TONG), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5224 1.7 christos {"twnei", OPTO(3,TONE), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5225 1.7 christos {"tnei", OPTO(3,TONE), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5226 1.7 christos {"twui", OPTO(3,TOU), OPTO_MASK, PPCCOM, PPCVLE|EXT, {RA, SI}}, 5227 1.7 christos {"tui", OPTO(3,TOU), OPTO_MASK, PWRCOM, PPCVLE|EXT, {RA, SI}}, 5228 1.7 christos {"twi", OP(3), OP_MASK, PPCCOM, PPCVLE, {TO, RA, SI}}, 5229 1.7 christos {"ti", OP(3), OP_MASK, PWRCOM, PPCVLE, {TO, RA, SI}}, 5230 1.7 christos 5231 1.14 christos {"ps_cmpu0", X (4, 0), XBF_MASK, PPCPS, 0, {BF, FRA, FRB}}, 5232 1.7 christos {"vaddubm", VX (4, 0), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5233 1.11 christos {"vmul10cuq", VX (4, 1), VXVB_MASK, PPCVEC3, 0, {VD, VA}}, 5234 1.7 christos {"vmaxub", VX (4, 2), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5235 1.7 christos {"vucmprhn", VX (4, 3), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5236 1.7 christos {"vrlb", VX (4, 4), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5237 1.7 christos {"vrlq", VX (4, 5), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5238 1.11 christos {"vcmpequb", VXR(4, 6,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5239 1.7 christos {"vcmpneb", VXR(4, 7,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5240 1.7 christos {"vmuloub", VX (4, 8), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5241 1.11 christos {"vaddfp", VX (4, 10), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5242 1.11 christos {"vdivuq", VX (4, 11), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5243 1.11 christos {"psq_lx", XW (4, 6,0), XW_MASK, PPCPS, 0, {FRT,RA,RB,PSWM,PSQM}}, 5244 1.11 christos {"vmrghb", VX (4, 12), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5245 1.7 christos {"vstribl", VXVA(4,13,0), VXVA_MASK, POWER10, 0, {VD, VB}}, 5246 1.7 christos {"vstribr", VXVA(4,13,1), VXVA_MASK, POWER10, 0, {VD, VB}}, 5247 1.11 christos {"vstrihl", VXVA(4,13,2), VXVA_MASK, POWER10, 0, {VD, VB}}, 5248 1.7 christos {"vstrihr", VXVA(4,13,3), VXVA_MASK, POWER10, 0, {VD, VB}}, 5249 1.7 christos {"psq_stx", XW (4, 7,0), XW_MASK, PPCPS, 0, {FRS,RA,RB,PSWM,PSQM}}, 5250 1.11 christos {"vpkuhum", VX (4, 14), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5251 1.7 christos {"vinsbvlx", VX (4, 15), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5252 1.7 christos {"mulhhwu", XRC(4, 8,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5253 1.11 christos {"mulhhwu.", XRC(4, 8,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5254 1.7 christos {"mtvsrbmi", DX (4,10), DX_MASK, POWER10, 0, {VD, DXD}}, 5255 1.7 christos {"ps_sum0", A (4, 10,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5256 1.11 christos {"ps_sum0.", A (4, 10,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5257 1.7 christos {"vsldbi", VX (4, 22), VXSH_MASK, POWER10, 0, {VD, VA, VB, SH3}}, 5258 1.7 christos {"ps_sum1", A (4, 11,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5259 1.11 christos {"ps_sum1.", A (4, 11,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5260 1.7 christos {"vextdubvlx", VX (4, 24), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5261 1.7 christos {"ps_muls0", A (4, 12,0), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5262 1.11 christos {"machhwu", XO (4, 12,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5263 1.7 christos {"vextdubvrx", VX (4, 25), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5264 1.11 christos {"ps_muls0.", A (4, 12,1), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5265 1.7 christos {"machhwu.", XO (4, 12,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5266 1.11 christos {"vextduhvlx", VX (4, 26), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5267 1.7 christos {"ps_muls1", A (4, 13,0), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5268 1.11 christos {"vextduhvrx", VX (4, 27), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5269 1.7 christos {"ps_muls1.", A (4, 13,1), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5270 1.11 christos {"vextduwvlx", VX (4, 28), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5271 1.7 christos {"ps_madds0", A (4, 14,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5272 1.11 christos {"vextduwvrx", VX (4, 29), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5273 1.7 christos {"ps_madds0.", A (4, 14,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5274 1.7 christos {"vextddvlx", VX (4, 30), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5275 1.7 christos {"ps_madds1", A (4, 15,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5276 1.7 christos {"vextddvrx", VX (4, 31), VXRC_MASK, POWER10, 0, {VD, VA, VB, RC}}, 5277 1.7 christos {"ps_madds1.", A (4, 15,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5278 1.7 christos {"vmhaddshs", VXA(4, 32), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5279 1.11 christos {"vmhraddshs", VXA(4, 33), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5280 1.7 christos {"vmladduhm", VXA(4, 34), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5281 1.7 christos {"vmsumudm", VXA(4, 35), VXA_MASK, PPCVEC3, 0, {VD, VA, VB, VC}}, 5282 1.7 christos {"ps_div", A (4, 18,0), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5283 1.7 christos {"vmsumcud", VXA(4, 23), VXA_MASK, POWER10, 0, {VD, VA, VB, VC}}, 5284 1.7 christos {"vmsumubm", VXA(4, 36), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5285 1.7 christos {"ps_div.", A (4, 18,1), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5286 1.7 christos {"vmsummbm", VXA(4, 37), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5287 1.7 christos {"vmsumuhm", VXA(4, 38), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5288 1.7 christos {"vmsumuhs", VXA(4, 39), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5289 1.7 christos {"ps_sub", A (4, 20,0), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5290 1.7 christos {"vmsumshm", VXA(4, 40), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5291 1.7 christos {"ps_sub.", A (4, 20,1), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5292 1.7 christos {"vmsumshs", VXA(4, 41), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5293 1.7 christos {"ps_add", A (4, 21,0), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5294 1.7 christos {"vsel", VXA(4, 42), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5295 1.7 christos {"ps_add.", A (4, 21,1), AFRC_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5296 1.7 christos {"vperm", VXA(4, 43), VXA_MASK, PPCVEC, 0, {VD, VA, VB, VC}}, 5297 1.7 christos {"vsldoi", VXA(4, 44), VXASHB_MASK, PPCVEC, 0, {VD, VA, VB, SHB}}, 5298 1.7 christos {"vpermxor", VXA(4, 45), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, 5299 1.7 christos {"ps_sel", A (4, 23,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5300 1.7 christos {"vmaddfp", VXA(4, 46), VXA_MASK, PPCVEC, 0, {VD, VA, VC, VB}}, 5301 1.7 christos {"ps_sel.", A (4, 23,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5302 1.7 christos {"vnmsubfp", VXA(4, 47), VXA_MASK, PPCVEC, 0, {VD, VA, VC, VB}}, 5303 1.7 christos {"ps_res", A (4, 24,0), AFRAFRC_MASK, PPCPS, 0, {FRT, FRB}}, 5304 1.7 christos {"maddhd", VXA(4, 48), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}}, 5305 1.7 christos {"ps_res.", A (4, 24,1), AFRAFRC_MASK, PPCPS, 0, {FRT, FRB}}, 5306 1.7 christos {"maddhdu", VXA(4, 49), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}}, 5307 1.7 christos {"ps_mul", A (4, 25,0), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5308 1.7 christos {"ps_mul.", A (4, 25,1), AFRB_MASK, PPCPS, 0, {FRT, FRA, FRC}}, 5309 1.7 christos {"maddld", VXA(4, 51), VXA_MASK, POWER9, 0, {RT, RA, RB, RC}}, 5310 1.7 christos {"ps_rsqrte", A (4, 26,0), AFRAFRC_MASK, PPCPS, 0, {FRT, FRB}}, 5311 1.7 christos {"ps_rsqrte.", A (4, 26,1), AFRAFRC_MASK, PPCPS, 0, {FRT, FRB}}, 5312 1.7 christos {"ps_msub", A (4, 28,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5313 1.7 christos {"ps_msub.", A (4, 28,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5314 1.7 christos {"ps_madd", A (4, 29,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5315 1.7 christos {"ps_madd.", A (4, 29,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5316 1.7 christos {"vpermr", VXA(4, 59), VXA_MASK, PPCVEC3, 0, {VD, VA, VB, VC}}, 5317 1.7 christos {"ps_nmsub", A (4, 30,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5318 1.7 christos {"vaddeuqm", VXA(4, 60), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, 5319 1.7 christos {"ps_nmsub.", A (4, 30,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5320 1.7 christos {"vaddecuq", VXA(4, 61), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, 5321 1.7 christos {"ps_nmadd", A (4, 31,0), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5322 1.7 christos {"vsubeuqm", VXA(4, 62), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, 5323 1.7 christos {"ps_nmadd.", A (4, 31,1), A_MASK, PPCPS, 0, {FRT, FRA, FRC, FRB}}, 5324 1.7 christos {"vsubecuq", VXA(4, 63), VXA_MASK, PPCVEC2, 0, {VD, VA, VB, VC}}, 5325 1.14 christos {"ps_cmpo0", X (4, 32), XBF_MASK, PPCPS, 0, {BF, FRA, FRB}}, 5326 1.7 christos {"vadduhm", VX (4, 64), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5327 1.11 christos {"vmul10ecuq", VX (4, 65), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5328 1.7 christos {"vmaxuh", VX (4, 66), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5329 1.7 christos {"vucmprln", VX (4, 67), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5330 1.7 christos {"vrlh", VX (4, 68), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5331 1.7 christos {"vrlqmi", VX (4, 69), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5332 1.7 christos {"vcmpequh", VXR(4, 70,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5333 1.7 christos {"vcmpneh", VXR(4, 71,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5334 1.7 christos {"vmulouh", VX (4, 72), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5335 1.7 christos {"vsubfp", VX (4, 74), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5336 1.11 christos {"psq_lux", XW (4, 38,0), XW_MASK, PPCPS, 0, {FRT,RA,RB,PSWM,PSQM}}, 5337 1.7 christos {"vmrghh", VX (4, 76), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5338 1.7 christos {"psq_stux", XW (4, 39,0), XW_MASK, PPCPS, 0, {FRS,RA,RB,PSWM,PSQM}}, 5339 1.7 christos {"vpkuwum", VX (4, 78), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5340 1.7 christos {"vinshvlx", VX (4, 79), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5341 1.7 christos {"ps_neg", XRC(4, 40,0), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5342 1.7 christos {"mulhhw", XRC(4, 40,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5343 1.7 christos {"ps_neg.", XRC(4, 40,1), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5344 1.7 christos {"mulhhw.", XRC(4, 40,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5345 1.7 christos {"machhw", XO (4, 44,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5346 1.7 christos {"machhw.", XO (4, 44,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5347 1.7 christos {"nmachhw", XO (4, 46,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5348 1.14 christos {"nmachhw.", XO (4, 46,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5349 1.7 christos {"ps_cmpu1", X (4, 64), XBF_MASK, PPCPS, 0, {BF, FRA, FRB}}, 5350 1.7 christos {"vadduwm", VX (4, 128), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5351 1.7 christos {"vmaxuw", VX (4, 130), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5352 1.7 christos {"vucmprhb", VX (4, 131), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5353 1.7 christos {"vrlw", VX (4, 132), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5354 1.7 christos {"vrlwmi", VX (4, 133), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5355 1.11 christos {"vcmpequw", VXR(4, 134,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5356 1.7 christos {"vcmpnew", VXR(4, 135,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5357 1.7 christos {"vmulouw", VX (4, 136), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5358 1.11 christos {"vmuluwm", VX (4, 137), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5359 1.7 christos {"vdivuw", VX (4, 139), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5360 1.7 christos {"vmrghw", VX (4, 140), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5361 1.7 christos {"vpkuhus", VX (4, 142), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5362 1.7 christos {"vinswvlx", VX (4, 143), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5363 1.7 christos {"ps_mr", XRC(4, 72,0), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5364 1.7 christos {"ps_mr.", XRC(4, 72,1), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5365 1.7 christos {"machhwsu", XO (4, 76,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5366 1.14 christos {"machhwsu.", XO (4, 76,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5367 1.7 christos {"ps_cmpo1", X (4, 96), XBF_MASK, PPCPS, 0, {BF, FRA, FRB}}, 5368 1.7 christos {"vaddudm", VX (4, 192), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5369 1.7 christos {"vmaxud", VX (4, 194), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5370 1.7 christos {"vucmprlb", VX (4, 195), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5371 1.11 christos {"vrld", VX (4, 196), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5372 1.11 christos {"vrldmi", VX (4, 197), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5373 1.7 christos {"vcmpeqfp", VXR(4, 198,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5374 1.11 christos {"vcmpequd", VXR(4, 199,0), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5375 1.7 christos {"vmuloud", VX (4, 200), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5376 1.7 christos {"vdivud", VX (4, 203), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5377 1.7 christos {"vpkuwus", VX (4, 206), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5378 1.7 christos {"vinsw", VX (4, 207), VXUIMM4_MASK, POWER10, 0, {VD, RB, UIMM4}}, 5379 1.7 christos {"machhws", XO (4, 108,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5380 1.11 christos {"machhws.", XO (4, 108,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5381 1.7 christos {"nmachhws", XO (4, 110,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5382 1.14 christos {"nmachhws.", XO (4, 110,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5383 1.7 christos {"vadduqm", VX (4, 256), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5384 1.11 christos {"vcmpuq", VX (4, 257), VXBF_MASK, POWER10, 0, {BF, VA, VB}}, 5385 1.7 christos {"vmaxsb", VX (4, 258), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5386 1.7 christos {"vucmprhh", VX (4, 259), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5387 1.7 christos {"vslb", VX (4, 260), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5388 1.11 christos {"vslq", VX (4, 261), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5389 1.7 christos {"vcmpnezb", VXR(4, 263,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5390 1.7 christos {"vmulosb", VX (4, 264), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5391 1.11 christos {"vrefp", VX (4, 266), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5392 1.7 christos {"vdivsq", VX (4, 267), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5393 1.7 christos {"vmrglb", VX (4, 268), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5394 1.7 christos {"vpkshus", VX (4, 270), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5395 1.7 christos {"vinsbvrx", VX (4, 271), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5396 1.7 christos {"ps_nabs", XRC(4, 136,0), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5397 1.7 christos {"mulchwu", XRC(4, 136,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5398 1.7 christos {"ps_nabs.", XRC(4, 136,1), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5399 1.11 christos {"mulchwu.", XRC(4, 136,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5400 1.7 christos {"macchwu", XO (4, 140,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5401 1.14 christos {"macchwu.", XO (4, 140,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5402 1.7 christos {"vaddcuq", VX (4, 320), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5403 1.11 christos {"vcmpsq", VX (4, 321), VXBF_MASK, POWER10, 0, {BF, VA, VB}}, 5404 1.7 christos {"vmaxsh", VX (4, 322), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5405 1.7 christos {"vucmprlh", VX (4, 323), VX_MASK, FUTURE, 0, {VD, VA, VB}}, 5406 1.7 christos {"vslh", VX (4, 324), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5407 1.7 christos {"vrlqnm", VX (4, 325), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5408 1.7 christos {"vcmpnezh", VXR(4, 327,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5409 1.11 christos {"vmulosh", VX (4, 328), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5410 1.7 christos {"vrsqrtefp", VX (4, 330), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5411 1.7 christos {"vmrglh", VX (4, 332), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5412 1.7 christos {"vpkswus", VX (4, 334), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5413 1.7 christos {"vinshvrx", VX (4, 335), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5414 1.7 christos {"mulchw", XRC(4, 168,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5415 1.7 christos {"mulchw.", XRC(4, 168,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5416 1.7 christos {"macchw", XO (4, 172,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5417 1.7 christos {"macchw.", XO (4, 172,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5418 1.14 christos {"nmacchw", XO (4, 174,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5419 1.14 christos {"nmacchw.", XO (4, 174,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5420 1.14 christos {"vaddcuw", VX (4, 384), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5421 1.14 christos {"vmaxsw", VX (4, 386), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5422 1.14 christos {"vupkhsntob", VXSEL5 (4, 387,0), VXVA_MASK, FUTURE, 0, {VD, VB}}, 5423 1.14 christos {"vupklsntob", VXSEL5 (4, 387,1), VXVA_MASK, FUTURE, 0, {VD, VB}}, 5424 1.7 christos {"vupkint8tobf16", VXSEL4 (4, 387,1), VXUIMM1_MASK, FUTURE, 0, {VD, VB, UIMM1}}, 5425 1.7 christos {"vupkint4tobf16", VXSEL3 (4, 387,2), VXUIMM2_MASK, FUTURE, 0, {VD, VB, UIMM2}}, 5426 1.7 christos {"vupkint8tofp32", VXSEL3 (4, 387,3), VXUIMM2_MASK, FUTURE, 0, {VD, VB, UIMM2}}, 5427 1.7 christos {"vupkint4tofp32", VXSEL2 (4, 387,2), VXUIMM3_MASK, FUTURE, 0, {VD, VB, UIMM3}}, 5428 1.7 christos {"vslw", VX (4, 388), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5429 1.11 christos {"vrlwnm", VX (4, 389), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5430 1.7 christos {"vcmpnezw", VXR(4, 391,0), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5431 1.11 christos {"vmulosw", VX (4, 392), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5432 1.7 christos {"vexptefp", VX (4, 394), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5433 1.11 christos {"vdivsw", VX (4, 395), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5434 1.7 christos {"vmrglw", VX (4, 396), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5435 1.7 christos {"vclrlb", VX (4, 397), VX_MASK, POWER10, 0, {VD, VA, RB}}, 5436 1.7 christos {"vpkshss", VX (4, 398), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5437 1.7 christos {"vinswvrx", VX (4, 399), VX_MASK, POWER10, 0, {VD, RA, VB}}, 5438 1.7 christos {"macchwsu", XO (4, 204,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5439 1.7 christos {"macchwsu.", XO (4, 204,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5440 1.11 christos {"vmaxsd", VX (4, 450), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5441 1.11 christos {"vsl", VX (4, 452), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5442 1.11 christos {"vrldnm", VX (4, 453), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5443 1.7 christos {"vcmpgefp", VXR(4, 454,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5444 1.11 christos {"vcmpequq", VXR(4, 455,0), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 5445 1.11 christos {"vmulosd", VX (4, 456), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5446 1.7 christos {"vmulld", VX (4, 457), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5447 1.11 christos {"vlogefp", VX (4, 458), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5448 1.7 christos {"vdivsd", VX (4, 459), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5449 1.7 christos {"vclrrb", VX (4, 461), VX_MASK, POWER10, 0, {VD, VA, RB}}, 5450 1.7 christos {"vpkswss", VX (4, 462), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5451 1.7 christos {"vinsd", VX (4, 463), VXUIMM4_MASK, POWER10, 0, {VD, RB, UIMM4}}, 5452 1.7 christos {"macchws", XO (4, 236,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5453 1.7 christos {"macchws.", XO (4, 236,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5454 1.7 christos {"nmacchws", XO (4, 238,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5455 1.7 christos {"nmacchws.", XO (4, 238,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5456 1.7 christos {"evaddw", VX (4, 512), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5457 1.12 christos {"vaddubs", VX (4, 512), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5458 1.7 christos {"vmul10uq", VX (4, 513), VXVB_MASK, PPCVEC3, 0, {VD, VA}}, 5459 1.7 christos {"evaddiw", VX (4, 514), VX_MASK, PPCSPE, 0, {RS, RB, UIMM}}, 5460 1.11 christos {"vminub", VX (4, 514), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5461 1.12 christos {"evsubw", VX (4, 516), VX_MASK, PPCSPE, EXT, {RS, RB, RA}}, 5462 1.7 christos {"evsubfw", VX (4, 516), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5463 1.7 christos {"vsrb", VX (4, 516), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5464 1.7 christos {"vsrq", VX (4, 517), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5465 1.7 christos {"evsubiw", VX (4, 518), VX_MASK, PPCSPE, EXT, {RS, RB, UIMM}}, 5466 1.7 christos {"evsubifw", VX (4, 518), VX_MASK, PPCSPE, 0, {RS, UIMM, RB}}, 5467 1.7 christos {"vcmpgtub", VXR(4, 518,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5468 1.7 christos {"evabs", VX (4, 520), VX_MASK, PPCSPE, 0, {RS, RA}}, 5469 1.11 christos {"vmuleub", VX (4, 520), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5470 1.7 christos {"evneg", VX (4, 521), VX_MASK, PPCSPE, 0, {RS, RA}}, 5471 1.7 christos {"evextsb", VX (4, 522), VX_MASK, PPCSPE, 0, {RS, RA}}, 5472 1.7 christos {"vrfin", VX (4, 522), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5473 1.7 christos {"vdiveuq", VX (4, 523), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5474 1.7 christos {"evextsh", VX (4, 523), VX_MASK, PPCSPE, 0, {RS, RA}}, 5475 1.7 christos {"evrndw", VX (4, 524), VX_MASK, PPCSPE, 0, {RS, RA}}, 5476 1.7 christos {"vspltb", VX (4, 524), VXUIMM4_MASK, PPCVEC, 0, {VD, VB, UIMM4}}, 5477 1.11 christos {"vextractub", VX (4, 525), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5478 1.7 christos {"evcntlzw", VX (4, 525), VX_MASK, PPCSPE, 0, {RS, RA}}, 5479 1.7 christos {"evcntlsw", VX (4, 526), VX_MASK, PPCSPE, 0, {RS, RA}}, 5480 1.7 christos {"vupkhsb", VX (4, 526), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5481 1.7 christos {"vinsblx", VX (4, 527), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5482 1.7 christos {"brinc", VX (4, 527), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5483 1.11 christos {"ps_abs", XRC(4, 264,0), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5484 1.7 christos {"ps_abs.", XRC(4, 264,1), XRA_MASK, PPCPS, 0, {FRT, FRB}}, 5485 1.11 christos {"evand", VX (4, 529), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5486 1.7 christos {"evandc", VX (4, 530), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5487 1.11 christos {"vsrdbi", VX (4, 534), VXSH_MASK, POWER10, 0, {VD, VA, VB, SH3}}, 5488 1.7 christos {"evxor", VX (4, 534), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5489 1.7 christos {"evmr", VX (4, 535), VX_MASK, PPCSPE, EXT, {RS, RAB}}, 5490 1.7 christos {"evor", VX (4, 535), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5491 1.7 christos {"evnot", VX (4, 536), VX_MASK, PPCSPE, EXT, {RS, RAB}}, 5492 1.7 christos {"evnor", VX (4, 536), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5493 1.7 christos {"get", APU(4, 268,0), APU_RA_MASK, PPC405, 0, {RT, FSL}}, 5494 1.7 christos {"eveqv", VX (4, 537), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5495 1.7 christos {"evorc", VX (4, 539), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5496 1.7 christos {"evnand", VX (4, 542), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5497 1.7 christos {"evsrwu", VX (4, 544), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5498 1.7 christos {"evsrws", VX (4, 545), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5499 1.7 christos {"evsrwiu", VX (4, 546), VX_MASK, PPCSPE, 0, {RS, RA, EVUIMM}}, 5500 1.7 christos {"evsrwis", VX (4, 547), VX_MASK, PPCSPE, 0, {RS, RA, EVUIMM}}, 5501 1.7 christos {"evslw", VX (4, 548), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5502 1.7 christos {"evslwi", VX (4, 550), VX_MASK, PPCSPE, 0, {RS, RA, EVUIMM}}, 5503 1.7 christos {"evrlw", VX (4, 552), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5504 1.7 christos {"evsplati", VX (4, 553), VX_MASK, PPCSPE, 0, {RS, SIMM}}, 5505 1.7 christos {"evrlwi", VX (4, 554), VX_MASK, PPCSPE, 0, {RS, RA, EVUIMM}}, 5506 1.7 christos {"evsplatfi", VX (4, 555), VX_MASK, PPCSPE, 0, {RS, SIMM}}, 5507 1.7 christos {"evmergehi", VX (4, 556), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5508 1.7 christos {"evmergelo", VX (4, 557), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5509 1.7 christos {"evmergehilo", VX (4, 558), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5510 1.7 christos {"evmergelohi", VX (4, 559), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5511 1.7 christos {"evcmpgtu", VX (4, 560), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5512 1.7 christos {"evcmpgts", VX (4, 561), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5513 1.7 christos {"evcmpltu", VX (4, 562), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5514 1.7 christos {"evcmplts", VX (4, 563), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5515 1.7 christos {"evcmpeq", VX (4, 564), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5516 1.7 christos {"cget", APU(4, 284,0), APU_RA_MASK, PPC405, 0, {RT, FSL}}, 5517 1.7 christos {"vadduhs", VX (4, 576), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5518 1.7 christos {"vmul10euq", VX (4, 577), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5519 1.7 christos {"vminuh", VX (4, 578), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5520 1.7 christos {"vsrh", VX (4, 580), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5521 1.7 christos {"vcmpgtuh", VXR(4, 582,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5522 1.7 christos {"vmuleuh", VX (4, 584), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5523 1.11 christos {"vrfiz", VX (4, 586), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5524 1.7 christos {"vsplth", VX (4, 588), VXUIMM3_MASK, PPCVEC, 0, {VD, VB, UIMM3}}, 5525 1.7 christos {"vextractuh", VX (4, 589), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5526 1.7 christos {"vupkhsh", VX (4, 590), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5527 1.7 christos {"vinshlx", VX (4, 591), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5528 1.7 christos {"nget", APU(4, 300,0), APU_RA_MASK, PPC405, 0, {RT, FSL}}, 5529 1.7 christos {"evsel", EVSEL(4,79), EVSEL_MASK, PPCSPE, 0, {RS, RA, RB, CRFS}}, 5530 1.8 christos {"ncget", APU(4, 316,0), APU_RA_MASK, PPC405, 0, {RT, FSL}}, 5531 1.7 christos {"evfsadd", VX (4, 640), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5532 1.8 christos {"vadduws", VX (4, 640), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5533 1.7 christos {"evfssub", VX (4, 641), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5534 1.7 christos {"evfsmadd", VX (4, 642), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5535 1.7 christos {"vminuw", VX (4, 642), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5536 1.7 christos {"evfsmsub", VX (4, 643), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5537 1.7 christos {"evfsabs", VX (4, 644), VX_MASK, PPCSPE, 0, {RS, RA}}, 5538 1.11 christos {"vsrw", VX (4, 644), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5539 1.8 christos {"evfsnabs", VX (4, 645), VX_MASK, PPCSPE, 0, {RS, RA}}, 5540 1.7 christos {"evfsneg", VX (4, 646), VX_MASK, PPCSPE, 0, {RS, RA}}, 5541 1.7 christos {"vcmpgtuw", VXR(4, 646,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5542 1.11 christos {"vcmpgtuq", VXR(4, 647,0), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 5543 1.7 christos {"evfssqrt", VX_RB_CONST(4, 647, 0), VX_RB_CONST_MASK, PPCEFS2, 0, {RD, RA}}, 5544 1.8 christos {"vmuleuw", VX (4, 648), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5545 1.7 christos {"evfsmul", VX (4, 648), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5546 1.11 christos {"vmulhuw", VX (4, 649), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5547 1.8 christos {"evfsdiv", VX (4, 649), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5548 1.7 christos {"evfsnmadd", VX (4, 650), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5549 1.7 christos {"vrfip", VX (4, 650), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5550 1.7 christos {"vdiveuw", VX (4, 651), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5551 1.7 christos {"evfsnmsub", VX (4, 651), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5552 1.7 christos {"evfscmpgt", VX (4, 652), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5553 1.7 christos {"vspltw", VX (4, 652), VXUIMM2_MASK, PPCVEC, 0, {VD, VB, UIMM2}}, 5554 1.11 christos {"vextractuw", VX (4, 653), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5555 1.7 christos {"evfscmplt", VX (4, 653), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5556 1.8 christos {"evfscmpeq", VX (4, 654), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5557 1.7 christos {"vupklsb", VX (4, 654), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5558 1.7 christos {"vinswlx", VX (4, 655), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5559 1.7 christos {"evfscfui", VX (4, 656), VX_MASK, PPCSPE, 0, {RS, RB}}, 5560 1.7 christos {"evfscfh", VX_RA_CONST(4, 657, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5561 1.8 christos {"evfscfsi", VX (4, 657), VX_MASK, PPCSPE, 0, {RS, RB}}, 5562 1.7 christos {"evfscfuf", VX (4, 658), VX_MASK, PPCSPE, 0, {RS, RB}}, 5563 1.7 christos {"evfscfsf", VX (4, 659), VX_MASK, PPCSPE, 0, {RS, RB}}, 5564 1.7 christos {"evfsctui", VX (4, 660), VX_MASK, PPCSPE, 0, {RS, RB}}, 5565 1.7 christos {"evfscth", VX_RA_CONST(4, 661, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5566 1.7 christos {"evfsctsi", VX (4, 661), VX_MASK, PPCSPE, 0, {RS, RB}}, 5567 1.7 christos {"evfsctuf", VX (4, 662), VX_MASK, PPCSPE, 0, {RS, RB}}, 5568 1.7 christos {"evfsctsf", VX (4, 663), VX_MASK, PPCSPE, 0, {RS, RB}}, 5569 1.7 christos {"evfsctuiz", VX (4, 664), VX_MASK, PPCSPE, 0, {RS, RB}}, 5570 1.7 christos {"put", APU(4, 332,0), APU_RT_MASK, PPC405, 0, {RA, FSL}}, 5571 1.8 christos {"evfsctsiz", VX (4, 666), VX_MASK, PPCSPE, 0, {RS, RB}}, 5572 1.8 christos {"evfststgt", VX (4, 668), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5573 1.8 christos {"evfststlt", VX (4, 669), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5574 1.8 christos {"evfststeq", VX (4, 670), VX_MASK, PPCSPE, 0, {CRFD, RA, RB}}, 5575 1.8 christos {"evfsmax", VX (4, 672), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5576 1.8 christos {"evfsmin", VX (4, 673), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5577 1.8 christos {"evfsaddsub", VX (4, 674), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5578 1.8 christos {"evfssubadd", VX (4, 675), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5579 1.8 christos {"evfssum", VX (4, 676), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5580 1.8 christos {"evfsdiff", VX (4, 677), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5581 1.8 christos {"evfssumdiff", VX (4, 678), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5582 1.8 christos {"evfsdiffsum", VX (4, 679), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5583 1.8 christos {"evfsaddx", VX (4, 680), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5584 1.8 christos {"evfssubx", VX (4, 681), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5585 1.8 christos {"evfsaddsubx", VX (4, 682), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5586 1.8 christos {"evfssubaddx", VX (4, 683), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5587 1.8 christos {"evfsmulx", VX (4, 684), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5588 1.8 christos {"evfsmule", VX (4, 686), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5589 1.7 christos {"evfsmulo", VX (4, 687), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5590 1.8 christos {"efsmax", VX (4, 688), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5591 1.7 christos {"efsmin", VX (4, 689), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5592 1.11 christos {"efdmax", VX (4, 696), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5593 1.7 christos {"cput", APU(4, 348,0), APU_RT_MASK, PPC405, 0, {RA, FSL}}, 5594 1.11 christos {"efdmin", VX (4, 697), VX_MASK, PPCEFS2, 0, {RD, RA, RB}}, 5595 1.8 christos {"efsadd", VX (4, 704), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5596 1.7 christos {"evsadd", VX (4, 704), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5597 1.8 christos {"efssub", VX (4, 705), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5598 1.7 christos {"evssub", VX (4, 705), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5599 1.11 christos {"efsmadd", VX (4, 706), VX_MASK, PPCEFS2, 0, {RS, RA, RB}}, 5600 1.7 christos {"vminud", VX (4, 706), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5601 1.7 christos {"efsmsub", VX (4, 707), VX_MASK, PPCEFS2, 0, {RS, RA, RB}}, 5602 1.11 christos {"efsabs", VX (4, 708), VX_MASK, PPCEFS, 0, {RS, RA}}, 5603 1.7 christos {"evsabs", VX (4, 708), VX_MASK, PPCEFS, 0, {RS, RA}}, 5604 1.11 christos {"vsr", VX (4, 708), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5605 1.7 christos {"efsnabs", VX (4, 709), VX_MASK, PPCEFS, 0, {RS, RA}}, 5606 1.8 christos {"evsnabs", VX (4, 709), VX_MASK, PPCEFS, 0, {RS, RA}}, 5607 1.7 christos {"efsneg", VX (4, 710), VX_MASK, PPCEFS, 0, {RS, RA}}, 5608 1.11 christos {"evsneg", VX (4, 710), VX_MASK, PPCEFS, 0, {RS, RA}}, 5609 1.7 christos {"vcmpgtfp", VXR(4, 710,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5610 1.11 christos {"efssqrt", VX_RB_CONST(4, 711, 0), VX_RB_CONST_MASK,PPCEFS2, 0, {RD, RA}}, 5611 1.11 christos {"vcmpgtud", VXR(4, 711,0), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5612 1.7 christos {"vmuleud", VX (4, 712), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5613 1.11 christos {"efsmul", VX (4, 712), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5614 1.8 christos {"evsmul", VX (4, 712), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5615 1.7 christos {"vmulhud", VX (4, 713), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5616 1.11 christos {"efsdiv", VX (4, 713), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5617 1.8 christos {"evsdiv", VX (4, 713), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5618 1.7 christos {"efsnmadd", VX (4, 714), VX_MASK, PPCEFS2, 0, {RS, RA, RB}}, 5619 1.11 christos {"vrfim", VX (4, 714), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5620 1.7 christos {"vdiveud", VX (4, 715), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5621 1.7 christos {"efsnmsub", VX (4, 715), VX_MASK, PPCEFS2, 0, {RS, RA, RB}}, 5622 1.11 christos {"efscmpgt", VX (4, 716), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5623 1.7 christos {"evscmpgt", VX (4, 716), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5624 1.11 christos {"vextractd", VX (4, 717), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5625 1.7 christos {"efscmplt", VX (4, 717), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5626 1.11 christos {"evsgmplt", VX (4, 717), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5627 1.7 christos {"efscmpeq", VX (4, 718), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5628 1.7 christos {"evsgmpeq", VX (4, 718), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5629 1.11 christos {"vupklsh", VX (4, 718), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5630 1.8 christos {"vinsdlx", VX (4, 719), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5631 1.7 christos {"efscfd", VX (4, 719), VX_MASK, PPCEFS, 0, {RS, RB}}, 5632 1.11 christos {"efscfui", VX (4, 720), VX_MASK, PPCEFS, 0, {RS, RB}}, 5633 1.7 christos {"evscfui", VX (4, 720), VX_MASK, PPCEFS, 0, {RS, RB}}, 5634 1.11 christos {"efscfh", VX_RA_CONST(4, 721, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5635 1.7 christos {"efscfsi", VX (4, 721), VX_MASK, PPCEFS, 0, {RS, RB}}, 5636 1.11 christos {"evscfsi", VX (4, 721), VX_MASK, PPCEFS, 0, {RS, RB}}, 5637 1.7 christos {"efscfuf", VX (4, 722), VX_MASK, PPCEFS, 0, {RS, RB}}, 5638 1.11 christos {"evscfuf", VX (4, 722), VX_MASK, PPCEFS, 0, {RS, RB}}, 5639 1.8 christos {"efscfsf", VX (4, 723), VX_MASK, PPCEFS, 0, {RS, RB}}, 5640 1.7 christos {"evscfsf", VX (4, 723), VX_MASK, PPCEFS, 0, {RS, RB}}, 5641 1.11 christos {"efsctui", VX (4, 724), VX_MASK, PPCEFS, 0, {RS, RB}}, 5642 1.7 christos {"evsctui", VX (4, 724), VX_MASK, PPCEFS, 0, {RS, RB}}, 5643 1.11 christos {"efscth", VX_RA_CONST(4, 725, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5644 1.7 christos {"efsctsi", VX (4, 725), VX_MASK, PPCEFS, 0, {RS, RB}}, 5645 1.11 christos {"evsctsi", VX (4, 725), VX_MASK, PPCEFS, 0, {RS, RB}}, 5646 1.7 christos {"efsctuf", VX (4, 726), VX_MASK, PPCEFS, 0, {RS, RB}}, 5647 1.11 christos {"evsctuf", VX (4, 726), VX_MASK, PPCEFS, 0, {RS, RB}}, 5648 1.7 christos {"efsctsf", VX (4, 727), VX_MASK, PPCEFS, 0, {RS, RB}}, 5649 1.7 christos {"evsctsf", VX (4, 727), VX_MASK, PPCEFS, 0, {RS, RB}}, 5650 1.11 christos {"efsctuiz", VX (4, 728), VX_MASK, PPCEFS, 0, {RS, RB}}, 5651 1.7 christos {"evsctuiz", VX (4, 728), VX_MASK, PPCEFS, 0, {RS, RB}}, 5652 1.11 christos {"nput", APU(4, 364,0), APU_RT_MASK, PPC405, 0, {RA, FSL}}, 5653 1.7 christos {"efsctsiz", VX (4, 730), VX_MASK, PPCEFS, 0, {RS, RB}}, 5654 1.11 christos {"evsctsiz", VX (4, 730), VX_MASK, PPCEFS, 0, {RS, RB}}, 5655 1.7 christos {"efststgt", VX (4, 732), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5656 1.11 christos {"evststgt", VX (4, 732), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5657 1.7 christos {"efststlt", VX (4, 733), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5658 1.7 christos {"evststlt", VX (4, 733), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5659 1.8 christos {"efststeq", VX (4, 734), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5660 1.8 christos {"evststeq", VX (4, 734), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5661 1.8 christos {"efdadd", VX (4, 736), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5662 1.8 christos {"efdsub", VX (4, 737), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5663 1.7 christos {"efdmadd", VX (4, 738), VX_MASK, PPCEFS2, E500|E500MC, {RD, RA, RB}}, 5664 1.7 christos {"efdcfuid", VX (4, 738), VX_MASK, E500|E500MC,0, {RS, RB}}, 5665 1.7 christos {"efdmsub", VX (4, 739), VX_MASK, PPCEFS2, E500|E500MC, {RD, RA, RB}}, 5666 1.8 christos {"efdcfsid", VX (4, 739), VX_MASK, E500|E500MC,0, {RS, RB}}, 5667 1.7 christos {"efdabs", VX (4, 740), VX_MASK, PPCEFS, 0, {RS, RA}}, 5668 1.7 christos {"efdnabs", VX (4, 741), VX_MASK, PPCEFS, 0, {RS, RA}}, 5669 1.8 christos {"efdneg", VX (4, 742), VX_MASK, PPCEFS, 0, {RS, RA}}, 5670 1.8 christos {"efdsqrt", VX_RB_CONST(4, 743, 0), VX_RB_CONST_MASK, PPCEFS2, 0, {RD, RA}}, 5671 1.8 christos {"efdmul", VX (4, 744), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5672 1.8 christos {"efddiv", VX (4, 745), VX_MASK, PPCEFS, 0, {RS, RA, RB}}, 5673 1.7 christos {"efdnmadd", VX (4, 746), VX_MASK, PPCEFS2, E500|E500MC, {RD, RA, RB}}, 5674 1.7 christos {"efdctuidz", VX (4, 746), VX_MASK, E500|E500MC,0, {RS, RB}}, 5675 1.7 christos {"efdnmsub", VX (4, 747), VX_MASK, PPCEFS2, E500|E500MC, {RD, RA, RB}}, 5676 1.7 christos {"efdctsidz", VX (4, 747), VX_MASK, E500|E500MC,0, {RS, RB}}, 5677 1.8 christos {"efdcmpgt", VX (4, 748), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5678 1.8 christos {"efdcmplt", VX (4, 749), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5679 1.8 christos {"efdcmpeq", VX (4, 750), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5680 1.8 christos {"efdcfs", VX (4, 751), VX_MASK, PPCEFS, 0, {RS, RB}}, 5681 1.8 christos {"efdcfui", VX_RA_CONST(4, 752, 0), VX_RA_CONST_MASK, PPCEFS, 0, {RS, RB}}, 5682 1.7 christos {"efdcfuid", VX_RA_CONST(4, 752, 1), VX_RA_CONST_MASK, PPCEFS, E500|E500MC, {RS, RB}}, 5683 1.7 christos {"efdcfsi", VX_RA_CONST(4, 753, 0), VX_RA_CONST_MASK, PPCEFS, 0, {RS, RB}}, 5684 1.7 christos {"efdcfsid", VX_RA_CONST(4, 753, 1), VX_RA_CONST_MASK, PPCEFS, E500|E500MC, {RS, RB}}, 5685 1.8 christos {"efdcfh", VX_RA_CONST(4, 753, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5686 1.7 christos {"efdcfuf", VX (4, 754), VX_MASK, PPCEFS, 0, {RS, RB}}, 5687 1.7 christos {"efdcfsf", VX (4, 755), VX_MASK, PPCEFS, 0, {RS, RB}}, 5688 1.7 christos {"efdctui", VX (4, 756), VX_MASK, PPCEFS, 0, {RS, RB}}, 5689 1.8 christos {"efdcth", VX_RA_CONST(4, 757, 4), VX_RA_CONST_MASK, PPCEFS2, 0, {RD, RB}}, 5690 1.8 christos {"efdctsi", VX (4, 757), VX_MASK, PPCEFS, 0, {RS, RB}}, 5691 1.7 christos {"efdctuf", VX (4, 758), VX_MASK, PPCEFS, 0, {RS, RB}}, 5692 1.8 christos {"efdctsf", VX (4, 759), VX_MASK, PPCEFS, 0, {RS, RB}}, 5693 1.8 christos {"efdctuiz", VX_RA_CONST(4, 760, 0), VX_RA_CONST_MASK, PPCEFS, 0, {RS, RB}}, 5694 1.7 christos {"efdctuidz", VX_RA_CONST(4, 760, 1), VX_RA_CONST_MASK, PPCEFS, E500|E500MC, {RS, RB}}, 5695 1.7 christos {"ncput", APU(4, 380,0), APU_RT_MASK, PPC405, 0, {RA, FSL}}, 5696 1.7 christos {"efdctsiz", VX_RA_CONST(4, 762, 0), VX_RA_CONST_MASK, PPCEFS, 0, {RS, RB}}, 5697 1.7 christos {"efdctsidz", VX_RA_CONST(4, 762, 1), VX_RA_CONST_MASK, PPCEFS, E500|E500MC, {RS, RB}}, 5698 1.7 christos {"efdtstgt", VX (4, 764), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5699 1.7 christos {"efdtstlt", VX (4, 765), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5700 1.7 christos {"efdtsteq", VX (4, 766), VX_MASK, PPCEFS, 0, {CRFD, RA, RB}}, 5701 1.7 christos {"evlddx", VX (4, 768), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5702 1.7 christos {"vaddsbs", VX (4, 768), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5703 1.7 christos {"evldd", VX (4, 769), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5704 1.7 christos {"evldwx", VX (4, 770), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5705 1.11 christos {"vminsb", VX (4, 770), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5706 1.7 christos {"evldw", VX (4, 771), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5707 1.7 christos {"evldhx", VX (4, 772), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5708 1.7 christos {"vsrab", VX (4, 772), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5709 1.7 christos {"vsraq", VX (4, 773), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5710 1.7 christos {"evldh", VX (4, 773), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5711 1.7 christos {"vcmpgtsb", VXR(4, 774,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5712 1.11 christos {"evlhhesplatx",VX (4, 776), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5713 1.11 christos {"vmulesb", VX (4, 776), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5714 1.7 christos {"evlhhesplat", VX (4, 777), VX_MASK, PPCSPE, 0, {RS, EVUIMM_2, RA}}, 5715 1.7 christos {"vcfux", VX (4, 778), VX_MASK, PPCVEC, 0, {VD, VB, UIMM}}, 5716 1.7 christos {"vcuxwfp", VX (4, 778), VX_MASK, PPCVEC, EXT, {VD, VB, UIMM}}, 5717 1.7 christos {"vdivesq", VX (4, 779), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5718 1.7 christos {"evlhhousplatx",VX(4, 780), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5719 1.7 christos {"vspltisb", VX (4, 780), VXVB_MASK, PPCVEC, 0, {VD, SIMM}}, 5720 1.11 christos {"vinsertb", VX (4, 781), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5721 1.7 christos {"evlhhousplat",VX (4, 781), VX_MASK, PPCSPE, 0, {RS, EVUIMM_2, RA}}, 5722 1.7 christos {"evlhhossplatx",VX(4, 782), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5723 1.7 christos {"vpkpx", VX (4, 782), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5724 1.7 christos {"vinsbrx", VX (4, 783), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5725 1.7 christos {"evlhhossplat",VX (4, 783), VX_MASK, PPCSPE, 0, {RS, EVUIMM_2, RA}}, 5726 1.7 christos {"mullhwu", XRC(4, 392,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5727 1.7 christos {"evlwhex", VX (4, 784), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5728 1.7 christos {"mullhwu.", XRC(4, 392,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5729 1.7 christos {"evlwhe", VX (4, 785), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5730 1.7 christos {"evlwhoux", VX (4, 788), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5731 1.7 christos {"evlwhou", VX (4, 789), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5732 1.7 christos {"evlwhosx", VX (4, 790), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5733 1.7 christos {"evlwhos", VX (4, 791), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5734 1.7 christos {"maclhwu", XO (4, 396,0,0),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5735 1.7 christos {"evlwwsplatx", VX (4, 792), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5736 1.7 christos {"maclhwu.", XO (4, 396,0,1),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5737 1.7 christos {"evlwwsplat", VX (4, 793), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5738 1.7 christos {"evlwhsplatx", VX (4, 796), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5739 1.7 christos {"evlwhsplat", VX (4, 797), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5740 1.7 christos {"evstddx", VX (4, 800), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5741 1.7 christos {"evstdd", VX (4, 801), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5742 1.7 christos {"evstdwx", VX (4, 802), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5743 1.7 christos {"evstdw", VX (4, 803), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5744 1.7 christos {"evstdhx", VX (4, 804), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5745 1.7 christos {"evstdh", VX (4, 805), VX_MASK, PPCSPE, 0, {RS, EVUIMM_8, RA}}, 5746 1.7 christos {"evstwhex", VX (4, 816), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5747 1.7 christos {"evstwhe", VX (4, 817), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5748 1.7 christos {"evstwhox", VX (4, 820), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5749 1.7 christos {"evstwho", VX (4, 821), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5750 1.7 christos {"evstwwex", VX (4, 824), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5751 1.7 christos {"evstwwe", VX (4, 825), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5752 1.7 christos {"evstwwox", VX (4, 828), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5753 1.7 christos {"evstwwo", VX (4, 829), VX_MASK, PPCSPE, 0, {RS, EVUIMM_4, RA}}, 5754 1.7 christos {"vaddshs", VX (4, 832), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5755 1.7 christos {"bcdcpsgn.", VX (4, 833), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5756 1.7 christos {"vminsh", VX (4, 834), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5757 1.11 christos {"vsrah", VX (4, 836), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5758 1.7 christos {"vcmpgtsh", VXR(4, 838,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5759 1.7 christos {"vmulesh", VX (4, 840), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5760 1.7 christos {"vcfsx", VX (4, 842), VX_MASK, PPCVEC, 0, {VD, VB, UIMM}}, 5761 1.11 christos {"vcsxwfp", VX (4, 842), VX_MASK, PPCVEC, EXT, {VD, VB, UIMM}}, 5762 1.7 christos {"vspltish", VX (4, 844), VXVB_MASK, PPCVEC, 0, {VD, SIMM}}, 5763 1.7 christos {"vinserth", VX (4, 845), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5764 1.7 christos {"vupkhpx", VX (4, 846), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5765 1.7 christos {"vinshrx", VX (4, 847), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5766 1.7 christos {"mullhw", XRC(4, 424,0), X_MASK, MULHW, 0, {RT, RA, RB}}, 5767 1.7 christos {"mullhw.", XRC(4, 424,1), X_MASK, MULHW, 0, {RT, RA, RB}}, 5768 1.7 christos {"maclhw", XO (4, 428,0,0),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5769 1.7 christos {"maclhw.", XO (4, 428,0,1),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5770 1.7 christos {"nmaclhw", XO (4, 430,0,0),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5771 1.7 christos {"nmaclhw.", XO (4, 430,0,1),XO_MASK, MULHW, 0, {RT, RA, RB}}, 5772 1.11 christos {"vaddsws", VX (4, 896), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5773 1.7 christos {"vminsw", VX (4, 898), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5774 1.11 christos {"vsraw", VX (4, 900), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5775 1.7 christos {"vcmpgtsw", VXR(4, 902,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5776 1.11 christos {"vcmpgtsq", VXR(4, 903,0), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 5777 1.11 christos {"vmulesw", VX (4, 904), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5778 1.7 christos {"vmulhsw", VX (4, 905), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5779 1.7 christos {"vctuxs", VX (4, 906), VX_MASK, PPCVEC, 0, {VD, VB, UIMM}}, 5780 1.11 christos {"vcfpuxws", VX (4, 906), VX_MASK, PPCVEC, EXT, {VD, VB, UIMM}}, 5781 1.7 christos {"vdivesw", VX (4, 907), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5782 1.7 christos {"vspltisw", VX (4, 908), VXVB_MASK, PPCVEC, 0, {VD, SIMM}}, 5783 1.7 christos {"vinsertw", VX (4, 909), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5784 1.7 christos {"vinswrx", VX (4, 911), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5785 1.7 christos {"maclhwsu", XO (4, 460,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5786 1.7 christos {"maclhwsu.", XO (4, 460,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5787 1.11 christos {"vminsd", VX (4, 962), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5788 1.11 christos {"vsrad", VX (4, 964), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5789 1.7 christos {"vcmpbfp", VXR(4, 966,0), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5790 1.11 christos {"vcmpgtsd", VXR(4, 967,0), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5791 1.11 christos {"vmulesd", VX (4, 968), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5792 1.7 christos {"vmulhsd", VX (4, 969), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5793 1.7 christos {"vctsxs", VX (4, 970), VX_MASK, PPCVEC, 0, {VD, VB, UIMM}}, 5794 1.11 christos {"vcfpsxws", VX (4, 970), VX_MASK, PPCVEC, EXT, {VD, VB, UIMM}}, 5795 1.7 christos {"vdivesd", VX (4, 971), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5796 1.7 christos {"vinsertd", VX (4, 973), VXUIMM4_MASK, PPCVEC3, 0, {VD, VB, UIMM4}}, 5797 1.7 christos {"vupklpx", VX (4, 974), VXVA_MASK, PPCVEC, 0, {VD, VB}}, 5798 1.7 christos {"vinsdrx", VX (4, 975), VX_MASK, POWER10, 0, {VD, RA, RB}}, 5799 1.7 christos {"maclhws", XO (4, 492,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5800 1.7 christos {"maclhws.", XO (4, 492,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5801 1.7 christos {"nmaclhws", XO (4, 494,0,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5802 1.7 christos {"nmaclhws.", XO (4, 494,0,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5803 1.7 christos {"vsububm", VX (4,1024), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5804 1.7 christos {"bcdadd.", VX (4,1025), VXPS_MASK, PPCVEC2, 0, {VD, VA, VB, PS}}, 5805 1.7 christos {"vavgub", VX (4,1026), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5806 1.7 christos {"vabsdub", VX (4,1027), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5807 1.8 christos {"evmhessf", VX (4,1027), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5808 1.8 christos {"vand", VX (4,1028), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5809 1.7 christos {"vcmpequb.", VXR(4, 6,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5810 1.7 christos {"vcmpneb.", VXR(4, 7,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5811 1.7 christos {"udi0fcm.", APU(4, 515,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5812 1.7 christos {"udi0fcm", APU(4, 515,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5813 1.7 christos {"evmhossf", VX (4,1031), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5814 1.7 christos {"vpmsumb", VX (4,1032), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5815 1.7 christos {"evmheumi", VX (4,1032), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5816 1.7 christos {"evmhesmi", VX (4,1033), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5817 1.11 christos {"vmaxfp", VX (4,1034), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5818 1.11 christos {"evmhesmf", VX (4,1035), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5819 1.11 christos {"evmhoumi", VX (4,1036), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5820 1.11 christos {"vslo", VX (4,1036), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5821 1.7 christos {"vstribl.", VXVA(4,1037,0), VXVA_MASK, POWER10, 0, {VD, VB}}, 5822 1.7 christos {"vstribr.", VXVA(4,1037,1), VXVA_MASK, POWER10, 0, {VD, VB}}, 5823 1.7 christos {"vstrihl.", VXVA(4,1037,2), VXVA_MASK, POWER10, 0, {VD, VB}}, 5824 1.7 christos {"vstrihr.", VXVA(4,1037,3), VXVA_MASK, POWER10, 0, {VD, VB}}, 5825 1.7 christos {"evmhosmi", VX (4,1037), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5826 1.7 christos {"evmhosmf", VX (4,1039), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5827 1.7 christos {"machhwuo", XO (4, 12,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5828 1.7 christos {"machhwuo.", XO (4, 12,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5829 1.7 christos {"ps_merge00", XOPS(4,528,0), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5830 1.7 christos {"ps_merge00.", XOPS(4,528,1), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5831 1.7 christos {"evmhessfa", VX (4,1059), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5832 1.7 christos {"evmhossfa", VX (4,1063), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5833 1.7 christos {"evmheumia", VX (4,1064), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5834 1.7 christos {"evmhesmia", VX (4,1065), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5835 1.7 christos {"evmhesmfa", VX (4,1067), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5836 1.7 christos {"evmhoumia", VX (4,1068), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5837 1.7 christos {"evmhosmia", VX (4,1069), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5838 1.8 christos {"evmhosmfa", VX (4,1071), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5839 1.7 christos {"vsubuhm", VX (4,1088), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5840 1.7 christos {"bcdsub.", VX (4,1089), VXPS_MASK, PPCVEC2, 0, {VD, VA, VB, PS}}, 5841 1.7 christos {"vavguh", VX (4,1090), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5842 1.8 christos {"evmwlssf", VX (4,1091), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5843 1.8 christos {"vabsduh", VX (4,1091), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5844 1.7 christos {"vandc", VX (4,1092), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5845 1.7 christos {"vcmpequh.", VXR(4, 70,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5846 1.7 christos {"udi1fcm.", APU(4, 547,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5847 1.7 christos {"udi1fcm", APU(4, 547,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5848 1.7 christos {"vcmpneh.", VXR(4, 71,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5849 1.8 christos {"evmwhssf", VX (4,1095), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5850 1.7 christos {"vpmsumh", VX (4,1096), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5851 1.7 christos {"evmwlumi", VX (4,1096), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5852 1.7 christos {"vminfp", VX (4,1098), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5853 1.7 christos {"evmwlsmf", VX (4,1099), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5854 1.7 christos {"evmwhumi", VX (4,1100), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5855 1.7 christos {"vsro", VX (4,1100), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5856 1.7 christos {"evmwhsmi", VX (4,1101), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5857 1.7 christos {"vpkudum", VX (4,1102), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5858 1.7 christos {"evmwhsmf", VX (4,1103), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5859 1.7 christos {"evmwssf", VX (4,1107), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5860 1.7 christos {"machhwo", XO (4, 44,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5861 1.7 christos {"evmwumi", VX (4,1112), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5862 1.7 christos {"machhwo.", XO (4, 44,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5863 1.7 christos {"evmwsmi", VX (4,1113), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5864 1.7 christos {"evmwsmf", VX (4,1115), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5865 1.8 christos {"nmachhwo", XO (4, 46,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5866 1.7 christos {"nmachhwo.", XO (4, 46,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5867 1.7 christos {"ps_merge01", XOPS(4,560,0), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5868 1.8 christos {"ps_merge01.", XOPS(4,560,1), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5869 1.7 christos {"evmwlssfa", VX (4,1123), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5870 1.7 christos {"evmwhssfa", VX (4,1127), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5871 1.7 christos {"evmwlumia", VX (4,1128), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5872 1.7 christos {"evmwlsmfa", VX (4,1131), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5873 1.7 christos {"evmwhumia", VX (4,1132), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5874 1.7 christos {"evmwhsmia", VX (4,1133), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5875 1.7 christos {"evmwhsmfa", VX (4,1135), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5876 1.7 christos {"evmwssfa", VX (4,1139), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5877 1.7 christos {"evmwumia", VX (4,1144), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5878 1.7 christos {"evmwsmia", VX (4,1145), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5879 1.7 christos {"evmwsmfa", VX (4,1147), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5880 1.11 christos {"vsubuwm", VX (4,1152), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5881 1.7 christos {"bcdus.", VX (4,1153), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5882 1.7 christos {"vavguw", VX (4,1154), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5883 1.7 christos {"vabsduw", VX (4,1155), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5884 1.7 christos {"vmr", VX (4,1156), VX_MASK, PPCVEC, EXT, {VD, VAB}}, 5885 1.8 christos {"vor", VX (4,1156), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5886 1.8 christos {"vcmpnew.", VXR(4, 135,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5887 1.7 christos {"vpmsumw", VX (4,1160), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5888 1.7 christos {"vcmpequw.", VXR(4, 134,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5889 1.7 christos {"udi2fcm.", APU(4, 579,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5890 1.7 christos {"udi2fcm", APU(4, 579,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5891 1.7 christos {"machhwsuo", XO (4, 76,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5892 1.7 christos {"machhwsuo.", XO (4, 76,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5893 1.7 christos {"ps_merge10", XOPS(4,592,0), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5894 1.7 christos {"ps_merge10.", XOPS(4,592,1), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5895 1.7 christos {"vsubudm", VX (4,1216), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5896 1.7 christos {"evaddusiaaw", VX (4,1216), VX_MASK, PPCSPE, 0, {RS, RA}}, 5897 1.7 christos {"bcds.", VX (4,1217), VXPS_MASK, PPCVEC3, 0, {VD, VA, VB, PS}}, 5898 1.7 christos {"evaddssiaaw", VX (4,1217), VX_MASK, PPCSPE, 0, {RS, RA}}, 5899 1.7 christos {"evsubfusiaaw",VX (4,1218), VX_MASK, PPCSPE, 0, {RS, RA}}, 5900 1.7 christos {"evsubfssiaaw",VX (4,1219), VX_MASK, PPCSPE, 0, {RS, RA}}, 5901 1.8 christos {"evmra", VX (4,1220), VX_MASK, PPCSPE, 0, {RS, RA}}, 5902 1.7 christos {"vxor", VX (4,1220), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5903 1.8 christos {"evdivws", VX (4,1222), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5904 1.7 christos {"vcmpeqfp.", VXR(4, 198,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 5905 1.7 christos {"udi3fcm.", APU(4, 611,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5906 1.7 christos {"vcmpequd.", VXR(4, 199,1), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5907 1.7 christos {"udi3fcm", APU(4, 611,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5908 1.7 christos {"evdivwu", VX (4,1223), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5909 1.7 christos {"vpmsumd", VX (4,1224), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5910 1.11 christos {"evaddumiaaw", VX (4,1224), VX_MASK, PPCSPE, 0, {RS, RA}}, 5911 1.7 christos {"evaddsmiaaw", VX (4,1225), VX_MASK, PPCSPE, 0, {RS, RA}}, 5912 1.7 christos {"evsubfumiaaw",VX (4,1226), VX_MASK, PPCSPE, 0, {RS, RA}}, 5913 1.7 christos {"evsubfsmiaaw",VX (4,1227), VX_MASK, PPCSPE, 0, {RS, RA}}, 5914 1.7 christos {"vgnb", VX (4,1228), VX_MASK, POWER10, 0, {RT, VB, UIMM3}}, 5915 1.7 christos {"vpkudus", VX (4,1230), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5916 1.7 christos {"machhwso", XO (4, 108,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5917 1.7 christos {"machhwso.", XO (4, 108,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5918 1.7 christos {"nmachhwso", XO (4, 110,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5919 1.7 christos {"nmachhwso.", XO (4, 110,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5920 1.7 christos {"ps_merge11", XOPS(4,624,0), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5921 1.7 christos {"ps_merge11.", XOPS(4,624,1), XOPS_MASK, PPCPS, 0, {FRT, FRA, FRB}}, 5922 1.7 christos {"vsubuqm", VX (4,1280), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5923 1.7 christos {"evmheusiaaw", VX (4,1280), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5924 1.7 christos {"bcdtrunc.", VX (4,1281), VXPS_MASK, PPCVEC3, 0, {VD, VA, VB, PS}}, 5925 1.11 christos {"evmhessiaaw", VX (4,1281), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5926 1.7 christos {"vavgsb", VX (4,1282), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5927 1.7 christos {"evmhessfaaw", VX (4,1283), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5928 1.8 christos {"evmhousiaaw", VX (4,1284), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5929 1.8 christos {"vnot", VX (4,1284), VX_MASK, PPCVEC, EXT, {VD, VAB}}, 5930 1.7 christos {"vnor", VX (4,1284), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5931 1.7 christos {"evmhossiaaw", VX (4,1285), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5932 1.7 christos {"udi4fcm.", APU(4, 643,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5933 1.7 christos {"udi4fcm", APU(4, 643,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5934 1.7 christos {"vcmpnezb.", VXR(4, 263,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5935 1.7 christos {"evmhossfaaw", VX (4,1287), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5936 1.7 christos {"evmheumiaaw", VX (4,1288), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5937 1.7 christos {"vcipher", VX (4,1288), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5938 1.7 christos {"vcipherlast", VX (4,1289), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5939 1.7 christos {"evmhesmiaaw", VX (4,1289), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5940 1.7 christos {"evmhesmfaaw", VX (4,1291), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5941 1.7 christos {"vgbbd", VX (4,1292), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 5942 1.7 christos {"evmhoumiaaw", VX (4,1292), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5943 1.7 christos {"evmhosmiaaw", VX (4,1293), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5944 1.7 christos {"evmhosmfaaw", VX (4,1295), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5945 1.7 christos {"macchwuo", XO (4, 140,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5946 1.7 christos {"macchwuo.", XO (4, 140,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5947 1.7 christos {"evmhegumiaa", VX (4,1320), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5948 1.7 christos {"evmhegsmiaa", VX (4,1321), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5949 1.7 christos {"evmhegsmfaa", VX (4,1323), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5950 1.7 christos {"evmhogumiaa", VX (4,1324), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5951 1.7 christos {"evmhogsmiaa", VX (4,1325), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5952 1.7 christos {"evmhogsmfaa", VX (4,1327), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5953 1.7 christos {"vsubcuq", VX (4,1344), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5954 1.8 christos {"evmwlusiaaw", VX (4,1344), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5955 1.8 christos {"bcdutrunc.", VX (4,1345), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5956 1.7 christos {"evmwlssiaaw", VX (4,1345), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5957 1.8 christos {"vavgsh", VX (4,1346), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5958 1.8 christos {"evmwlssfaaw", VX (4,1347), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5959 1.8 christos {"evmwhusiaa", VX (4,1348), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5960 1.7 christos {"vorc", VX (4,1348), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5961 1.8 christos {"evmwhssmaa", VX (4,1349), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5962 1.7 christos {"udi5fcm.", APU(4, 675,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5963 1.7 christos {"udi5fcm", APU(4, 675,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 5964 1.7 christos {"vcmpnezh.", VXR(4, 327,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 5965 1.7 christos {"evmwhssfaa", VX (4,1351), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5966 1.8 christos {"vncipher", VX (4,1352), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5967 1.8 christos {"evmwlumiaaw", VX (4,1352), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5968 1.7 christos {"vncipherlast",VX (4,1353), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5969 1.11 christos {"evmwlsmiaaw", VX (4,1353), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5970 1.8 christos {"evmwlsmfaaw", VX (4,1355), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5971 1.7 christos {"evmwhumiaa", VX (4,1356), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5972 1.8 christos {"vbpermq", VX (4,1356), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5973 1.7 christos {"vcfuged", VX (4,1357), VX_MASK, POWER10, 0, {VD, VA, VB}}, 5974 1.7 christos {"evmwhsmiaa", VX (4,1357), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5975 1.7 christos {"vpksdus", VX (4,1358), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 5976 1.7 christos {"evmwhsmfaa", VX (4,1359), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5977 1.7 christos {"evmwssfaa", VX (4,1363), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5978 1.7 christos {"macchwo", XO (4, 172,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5979 1.7 christos {"evmwumiaa", VX (4,1368), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5980 1.7 christos {"macchwo.", XO (4, 172,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5981 1.8 christos {"evmwsmiaa", VX (4,1369), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5982 1.8 christos {"evmwsmfaa", VX (4,1371), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5983 1.8 christos {"nmacchwo", XO (4, 174,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5984 1.8 christos {"nmacchwo.", XO (4, 174,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 5985 1.7 christos {"evmwhgumiaa", VX (4,1380), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5986 1.7 christos {"evmwhgsmiaa", VX (4,1381), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5987 1.7 christos {"evmwhgssfaa", VX (4,1383), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5988 1.7 christos {"evmwhgsmfaa", VX (4,1391), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 5989 1.7 christos {"evmheusianw", VX (4,1408), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5990 1.7 christos {"vsubcuw", VX (4,1408), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 5991 1.7 christos {"evmhessianw", VX (4,1409), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 5992 1.7 christos {"bcdctsq.", VXVA(4,1409,0), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 5993 1.7 christos {"bcdcfsq.", VXVA(4,1409,2), VXVAPS_MASK, PPCVEC3, 0, {VD, VB, PS}}, 5994 1.7 christos {"bcdctz.", VXVA(4,1409,4), VXVAPS_MASK, PPCVEC3, 0, {VD, VB, PS}}, 5995 1.7 christos {"bcdctn.", VXVA(4,1409,5), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 5996 1.7 christos {"bcdcfz.", VXVA(4,1409,6), VXVAPS_MASK, PPCVEC3, 0, {VD, VB, PS}}, 5997 1.7 christos {"bcdcfn.", VXVA(4,1409,7), VXVAPS_MASK, PPCVEC3, 0, {VD, VB, PS}}, 5998 1.7 christos {"bcdsetsgn.", VXVA(4,1409,31), VXVAPS_MASK, PPCVEC3, 0, {VD, VB, PS}}, 5999 1.7 christos {"vavgsw", VX (4,1410), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6000 1.8 christos {"evmhessfanw", VX (4,1411), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6001 1.8 christos {"vnand", VX (4,1412), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6002 1.7 christos {"evmhousianw", VX (4,1412), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6003 1.7 christos {"evmhossianw", VX (4,1413), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6004 1.7 christos {"udi6fcm.", APU(4, 707,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 6005 1.7 christos {"udi6fcm", APU(4, 707,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 6006 1.7 christos {"vcmpnezw.", VXR(4, 391,1), VXR_MASK, PPCVEC3, 0, {VD, VA, VB}}, 6007 1.7 christos {"evmhossfanw", VX (4,1415), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6008 1.11 christos {"evmheumianw", VX (4,1416), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6009 1.7 christos {"evmhesmianw", VX (4,1417), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6010 1.7 christos {"evmhesmfanw", VX (4,1419), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6011 1.7 christos {"evmhoumianw", VX (4,1420), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6012 1.7 christos {"vpextd", VX (4,1421), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6013 1.7 christos {"evmhosmianw", VX (4,1421), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6014 1.7 christos {"evmhosmfanw", VX (4,1423), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6015 1.7 christos {"macchwsuo", XO (4, 204,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6016 1.7 christos {"macchwsuo.", XO (4, 204,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6017 1.7 christos {"evmhegumian", VX (4,1448), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6018 1.7 christos {"evmhegsmian", VX (4,1449), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6019 1.7 christos {"evmhegsmfan", VX (4,1451), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6020 1.7 christos {"evmhogumian", VX (4,1452), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6021 1.7 christos {"evmhogsmian", VX (4,1453), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6022 1.8 christos {"evmhogsmfan", VX (4,1455), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6023 1.8 christos {"evmwlusianw", VX (4,1472), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6024 1.7 christos {"bcdsr.", VX (4,1473), VXPS_MASK, PPCVEC3, 0, {VD, VA, VB, PS}}, 6025 1.8 christos {"evmwlssianw", VX (4,1473), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6026 1.7 christos {"evmwlssfanw", VX (4,1475), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6027 1.8 christos {"evmwhusian", VX (4,1476), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6028 1.8 christos {"vsld", VX (4,1476), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6029 1.11 christos {"evmwhssian", VX (4,1477), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6030 1.8 christos {"vcmpgefp.", VXR(4, 454,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6031 1.7 christos {"udi7fcm.", APU(4, 739,0), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 6032 1.7 christos {"udi7fcm", APU(4, 739,1), APU_MASK, PPC405|PPC440, 0, {URT, URA, URB}}, 6033 1.7 christos {"vcmpequq.", VXR(4, 455,1), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 6034 1.8 christos {"evmwhssfan", VX (4,1479), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6035 1.8 christos {"vsbox", VX (4,1480), VXVB_MASK, PPCVEC2, 0, {VD, VA}}, 6036 1.7 christos {"evmwlumianw", VX (4,1480), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6037 1.11 christos {"evmwlsmianw", VX (4,1481), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6038 1.8 christos {"evmwlsmfanw", VX (4,1483), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6039 1.7 christos {"evmwhumian", VX (4,1484), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6040 1.8 christos {"vbpermd", VX (4,1484), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 6041 1.7 christos {"vpdepd", VX (4,1485), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6042 1.7 christos {"evmwhsmian", VX (4,1485), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6043 1.7 christos {"vpksdss", VX (4,1486), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6044 1.7 christos {"evmwhsmfan", VX (4,1487), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6045 1.7 christos {"evmwssfan", VX (4,1491), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6046 1.7 christos {"macchwso", XO (4, 236,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6047 1.8 christos {"evmwumian", VX (4,1496), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6048 1.8 christos {"macchwso.", XO (4, 236,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6049 1.8 christos {"evmwsmian", VX (4,1497), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6050 1.8 christos {"evmwsmfan", VX (4,1499), VX_MASK, PPCSPE, 0, {RS, RA, RB}}, 6051 1.7 christos {"evmwhgumian", VX (4,1508), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6052 1.7 christos {"evmwhgsmian", VX (4,1509), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6053 1.7 christos {"evmwhgssfan", VX (4,1511), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6054 1.7 christos {"evmwhgsmfan", VX (4,1519), VX_MASK, PPCSPE, 0, {RD, RA, RB}}, 6055 1.7 christos {"nmacchwso", XO (4, 238,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6056 1.7 christos {"nmacchwso.", XO (4, 238,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6057 1.7 christos {"vsububs", VX (4,1536), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6058 1.7 christos {"vclzlsbb", VXVA(4,1538,0), VXVA_MASK, PPCVEC3, 0, {RT, VB}}, 6059 1.7 christos {"vctzlsbb", VXVA(4,1538,1), VXVA_MASK, PPCVEC3, 0, {RT, VB}}, 6060 1.7 christos {"vnegw", VXVA(4,1538,6), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6061 1.7 christos {"vnegd", VXVA(4,1538,7), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6062 1.7 christos {"vprtybw", VXVA(4,1538,8), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6063 1.7 christos {"vprtybd", VXVA(4,1538,9), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6064 1.7 christos {"vprtybq", VXVA(4,1538,10), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6065 1.7 christos {"vextsb2w", VXVA(4,1538,16), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6066 1.11 christos {"vextsh2w", VXVA(4,1538,17), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6067 1.7 christos {"vextsb2d", VXVA(4,1538,24), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6068 1.7 christos {"vextsh2d", VXVA(4,1538,25), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6069 1.7 christos {"vextsw2d", VXVA(4,1538,26), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6070 1.7 christos {"vextsd2q", VXVA(4,1538,27), VXVA_MASK, POWER10, 0, {VD, VB}}, 6071 1.7 christos {"vctzb", VXVA(4,1538,28), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6072 1.7 christos {"vctzh", VXVA(4,1538,29), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6073 1.8 christos {"vctzw", VXVA(4,1538,30), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6074 1.8 christos {"vctzd", VXVA(4,1538,31), VXVA_MASK, PPCVEC3, 0, {VD, VB}}, 6075 1.7 christos {"mfvscr", VX (4,1540), VXVAVB_MASK, PPCVEC, 0, {VD}}, 6076 1.11 christos {"vcmpgtub.", VXR(4, 518,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6077 1.7 christos {"udi8fcm.", APU(4, 771,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6078 1.7 christos {"udi8fcm", APU(4, 771,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6079 1.11 christos {"vsum4ubs", VX (4,1544), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6080 1.11 christos {"vmoduq", VX (4,1547), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6081 1.11 christos {"vextublx", VX (4,1549), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6082 1.11 christos {"vsubuhs", VX (4,1600), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6083 1.11 christos 6084 1.11 christos {"vexpandbm", VXVA(4,1602,0), VXVA_MASK, POWER10, 0, {VD, VB}}, 6085 1.11 christos {"vexpandhm", VXVA(4,1602,1), VXVA_MASK, POWER10, 0, {VD, VB}}, 6086 1.11 christos {"vexpandwm", VXVA(4,1602,2), VXVA_MASK, POWER10, 0, {VD, VB}}, 6087 1.11 christos {"vexpanddm", VXVA(4,1602,3), VXVA_MASK, POWER10, 0, {VD, VB}}, 6088 1.11 christos {"vexpandqm", VXVA(4,1602,4), VXVA_MASK, POWER10, 0, {VD, VB}}, 6089 1.11 christos {"vextractbm", VXVA(4,1602,8), VXVA_MASK, POWER10, 0, {RT, VB}}, 6090 1.11 christos {"vextracthm", VXVA(4,1602,9), VXVA_MASK, POWER10, 0, {RT, VB}}, 6091 1.11 christos {"vextractwm", VXVA(4,1602,10), VXVA_MASK, POWER10, 0, {RT, VB}}, 6092 1.11 christos {"vextractdm", VXVA(4,1602,11), VXVA_MASK, POWER10, 0, {RT, VB}}, 6093 1.11 christos {"vextractqm", VXVA(4,1602,12), VXVA_MASK, POWER10, 0, {RT, VB}}, 6094 1.11 christos {"mtvsrbm", VXVA(4,1602,16), VXVA_MASK, POWER10, 0, {VD, RB}}, 6095 1.11 christos {"mtvsrhm", VXVA(4,1602,17), VXVA_MASK, POWER10, 0, {VD, RB}}, 6096 1.11 christos {"mtvsrwm", VXVA(4,1602,18), VXVA_MASK, POWER10, 0, {VD, RB}}, 6097 1.11 christos {"mtvsrdm", VXVA(4,1602,19), VXVA_MASK, POWER10, 0, {VD, RB}}, 6098 1.11 christos {"mtvsrqm", VXVA(4,1602,20), VXVA_MASK, POWER10, 0, {VD, RB}}, 6099 1.11 christos {"vcntmbb", VXVA(4,1602,24), VXVAM_MASK, POWER10, 0, {RT, VB, MP}}, 6100 1.7 christos {"vcntmbh", VXVA(4,1602,26), VXVAM_MASK, POWER10, 0, {RT, VB, MP}}, 6101 1.7 christos {"vcntmbw", VXVA(4,1602,28), VXVAM_MASK, POWER10, 0, {RT, VB, MP}}, 6102 1.7 christos {"vcntmbd", VXVA(4,1602,30), VXVAM_MASK, POWER10, 0, {RT, VB, MP}}, 6103 1.8 christos 6104 1.8 christos {"mtvscr", VX (4,1604), VXVDVA_MASK, PPCVEC, 0, {VB}}, 6105 1.7 christos {"vcmpgtuh.", VXR(4, 582,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6106 1.7 christos {"vsum4shs", VX (4,1608), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6107 1.7 christos {"udi9fcm.", APU(4, 804,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6108 1.7 christos {"udi9fcm", APU(4, 804,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6109 1.7 christos {"vextuhlx", VX (4,1613), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6110 1.7 christos {"vupkhsw", VX (4,1614), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6111 1.8 christos {"vsubuws", VX (4,1664), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6112 1.11 christos {"vshasigmaw", VX (4,1666), VX_MASK, PPCVEC2, 0, {VD, VA, ST, SIX}}, 6113 1.8 christos {"veqv", VX (4,1668), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6114 1.7 christos {"vcmpgtuw.", VXR(4, 646,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6115 1.11 christos {"udi10fcm.", APU(4, 835,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6116 1.7 christos {"vcmpgtuq.", VXR(4, 647,1), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 6117 1.7 christos {"udi10fcm", APU(4, 835,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6118 1.7 christos {"vsum2sws", VX (4,1672), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6119 1.7 christos {"vmoduw", VX (4,1675), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6120 1.7 christos {"vmrgow", VX (4,1676), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6121 1.8 christos {"vextuwlx", VX (4,1677), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6122 1.7 christos {"vshasigmad", VX (4,1730), VX_MASK, PPCVEC2, 0, {VD, VA, ST, SIX}}, 6123 1.8 christos {"vsrd", VX (4,1732), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6124 1.11 christos {"vcmpgtfp.", VXR(4, 710,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6125 1.7 christos {"udi11fcm.", APU(4, 867,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6126 1.7 christos {"vcmpgtud.", VXR(4, 711,1), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6127 1.7 christos {"udi11fcm", APU(4, 867,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6128 1.7 christos {"vmodud", VX (4,1739), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6129 1.7 christos {"vupklsw", VX (4,1742), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6130 1.7 christos {"vsubsbs", VX (4,1792), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6131 1.8 christos {"vclzb", VX (4,1794), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6132 1.8 christos {"vpopcntb", VX (4,1795), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6133 1.7 christos {"vsrv", VX (4,1796), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 6134 1.11 christos {"vcmpgtsb.", VXR(4, 774,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6135 1.7 christos {"udi12fcm.", APU(4, 899,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6136 1.7 christos {"udi12fcm", APU(4, 899,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6137 1.7 christos {"vsum4sbs", VX (4,1800), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6138 1.7 christos {"vmodsq", VX (4,1803), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6139 1.7 christos {"vextubrx", VX (4,1805), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6140 1.7 christos {"maclhwuo", XO (4, 396,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6141 1.7 christos {"maclhwuo.", XO (4, 396,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6142 1.7 christos {"vsubshs", VX (4,1856), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6143 1.7 christos {"vclzh", VX (4,1858), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6144 1.8 christos {"vpopcnth", VX (4,1859), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6145 1.8 christos {"vslv", VX (4,1860), VX_MASK, PPCVEC3, 0, {VD, VA, VB}}, 6146 1.7 christos {"vcmpgtsh.", VXR(4, 838,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6147 1.7 christos {"vextuhrx", VX (4,1869), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6148 1.7 christos {"udi13fcm.", APU(4, 931,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6149 1.7 christos {"udi13fcm", APU(4, 931,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6150 1.7 christos {"maclhwo", XO (4, 428,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6151 1.7 christos {"maclhwo.", XO (4, 428,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6152 1.7 christos {"nmaclhwo", XO (4, 430,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6153 1.11 christos {"nmaclhwo.", XO (4, 430,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6154 1.7 christos {"vsubsws", VX (4,1920), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6155 1.8 christos {"vclzw", VX (4,1922), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6156 1.11 christos {"vpopcntw", VX (4,1923), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6157 1.8 christos {"vclzdm", VX (4,1924), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6158 1.7 christos {"vcmpgtsw.", VXR(4, 902,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6159 1.11 christos {"udi14fcm.", APU(4, 963,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6160 1.7 christos {"vcmpgtsq.", VXR(4, 903,1), VXR_MASK, POWER10, 0, {VD, VA, VB}}, 6161 1.7 christos {"udi14fcm", APU(4, 963,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6162 1.7 christos {"vsumsws", VX (4,1928), VX_MASK, PPCVEC, 0, {VD, VA, VB}}, 6163 1.7 christos {"vmodsw", VX (4,1931), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6164 1.7 christos {"vmrgew", VX (4,1932), VX_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6165 1.7 christos {"vextuwrx", VX (4,1933), VX_MASK, PPCVEC3, 0, {RT, RA, VB}}, 6166 1.11 christos {"maclhwsuo", XO (4, 460,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6167 1.7 christos {"maclhwsuo.", XO (4, 460,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6168 1.8 christos {"vclzd", VX (4,1986), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6169 1.7 christos {"vpopcntd", VX (4,1987), VXVA_MASK, PPCVEC2, 0, {VD, VB}}, 6170 1.8 christos {"vctzdm", VX (4,1988), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6171 1.11 christos {"vcmpbfp.", VXR(4, 966,1), VXR_MASK, PPCVEC, 0, {VD, VA, VB}}, 6172 1.7 christos {"udi15fcm.", APU(4, 995,0), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6173 1.7 christos {"vcmpgtsd.", VXR(4, 967,1), VXR_MASK, PPCVEC2, 0, {VD, VA, VB}}, 6174 1.7 christos {"udi15fcm", APU(4, 995,1), APU_MASK, PPC440, 0, {URT, URA, URB}}, 6175 1.7 christos {"vmodsd", VX (4,1995), VX_MASK, POWER10, 0, {VD, VA, VB}}, 6176 1.7 christos {"maclhwso", XO (4, 492,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6177 1.7 christos {"maclhwso.", XO (4, 492,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6178 1.11 christos {"nmaclhwso", XO (4, 494,1,0), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6179 1.12 christos {"nmaclhwso.", XO (4, 494,1,1), XO_MASK, MULHW, 0, {RT, RA, RB}}, 6180 1.11 christos {"dcbz_l", X (4,1014), XRT_MASK, PPCPS, 0, {RA, RB}}, 6181 1.7 christos 6182 1.7 christos {"lxvp", DQXP(6,0), DQXP_MASK, POWER10, PPCVLE, {XTP, DQ, RA0}}, 6183 1.7 christos {"stxvp", DQXP(6,1), DQXP_MASK, POWER10, PPCVLE, {XSP, DQ, RA0}}, 6184 1.7 christos 6185 1.7 christos {"mulli", OP(7), OP_MASK, PPCCOM, PPCVLE, {RT, RA, SI}}, 6186 1.7 christos {"muli", OP(7), OP_MASK, PWRCOM, PPCVLE, {RT, RA, SI}}, 6187 1.7 christos 6188 1.7 christos {"subfic", OP(8), OP_MASK, PPCCOM, PPCVLE, {RT, RA, SI}}, 6189 1.11 christos {"sfi", OP(8), OP_MASK, PWRCOM, PPCVLE, {RT, RA, SI}}, 6190 1.11 christos 6191 1.8 christos {"dozi", OP(9), OP_MASK, M601, PPCVLE, {RT, RA, SI}}, 6192 1.7 christos 6193 1.7 christos {"cmplwi", OPL(10,0), OPL_MASK, PPCCOM, PPCVLE|EXT, {OBF, RA, UISIGNOPT}}, 6194 1.11 christos {"cmpldi", OPL(10,1), OPL_MASK, PPC64, PPCVLE|EXT, {OBF, RA, UISIGNOPT}}, 6195 1.11 christos {"cmpli", OP(10), OP_MASK, PPC, PPCVLE, {BF, L32OPT, RA, UISIGNOPT}}, 6196 1.8 christos {"cmpli", OP(10), OP_MASK, PWRCOM, PPC|PPCVLE, {BF, RA, UISIGNOPT}}, 6197 1.7 christos 6198 1.7 christos {"cmpwi", OPL(11,0), OPL_MASK, PPCCOM, PPCVLE|EXT, {OBF, RA, SI}}, 6199 1.7 christos {"cmpdi", OPL(11,1), OPL_MASK, PPC64, PPCVLE|EXT, {OBF, RA, SI}}, 6200 1.7 christos {"cmpi", OP(11), OP_MASK, PPC, PPCVLE, {BF, L32OPT, RA, SI}}, 6201 1.11 christos {"cmpi", OP(11), OP_MASK, PWRCOM, PPC|PPCVLE, {BF, RA, SI}}, 6202 1.7 christos 6203 1.7 christos {"addic", OP(12), OP_MASK, PPCCOM, PPCVLE, {RT, RA, SI}}, 6204 1.7 christos {"ai", OP(12), OP_MASK, PWRCOM, PPCVLE, {RT, RA, SI}}, 6205 1.11 christos {"subic", OP(12), OP_MASK, PPCCOM, PPCVLE|EXT, {RT, RA, NSI}}, 6206 1.7 christos 6207 1.11 christos {"addic.", OP(13), OP_MASK, PPCCOM, PPCVLE, {RT, RA, SI}}, 6208 1.11 christos {"ai.", OP(13), OP_MASK, PWRCOM, PPCVLE, {RT, RA, SI}}, 6209 1.7 christos {"subic.", OP(13), OP_MASK, PPCCOM, PPCVLE|EXT, {RT, RA, NSI}}, 6210 1.7 christos 6211 1.11 christos {"li", OP(14), DRA_MASK, PPCCOM, PPCVLE|EXT, {RT, SI}}, 6212 1.11 christos {"lil", OP(14), DRA_MASK, PWRCOM, PPCVLE|EXT, {RT, SI}}, 6213 1.7 christos {"addi", OP(14), OP_MASK, PPCCOM, PPCVLE, {RT, RA0, SI}}, 6214 1.11 christos {"cal", OP(14), OP_MASK, PWRCOM, PPCVLE, {RT, D, RA0}}, 6215 1.11 christos {"subi", OP(14), OP_MASK, PPCCOM, PPCVLE|EXT, {RT, RA0, NSI}}, 6216 1.7 christos {"la", OP(14), OP_MASK, PPCCOM, PPCVLE|EXT, {RT, D, RA0}}, 6217 1.7 christos 6218 1.11 christos {"lis", OP(15), DRA_MASK, PPCCOM, PPCVLE|EXT, {RT, SISIGNOPT}}, 6219 1.7 christos {"liu", OP(15), DRA_MASK, PWRCOM, PPCVLE|EXT, {RT, SISIGNOPT}}, 6220 1.11 christos {"addis", OP(15), OP_MASK, PPCCOM, PPCVLE, {RT, RA0, SISIGNOPT}}, 6221 1.11 christos {"cau", OP(15), OP_MASK, PWRCOM, PPCVLE, {RT, RA0, SISIGNOPT}}, 6222 1.11 christos {"subis", OP(15), OP_MASK, PPCCOM, PPCVLE|EXT, {RT, RA0, NSISIGNOPT}}, 6223 1.11 christos 6224 1.11 christos {"bdnz-", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDM}}, 6225 1.11 christos {"bdnz+", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDP}}, 6226 1.11 christos {"bdnz", BBO(16,BODNZ,0,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BD}}, 6227 1.11 christos {"bdn", BBO(16,BODNZ,0,0), BBOATBI_MASK, PWRCOM, PPCVLE|EXT, {BD}}, 6228 1.11 christos {"bdnzl-", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDM}}, 6229 1.11 christos {"bdnzl+", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDP}}, 6230 1.11 christos {"bdnzl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BD}}, 6231 1.11 christos {"bdnl", BBO(16,BODNZ,0,1), BBOATBI_MASK, PWRCOM, PPCVLE|EXT, {BD}}, 6232 1.11 christos {"bdnza-", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDMA}}, 6233 1.11 christos {"bdnza+", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDPA}}, 6234 1.11 christos {"bdnza", BBO(16,BODNZ,1,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDA}}, 6235 1.11 christos {"bdna", BBO(16,BODNZ,1,0), BBOATBI_MASK, PWRCOM, PPCVLE|EXT, {BDA}}, 6236 1.11 christos {"bdnzla-", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDMA}}, 6237 1.11 christos {"bdnzla+", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDPA}}, 6238 1.11 christos {"bdnzla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDA}}, 6239 1.11 christos {"bdnla", BBO(16,BODNZ,1,1), BBOATBI_MASK, PWRCOM, PPCVLE|EXT, {BDA}}, 6240 1.11 christos {"bdz-", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDM}}, 6241 1.11 christos {"bdz+", BBO(16,BODZ,0,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDP}}, 6242 1.11 christos {"bdz", BBO(16,BODZ,0,0), BBOATBI_MASK, COM, PPCVLE|EXT, {BD}}, 6243 1.11 christos {"bdzl-", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDM}}, 6244 1.11 christos {"bdzl+", BBO(16,BODZ,0,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDP}}, 6245 1.11 christos {"bdzl", BBO(16,BODZ,0,1), BBOATBI_MASK, COM, PPCVLE|EXT, {BD}}, 6246 1.11 christos {"bdza-", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDMA}}, 6247 1.11 christos {"bdza+", BBO(16,BODZ,1,0), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDPA}}, 6248 1.11 christos {"bdza", BBO(16,BODZ,1,0), BBOATBI_MASK, COM, PPCVLE|EXT, {BDA}}, 6249 1.11 christos {"bdzla-", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDMA}}, 6250 1.11 christos {"bdzla+", BBO(16,BODZ,1,1), BBOATBI_MASK, PPCCOM, PPCVLE|EXT, {BDPA}}, 6251 1.11 christos {"bdzla", BBO(16,BODZ,1,1), BBOATBI_MASK, COM, PPCVLE|EXT, {BDA}}, 6252 1.11 christos 6253 1.11 christos {"bge-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6254 1.11 christos {"bge+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6255 1.11 christos {"bge", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6256 1.11 christos {"bnl-", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6257 1.11 christos {"bnl+", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6258 1.11 christos {"bnl", BBOCB(16,BOF,CBLT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6259 1.11 christos {"bgel-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6260 1.11 christos {"bgel+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6261 1.11 christos {"bgel", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6262 1.11 christos {"bnll-", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6263 1.11 christos {"bnll+", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6264 1.11 christos {"bnll", BBOCB(16,BOF,CBLT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6265 1.11 christos {"bgea-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6266 1.11 christos {"bgea+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6267 1.11 christos {"bgea", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6268 1.11 christos {"bnla-", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6269 1.11 christos {"bnla+", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6270 1.11 christos {"bnla", BBOCB(16,BOF,CBLT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6271 1.11 christos {"bgela-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6272 1.11 christos {"bgela+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6273 1.11 christos {"bgela", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6274 1.11 christos {"bnlla-", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6275 1.11 christos {"bnlla+", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6276 1.11 christos {"bnlla", BBOCB(16,BOF,CBLT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6277 1.11 christos {"ble-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6278 1.11 christos {"ble+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6279 1.11 christos {"ble", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6280 1.11 christos {"bng-", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6281 1.11 christos {"bng+", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6282 1.11 christos {"bng", BBOCB(16,BOF,CBGT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6283 1.11 christos {"blel-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6284 1.11 christos {"blel+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6285 1.11 christos {"blel", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6286 1.11 christos {"bngl-", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6287 1.11 christos {"bngl+", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6288 1.11 christos {"bngl", BBOCB(16,BOF,CBGT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6289 1.11 christos {"blea-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6290 1.11 christos {"blea+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6291 1.11 christos {"blea", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6292 1.11 christos {"bnga-", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6293 1.11 christos {"bnga+", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6294 1.11 christos {"bnga", BBOCB(16,BOF,CBGT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6295 1.11 christos {"blela-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6296 1.11 christos {"blela+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6297 1.11 christos {"blela", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6298 1.11 christos {"bngla-", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6299 1.11 christos {"bngla+", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6300 1.11 christos {"bngla", BBOCB(16,BOF,CBGT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6301 1.11 christos {"bne-", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6302 1.11 christos {"bne+", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6303 1.11 christos {"bne", BBOCB(16,BOF,CBEQ,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6304 1.11 christos {"bnel-", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6305 1.11 christos {"bnel+", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6306 1.11 christos {"bnel", BBOCB(16,BOF,CBEQ,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6307 1.11 christos {"bnea-", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6308 1.11 christos {"bnea+", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6309 1.11 christos {"bnea", BBOCB(16,BOF,CBEQ,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6310 1.11 christos {"bnela-", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6311 1.11 christos {"bnela+", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6312 1.11 christos {"bnela", BBOCB(16,BOF,CBEQ,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6313 1.11 christos {"bns-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6314 1.11 christos {"bns+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6315 1.11 christos {"bns", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6316 1.11 christos {"bnu-", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6317 1.11 christos {"bnu+", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6318 1.11 christos {"bnu", BBOCB(16,BOF,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BD}}, 6319 1.11 christos {"bnsl-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6320 1.11 christos {"bnsl+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6321 1.11 christos {"bnsl", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6322 1.11 christos {"bnul-", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6323 1.11 christos {"bnul+", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6324 1.11 christos {"bnul", BBOCB(16,BOF,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BD}}, 6325 1.11 christos {"bnsa-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6326 1.11 christos {"bnsa+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6327 1.11 christos {"bnsa", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6328 1.11 christos {"bnua-", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6329 1.11 christos {"bnua+", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6330 1.11 christos {"bnua", BBOCB(16,BOF,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDA}}, 6331 1.11 christos {"bnsla-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6332 1.11 christos {"bnsla+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6333 1.11 christos {"bnsla", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6334 1.11 christos {"bnula-", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6335 1.11 christos {"bnula+", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6336 1.11 christos {"bnula", BBOCB(16,BOF,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDA}}, 6337 1.11 christos 6338 1.11 christos {"blt-", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6339 1.11 christos {"blt+", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6340 1.11 christos {"blt", BBOCB(16,BOT,CBLT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6341 1.11 christos {"bltl-", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6342 1.11 christos {"bltl+", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6343 1.11 christos {"bltl", BBOCB(16,BOT,CBLT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6344 1.11 christos {"blta-", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6345 1.11 christos {"blta+", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6346 1.11 christos {"blta", BBOCB(16,BOT,CBLT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6347 1.11 christos {"bltla-", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6348 1.11 christos {"bltla+", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6349 1.11 christos {"bltla", BBOCB(16,BOT,CBLT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6350 1.11 christos {"bgt-", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6351 1.11 christos {"bgt+", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6352 1.11 christos {"bgt", BBOCB(16,BOT,CBGT,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6353 1.11 christos {"bgtl-", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6354 1.11 christos {"bgtl+", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6355 1.11 christos {"bgtl", BBOCB(16,BOT,CBGT,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6356 1.11 christos {"bgta-", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6357 1.11 christos {"bgta+", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6358 1.11 christos {"bgta", BBOCB(16,BOT,CBGT,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6359 1.11 christos {"bgtla-", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6360 1.11 christos {"bgtla+", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6361 1.11 christos {"bgtla", BBOCB(16,BOT,CBGT,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6362 1.11 christos {"beq-", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6363 1.11 christos {"beq+", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6364 1.11 christos {"beq", BBOCB(16,BOT,CBEQ,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6365 1.11 christos {"beql-", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6366 1.11 christos {"beql+", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6367 1.11 christos {"beql", BBOCB(16,BOT,CBEQ,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6368 1.11 christos {"beqa-", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6369 1.11 christos {"beqa+", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6370 1.11 christos {"beqa", BBOCB(16,BOT,CBEQ,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6371 1.11 christos {"beqla-", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6372 1.11 christos {"beqla+", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6373 1.11 christos {"beqla", BBOCB(16,BOT,CBEQ,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6374 1.11 christos {"bso-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6375 1.11 christos {"bso+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6376 1.11 christos {"bso", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6377 1.11 christos {"bun-", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6378 1.11 christos {"bun+", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6379 1.11 christos {"bun", BBOCB(16,BOT,CBSO,0,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BD}}, 6380 1.11 christos {"bsol-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6381 1.11 christos {"bsol+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6382 1.11 christos {"bsol", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BD}}, 6383 1.11 christos {"bunl-", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDM}}, 6384 1.11 christos {"bunl+", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDP}}, 6385 1.11 christos {"bunl", BBOCB(16,BOT,CBSO,0,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BD}}, 6386 1.11 christos {"bsoa-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6387 1.11 christos {"bsoa+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6388 1.11 christos {"bsoa", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6389 1.11 christos {"buna-", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6390 1.11 christos {"buna+", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6391 1.11 christos {"buna", BBOCB(16,BOT,CBSO,1,0), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDA}}, 6392 1.11 christos {"bsola-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6393 1.11 christos {"bsola+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6394 1.11 christos {"bsola", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, COM, PPCVLE|EXT, {CR, BDA}}, 6395 1.11 christos {"bunla-", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDMA}}, 6396 1.11 christos {"bunla+", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDPA}}, 6397 1.11 christos {"bunla", BBOCB(16,BOT,CBSO,1,1), BBOATCB_MASK, PPCCOM, PPCVLE|EXT, {CR, BDA}}, 6398 1.11 christos 6399 1.11 christos {"bdnzf-", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6400 1.11 christos {"bdnzf+", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6401 1.11 christos {"bdnzf", BBO(16,BODNZF,0,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6402 1.11 christos {"bdnzfl-", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6403 1.11 christos {"bdnzfl+", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6404 1.11 christos {"bdnzfl", BBO(16,BODNZF,0,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6405 1.11 christos {"bdnzfa-", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6406 1.11 christos {"bdnzfa+", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6407 1.11 christos {"bdnzfa", BBO(16,BODNZF,1,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6408 1.11 christos {"bdnzfla-", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6409 1.11 christos {"bdnzfla+", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6410 1.11 christos {"bdnzfla", BBO(16,BODNZF,1,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6411 1.11 christos {"bdzf-", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6412 1.11 christos {"bdzf+", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6413 1.11 christos {"bdzf", BBO(16,BODZF,0,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6414 1.11 christos {"bdzfl-", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6415 1.11 christos {"bdzfl+", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6416 1.11 christos {"bdzfl", BBO(16,BODZF,0,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6417 1.11 christos {"bdzfa-", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6418 1.11 christos {"bdzfa+", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6419 1.11 christos {"bdzfa", BBO(16,BODZF,1,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6420 1.11 christos {"bdzfla-", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6421 1.11 christos {"bdzfla+", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6422 1.11 christos {"bdzfla", BBO(16,BODZF,1,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6423 1.11 christos 6424 1.11 christos {"bf-", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDM}}, 6425 1.11 christos {"bf+", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDP}}, 6426 1.11 christos {"bf", BBO(16,BOF,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6427 1.11 christos {"bbf", BBO(16,BOF,0,0), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BD}}, 6428 1.11 christos {"bfl-", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDM}}, 6429 1.11 christos {"bfl+", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDP}}, 6430 1.11 christos {"bfl", BBO(16,BOF,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6431 1.11 christos {"bbfl", BBO(16,BOF,0,1), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BD}}, 6432 1.11 christos {"bfa-", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDMA}}, 6433 1.11 christos {"bfa+", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDPA}}, 6434 1.11 christos {"bfa", BBO(16,BOF,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6435 1.11 christos {"bbfa", BBO(16,BOF,1,0), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BDA}}, 6436 1.11 christos {"bfla-", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDMA}}, 6437 1.11 christos {"bfla+", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDPA}}, 6438 1.11 christos {"bfla", BBO(16,BOF,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6439 1.11 christos {"bbfla", BBO(16,BOF,1,1), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BDA}}, 6440 1.11 christos 6441 1.11 christos {"bdnzt-", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6442 1.11 christos {"bdnzt+", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6443 1.11 christos {"bdnzt", BBO(16,BODNZT,0,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6444 1.11 christos {"bdnztl-", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6445 1.11 christos {"bdnztl+", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6446 1.11 christos {"bdnztl", BBO(16,BODNZT,0,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6447 1.11 christos {"bdnzta-", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6448 1.11 christos {"bdnzta+", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6449 1.11 christos {"bdnzta", BBO(16,BODNZT,1,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6450 1.11 christos {"bdnztla-", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6451 1.11 christos {"bdnztla+", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6452 1.11 christos {"bdnztla", BBO(16,BODNZT,1,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6453 1.11 christos {"bdzt-", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6454 1.11 christos {"bdzt+", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6455 1.11 christos {"bdzt", BBO(16,BODZT,0,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6456 1.11 christos {"bdztl-", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDM}}, 6457 1.11 christos {"bdztl+", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDP}}, 6458 1.11 christos {"bdztl", BBO(16,BODZT,0,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6459 1.11 christos {"bdzta-", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6460 1.11 christos {"bdzta+", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6461 1.11 christos {"bdzta", BBO(16,BODZT,1,0), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6462 1.11 christos {"bdztla-", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDMA}}, 6463 1.11 christos {"bdztla+", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BDPA}}, 6464 1.11 christos {"bdztla", BBO(16,BODZT,1,1), BBOY_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6465 1.11 christos 6466 1.11 christos {"bt-", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDM}}, 6467 1.11 christos {"bt+", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDP}}, 6468 1.11 christos {"bt", BBO(16,BOT,0,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6469 1.11 christos {"bbt", BBO(16,BOT,0,0), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BD}}, 6470 1.11 christos {"btl-", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDM}}, 6471 1.11 christos {"btl+", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDP}}, 6472 1.11 christos {"btl", BBO(16,BOT,0,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BD}}, 6473 1.11 christos {"bbtl", BBO(16,BOT,0,1), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BD}}, 6474 1.11 christos {"bta-", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDMA}}, 6475 1.11 christos {"bta+", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDPA}}, 6476 1.11 christos {"bta", BBO(16,BOT,1,0), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6477 1.11 christos {"bbta", BBO(16,BOT,1,0), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BDA}}, 6478 1.7 christos {"btla-", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDMA}}, 6479 1.11 christos {"btla+", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDPA}}, 6480 1.11 christos {"btla", BBO(16,BOT,1,1), BBOAT_MASK, PPCCOM, PPCVLE|EXT, {BI, BDA}}, 6481 1.7 christos {"bbtla", BBO(16,BOT,1,1), BBOAT_MASK, PWRCOM, PPCVLE|EXT, {BI, BDA}}, 6482 1.11 christos 6483 1.11 christos {"bc-", B(16,0,0), B_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BDM}}, 6484 1.7 christos {"bc+", B(16,0,0), B_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BDP}}, 6485 1.11 christos {"bc", B(16,0,0), B_MASK, COM, PPCVLE, {BO, BI, BD}}, 6486 1.11 christos {"bcl-", B(16,0,1), B_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BDM}}, 6487 1.7 christos {"bcl+", B(16,0,1), B_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BDP}}, 6488 1.11 christos {"bcl", B(16,0,1), B_MASK, COM, PPCVLE, {BO, BI, BD}}, 6489 1.11 christos {"bca-", B(16,1,0), B_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BDMA}}, 6490 1.7 christos {"bca+", B(16,1,0), B_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BDPA}}, 6491 1.7 christos {"bca", B(16,1,0), B_MASK, COM, PPCVLE, {BO, BI, BDA}}, 6492 1.7 christos {"bcla-", B(16,1,1), B_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BDMA}}, 6493 1.8 christos {"bcla+", B(16,1,1), B_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BDPA}}, 6494 1.7 christos {"bcla", B(16,1,1), B_MASK, COM, PPCVLE, {BO, BI, BDA}}, 6495 1.7 christos 6496 1.7 christos {"svc", SC(17,0,0), SC_MASK, POWER, PPCVLE, {SVC_LEV, FL1, FL2}}, 6497 1.7 christos {"scv", SC(17,0,1), SC_MASK, POWER9, PPCVLE, {SVC_LEV}}, 6498 1.7 christos {"svcl", SC(17,0,1), SC_MASK, POWER, PPCVLE, {SVC_LEV, FL1, FL2}}, 6499 1.7 christos {"sc", SC(17,1,0), SC_MASK, PPC, PPCVLE, {LEV}}, 6500 1.7 christos {"svca", SC(17,1,0), SC_MASK, PWRCOM, PPCVLE, {SV}}, 6501 1.7 christos {"svcla", SC(17,1,1), SC_MASK, POWER, PPCVLE, {SV}}, 6502 1.7 christos 6503 1.7 christos {"b", B(18,0,0), B_MASK, COM, PPCVLE, {LI}}, 6504 1.7 christos {"bl", B(18,0,1), B_MASK, COM, PPCVLE, {LI}}, 6505 1.7 christos {"ba", B(18,1,0), B_MASK, COM, PPCVLE, {LIA}}, 6506 1.11 christos {"bla", B(18,1,1), B_MASK, COM, PPCVLE, {LIA}}, 6507 1.7 christos 6508 1.11 christos {"mcrf", XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, PPCVLE, {BF, BFA}}, 6509 1.7 christos 6510 1.11 christos {"lnia", DX(19,2), NODX_MASK, POWER9, PPCVLE|EXT, {RT}}, 6511 1.11 christos {"addpcis", DX(19,2), DX_MASK, POWER9, PPCVLE, {RT, DXD}}, 6512 1.11 christos {"subpcis", DX(19,2), DX_MASK, POWER9, PPCVLE|EXT, {RT, NDXD}}, 6513 1.11 christos 6514 1.11 christos {"bdnzlr-", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6515 1.11 christos {"bdnzlr+", XLO(19,BODNZP,16,0), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6516 1.11 christos {"bdnzlr", XLO(19,BODNZ,16,0), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6517 1.11 christos {"bdnzlrl-", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6518 1.11 christos {"bdnzlrl+", XLO(19,BODNZP,16,1), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6519 1.11 christos {"bdnzlrl", XLO(19,BODNZ,16,1), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6520 1.11 christos {"bdzlr-", XLO(19,BODZ,16,0), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6521 1.11 christos {"bdzlr+", XLO(19,BODZP,16,0), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6522 1.11 christos {"bdzlr", XLO(19,BODZ,16,0), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6523 1.11 christos {"bdzlrl-", XLO(19,BODZ,16,1), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6524 1.11 christos {"bdzlrl+", XLO(19,BODZP,16,1), XLBOBIBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BH}}, 6525 1.11 christos {"bdzlrl", XLO(19,BODZ,16,1), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6526 1.11 christos {"blr", XLO(19,BOU,16,0), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6527 1.11 christos {"br", XLO(19,BOU,16,0), XLBOBIBB_MASK, PWRCOM, PPCVLE|EXT, {BH}}, 6528 1.11 christos {"blrl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PPCCOM, PPCVLE|EXT, {BH}}, 6529 1.11 christos {"brl", XLO(19,BOU,16,1), XLBOBIBB_MASK, PWRCOM, PPCVLE|EXT, {BH}}, 6530 1.11 christos {"bdnzlr-", XLO(19,BODNZM4,16,0), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6531 1.11 christos {"bdnzlrl-", XLO(19,BODNZM4,16,1), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6532 1.11 christos {"bdnzlr+", XLO(19,BODNZP4,16,0), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6533 1.11 christos {"bdnzlrl+", XLO(19,BODNZP4,16,1), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6534 1.11 christos {"bdzlr-", XLO(19,BODZM4,16,0), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6535 1.11 christos {"bdzlrl-", XLO(19,BODZM4,16,1), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6536 1.11 christos {"bdzlr+", XLO(19,BODZP4,16,0), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6537 1.11 christos {"bdzlrl+", XLO(19,BODZP4,16,1), XLBOBIBB_MASK, ISA_V2, PPCVLE|EXT, {BH}}, 6538 1.11 christos 6539 1.11 christos {"bgelr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6540 1.11 christos {"bgelr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6541 1.11 christos {"bgelr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6542 1.11 christos {"bger", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6543 1.11 christos {"bnllr-", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6544 1.11 christos {"bnllr+", XLOCB(19,BOFP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6545 1.11 christos {"bnllr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6546 1.11 christos {"bnlr", XLOCB(19,BOF,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6547 1.11 christos {"bgelrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6548 1.11 christos {"bgelrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6549 1.11 christos {"bgelrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6550 1.11 christos {"bgerl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6551 1.11 christos {"bnllrl-", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6552 1.11 christos {"bnllrl+", XLOCB(19,BOFP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6553 1.11 christos {"bnllrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6554 1.11 christos {"bnlrl", XLOCB(19,BOF,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6555 1.11 christos {"blelr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6556 1.11 christos {"blelr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6557 1.11 christos {"blelr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6558 1.11 christos {"bler", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6559 1.11 christos {"bnglr-", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6560 1.11 christos {"bnglr+", XLOCB(19,BOFP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6561 1.11 christos {"bnglr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6562 1.11 christos {"bngr", XLOCB(19,BOF,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6563 1.11 christos {"blelrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6564 1.11 christos {"blelrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6565 1.11 christos {"blelrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6566 1.11 christos {"blerl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6567 1.11 christos {"bnglrl-", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6568 1.11 christos {"bnglrl+", XLOCB(19,BOFP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6569 1.11 christos {"bnglrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6570 1.11 christos {"bngrl", XLOCB(19,BOF,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6571 1.11 christos {"bnelr-", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6572 1.11 christos {"bnelr+", XLOCB(19,BOFP,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6573 1.11 christos {"bnelr", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6574 1.11 christos {"bner", XLOCB(19,BOF,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6575 1.11 christos {"bnelrl-", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6576 1.11 christos {"bnelrl+", XLOCB(19,BOFP,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6577 1.11 christos {"bnelrl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6578 1.11 christos {"bnerl", XLOCB(19,BOF,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6579 1.11 christos {"bnslr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6580 1.11 christos {"bnslr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6581 1.11 christos {"bnslr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6582 1.11 christos {"bnsr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6583 1.11 christos {"bnulr-", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6584 1.11 christos {"bnulr+", XLOCB(19,BOFP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6585 1.11 christos {"bnulr", XLOCB(19,BOF,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6586 1.11 christos {"bnslrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6587 1.11 christos {"bnslrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6588 1.11 christos {"bnslrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6589 1.11 christos {"bnsrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6590 1.11 christos {"bnulrl-", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6591 1.11 christos {"bnulrl+", XLOCB(19,BOFP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6592 1.11 christos {"bnulrl", XLOCB(19,BOF,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6593 1.11 christos {"bgelr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6594 1.11 christos {"bnllr-", XLOCB(19,BOFM4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6595 1.11 christos {"bgelrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6596 1.11 christos {"bnllrl-", XLOCB(19,BOFM4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6597 1.11 christos {"blelr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6598 1.11 christos {"bnglr-", XLOCB(19,BOFM4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6599 1.11 christos {"blelrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6600 1.11 christos {"bnglrl-", XLOCB(19,BOFM4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6601 1.11 christos {"bnelr-", XLOCB(19,BOFM4,CBEQ,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6602 1.11 christos {"bnelrl-", XLOCB(19,BOFM4,CBEQ,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6603 1.11 christos {"bnslr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6604 1.11 christos {"bnulr-", XLOCB(19,BOFM4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6605 1.11 christos {"bnslrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6606 1.11 christos {"bnulrl-", XLOCB(19,BOFM4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6607 1.11 christos {"bgelr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6608 1.11 christos {"bnllr+", XLOCB(19,BOFP4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6609 1.11 christos {"bgelrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6610 1.11 christos {"bnllrl+", XLOCB(19,BOFP4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6611 1.11 christos {"blelr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6612 1.11 christos {"bnglr+", XLOCB(19,BOFP4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6613 1.11 christos {"blelrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6614 1.11 christos {"bnglrl+", XLOCB(19,BOFP4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6615 1.11 christos {"bnelr+", XLOCB(19,BOFP4,CBEQ,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6616 1.11 christos {"bnelrl+", XLOCB(19,BOFP4,CBEQ,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6617 1.11 christos {"bnslr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6618 1.11 christos {"bnulr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6619 1.11 christos {"bnslrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6620 1.11 christos {"bnulrl+", XLOCB(19,BOFP4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6621 1.11 christos {"bltlr-", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6622 1.11 christos {"bltlr+", XLOCB(19,BOTP,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6623 1.11 christos {"bltlr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6624 1.11 christos {"bltr", XLOCB(19,BOT,CBLT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6625 1.11 christos {"bltlrl-", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6626 1.11 christos {"bltlrl+", XLOCB(19,BOTP,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6627 1.11 christos {"bltlrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6628 1.11 christos {"bltrl", XLOCB(19,BOT,CBLT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6629 1.11 christos {"bgtlr-", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6630 1.11 christos {"bgtlr+", XLOCB(19,BOTP,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6631 1.11 christos {"bgtlr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6632 1.11 christos {"bgtr", XLOCB(19,BOT,CBGT,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6633 1.11 christos {"bgtlrl-", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6634 1.11 christos {"bgtlrl+", XLOCB(19,BOTP,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6635 1.11 christos {"bgtlrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6636 1.11 christos {"bgtrl", XLOCB(19,BOT,CBGT,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6637 1.11 christos {"beqlr-", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6638 1.11 christos {"beqlr+", XLOCB(19,BOTP,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6639 1.11 christos {"beqlr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6640 1.11 christos {"beqr", XLOCB(19,BOT,CBEQ,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6641 1.11 christos {"beqlrl-", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6642 1.11 christos {"beqlrl+", XLOCB(19,BOTP,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6643 1.11 christos {"beqlrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6644 1.11 christos {"beqrl", XLOCB(19,BOT,CBEQ,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6645 1.11 christos {"bsolr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6646 1.11 christos {"bsolr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6647 1.11 christos {"bsolr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6648 1.11 christos {"bsor", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6649 1.11 christos {"bunlr-", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6650 1.11 christos {"bunlr+", XLOCB(19,BOTP,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6651 1.11 christos {"bunlr", XLOCB(19,BOT,CBSO,16,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6652 1.11 christos {"bsolrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6653 1.11 christos {"bsolrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6654 1.11 christos {"bsolrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6655 1.11 christos {"bsorl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PWRCOM, PPCVLE|EXT, {CR, BH}}, 6656 1.11 christos {"bunlrl-", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6657 1.11 christos {"bunlrl+", XLOCB(19,BOTP,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6658 1.11 christos {"bunlrl", XLOCB(19,BOT,CBSO,16,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6659 1.11 christos {"bltlr-", XLOCB(19,BOTM4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6660 1.11 christos {"bltlrl-", XLOCB(19,BOTM4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6661 1.11 christos {"bgtlr-", XLOCB(19,BOTM4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6662 1.11 christos {"bgtlrl-", XLOCB(19,BOTM4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6663 1.11 christos {"beqlr-", XLOCB(19,BOTM4,CBEQ,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6664 1.11 christos {"beqlrl-", XLOCB(19,BOTM4,CBEQ,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6665 1.11 christos {"bsolr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6666 1.11 christos {"bunlr-", XLOCB(19,BOTM4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6667 1.11 christos {"bsolrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6668 1.11 christos {"bunlrl-", XLOCB(19,BOTM4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6669 1.11 christos {"bltlr+", XLOCB(19,BOTP4,CBLT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6670 1.11 christos {"bltlrl+", XLOCB(19,BOTP4,CBLT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6671 1.11 christos {"bgtlr+", XLOCB(19,BOTP4,CBGT,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6672 1.11 christos {"bgtlrl+", XLOCB(19,BOTP4,CBGT,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6673 1.11 christos {"beqlr+", XLOCB(19,BOTP4,CBEQ,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6674 1.11 christos {"beqlrl+", XLOCB(19,BOTP4,CBEQ,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6675 1.11 christos {"bsolr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6676 1.11 christos {"bunlr+", XLOCB(19,BOTP4,CBSO,16,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6677 1.11 christos {"bsolrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6678 1.11 christos {"bunlrl+", XLOCB(19,BOTP4,CBSO,16,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6679 1.11 christos 6680 1.11 christos {"bdnzflr-", XLO(19,BODNZF,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6681 1.11 christos {"bdnzflr+", XLO(19,BODNZFP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6682 1.11 christos {"bdnzflr", XLO(19,BODNZF,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6683 1.11 christos {"bdnzflrl-",XLO(19,BODNZF,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6684 1.11 christos {"bdnzflrl+",XLO(19,BODNZFP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6685 1.11 christos {"bdnzflrl", XLO(19,BODNZF,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6686 1.11 christos {"bdzflr-", XLO(19,BODZF,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6687 1.11 christos {"bdzflr+", XLO(19,BODZFP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6688 1.11 christos {"bdzflr", XLO(19,BODZF,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6689 1.11 christos {"bdzflrl-", XLO(19,BODZF,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6690 1.11 christos {"bdzflrl+", XLO(19,BODZFP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6691 1.11 christos {"bdzflrl", XLO(19,BODZF,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6692 1.11 christos {"bflr-", XLO(19,BOF,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6693 1.11 christos {"bflr+", XLO(19,BOFP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6694 1.11 christos {"bflr", XLO(19,BOF,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6695 1.11 christos {"bbfr", XLO(19,BOF,16,0), XLBOBB_MASK, PWRCOM, PPCVLE|EXT, {BI, BH}}, 6696 1.11 christos {"bflrl-", XLO(19,BOF,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6697 1.11 christos {"bflrl+", XLO(19,BOFP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6698 1.11 christos {"bflrl", XLO(19,BOF,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6699 1.11 christos {"bbfrl", XLO(19,BOF,16,1), XLBOBB_MASK, PWRCOM, PPCVLE|EXT, {BI, BH}}, 6700 1.11 christos {"bflr-", XLO(19,BOFM4,16,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6701 1.11 christos {"bflrl-", XLO(19,BOFM4,16,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6702 1.11 christos {"bflr+", XLO(19,BOFP4,16,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6703 1.11 christos {"bflrl+", XLO(19,BOFP4,16,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6704 1.11 christos {"bdnztlr-", XLO(19,BODNZT,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6705 1.11 christos {"bdnztlr+", XLO(19,BODNZTP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6706 1.11 christos {"bdnztlr", XLO(19,BODNZT,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6707 1.11 christos {"bdnztlrl-", XLO(19,BODNZT,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6708 1.11 christos {"bdnztlrl+", XLO(19,BODNZTP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6709 1.11 christos {"bdnztlrl", XLO(19,BODNZT,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6710 1.11 christos {"bdztlr-", XLO(19,BODZT,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6711 1.11 christos {"bdztlr+", XLO(19,BODZTP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6712 1.11 christos {"bdztlr", XLO(19,BODZT,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6713 1.11 christos {"bdztlrl-", XLO(19,BODZT,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6714 1.11 christos {"bdztlrl+", XLO(19,BODZTP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6715 1.11 christos {"bdztlrl", XLO(19,BODZT,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6716 1.11 christos {"btlr-", XLO(19,BOT,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6717 1.11 christos {"btlr+", XLO(19,BOTP,16,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6718 1.11 christos {"btlr", XLO(19,BOT,16,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6719 1.11 christos {"bbtr", XLO(19,BOT,16,0), XLBOBB_MASK, PWRCOM, PPCVLE|EXT, {BI, BH}}, 6720 1.11 christos {"btlrl-", XLO(19,BOT,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6721 1.11 christos {"btlrl+", XLO(19,BOTP,16,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6722 1.11 christos {"btlrl", XLO(19,BOT,16,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6723 1.11 christos {"bbtrl", XLO(19,BOT,16,1), XLBOBB_MASK, PWRCOM, PPCVLE|EXT, {BI, BH}}, 6724 1.7 christos {"btlr-", XLO(19,BOTM4,16,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6725 1.11 christos {"btlrl-", XLO(19,BOTM4,16,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6726 1.11 christos {"btlr+", XLO(19,BOTP4,16,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6727 1.7 christos {"btlrl+", XLO(19,BOTP4,16,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6728 1.10 christos 6729 1.11 christos {"bclr-", XLLK(19,16,0), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BH}}, 6730 1.11 christos {"bclr+", XLLK(19,16,0), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BH}}, 6731 1.7 christos {"bclr", XLLK(19,16,0), XLBH_MASK, PPCCOM, PPCVLE, {BO, BI, BH}}, 6732 1.10 christos {"bcr", XLLK(19,16,0), XLBH_MASK, PWRCOM, PPCVLE, {BO, BI, BH}}, 6733 1.7 christos {"bclrl-", XLLK(19,16,1), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BH}}, 6734 1.7 christos {"bclrl+", XLLK(19,16,1), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BH}}, 6735 1.7 christos {"bclrl", XLLK(19,16,1), XLBH_MASK, PPCCOM, PPCVLE, {BO, BI, BH}}, 6736 1.11 christos {"bcrl", XLLK(19,16,1), XLBH_MASK, PWRCOM, PPCVLE, {BO, BI, BH}}, 6737 1.7 christos 6738 1.11 christos {"rfid", XL(19,18), 0xffffffff, PPC64, PPCVLE, {0}}, 6739 1.7 christos 6740 1.7 christos {"crnot", XL(19,33), XL_MASK, PPCCOM, PPCVLE|EXT, {BT, BAB}}, 6741 1.7 christos {"crnor", XL(19,33), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6742 1.7 christos 6743 1.7 christos {"rfmci", X(19,38), 0xffffffff, PPCRFMCI|PPCA2|PPC476, PPCVLE, {0}}, 6744 1.8 christos {"rfdi", XL(19,39), 0xffffffff, E500MC, PPCVLE, {0}}, 6745 1.7 christos {"rfi", XL(19,50), 0xffffffff, COM, PPCVLE, {0}}, 6746 1.7 christos {"rfci", XL(19,51), 0xffffffff, PPC403|BOOKE|PPCE300|PPCA2|PPC476, PPCVLE, {0}}, 6747 1.7 christos 6748 1.7 christos {"rfscv", XL(19,82), 0xffffffff, POWER9, PPCVLE, {0}}, 6749 1.7 christos {"rfsvc", XL(19,82), 0xffffffff, POWER, PPCVLE, {0}}, 6750 1.7 christos 6751 1.7 christos {"rfgi", XL(19,102), 0xffffffff, E500MC|PPCA2, PPCVLE, {0}}, 6752 1.7 christos 6753 1.7 christos {"crandc", XL(19,129), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6754 1.7 christos 6755 1.7 christos {"rfebb", XL(19,146), XLS_MASK, POWER8, PPCVLE, {SXL}}, 6756 1.11 christos 6757 1.7 christos {"isync", XL(19,150), 0xffffffff, PPCCOM, PPCVLE, {0}}, 6758 1.7 christos {"ics", XL(19,150), 0xffffffff, PWRCOM, PPCVLE, {0}}, 6759 1.7 christos 6760 1.7 christos {"crclr", XL(19,193), XL_MASK, PPCCOM, PPCVLE|EXT, {BTAB}}, 6761 1.7 christos {"crxor", XL(19,193), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6762 1.7 christos 6763 1.7 christos {"dnh", X(19,198), X_MASK, E500MC, PPCVLE, {DUI, DUIS}}, 6764 1.7 christos 6765 1.7 christos {"crnand", XL(19,225), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6766 1.7 christos 6767 1.11 christos {"crand", XL(19,257), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6768 1.7 christos 6769 1.7 christos {"hrfid", XL(19,274), 0xffffffff, POWER5|CELL, PPC476|PPCVLE, {0}}, 6770 1.7 christos 6771 1.7 christos {"crset", XL(19,289), XL_MASK, PPCCOM, PPCVLE|EXT, {BTAB}}, 6772 1.7 christos {"creqv", XL(19,289), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6773 1.7 christos 6774 1.7 christos {"urfid", XL(19,306), 0xffffffff, POWER9, PPCVLE, {0}}, 6775 1.7 christos {"stop", XL(19,370), 0xffffffff, POWER9, PPCVLE, {0}}, 6776 1.7 christos 6777 1.7 christos {"doze", XL(19,402), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, 6778 1.7 christos 6779 1.11 christos {"crorc", XL(19,417), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6780 1.7 christos 6781 1.7 christos {"nap", XL(19,434), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, 6782 1.7 christos 6783 1.7 christos {"crmove", XL(19,449), XL_MASK, PPCCOM, PPCVLE|EXT, {BT, BAB}}, 6784 1.7 christos {"cror", XL(19,449), XL_MASK, COM, PPCVLE, {BT, BA, BB}}, 6785 1.11 christos 6786 1.11 christos {"sleep", XL(19,466), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, 6787 1.11 christos {"rvwinkle", XL(19,498), 0xffffffff, POWER6, POWER9|PPCVLE, {0}}, 6788 1.11 christos 6789 1.11 christos {"bctr", XLO(19,BOU,528,0), XLBOBIBB_MASK, COM, PPCVLE|EXT, {BH}}, 6790 1.11 christos {"bctrl", XLO(19,BOU,528,1), XLBOBIBB_MASK, COM, PPCVLE|EXT, {BH}}, 6791 1.11 christos {"bgectr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6792 1.11 christos {"bgectr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6793 1.11 christos {"bgectr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6794 1.11 christos {"bnlctr-", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6795 1.11 christos {"bnlctr+", XLOCB(19,BOFP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6796 1.11 christos {"bnlctr", XLOCB(19,BOF,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6797 1.11 christos {"bgectrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6798 1.11 christos {"bgectrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6799 1.11 christos {"bgectrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6800 1.11 christos {"bnlctrl-",XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6801 1.11 christos {"bnlctrl+",XLOCB(19,BOFP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6802 1.11 christos {"bnlctrl", XLOCB(19,BOF,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6803 1.11 christos {"blectr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6804 1.11 christos {"blectr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6805 1.11 christos {"blectr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6806 1.11 christos {"bngctr-", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6807 1.11 christos {"bngctr+", XLOCB(19,BOFP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6808 1.11 christos {"bngctr", XLOCB(19,BOF,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6809 1.11 christos {"blectrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6810 1.11 christos {"blectrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6811 1.11 christos {"blectrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6812 1.11 christos {"bngctrl-",XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6813 1.11 christos {"bngctrl+",XLOCB(19,BOFP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6814 1.11 christos {"bngctrl", XLOCB(19,BOF,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6815 1.11 christos {"bnectr-", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6816 1.11 christos {"bnectr+", XLOCB(19,BOFP,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6817 1.11 christos {"bnectr", XLOCB(19,BOF,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6818 1.11 christos {"bnectrl-",XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6819 1.11 christos {"bnectrl+",XLOCB(19,BOFP,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6820 1.11 christos {"bnectrl", XLOCB(19,BOF,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6821 1.11 christos {"bnsctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6822 1.11 christos {"bnsctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6823 1.11 christos {"bnsctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6824 1.11 christos {"bnuctr-", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6825 1.11 christos {"bnuctr+", XLOCB(19,BOFP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6826 1.11 christos {"bnuctr", XLOCB(19,BOF,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6827 1.11 christos {"bnsctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6828 1.11 christos {"bnsctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6829 1.11 christos {"bnsctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6830 1.11 christos {"bnuctrl-",XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6831 1.11 christos {"bnuctrl+",XLOCB(19,BOFP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6832 1.11 christos {"bnuctrl", XLOCB(19,BOF,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6833 1.11 christos {"bgectr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6834 1.11 christos {"bnlctr-", XLOCB(19,BOFM4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6835 1.11 christos {"bgectrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6836 1.11 christos {"bnlctrl-",XLOCB(19,BOFM4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6837 1.11 christos {"blectr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6838 1.11 christos {"bngctr-", XLOCB(19,BOFM4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6839 1.11 christos {"blectrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6840 1.11 christos {"bngctrl-",XLOCB(19,BOFM4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6841 1.11 christos {"bnectr-", XLOCB(19,BOFM4,CBEQ,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6842 1.11 christos {"bnectrl-",XLOCB(19,BOFM4,CBEQ,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6843 1.11 christos {"bnsctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6844 1.11 christos {"bnuctr-", XLOCB(19,BOFM4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6845 1.11 christos {"bnsctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6846 1.11 christos {"bnuctrl-",XLOCB(19,BOFM4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6847 1.11 christos {"bgectr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6848 1.11 christos {"bnlctr+", XLOCB(19,BOFP4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6849 1.11 christos {"bgectrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6850 1.11 christos {"bnlctrl+",XLOCB(19,BOFP4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6851 1.11 christos {"blectr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6852 1.11 christos {"bngctr+", XLOCB(19,BOFP4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6853 1.11 christos {"blectrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6854 1.11 christos {"bngctrl+",XLOCB(19,BOFP4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6855 1.11 christos {"bnectr+", XLOCB(19,BOFP4,CBEQ,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6856 1.11 christos {"bnectrl+",XLOCB(19,BOFP4,CBEQ,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6857 1.11 christos {"bnsctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6858 1.11 christos {"bnuctr+", XLOCB(19,BOFP4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6859 1.11 christos {"bnsctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6860 1.11 christos {"bnuctrl+",XLOCB(19,BOFP4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6861 1.11 christos {"bltctr-", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6862 1.11 christos {"bltctr+", XLOCB(19,BOTP,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6863 1.11 christos {"bltctr", XLOCB(19,BOT,CBLT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6864 1.11 christos {"bltctrl-",XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6865 1.11 christos {"bltctrl+",XLOCB(19,BOTP,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6866 1.11 christos {"bltctrl", XLOCB(19,BOT,CBLT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6867 1.11 christos {"bgtctr-", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6868 1.11 christos {"bgtctr+", XLOCB(19,BOTP,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6869 1.11 christos {"bgtctr", XLOCB(19,BOT,CBGT,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6870 1.11 christos {"bgtctrl-",XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6871 1.11 christos {"bgtctrl+",XLOCB(19,BOTP,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6872 1.11 christos {"bgtctrl", XLOCB(19,BOT,CBGT,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6873 1.11 christos {"beqctr-", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6874 1.11 christos {"beqctr+", XLOCB(19,BOTP,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6875 1.11 christos {"beqctr", XLOCB(19,BOT,CBEQ,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6876 1.11 christos {"beqctrl-",XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6877 1.11 christos {"beqctrl+",XLOCB(19,BOTP,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6878 1.11 christos {"beqctrl", XLOCB(19,BOT,CBEQ,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6879 1.11 christos {"bsoctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6880 1.11 christos {"bsoctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6881 1.11 christos {"bsoctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6882 1.11 christos {"bunctr-", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6883 1.11 christos {"bunctr+", XLOCB(19,BOTP,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6884 1.11 christos {"bunctr", XLOCB(19,BOT,CBSO,528,0), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6885 1.11 christos {"bsoctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6886 1.11 christos {"bsoctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6887 1.11 christos {"bsoctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6888 1.11 christos {"bunctrl-",XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6889 1.11 christos {"bunctrl+",XLOCB(19,BOTP,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {CR, BH}}, 6890 1.11 christos {"bunctrl", XLOCB(19,BOT,CBSO,528,1), XLBOCBBB_MASK, PPCCOM, PPCVLE|EXT, {CR, BH}}, 6891 1.11 christos {"bltctr-", XLOCB(19,BOTM4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6892 1.11 christos {"bltctrl-",XLOCB(19,BOTM4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6893 1.11 christos {"bgtctr-", XLOCB(19,BOTM4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6894 1.11 christos {"bgtctrl-",XLOCB(19,BOTM4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6895 1.11 christos {"beqctr-", XLOCB(19,BOTM4,CBEQ,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6896 1.11 christos {"beqctrl-",XLOCB(19,BOTM4,CBEQ,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6897 1.11 christos {"bsoctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6898 1.11 christos {"bunctr-", XLOCB(19,BOTM4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6899 1.11 christos {"bsoctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6900 1.11 christos {"bunctrl-",XLOCB(19,BOTM4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6901 1.11 christos {"bltctr+", XLOCB(19,BOTP4,CBLT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6902 1.11 christos {"bltctrl+",XLOCB(19,BOTP4,CBLT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6903 1.11 christos {"bgtctr+", XLOCB(19,BOTP4,CBGT,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6904 1.11 christos {"bgtctrl+",XLOCB(19,BOTP4,CBGT,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6905 1.11 christos {"beqctr+", XLOCB(19,BOTP4,CBEQ,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6906 1.11 christos {"beqctrl+",XLOCB(19,BOTP4,CBEQ,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6907 1.11 christos {"bsoctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6908 1.11 christos {"bunctr+", XLOCB(19,BOTP4,CBSO,528,0), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6909 1.11 christos {"bsoctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6910 1.11 christos {"bunctrl+",XLOCB(19,BOTP4,CBSO,528,1), XLBOCBBB_MASK, ISA_V2, PPCVLE|EXT, {CR, BH}}, 6911 1.11 christos 6912 1.11 christos {"bfctr-", XLO(19,BOF,528,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6913 1.11 christos {"bfctr+", XLO(19,BOFP,528,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6914 1.11 christos {"bfctr", XLO(19,BOF,528,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6915 1.11 christos {"bfctrl-", XLO(19,BOF,528,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6916 1.11 christos {"bfctrl+", XLO(19,BOFP,528,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6917 1.11 christos {"bfctrl", XLO(19,BOF,528,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6918 1.11 christos {"bfctr-", XLO(19,BOFM4,528,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6919 1.11 christos {"bfctrl-", XLO(19,BOFM4,528,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6920 1.11 christos {"bfctr+", XLO(19,BOFP4,528,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6921 1.11 christos {"bfctrl+", XLO(19,BOFP4,528,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6922 1.11 christos {"btctr-", XLO(19,BOT,528,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6923 1.11 christos {"btctr+", XLO(19,BOTP,528,0), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6924 1.11 christos {"btctr", XLO(19,BOT,528,0), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6925 1.11 christos {"btctrl-", XLO(19,BOT,528,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6926 1.11 christos {"btctrl+", XLO(19,BOTP,528,1), XLBOBB_MASK, PPCCOM, ISA_V2|PPCVLE|EXT, {BI, BH}}, 6927 1.11 christos {"btctrl", XLO(19,BOT,528,1), XLBOBB_MASK, PPCCOM, PPCVLE|EXT, {BI, BH}}, 6928 1.7 christos {"btctr-", XLO(19,BOTM4,528,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6929 1.11 christos {"btctrl-", XLO(19,BOTM4,528,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6930 1.11 christos {"btctr+", XLO(19,BOTP4,528,0), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6931 1.7 christos {"btctrl+", XLO(19,BOTP4,528,1), XLBOBB_MASK, ISA_V2, PPCVLE|EXT, {BI, BH}}, 6932 1.10 christos 6933 1.11 christos {"bcctr-", XLLK(19,528,0), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BH}}, 6934 1.11 christos {"bcctr+", XLLK(19,528,0), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BH}}, 6935 1.7 christos {"bcctr", XLLK(19,528,0), XLBH_MASK, PPCCOM, PPCVLE, {BO, BI, BH}}, 6936 1.10 christos {"bcc", XLLK(19,528,0), XLBH_MASK, PWRCOM, PPCVLE, {BO, BI, BH}}, 6937 1.7 christos {"bcctrl-", XLLK(19,528,1), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOM, BI, BH}}, 6938 1.11 christos {"bcctrl+", XLLK(19,528,1), XLBH_MASK, PPCCOM, PPCVLE|EXT, {BOP, BI, BH}}, 6939 1.11 christos {"bcctrl", XLLK(19,528,1), XLBH_MASK, PPCCOM, PPCVLE, {BO, BI, BH}}, 6940 1.11 christos {"bccl", XLLK(19,528,1), XLBH_MASK, PWRCOM, PPCVLE, {BO, BI, BH}}, 6941 1.11 christos 6942 1.11 christos {"bdnztar", XLO(19,BODNZ,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6943 1.11 christos {"bdnztarl", XLO(19,BODNZ,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6944 1.11 christos {"bdztar", XLO(19,BODZ,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6945 1.11 christos {"bdztarl", XLO(19,BODZ,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6946 1.11 christos {"btar", XLO(19,BOU,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6947 1.11 christos {"btarl", XLO(19,BOU,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6948 1.11 christos {"bdnztar-", XLO(19,BODNZM4,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6949 1.11 christos {"bdnztarl-", XLO(19,BODNZM4,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6950 1.11 christos {"bdnztar+", XLO(19,BODNZP4,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6951 1.11 christos {"bdnztarl+", XLO(19,BODNZP4,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6952 1.11 christos {"bdztar-", XLO(19,BODZM4,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6953 1.11 christos {"bdztarl-", XLO(19,BODZM4,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6954 1.11 christos {"bdztar+", XLO(19,BODZP4,560,0), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6955 1.11 christos {"bdztarl+", XLO(19,BODZP4,560,1), XLBOBIBB_MASK, POWER8, PPCVLE|EXT, {BH}}, 6956 1.11 christos 6957 1.11 christos {"bgetar", XLOCB(19,BOF,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6958 1.11 christos {"bnltar", XLOCB(19,BOF,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6959 1.11 christos {"bgetarl", XLOCB(19,BOF,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6960 1.11 christos {"bnltarl", XLOCB(19,BOF,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6961 1.11 christos {"bletar", XLOCB(19,BOF,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6962 1.11 christos {"bngtar", XLOCB(19,BOF,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6963 1.11 christos {"bletarl", XLOCB(19,BOF,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6964 1.11 christos {"bngtarl", XLOCB(19,BOF,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6965 1.11 christos {"bnetar", XLOCB(19,BOF,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6966 1.11 christos {"bnetarl", XLOCB(19,BOF,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6967 1.11 christos {"bnstar", XLOCB(19,BOF,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6968 1.11 christos {"bnutar", XLOCB(19,BOF,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6969 1.11 christos {"bnstarl", XLOCB(19,BOF,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6970 1.11 christos {"bnutarl", XLOCB(19,BOF,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6971 1.11 christos {"bgetar-", XLOCB(19,BOFM4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6972 1.11 christos {"bnltar-", XLOCB(19,BOFM4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6973 1.11 christos {"bgetarl-",XLOCB(19,BOFM4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6974 1.11 christos {"bnltarl-",XLOCB(19,BOFM4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6975 1.11 christos {"bletar-", XLOCB(19,BOFM4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6976 1.11 christos {"bngtar-", XLOCB(19,BOFM4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6977 1.11 christos {"bletarl-",XLOCB(19,BOFM4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6978 1.11 christos {"bngtarl-",XLOCB(19,BOFM4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6979 1.11 christos {"bnetar-", XLOCB(19,BOFM4,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6980 1.11 christos {"bnetarl-",XLOCB(19,BOFM4,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6981 1.11 christos {"bnstar-", XLOCB(19,BOFM4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6982 1.11 christos {"bnutar-", XLOCB(19,BOFM4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6983 1.11 christos {"bnstarl-",XLOCB(19,BOFM4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6984 1.11 christos {"bnutarl-",XLOCB(19,BOFM4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6985 1.11 christos {"bgetar+", XLOCB(19,BOFP4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6986 1.11 christos {"bnltar+", XLOCB(19,BOFP4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6987 1.11 christos {"bgetarl+",XLOCB(19,BOFP4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6988 1.11 christos {"bnltarl+",XLOCB(19,BOFP4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6989 1.11 christos {"bletar+", XLOCB(19,BOFP4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6990 1.11 christos {"bngtar+", XLOCB(19,BOFP4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6991 1.11 christos {"bletarl+",XLOCB(19,BOFP4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6992 1.11 christos {"bngtarl+",XLOCB(19,BOFP4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6993 1.11 christos {"bnetar+", XLOCB(19,BOFP4,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6994 1.11 christos {"bnetarl+",XLOCB(19,BOFP4,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6995 1.11 christos {"bnstar+", XLOCB(19,BOFP4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6996 1.11 christos {"bnutar+", XLOCB(19,BOFP4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6997 1.11 christos {"bnstarl+",XLOCB(19,BOFP4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6998 1.11 christos {"bnutarl+",XLOCB(19,BOFP4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 6999 1.11 christos {"blttar", XLOCB(19,BOT,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7000 1.11 christos {"blttarl", XLOCB(19,BOT,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7001 1.11 christos {"bgttar", XLOCB(19,BOT,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7002 1.11 christos {"bgttarl", XLOCB(19,BOT,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7003 1.11 christos {"beqtar", XLOCB(19,BOT,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7004 1.11 christos {"beqtarl", XLOCB(19,BOT,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7005 1.11 christos {"bsotar", XLOCB(19,BOT,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7006 1.11 christos {"buntar", XLOCB(19,BOT,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7007 1.11 christos {"bsotarl", XLOCB(19,BOT,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7008 1.11 christos {"buntarl", XLOCB(19,BOT,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7009 1.11 christos {"blttar-", XLOCB(19,BOTM4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7010 1.11 christos {"blttarl-",XLOCB(19,BOTM4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7011 1.11 christos {"bgttar-", XLOCB(19,BOTM4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7012 1.11 christos {"bgttarl-",XLOCB(19,BOTM4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7013 1.11 christos {"beqtar-", XLOCB(19,BOTM4,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7014 1.11 christos {"beqtarl-",XLOCB(19,BOTM4,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7015 1.11 christos {"bsotar-", XLOCB(19,BOTM4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7016 1.11 christos {"buntar-", XLOCB(19,BOTM4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7017 1.11 christos {"bsotarl-",XLOCB(19,BOTM4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7018 1.11 christos {"buntarl-",XLOCB(19,BOTM4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7019 1.11 christos {"blttar+", XLOCB(19,BOTP4,CBLT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7020 1.11 christos {"blttarl+",XLOCB(19,BOTP4,CBLT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7021 1.11 christos {"bgttar+", XLOCB(19,BOTP4,CBGT,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7022 1.11 christos {"bgttarl+",XLOCB(19,BOTP4,CBGT,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7023 1.11 christos {"beqtar+", XLOCB(19,BOTP4,CBEQ,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7024 1.11 christos {"beqtarl+",XLOCB(19,BOTP4,CBEQ,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7025 1.11 christos {"bsotar+", XLOCB(19,BOTP4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7026 1.11 christos {"buntar+", XLOCB(19,BOTP4,CBSO,560,0), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7027 1.11 christos {"bsotarl+",XLOCB(19,BOTP4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7028 1.11 christos {"buntarl+",XLOCB(19,BOTP4,CBSO,560,1), XLBOCBBB_MASK, POWER8, PPCVLE|EXT, {CR, BH}}, 7029 1.11 christos 7030 1.11 christos {"bdnzftar", XLO(19,BODNZF,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7031 1.11 christos {"bdnzftarl", XLO(19,BODNZF,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7032 1.11 christos {"bdzftar", XLO(19,BODZF,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7033 1.11 christos {"bdzftarl", XLO(19,BODZF,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7034 1.11 christos 7035 1.11 christos {"bftar", XLO(19,BOF,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7036 1.11 christos {"bftarl", XLO(19,BOF,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7037 1.11 christos {"bftar-", XLO(19,BOFM4,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7038 1.11 christos {"bftarl-", XLO(19,BOFM4,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7039 1.11 christos {"bftar+", XLO(19,BOFP4,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7040 1.11 christos {"bftarl+", XLO(19,BOFP4,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7041 1.11 christos 7042 1.11 christos {"bdnzttar", XLO(19,BODNZT,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7043 1.11 christos {"bdnzttarl", XLO(19,BODNZT,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7044 1.11 christos {"bdzttar", XLO(19,BODZT,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7045 1.11 christos {"bdzttarl", XLO(19,BODZT,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7046 1.11 christos 7047 1.11 christos {"bttar", XLO(19,BOT,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7048 1.11 christos {"bttarl", XLO(19,BOT,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7049 1.10 christos {"bttar-", XLO(19,BOTM4,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7050 1.11 christos {"bttarl-", XLO(19,BOTM4,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7051 1.11 christos {"bttar+", XLO(19,BOTP4,560,0), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7052 1.7 christos {"bttarl+", XLO(19,BOTP4,560,1), XLBOBB_MASK, POWER8, PPCVLE|EXT, {BI, BH}}, 7053 1.11 christos 7054 1.11 christos {"bctar-", XLLK(19,560,0), XLBH_MASK, POWER8, PPCVLE|EXT, {BOM, BI, BH}}, 7055 1.7 christos {"bctar+", XLLK(19,560,0), XLBH_MASK, POWER8, PPCVLE|EXT, {BOP, BI, BH}}, 7056 1.7 christos {"bctar", XLLK(19,560,0), XLBH_MASK, POWER8, PPCVLE, {BO, BI, BH}}, 7057 1.7 christos {"bctarl-", XLLK(19,560,1), XLBH_MASK, POWER8, PPCVLE|EXT, {BOM, BI, BH}}, 7058 1.11 christos {"bctarl+", XLLK(19,560,1), XLBH_MASK, POWER8, PPCVLE|EXT, {BOP, BI, BH}}, 7059 1.11 christos {"bctarl", XLLK(19,560,1), XLBH_MASK, POWER8, PPCVLE, {BO, BI, BH}}, 7060 1.7 christos 7061 1.7 christos {"rlwimi", M(20,0), M_MASK, PPCCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7062 1.7 christos {"inslwi", M(20,0), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ILWn, ILWb}}, 7063 1.11 christos {"insrwi", M(20,0), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, IRWn, IRWb}}, 7064 1.11 christos {"rlimi", M(20,0), M_MASK, PWRCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7065 1.7 christos 7066 1.7 christos {"rlwimi.", M(20,1), M_MASK, PPCCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7067 1.11 christos {"inslwi.", M(20,1), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ILWn, ILWb}}, 7068 1.11 christos {"insrwi.", M(20,1), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, IRWn, IRWb}}, 7069 1.11 christos {"rlimi.", M(20,1), M_MASK, PWRCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7070 1.11 christos 7071 1.11 christos {"rotlwi", MME(21,31,0), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SH}}, 7072 1.11 christos {"rotrwi", MME(21,31,0), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, RRWn}}, 7073 1.7 christos {"clrlwi", MME(21,31,0), MSHME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, MB}}, 7074 1.11 christos {"clrrwi", M(21,0), MSHMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, CRWn}}, 7075 1.11 christos {"slwi", M(21,0), MMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SLWn}}, 7076 1.11 christos {"srwi", MME(21,31,0), MME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SRWn}}, 7077 1.11 christos {"rlwinm", M(21,0), M_MASK, PPCCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7078 1.11 christos {"extlwi", M(21,0), MMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ELWn, SH}}, 7079 1.7 christos {"extrwi", MME(21,31,0), MME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ERWn, ERWb}}, 7080 1.11 christos {"clrlslwi", M(21,0), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, CSLWb, CSLWn}}, 7081 1.11 christos {"sli", M(21,0), MMB_MASK, PWRCOM, PPCVLE|EXT, {RA, RS, SLWn}}, 7082 1.11 christos {"sri", MME(21,31,0), MME_MASK, PWRCOM, PPCVLE|EXT, {RA, RS, SRWn}}, 7083 1.11 christos {"rlinm", M(21,0), M_MASK, PWRCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7084 1.11 christos {"rotlwi.", MME(21,31,1), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SH}}, 7085 1.11 christos {"rotrwi.", MME(21,31,1), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, RRWn}}, 7086 1.7 christos {"clrlwi.", MME(21,31,1), MSHME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, MB}}, 7087 1.11 christos {"clrrwi.", M(21,1), MSHMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, CRWn}}, 7088 1.11 christos {"slwi.", M(21,1), MMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SLWn}}, 7089 1.11 christos {"srwi.", MME(21,31,1), MME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, SRWn}}, 7090 1.11 christos {"rlwinm.", M(21,1), M_MASK, PPCCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7091 1.11 christos {"extlwi.", M(21,1), MMB_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ELWn, SH}}, 7092 1.7 christos {"extrwi.", MME(21,31,1), MME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, ERWn, ERWb}}, 7093 1.7 christos {"clrlslwi.", M(21,1), M_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, CSLWb, CSLWn}}, 7094 1.7 christos {"sli.", M(21,1), MMB_MASK, PWRCOM, PPCVLE|EXT, {RA, RS, SLWn}}, 7095 1.7 christos {"sri.", MME(21,31,1), MME_MASK, PWRCOM, PPCVLE|EXT, {RA, RS, SRWn}}, 7096 1.7 christos {"rlinm.", M(21,1), M_MASK, PWRCOM, PPCVLE, {RA, RS, SH, MBE, ME}}, 7097 1.12 christos 7098 1.12 christos {"rlmi", M(22,0), M_MASK, M601, PPCVLE, {RA, RS, RB, MBE, ME}}, 7099 1.12 christos {"rlmi.", M(22,1), M_MASK, M601, PPCVLE, {RA, RS, RB, MBE, ME}}, 7100 1.12 christos 7101 1.12 christos {"svstep", SVL(22,19,0), SVL_MASK, SVP64, PPCVLE, {RT, SVi, vf}}, 7102 1.12 christos {"svstep.", SVL(22,19,1), SVL_MASK, SVP64, PPCVLE, {RT, SVi, vf}}, 7103 1.12 christos 7104 1.12 christos {"svshape", SVM(22,25), SVM_MASK, SVP64, PPCVLE, {SVxd, SVyd, SVzd, SVrm, vf}}, 7105 1.12 christos 7106 1.12 christos {"setvl", SVL(22,27,0), SVL_MASK, SVP64, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, 7107 1.12 christos {"setvl.", SVL(22,27,1), SVL_MASK, SVP64, PPCVLE, {RT, RA, SVi, vf, vs, ms}}, 7108 1.12 christos 7109 1.11 christos {"svindex", SVI(22,41), SVI_MASK, SVP64, PPCVLE, {SVG, rmm, SVd, ew, yx, mm, sk}}, 7110 1.7 christos 7111 1.7 christos {"svremap", SVRM(22,57), SVRM_MASK, SVP64, PPCVLE, {SVme, mi0, mi1, mi2, mo0, mo1, pst}}, 7112 1.11 christos 7113 1.7 christos {"rotlw", MME(23,31,0), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, RB}}, 7114 1.7 christos {"rlwnm", M(23,0), M_MASK, PPCCOM, PPCVLE, {RA, RS, RB, MBE, ME}}, 7115 1.7 christos {"rlnm", M(23,0), M_MASK, PWRCOM, PPCVLE, {RA, RS, RB, MBE, ME}}, 7116 1.11 christos {"rotlw.", MME(23,31,1), MMBME_MASK, PPCCOM, PPCVLE|EXT, {RA, RS, RB}}, 7117 1.11 christos {"rlwnm.", M(23,1), M_MASK, PPCCOM, PPCVLE, {RA, RS, RB, MBE, ME}}, 7118 1.7 christos {"rlnm.", M(23,1), M_MASK, PWRCOM, PPCVLE, {RA, RS, RB, MBE, ME}}, 7119 1.7 christos 7120 1.7 christos {"nop", OP(24), 0xffffffff, PPCCOM, PPCVLE|EXT, {0}}, 7121 1.7 christos {"exser", 0x63ff0000, 0xffffffff, POWER9, PPCVLE|EXT, {0}}, 7122 1.7 christos {"ori", OP(24), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7123 1.7 christos {"oril", OP(24), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7124 1.11 christos 7125 1.7 christos {"oris", OP(25), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7126 1.7 christos {"oriu", OP(25), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7127 1.7 christos 7128 1.7 christos {"xnop", OP(26), 0xffffffff, PPCCOM, PPCVLE|EXT, {0}}, 7129 1.7 christos {"xori", OP(26), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7130 1.7 christos {"xoril", OP(26), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7131 1.7 christos 7132 1.7 christos {"xoris", OP(27), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7133 1.7 christos {"xoriu", OP(27), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7134 1.7 christos 7135 1.7 christos {"andi.", OP(28), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7136 1.7 christos {"andil.", OP(28), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7137 1.11 christos 7138 1.11 christos {"andis.", OP(29), OP_MASK, PPCCOM, PPCVLE, {RA, RS, UI}}, 7139 1.11 christos {"andiu.", OP(29), OP_MASK, PWRCOM, PPCVLE, {RA, RS, UI}}, 7140 1.11 christos 7141 1.7 christos {"rotldi", MD(30,0,0), MDMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, SH6}}, 7142 1.11 christos {"rotrdi", MD(30,0,0), MDMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, RRDn}}, 7143 1.11 christos {"clrldi", MD(30,0,0), MDSH_MASK, PPC64, PPCVLE|EXT, {RA, RS, MB6}}, 7144 1.11 christos {"srdi", MD(30,0,0), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, SRDn}}, 7145 1.11 christos {"rldicl", MD(30,0,0), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7146 1.11 christos {"extrdi", MD(30,0,0), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, ERDn, ERDb}}, 7147 1.7 christos {"rotldi.", MD(30,0,1), MDMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, SH6}}, 7148 1.11 christos {"rotrdi.", MD(30,0,1), MDMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, RRDn}}, 7149 1.7 christos {"clrldi.", MD(30,0,1), MDSH_MASK, PPC64, PPCVLE|EXT, {RA, RS, MB6}}, 7150 1.11 christos {"srdi.", MD(30,0,1), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, SRDn}}, 7151 1.11 christos {"rldicl.", MD(30,0,1), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7152 1.7 christos {"extrdi.", MD(30,0,1), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, ERDn, ERDb}}, 7153 1.11 christos 7154 1.11 christos {"clrrdi", MD(30,1,0), MDSH_MASK, PPC64, PPCVLE|EXT, {RA, RS, CRDn}}, 7155 1.11 christos {"sldi", MD(30,1,0), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, SLDn}}, 7156 1.7 christos {"rldicr", MD(30,1,0), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, ME6}}, 7157 1.11 christos {"extldi", MD(30,1,0), MD_MASK, PPC64, PPCVLE, {RA, RS, ELDn, SH6}}, 7158 1.7 christos {"clrrdi.", MD(30,1,1), MDSH_MASK, PPC64, PPCVLE|EXT, {RA, RS, CRDn}}, 7159 1.7 christos {"sldi.", MD(30,1,1), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, SLDn}}, 7160 1.11 christos {"rldicr.", MD(30,1,1), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, ME6}}, 7161 1.7 christos {"extldi.", MD(30,1,1), MD_MASK, PPC64, PPCVLE, {RA, RS, ELDn, SH6}}, 7162 1.11 christos 7163 1.7 christos {"rldic", MD(30,2,0), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7164 1.7 christos {"clrlsldi", MD(30,2,0), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, CSLDb, CSLDn}}, 7165 1.11 christos {"rldic.", MD(30,2,1), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7166 1.7 christos {"clrlsldi.", MD(30,2,1), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, CSLDb, CSLDn}}, 7167 1.11 christos 7168 1.7 christos {"rldimi", MD(30,3,0), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7169 1.11 christos {"insrdi", MD(30,3,0), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, IRDn, IRDb}}, 7170 1.7 christos {"rldimi.", MD(30,3,1), MD_MASK, PPC64, PPCVLE, {RA, RS, SH6, MB6}}, 7171 1.11 christos {"insrdi.", MD(30,3,1), MD_MASK, PPC64, PPCVLE|EXT, {RA, RS, IRDn, IRDb}}, 7172 1.7 christos 7173 1.7 christos {"rotld", MDS(30,8,0), MDSMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, RB}}, 7174 1.7 christos {"rldcl", MDS(30,8,0), MDS_MASK, PPC64, PPCVLE, {RA, RS, RB, MB6}}, 7175 1.7 christos {"rotld.", MDS(30,8,1), MDSMB_MASK, PPC64, PPCVLE|EXT, {RA, RS, RB}}, 7176 1.7 christos {"rldcl.", MDS(30,8,1), MDS_MASK, PPC64, PPCVLE, {RA, RS, RB, MB6}}, 7177 1.11 christos 7178 1.11 christos {"rldcr", MDS(30,9,0), MDS_MASK, PPC64, PPCVLE, {RA, RS, RB, ME6}}, 7179 1.8 christos {"rldcr.", MDS(30,9,1), MDS_MASK, PPC64, PPCVLE, {RA, RS, RB, ME6}}, 7180 1.3 christos 7181 1.2 skrll {"cmpw", XOPL(31,0,0), XCMPL_MASK, PPCCOM, EXT, {OBF, RA, RB}}, 7182 1.11 christos {"cmpd", XOPL(31,0,1), XCMPL_MASK, PPC64, EXT, {OBF, RA, RB}}, 7183 1.11 christos {"cmp", X(31,0), XCMP_MASK, PPC, 0, {BF, L32OPT, RA, RB}}, 7184 1.11 christos {"cmp", X(31,0), XCMPL_MASK, PWRCOM, PPC, {BF, RA, RB}}, 7185 1.11 christos 7186 1.11 christos {"twlgt", XTO(31,4,TOLGT), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7187 1.11 christos {"tlgt", XTO(31,4,TOLGT), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7188 1.11 christos {"twllt", XTO(31,4,TOLLT), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7189 1.11 christos {"tllt", XTO(31,4,TOLLT), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7190 1.11 christos {"tweq", XTO(31,4,TOEQ), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7191 1.11 christos {"teq", XTO(31,4,TOEQ), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7192 1.11 christos {"twlge", XTO(31,4,TOLGE), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7193 1.11 christos {"tlge", XTO(31,4,TOLGE), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7194 1.11 christos {"twlnl", XTO(31,4,TOLNL), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7195 1.11 christos {"tlnl", XTO(31,4,TOLNL), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7196 1.11 christos {"twlle", XTO(31,4,TOLLE), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7197 1.11 christos {"tlle", XTO(31,4,TOLLE), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7198 1.11 christos {"twlng", XTO(31,4,TOLNG), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7199 1.11 christos {"tlng", XTO(31,4,TOLNG), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7200 1.11 christos {"twgt", XTO(31,4,TOGT), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7201 1.11 christos {"tgt", XTO(31,4,TOGT), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7202 1.11 christos {"twge", XTO(31,4,TOGE), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7203 1.11 christos {"tge", XTO(31,4,TOGE), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7204 1.11 christos {"twnl", XTO(31,4,TONL), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7205 1.11 christos {"tnl", XTO(31,4,TONL), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7206 1.11 christos {"twlt", XTO(31,4,TOLT), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7207 1.11 christos {"tlt", XTO(31,4,TOLT), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7208 1.11 christos {"twle", XTO(31,4,TOLE), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7209 1.11 christos {"tle", XTO(31,4,TOLE), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7210 1.11 christos {"twng", XTO(31,4,TONG), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7211 1.11 christos {"tng", XTO(31,4,TONG), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7212 1.11 christos {"twne", XTO(31,4,TONE), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7213 1.7 christos {"tne", XTO(31,4,TONE), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7214 1.7 christos {"trap", XTO(31,4,TOU), 0xffffffff, PPCCOM, EXT, {0}}, 7215 1.7 christos {"twu", XTO(31,4,TOU), XTO_MASK, PPCCOM, EXT, {RA, RB}}, 7216 1.7 christos {"tu", XTO(31,4,TOU), XTO_MASK, PWRCOM, EXT, {RA, RB}}, 7217 1.7 christos {"tw", X(31,4), X_MASK, PPCCOM, 0, {TO, RA, RB}}, 7218 1.7 christos {"t", X(31,4), X_MASK, PWRCOM, 0, {TO, RA, RB}}, 7219 1.7 christos 7220 1.7 christos {"lvsl", X(31,6), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7221 1.7 christos {"lvebx", X(31,7), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7222 1.11 christos {"lbfcmx", APU(31,7,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7223 1.7 christos 7224 1.7 christos {"subfc", XO(31,8,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7225 1.11 christos {"sf", XO(31,8,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7226 1.7 christos {"subc", XO(31,8,0,0), XO_MASK, PPCCOM, EXT, {RT, RB, RA}}, 7227 1.7 christos {"subfc.", XO(31,8,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7228 1.7 christos {"sf.", XO(31,8,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7229 1.7 christos {"subc.", XO(31,8,0,1), XO_MASK, PPCCOM, EXT, {RT, RB, RA}}, 7230 1.7 christos 7231 1.7 christos {"mulhdu", XO(31,9,0,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7232 1.7 christos {"mulhdu.", XO(31,9,0,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7233 1.7 christos 7234 1.7 christos {"addc", XO(31,10,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7235 1.7 christos {"a", XO(31,10,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7236 1.7 christos {"addc.", XO(31,10,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7237 1.7 christos {"a.", XO(31,10,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7238 1.7 christos 7239 1.7 christos {"mulhwu", XO(31,11,0,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 7240 1.11 christos {"mulhwu.", XO(31,11,0,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 7241 1.11 christos 7242 1.11 christos {"lxsiwzx", X(31,12), XX1_MASK, PPCVSX2, 0, {XT6, RA0, RB}}, 7243 1.11 christos 7244 1.11 christos {"lxvrbx", X(31,13), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7245 1.11 christos 7246 1.7 christos {"isellt", XISEL(31,15,0), X_MASK, PPCISEL, EXT, {RT, RA0, RB}}, 7247 1.14 christos {"iselgt", XISEL(31,15,1), X_MASK, PPCISEL, EXT, {RT, RA0, RB}}, 7248 1.7 christos {"iseleq", XISEL(31,15,2), X_MASK, PPCISEL, EXT, {RT, RA0, RB}}, 7249 1.7 christos {"isel", XISEL(31,15,0), XISEL_MASK, PPCISEL|TITAN, 0, {RT, RA0, RB, BC}}, 7250 1.7 christos 7251 1.7 christos {"tlbieio", X(31,18), XTLBIEIO_MASK, FUTURE, 0, {RB, RS, RIC}}, 7252 1.7 christos {"tlbilxlpid", XTO(31,18,0), XTO_MASK, E500MC|PPCA2, 0, {0}}, 7253 1.7 christos {"tlbilxpid", XTO(31,18,1), XTO_MASK, E500MC|PPCA2, 0, {0}}, 7254 1.7 christos {"tlbilxva", XTO(31,18,3), XTO_MASK, E500MC|PPCA2, 0, {RA0, RB}}, 7255 1.7 christos {"tlbilx", X(31,18), X_MASK, E500MC|PPCA2, 0, {T, RA0, RB}}, 7256 1.7 christos 7257 1.7 christos {"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, COM, 0, {RT, FXM4}}, 7258 1.7 christos {"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK, COM, 0, {RT, FXM}}, 7259 1.7 christos 7260 1.11 christos {"lwarx", X(31,20), XEH_MASK, PPC, 0, {RT, RA0, RB, EH}}, 7261 1.7 christos 7262 1.7 christos {"ldx", X(31,21), X_MASK, PPC64, 0, {RT, RA0, RB}}, 7263 1.7 christos 7264 1.7 christos {"icbt", X(31,22), X_MASK, POWER5|BOOKE|PPCE300, 0, {CT, RA0, RB}}, 7265 1.7 christos 7266 1.7 christos {"lwzx", X(31,23), X_MASK, PPCCOM, 0, {RT, RA0, RB}}, 7267 1.7 christos {"lx", X(31,23), X_MASK, PWRCOM, 0, {RT, RA, RB}}, 7268 1.7 christos 7269 1.7 christos {"slw", XRC(31,24,0), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 7270 1.7 christos {"sl", XRC(31,24,0), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 7271 1.7 christos {"slw.", XRC(31,24,1), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 7272 1.7 christos {"sl.", XRC(31,24,1), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 7273 1.7 christos 7274 1.7 christos {"cntlzw", XRC(31,26,0), XRB_MASK, PPCCOM, 0, {RA, RS}}, 7275 1.7 christos {"cntlz", XRC(31,26,0), XRB_MASK, PWRCOM, 0, {RA, RS}}, 7276 1.7 christos {"cntlzw.", XRC(31,26,1), XRB_MASK, PPCCOM, 0, {RA, RS}}, 7277 1.7 christos {"cntlz.", XRC(31,26,1), XRB_MASK, PWRCOM, 0, {RA, RS}}, 7278 1.7 christos 7279 1.7 christos {"sld", XRC(31,27,0), X_MASK, PPC64, 0, {RA, RS, RB}}, 7280 1.7 christos {"sld.", XRC(31,27,1), X_MASK, PPC64, 0, {RA, RS, RB}}, 7281 1.7 christos 7282 1.7 christos {"and", XRC(31,28,0), X_MASK, COM, 0, {RA, RS, RB}}, 7283 1.7 christos {"and.", XRC(31,28,1), X_MASK, COM, 0, {RA, RS, RB}}, 7284 1.7 christos 7285 1.7 christos {"maskg", XRC(31,29,0), X_MASK, M601, PPCA2, {RA, RS, RB}}, 7286 1.7 christos {"maskg.", XRC(31,29,1), X_MASK, M601, PPCA2, {RA, RS, RB}}, 7287 1.11 christos 7288 1.11 christos {"ldepx", X(31,29), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7289 1.11 christos 7290 1.11 christos {"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}}, 7291 1.7 christos {"waitrsv", XWCPL(31,30,1,0),0xffffffff, POWER10, EXT, {0}}, 7292 1.7 christos {"pause_short", XWCPL(31,30,2,0),0xffffffff, POWER10, EXT, {0}}, 7293 1.7 christos {"wait", X(31,30), XWCPL_MASK, POWER10, 0, {WC, PL}}, 7294 1.11 christos {"wait", X(31,30), XWC_MASK, POWER9, POWER10, {WC}}, 7295 1.11 christos 7296 1.8 christos {"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7297 1.3 christos 7298 1.2 skrll {"cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM, EXT, {OBF, RA, RB}}, 7299 1.7 christos {"cmpld", XOPL(31,32,1), XCMPL_MASK, PPC64, EXT, {OBF, RA, RB}}, 7300 1.7 christos {"cmpl", X(31,32), XCMP_MASK, PPC, 0, {BF, L32OPT, RA, RB}}, 7301 1.7 christos {"cmpl", X(31,32), XCMPL_MASK, PWRCOM, PPC, {BF, RA, RB}}, 7302 1.2 skrll 7303 1.11 christos {"lvsr", X(31,38), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7304 1.11 christos {"lvehx", X(31,39), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7305 1.8 christos {"lhfcmx", APU(31,39,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7306 1.2 skrll 7307 1.14 christos {"lxvrhx", X(31,45), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7308 1.14 christos 7309 1.7 christos {"mviwsplt", X(31,46), X_MASK, E6500, 0, {VD, RA, RB}}, 7310 1.2 skrll 7311 1.7 christos {"tlbiep", X(31,50), XTLBIE_MASK, FUTURE, TITAN, {RB, RS, RIC, PRS, X_R}}, 7312 1.2 skrll 7313 1.7 christos {"lvewx", X(31,71), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7314 1.5 christos 7315 1.11 christos {"addg6s", XO(31,74,0,0), XO_MASK, POWER6, 0, {RT, RA, RB}}, 7316 1.2 skrll 7317 1.7 christos {"lxsiwax", X(31,76), XX1_MASK, PPCVSX2, 0, {XT6, RA0, RB}}, 7318 1.11 christos 7319 1.7 christos {"lxvrwx", X(31,77), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7320 1.11 christos 7321 1.2 skrll {"subf", XO(31,40,0,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 7322 1.11 christos {"sub", XO(31,40,0,0), XO_MASK, PPC, EXT, {RT, RB, RA}}, 7323 1.11 christos {"subf.", XO(31,40,0,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 7324 1.7 christos {"sub.", XO(31,40,0,1), XO_MASK, PPC, EXT, {RT, RB, RA}}, 7325 1.7 christos 7326 1.3 christos {"mffprd", X(31,51), XX1RB_MASK|1, PPCVSX2, EXT, {RA, FRS}}, 7327 1.7 christos {"mfvrd", X(31,51)|1, XX1RB_MASK|1, PPCVSX2, EXT, {RA, VS}}, 7328 1.2 skrll {"mfvsrd", X(31,51), XX1RB_MASK, PPCVSX2, 0, {RA, XS6}}, 7329 1.7 christos {"eratilx", X(31,51), X_MASK, PPCA2, 0, {ERAT_T, RA, RB}}, 7330 1.5 christos 7331 1.7 christos {"lbarx", X(31,52), XEH_MASK, POWER8|E6500, 0, {RT, RA0, RB, EH}}, 7332 1.5 christos 7333 1.7 christos {"ldux", X(31,53), X_MASK, PPC64, 0, {RT, RAL, RB}}, 7334 1.7 christos 7335 1.2 skrll {"dcbst", X(31,54), XRT_MASK, PPC, 0, {RA0, RB}}, 7336 1.7 christos 7337 1.7 christos {"lwzux", X(31,55), X_MASK, PPCCOM, 0, {RT, RAL, RB}}, 7338 1.2 skrll {"lux", X(31,55), X_MASK, PWRCOM, 0, {RT, RA, RB}}, 7339 1.11 christos 7340 1.11 christos {"cntlzd", XRC(31,58,0), XRB_MASK, PPC64, 0, {RA, RS}}, 7341 1.7 christos {"cntlzd.", XRC(31,58,1), XRB_MASK, PPC64, 0, {RA, RS}}, 7342 1.7 christos 7343 1.2 skrll {"cntlzdm", X(31,59), X_MASK, POWER10, 0, {RA, RS, RB}}, 7344 1.11 christos 7345 1.11 christos {"andc", XRC(31,60,0), X_MASK, COM, 0, {RA, RS, RB}}, 7346 1.7 christos {"andc.", XRC(31,60,1), X_MASK, COM, 0, {RA, RS, RB}}, 7347 1.5 christos 7348 1.7 christos {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}}, 7349 1.2 skrll {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, EXT, {0}}, 7350 1.11 christos {"wait", X(31,62), XWC_MASK, E500MC|PPCA2, 0, {WC}}, 7351 1.11 christos 7352 1.11 christos {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, 7353 1.11 christos 7354 1.11 christos {"tdlgt", XTO(31,68,TOLGT), XTO_MASK, PPC64, EXT, {RA, RB}}, 7355 1.11 christos {"tdllt", XTO(31,68,TOLLT), XTO_MASK, PPC64, EXT, {RA, RB}}, 7356 1.11 christos {"tdeq", XTO(31,68,TOEQ), XTO_MASK, PPC64, EXT, {RA, RB}}, 7357 1.11 christos {"tdlge", XTO(31,68,TOLGE), XTO_MASK, PPC64, EXT, {RA, RB}}, 7358 1.11 christos {"tdlnl", XTO(31,68,TOLNL), XTO_MASK, PPC64, EXT, {RA, RB}}, 7359 1.11 christos {"tdlle", XTO(31,68,TOLLE), XTO_MASK, PPC64, EXT, {RA, RB}}, 7360 1.11 christos {"tdlng", XTO(31,68,TOLNG), XTO_MASK, PPC64, EXT, {RA, RB}}, 7361 1.11 christos {"tdgt", XTO(31,68,TOGT), XTO_MASK, PPC64, EXT, {RA, RB}}, 7362 1.11 christos {"tdge", XTO(31,68,TOGE), XTO_MASK, PPC64, EXT, {RA, RB}}, 7363 1.11 christos {"tdnl", XTO(31,68,TONL), XTO_MASK, PPC64, EXT, {RA, RB}}, 7364 1.11 christos {"tdlt", XTO(31,68,TOLT), XTO_MASK, PPC64, EXT, {RA, RB}}, 7365 1.7 christos {"tdle", XTO(31,68,TOLE), XTO_MASK, PPC64, EXT, {RA, RB}}, 7366 1.2 skrll {"tdng", XTO(31,68,TONG), XTO_MASK, PPC64, EXT, {RA, RB}}, 7367 1.7 christos {"tdne", XTO(31,68,TONE), XTO_MASK, PPC64, EXT, {RA, RB}}, 7368 1.12 christos {"tdu", XTO(31,68,TOU), XTO_MASK, PPC64, EXT, {RA, RB}}, 7369 1.12 christos {"td", X(31,68), X_MASK, PPC64, 0, {TO, RA, RB}}, 7370 1.12 christos 7371 1.12 christos {"lwfcmx", APU(31,71,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7372 1.12 christos {"subwus", XO(31,72,0,0), XO_MASK, FUTURE, EXT, {RT, RB, RA}}, 7373 1.12 christos {"subwus.", XO(31,72,0,1), XO_MASK, FUTURE, EXT, {RT, RB, RA}}, 7374 1.7 christos {"subdus", XO(31,72,1,0), XO_MASK, FUTURE, EXT, {RT, RB, RA}}, 7375 1.7 christos {"subdus.", XO(31,72,1,1), XO_MASK, FUTURE, EXT, {RT, RB, RA}}, 7376 1.5 christos {"subfus", XO(31,72,0,0), XOL_MASK, FUTURE, 0, {RT, XOL, RA, RB}}, 7377 1.7 christos {"subfus.", XO(31,72,0,1), XOL_MASK, FUTURE, 0, {RT, XOL, RA, RB}}, 7378 1.7 christos {"mulhd", XO(31,73,0,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7379 1.2 skrll {"mulhd.", XO(31,73,0,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7380 1.11 christos 7381 1.8 christos {"mulhw", XO(31,75,0,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 7382 1.8 christos {"mulhw.", XO(31,75,0,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 7383 1.2 skrll 7384 1.7 christos {"msgsndu", XRTRA(31,78,0,0), XRTRA_MASK, POWER9, 0, {RB}}, 7385 1.2 skrll {"dlmzb", XRC(31,78,0), X_MASK, PPC403|PPC440|PPC476|TITAN, 0, {RA, RS, RB}}, 7386 1.7 christos {"dlmzb.", XRC(31,78,1), X_MASK, PPC403|PPC440|PPC476|TITAN, 0, {RA, RS, RB}}, 7387 1.5 christos 7388 1.7 christos {"mtsrd", X(31,82), XRB_MASK|(1<<20), PPC64, 0, {SR, RS}}, 7389 1.2 skrll 7390 1.11 christos {"mfmsr", X(31,83), XRARB_MASK, COM, 0, {RT}}, 7391 1.11 christos 7392 1.11 christos {"ldarx", X(31,84), XEH_MASK, PPC64, 0, {RT, RA0, RB, EH}}, 7393 1.11 christos 7394 1.11 christos {"dcbfl", XOPL(31,86,1), XRT_MASK, POWER5, PPC476|EXT, {RA0, RB}}, 7395 1.11 christos {"dcbflp", XOPL2(31,86,3), XRT_MASK, POWER9, PPC476|EXT, {RA0, RB}}, 7396 1.2 skrll {"dcbfps", XOPL3(31,86,4), XRT_MASK, POWER10, PPC476|EXT, {RA0, RB}}, 7397 1.7 christos {"dcbstps", XOPL3(31,86,6), XRT_MASK, POWER10, PPC476|EXT, {RA0, RB}}, 7398 1.5 christos {"dcbf", X(31,86), XL3RT_MASK, POWER10, PPC476, {RA0, RB, L3OPT}}, 7399 1.7 christos {"dcbf", X(31,86), XLRT_MASK, PPC, POWER10, {RA0, RB, L2OPT}}, 7400 1.2 skrll 7401 1.7 christos {"lbzx", X(31,87), X_MASK, COM, 0, {RT, RA0, RB}}, 7402 1.2 skrll 7403 1.7 christos {"lbepx", X(31,95), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7404 1.7 christos 7405 1.2 skrll {"dni", XRC(31,97,1), XRB_MASK, E6500, 0, {DUI, DCTL}}, 7406 1.7 christos 7407 1.7 christos {"lvx", X(31,103), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 7408 1.2 skrll {"lqfcmx", APU(31,103,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7409 1.7 christos 7410 1.7 christos {"neg", XO(31,104,0,0), XORB_MASK, COM, 0, {RT, RA}}, 7411 1.2 skrll {"neg.", XO(31,104,0,1), XORB_MASK, COM, 0, {RT, RA}}, 7412 1.11 christos 7413 1.11 christos {"mul", XO(31,107,0,0), XO_MASK, M601, 0, {RT, RA, RB}}, 7414 1.11 christos {"mul.", XO(31,107,0,1), XO_MASK, M601, 0, {RT, RA, RB}}, 7415 1.8 christos 7416 1.4 christos {"lxvrdx", X(31,109), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7417 1.7 christos 7418 1.2 skrll {"msgclru", XRTRA(31,110,0,0), XRTRA_MASK, POWER9, 0, {RB}}, 7419 1.11 christos {"mvidsplt", X(31,110), X_MASK, E6500, 0, {VD, RA, RB}}, 7420 1.11 christos 7421 1.7 christos {"mtsrdin", X(31,114), XRA_MASK, PPC64, 0, {RS, RB}}, 7422 1.5 christos 7423 1.7 christos {"mffprwz", X(31,115), XX1RB_MASK|1, PPCVSX2, EXT, {RA, FRS}}, 7424 1.2 skrll {"mfvrwz", X(31,115)|1, XX1RB_MASK|1, PPCVSX2, EXT, {RA, VS}}, 7425 1.7 christos {"mfvsrwz", X(31,115), XX1RB_MASK, PPCVSX2, 0, {RA, XS6}}, 7426 1.2 skrll 7427 1.7 christos {"lharx", X(31,116), XEH_MASK, POWER8|E6500, 0, {RT, RA0, RB, EH}}, 7428 1.5 christos 7429 1.7 christos {"clf", X(31,118), XTO_MASK, POWER, 0, {RA, RB}}, 7430 1.2 skrll 7431 1.11 christos {"lbzux", X(31,119), X_MASK, COM, 0, {RT, RAL, RB}}, 7432 1.7 christos 7433 1.11 christos {"popcntb", X(31,122), XRB_MASK, POWER5, 0, {RA, RS}}, 7434 1.7 christos 7435 1.2 skrll {"not", XRC(31,124,0), X_MASK, COM, EXT, {RA, RSB}}, 7436 1.7 christos {"nor", XRC(31,124,0), X_MASK, COM, 0, {RA, RS, RB}}, 7437 1.5 christos {"not.", XRC(31,124,1), X_MASK, COM, EXT, {RA, RSB}}, 7438 1.8 christos {"nor.", XRC(31,124,1), X_MASK, COM, 0, {RA, RS, RB}}, 7439 1.5 christos 7440 1.7 christos {"dcbfep", XRT(31,127,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, 7441 1.5 christos 7442 1.7 christos {"setb", X(31,128), XRB_MASK|(3<<16), POWER9, 0, {RT, BFA}}, 7443 1.2 skrll 7444 1.7 christos {"wrtee", X(31,131), XRARB_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RS}}, 7445 1.7 christos 7446 1.2 skrll {"dcbtstls", X(31,134), X_MASK, PPCCHLK|PPC476|TITAN, 0, {CT, RA0, RB}}, 7447 1.7 christos 7448 1.7 christos {"stvebx", X(31,135), X_MASK, PPCVEC, 0, {VS, RA0, RB}}, 7449 1.7 christos {"stbfcmx", APU(31,135,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7450 1.7 christos 7451 1.2 skrll {"subfe", XO(31,136,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7452 1.7 christos {"sfe", XO(31,136,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7453 1.7 christos {"subfe.", XO(31,136,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7454 1.7 christos {"sfe.", XO(31,136,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7455 1.7 christos 7456 1.2 skrll {"adde", XO(31,138,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7457 1.7 christos {"ae", XO(31,138,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7458 1.5 christos {"adde.", XO(31,138,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7459 1.11 christos {"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7460 1.11 christos 7461 1.7 christos {"stxsiwx", X(31,140), XX1_MASK, PPCVSX2, 0, {XS6, RA0, RB}}, 7462 1.7 christos 7463 1.2 skrll {"stxvrbx", X(31,141), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7464 1.11 christos 7465 1.7 christos {"msgsndp", XRTRA(31,142,0,0), XRTRA_MASK, POWER8, 0, {RB}}, 7466 1.7 christos {"dcbtstlse", X(31,142), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}}, 7467 1.2 skrll 7468 1.7 christos {"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, EXT, {RS}}, 7469 1.2 skrll {"mtcrf", XFXM(31,144,0,0), XFXFXM_MASK, COM, 0, {FXM, RS}}, 7470 1.7 christos {"mtocrf", XFXM(31,144,0,1), XFXFXM_MASK, COM, 0, {FXM, RS}}, 7471 1.7 christos 7472 1.7 christos {"mtmsr", X(31,146), XRLARB_MASK, COM, 0, {RS, A_L}}, 7473 1.3 christos 7474 1.7 christos {"mtsle", X(31,147), XRTLRARB_MASK, POWER8, 0, {L}}, 7475 1.5 christos {"eratsx", XRC(31,147,0), X_MASK, PPCA2, 0, {RT, RA0, RB}}, 7476 1.7 christos {"eratsx.", XRC(31,147,1), X_MASK, PPCA2, 0, {RT, RA0, RB}}, 7477 1.5 christos 7478 1.7 christos {"stdx", X(31,149), X_MASK, PPC64, 0, {RS, RA0, RB}}, 7479 1.7 christos 7480 1.2 skrll {"stwcx.", XRC(31,150,1), X_MASK, PPC, 0, {RS, RA0, RB}}, 7481 1.7 christos 7482 1.7 christos {"stwx", X(31,151), X_MASK, PPCCOM, 0, {RS, RA0, RB}}, 7483 1.2 skrll {"stx", X(31,151), X_MASK, PWRCOM, 0, {RS, RA, RB}}, 7484 1.7 christos 7485 1.7 christos {"slq", XRC(31,152,0), X_MASK, M601, 0, {RA, RS, RB}}, 7486 1.2 skrll {"slq.", XRC(31,152,1), X_MASK, M601, 0, {RA, RS, RB}}, 7487 1.7 christos 7488 1.2 skrll {"sle", XRC(31,153,0), X_MASK, M601, 0, {RA, RS, RB}}, 7489 1.11 christos {"sle.", XRC(31,153,1), X_MASK, M601, 0, {RA, RS, RB}}, 7490 1.11 christos 7491 1.11 christos {"prtyw", X(31,154), XRB_MASK, POWER6|PPCA2|PPC476, 0, {RA, RS}}, 7492 1.7 christos 7493 1.5 christos {"brw", X(31,155), XRB_MASK, POWER10, 0, {RA, RS}}, 7494 1.7 christos {"pdepd", X(31,156), X_MASK, POWER10, 0, {RA, RS, RB}}, 7495 1.5 christos 7496 1.7 christos {"stdepx", X(31,157), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, 7497 1.5 christos 7498 1.7 christos {"stwepx", X(31,159), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, 7499 1.2 skrll 7500 1.7 christos {"wrteei", X(31,163), XE_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {E}}, 7501 1.7 christos 7502 1.2 skrll {"dcbtls", X(31,166), X_MASK, PPCCHLK|PPC476|TITAN, 0, {CT, RA0, RB}}, 7503 1.7 christos 7504 1.6 christos {"stvehx", X(31,167), X_MASK, PPCVEC, 0, {VS, RA0, RB}}, 7505 1.11 christos {"sthfcmx", APU(31,167,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7506 1.11 christos 7507 1.7 christos {"addex", ZRC(31,170,0), Z2_MASK, POWER9, 0, {RT, RA, RB, CY}}, 7508 1.7 christos 7509 1.2 skrll {"stxvrhx", X(31,173), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7510 1.12 christos 7511 1.11 christos {"msgclrp", XRTRA(31,174,0,0), XRTRA_MASK, POWER8, 0, {RB}}, 7512 1.12 christos {"dcbtlse", X(31,174), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}}, 7513 1.11 christos 7514 1.12 christos {"dmxxmfacc", XVA(31,177,0), XACC_MASK, POWER10, 0, {ACC}}, 7515 1.12 christos {"xxmfacc", XVA(31,177,0), XACC_MASK, POWER10, 0, {ACC}}, 7516 1.11 christos {"dmxxmtacc", XVA(31,177,1), XACC_MASK, POWER10, 0, {ACC}}, 7517 1.12 christos {"xxmtacc", XVA(31,177,1), XACC_MASK, POWER10, 0, {ACC}}, 7518 1.12 christos {"dmsetdmrz", XVA(31,177,2), XDMR_MASK, FUTURE, 0, {DMR}}, 7519 1.11 christos {"dmsetaccz", XVA(31,177,3), XACC_MASK, POWER10, 0, {ACC}}, 7520 1.7 christos {"xxsetaccz", XVA(31,177,3), XACC_MASK, POWER10, 0, {ACC}}, 7521 1.2 skrll {"dmmr", XVA(31,177,6), XDMRDMR_MASK,FUTURE, 0, {DMR, DMRAB}}, 7522 1.11 christos {"dmxor", XVA(31,177,7), XDMRDMR_MASK,FUTURE, 0, {DMR, DMRAB}}, 7523 1.11 christos 7524 1.7 christos {"mtmsrd", X(31,178), XRLARB_MASK, PPC64, 0, {RS, A_L}}, 7525 1.7 christos 7526 1.3 christos {"mtfprd", X(31,179), XX1RB_MASK|1, PPCVSX2, EXT, {FRT, RA}}, 7527 1.7 christos {"mtvrd", X(31,179)|1, XX1RB_MASK|1, PPCVSX2, EXT, {VD, RA}}, 7528 1.2 skrll {"mtvsrd", X(31,179), XX1RB_MASK, PPCVSX2, 0, {XT6, RA}}, 7529 1.8 christos {"eratre", X(31,179), X_MASK, PPCA2, 0, {RT, RA, WS}}, 7530 1.7 christos 7531 1.3 christos {"stdux", X(31,181), X_MASK, PPC64, 0, {RS, RAS, RB}}, 7532 1.7 christos 7533 1.7 christos {"stqcx.", XRC(31,182,1), X_MASK|Q_MASK, POWER8, 0, {RSQ, RA0, RB}}, 7534 1.2 skrll {"wchkall", X(31,182), X_MASK, PPCA2, 0, {OBF}}, 7535 1.7 christos 7536 1.7 christos {"stwux", X(31,183), X_MASK, PPCCOM, 0, {RS, RAS, RB}}, 7537 1.2 skrll {"stux", X(31,183), X_MASK, PWRCOM, 0, {RS, RA0, RB}}, 7538 1.7 christos 7539 1.2 skrll {"sliq", XRC(31,184,0), X_MASK, M601, 0, {RA, RS, SH}}, 7540 1.11 christos {"sliq.", XRC(31,184,1), X_MASK, M601, 0, {RA, RS, SH}}, 7541 1.11 christos 7542 1.11 christos {"prtyd", X(31,186), XRB_MASK, POWER6|PPCA2, 0, {RA, RS}}, 7543 1.7 christos 7544 1.5 christos {"brd", X(31,187), XRB_MASK, POWER10, 0, {RA, RS}}, 7545 1.7 christos {"pextd", X(31,188), X_MASK, POWER10, 0, {RA, RS, RB}}, 7546 1.4 christos 7547 1.7 christos {"cmprb", X(31,192), XCMP_MASK, POWER9, 0, {BF, L, RA, RB}}, 7548 1.7 christos 7549 1.2 skrll {"icblq.", XRC(31,198,1), X_MASK, E6500, 0, {CT, RA0, RB}}, 7550 1.7 christos 7551 1.7 christos {"stvewx", X(31,199), X_MASK, PPCVEC, 0, {VS, RA0, RB}}, 7552 1.7 christos {"stwfcmx", APU(31,199,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7553 1.7 christos 7554 1.2 skrll {"subfze", XO(31,200,0,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7555 1.7 christos {"sfze", XO(31,200,0,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7556 1.7 christos {"subfze.", XO(31,200,0,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7557 1.7 christos {"sfze.", XO(31,200,0,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7558 1.7 christos 7559 1.2 skrll {"addze", XO(31,202,0,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7560 1.11 christos {"aze", XO(31,202,0,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7561 1.11 christos {"addze.", XO(31,202,0,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7562 1.7 christos {"aze.", XO(31,202,0,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7563 1.3 christos 7564 1.7 christos {"stxvrwx", X(31,205), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7565 1.2 skrll 7566 1.11 christos {"msgsnd", XRTRA(31,206,0,0), XRTRA_MASK, E500MC|PPCA2|POWER8, 0, {RB}}, 7567 1.11 christos 7568 1.7 christos {"mtsr", X(31,210), XRB_MASK|(1<<20), COM, NON32, {SR, RS}}, 7569 1.7 christos 7570 1.3 christos {"mtfprwa", X(31,211), XX1RB_MASK|1, PPCVSX2, EXT, {FRT, RA}}, 7571 1.7 christos {"mtvrwa", X(31,211)|1, XX1RB_MASK|1, PPCVSX2, EXT, {VD, RA}}, 7572 1.2 skrll {"mtvsrwa", X(31,211), XX1RB_MASK, PPCVSX2, 0, {XT6, RA}}, 7573 1.7 christos {"eratwe", X(31,211), X_MASK, PPCA2, 0, {RS, RA, WS}}, 7574 1.5 christos 7575 1.7 christos {"ldawx.", XRC(31,212,1), X_MASK, PPCA2, 0, {RT, RA0, RB}}, 7576 1.2 skrll 7577 1.7 christos {"stdcx.", XRC(31,214,1), X_MASK, PPC64, 0, {RS, RA0, RB}}, 7578 1.7 christos 7579 1.2 skrll {"stbx", X(31,215), X_MASK, COM, 0, {RS, RA0, RB}}, 7580 1.7 christos 7581 1.7 christos {"sllq", XRC(31,216,0), X_MASK, M601, 0, {RA, RS, RB}}, 7582 1.2 skrll {"sllq.", XRC(31,216,1), X_MASK, M601, 0, {RA, RS, RB}}, 7583 1.11 christos 7584 1.11 christos {"sleq", XRC(31,217,0), X_MASK, M601, 0, {RA, RS, RB}}, 7585 1.11 christos {"sleq.", XRC(31,217,1), X_MASK, M601, 0, {RA, RS, RB}}, 7586 1.7 christos 7587 1.5 christos {"brh", X(31,219), XRB_MASK, POWER10, 0, {RA, RS}}, 7588 1.7 christos {"cfuged", X(31,220), X_MASK, POWER10, 0, {RA, RS, RB}}, 7589 1.5 christos 7590 1.7 christos {"stbepx", X(31,223), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, 7591 1.2 skrll 7592 1.7 christos {"cmpeqb", X(31,224), XCMPL_MASK, POWER9, 0, {BF, RA, RB}}, 7593 1.7 christos 7594 1.2 skrll {"icblc", X(31,230), X_MASK, PPCCHLK|PPC476|TITAN, 0, {CT, RA0, RB}}, 7595 1.7 christos 7596 1.7 christos {"stvx", X(31,231), X_MASK, PPCVEC, 0, {VS, RA0, RB}}, 7597 1.7 christos {"stqfcmx", APU(31,231,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7598 1.7 christos 7599 1.2 skrll {"subfme", XO(31,232,0,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7600 1.7 christos {"sfme", XO(31,232,0,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7601 1.7 christos {"subfme.", XO(31,232,0,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7602 1.5 christos {"sfme.", XO(31,232,0,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7603 1.7 christos 7604 1.7 christos {"mulld", XO(31,233,0,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7605 1.7 christos {"mulld.", XO(31,233,0,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 7606 1.7 christos 7607 1.2 skrll {"addme", XO(31,234,0,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7608 1.7 christos {"ame", XO(31,234,0,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7609 1.7 christos {"addme.", XO(31,234,0,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 7610 1.7 christos {"ame.", XO(31,234,0,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 7611 1.7 christos 7612 1.2 skrll {"mullw", XO(31,235,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7613 1.11 christos {"muls", XO(31,235,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7614 1.11 christos {"mullw.", XO(31,235,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7615 1.7 christos {"muls.", XO(31,235,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7616 1.7 christos 7617 1.7 christos {"stxvrdx", X(31,237), XX1_MASK, POWER10, 0, {XT6, RA0, RB}}, 7618 1.3 christos 7619 1.2 skrll {"icblce", X(31,238), X_MASK, PPCCHLK, E500MC|PPCA2, {CT, RA, RB}}, 7620 1.11 christos {"msgclr", XRTRA(31,238,0,0), XRTRA_MASK, E500MC|PPCA2|POWER8, 0, {RB}}, 7621 1.11 christos {"mtsrin", X(31,242), XRA_MASK, PPC, NON32, {RS, RB}}, 7622 1.7 christos {"mtsri", X(31,242), XRA_MASK, POWER, NON32, {RS, RB}}, 7623 1.5 christos 7624 1.11 christos {"mtfprwz", X(31,243), XX1RB_MASK|1, PPCVSX2, EXT, {FRT, RA}}, 7625 1.11 christos {"mtvrwz", X(31,243)|1, XX1RB_MASK|1, PPCVSX2, EXT, {VD, RA}}, 7626 1.11 christos {"mtvsrwz", X(31,243), XX1RB_MASK, PPCVSX2, 0, {XT6, RA}}, 7627 1.7 christos 7628 1.7 christos {"dcbtstt", XRT(31,246,0x10), XRT_MASK, POWER7, EXT, {RA0, RB}}, 7629 1.7 christos {"dcbtstct", X(31,246), X_MASK, POWER4, EXT, {RA0, RB, THCT}}, 7630 1.5 christos {"dcbtstds", X(31,246), X_MASK, POWER4, EXT, {RA0, RB, THDS}}, 7631 1.7 christos {"dcbtst", X(31,246), X_MASK, POWER4, DCBT_EO, {RA0, RB, CT}}, 7632 1.2 skrll {"dcbtst", X(31,246), X_MASK, DCBT_EO, 0, {CT, RA0, RB}}, 7633 1.7 christos {"dcbtst", X(31,246), X_MASK, PPC, POWER4|DCBT_EO, {RA0, RB}}, 7634 1.7 christos 7635 1.2 skrll {"stbux", X(31,247), X_MASK, COM, 0, {RS, RAS, RB}}, 7636 1.7 christos 7637 1.2 skrll {"slliq", XRC(31,248,0), X_MASK, M601, 0, {RA, RS, SH}}, 7638 1.7 christos {"slliq.", XRC(31,248,1), X_MASK, M601, 0, {RA, RS, SH}}, 7639 1.2 skrll 7640 1.7 christos {"bpermd", X(31,252), X_MASK, POWER7|PPCA2, 0, {RA, RS, RB}}, 7641 1.7 christos 7642 1.2 skrll {"dcbtstep", XRT(31,255,0), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7643 1.8 christos 7644 1.4 christos {"mfdcrx", X(31,259), X_MASK, BOOKE|PPCA2|PPC476, TITAN, {RS, RA}}, 7645 1.7 christos {"mfdcrx.", XRC(31,259,1), X_MASK, PPCA2, 0, {RS, RA}}, 7646 1.2 skrll 7647 1.8 christos {"lvexbx", X(31,261), X_MASK, E6500, 0, {VD, RA0, RB}}, 7648 1.11 christos 7649 1.4 christos {"icbt", X(31,262), XRT_MASK, PPC403, 0, {RA, RB}}, 7650 1.7 christos 7651 1.7 christos {"lvepxl", X(31,263), X_MASK, E6500, 0, {VD, RA0, RB}}, 7652 1.2 skrll {"ldfcmx", APU(31,263,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 7653 1.7 christos 7654 1.5 christos {"doz", XO(31,264,0,0), XO_MASK, M601, 0, {RT, RA, RB}}, 7655 1.7 christos {"doz.", XO(31,264,0,1), XO_MASK, M601, 0, {RT, RA, RB}}, 7656 1.7 christos 7657 1.7 christos {"modud", X(31,265), X_MASK, POWER9, 0, {RT, RA, RB}}, 7658 1.7 christos 7659 1.2 skrll {"add", XO(31,266,0,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7660 1.7 christos {"cax", XO(31,266,0,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7661 1.5 christos {"add.", XO(31,266,0,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 7662 1.7 christos {"cax.", XO(31,266,0,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 7663 1.7 christos 7664 1.5 christos {"moduw", X(31,267), X_MASK, POWER9, 0, {RT, RA, RB}}, 7665 1.7 christos 7666 1.2 skrll {"lxvx", X(31,268), XX1_MASK|1<<6, PPCVSX3, 0, {XT6, RA0, RB}}, 7667 1.8 christos {"lxvl", X(31,269), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 7668 1.8 christos 7669 1.2 skrll {"ehpriv", X(31,270), 0xffffffff, E500MC|PPCA2, 0, {0}}, 7670 1.14 christos 7671 1.7 christos {"tlbiel", X(31,274), X_MASK|1<<20,POWER9, 0, {RB, RSO, RIC, PRS, X_R}}, 7672 1.5 christos {"tlbiel", X(31,274), XRTLRA_MASK, POWER4, POWER9|PPC476, {RB, LOPT}}, 7673 1.8 christos 7674 1.2 skrll {"mtlpl", X(31,275), XRA_MASK, FUTURE, 0, {RB, RS}}, 7675 1.7 christos {"mfapidi", X(31,275), X_MASK, BOOKE, E500|TITAN, {RT, RA}}, 7676 1.7 christos 7677 1.2 skrll {"lqarx", X(31,276), XEH_MASK|Q_MASK, POWER8, 0, {RTQ, RAX, RBX, EH}}, 7678 1.11 christos 7679 1.11 christos {"lscbx", XRC(31,277,0), X_MASK, M601, 0, {RT, RA, RB}}, 7680 1.11 christos {"lscbx.", XRC(31,277,1), X_MASK, M601, 0, {RT, RA, RB}}, 7681 1.11 christos 7682 1.7 christos {"dcbtt", XRT(31,278,0x10), XRT_MASK, POWER7, EXT, {RA0, RB}}, 7683 1.7 christos {"dcbna", XRT(31,278,0x11), XRT_MASK, POWER10, EXT, {RA0, RB}}, 7684 1.7 christos {"dcbtct", X(31,278), X_MASK, POWER4, EXT, {RA0, RB, THCT}}, 7685 1.7 christos {"dcbtds", X(31,278), X_MASK, POWER4, EXT, {RA0, RB, THDS}}, 7686 1.7 christos {"dcbt", X(31,278), X_MASK, POWER4, DCBT_EO, {RA0, RB, CT}}, 7687 1.7 christos {"dcbt", X(31,278), X_MASK, DCBT_EO, 0, {CT, RA0, RB}}, 7688 1.7 christos {"dcbt", X(31,278), X_MASK, PPC, POWER4|DCBT_EO, {RA0, RB}}, 7689 1.7 christos 7690 1.7 christos {"lhzx", X(31,279), X_MASK, COM, 0, {RT, RA0, RB}}, 7691 1.7 christos 7692 1.7 christos {"cdtbcd", X(31,282), XRB_MASK, POWER6, 0, {RA, RS}}, 7693 1.7 christos 7694 1.7 christos {"eqv", XRC(31,284,0), X_MASK, COM, 0, {RA, RS, RB}}, 7695 1.8 christos {"eqv.", XRC(31,284,1), X_MASK, COM, 0, {RA, RS, RB}}, 7696 1.7 christos 7697 1.8 christos {"lhepx", X(31,287), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7698 1.8 christos 7699 1.7 christos {"mfdcrux", X(31,291), X_MASK, PPC464|PPC476, 0, {RS, RA}}, 7700 1.7 christos 7701 1.7 christos {"lvexhx", X(31,293), X_MASK, E6500, 0, {VD, RA0, RB}}, 7702 1.7 christos {"lvepx", X(31,295), X_MASK, E6500, 0, {VD, RA0, RB}}, 7703 1.7 christos 7704 1.7 christos {"lxvll", X(31,301), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 7705 1.7 christos 7706 1.8 christos {"mfbhrbe", X(31,302), X_MASK, POWER8, 0, {RT, BHRBE}}, 7707 1.7 christos 7708 1.7 christos {"tlbie", X(31,306), X_MASK|1<<20,POWER9, TITAN, {RB, RS, RIC, PRS, X_R}}, 7709 1.7 christos {"tlbie", X(31,306), XRA_MASK, POWER7, POWER9|TITAN, {RB, RS}}, 7710 1.7 christos {"tlbie", X(31,306), XRTLRA_MASK, PPC, E500|POWER7|TITAN, {RB, LOPT}}, 7711 1.7 christos {"tlbi", X(31,306), XRT_MASK, POWER, 0, {RA0, RB}}, 7712 1.7 christos 7713 1.7 christos {"mfvsrld", X(31,307), XX1RB_MASK, PPCVSX3, 0, {RA, XS6}}, 7714 1.7 christos 7715 1.7 christos {"eciwx", X(31,310), X_MASK, PPC, E500|TITAN, {RT, RA0, RB}}, 7716 1.7 christos 7717 1.7 christos {"lhzux", X(31,311), X_MASK, COM, 0, {RT, RAL, RB}}, 7718 1.7 christos 7719 1.7 christos {"cbcdtd", X(31,314), XRB_MASK, POWER6, 0, {RA, RS}}, 7720 1.7 christos 7721 1.7 christos {"xor", XRC(31,316,0), X_MASK, COM, 0, {RA, RS, RB}}, 7722 1.7 christos {"xor.", XRC(31,316,1), X_MASK, COM, 0, {RA, RS, RB}}, 7723 1.7 christos 7724 1.7 christos {"dcbtep", XRT(31,319,0), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}}, 7725 1.7 christos 7726 1.7 christos {"mfexisr", XSPR(31,323, 64), XSPR_MASK, PPC403, 0, {RT}}, 7727 1.7 christos {"mfexier", XSPR(31,323, 66), XSPR_MASK, PPC403, 0, {RT}}, 7728 1.7 christos {"mfbr0", XSPR(31,323,128), XSPR_MASK, PPC403, 0, {RT}}, 7729 1.7 christos {"mfbr1", XSPR(31,323,129), XSPR_MASK, PPC403, 0, {RT}}, 7730 1.7 christos {"mfbr2", XSPR(31,323,130), XSPR_MASK, PPC403, 0, {RT}}, 7731 1.7 christos {"mfbr3", XSPR(31,323,131), XSPR_MASK, PPC403, 0, {RT}}, 7732 1.7 christos {"mfbr4", XSPR(31,323,132), XSPR_MASK, PPC403, 0, {RT}}, 7733 1.7 christos {"mfbr5", XSPR(31,323,133), XSPR_MASK, PPC403, 0, {RT}}, 7734 1.7 christos {"mfbr6", XSPR(31,323,134), XSPR_MASK, PPC403, 0, {RT}}, 7735 1.7 christos {"mfbr7", XSPR(31,323,135), XSPR_MASK, PPC403, 0, {RT}}, 7736 1.7 christos {"mfbear", XSPR(31,323,144), XSPR_MASK, PPC403, 0, {RT}}, 7737 1.7 christos {"mfbesr", XSPR(31,323,145), XSPR_MASK, PPC403, 0, {RT}}, 7738 1.7 christos {"mfiocr", XSPR(31,323,160), XSPR_MASK, PPC403, 0, {RT}}, 7739 1.7 christos {"mfdmacr0", XSPR(31,323,192), XSPR_MASK, PPC403, 0, {RT}}, 7740 1.7 christos {"mfdmact0", XSPR(31,323,193), XSPR_MASK, PPC403, 0, {RT}}, 7741 1.7 christos {"mfdmada0", XSPR(31,323,194), XSPR_MASK, PPC403, 0, {RT}}, 7742 1.7 christos {"mfdmasa0", XSPR(31,323,195), XSPR_MASK, PPC403, 0, {RT}}, 7743 1.7 christos {"mfdmacc0", XSPR(31,323,196), XSPR_MASK, PPC403, 0, {RT}}, 7744 1.7 christos {"mfdmacr1", XSPR(31,323,200), XSPR_MASK, PPC403, 0, {RT}}, 7745 1.7 christos {"mfdmact1", XSPR(31,323,201), XSPR_MASK, PPC403, 0, {RT}}, 7746 1.7 christos {"mfdmada1", XSPR(31,323,202), XSPR_MASK, PPC403, 0, {RT}}, 7747 1.7 christos {"mfdmasa1", XSPR(31,323,203), XSPR_MASK, PPC403, 0, {RT}}, 7748 1.7 christos {"mfdmacc1", XSPR(31,323,204), XSPR_MASK, PPC403, 0, {RT}}, 7749 1.7 christos {"mfdmacr2", XSPR(31,323,208), XSPR_MASK, PPC403, 0, {RT}}, 7750 1.7 christos {"mfdmact2", XSPR(31,323,209), XSPR_MASK, PPC403, 0, {RT}}, 7751 1.7 christos {"mfdmada2", XSPR(31,323,210), XSPR_MASK, PPC403, 0, {RT}}, 7752 1.7 christos {"mfdmasa2", XSPR(31,323,211), XSPR_MASK, PPC403, 0, {RT}}, 7753 1.7 christos {"mfdmacc2", XSPR(31,323,212), XSPR_MASK, PPC403, 0, {RT}}, 7754 1.7 christos {"mfdmacr3", XSPR(31,323,216), XSPR_MASK, PPC403, 0, {RT}}, 7755 1.7 christos {"mfdmact3", XSPR(31,323,217), XSPR_MASK, PPC403, 0, {RT}}, 7756 1.7 christos {"mfdmada3", XSPR(31,323,218), XSPR_MASK, PPC403, 0, {RT}}, 7757 1.7 christos {"mfdmasa3", XSPR(31,323,219), XSPR_MASK, PPC403, 0, {RT}}, 7758 1.7 christos {"mfdmacc3", XSPR(31,323,220), XSPR_MASK, PPC403, 0, {RT}}, 7759 1.8 christos {"mfdmasr", XSPR(31,323,224), XSPR_MASK, PPC403, 0, {RT}}, 7760 1.7 christos {"mfdcr", X(31,323), X_MASK, PPC403|BOOKE|PPCA2|PPC476, E500|TITAN, {RT, SPR}}, 7761 1.7 christos {"mfdcr.", XRC(31,323,1), X_MASK, PPCA2, 0, {RT, SPR}}, 7762 1.7 christos 7763 1.7 christos {"lvexwx", X(31,325), X_MASK, E6500, 0, {VD, RA0, RB}}, 7764 1.7 christos 7765 1.7 christos {"dcread", X(31,326), X_MASK, PPC476|TITAN, 0, {RT, RA0, RB}}, 7766 1.7 christos 7767 1.7 christos {"div", XO(31,331,0,0), XO_MASK, M601, 0, {RT, RA, RB}}, 7768 1.11 christos {"div.", XO(31,331,0,1), XO_MASK, M601, 0, {RT, RA, RB}}, 7769 1.11 christos 7770 1.7 christos {"lxvdsx", X(31,332), XX1_MASK, PPCVSX, 0, {XT6, RA0, RB}}, 7771 1.8 christos 7772 1.7 christos {"lxvpx", X(31,333), XX1_MASK, POWER10, 0, {XTP, RA0, RB}}, 7773 1.7 christos 7774 1.7 christos {"mfpmr", X(31,334), X_MASK, PPCPMR|PPCE300, 0, {RT, PMR}}, 7775 1.11 christos {"mftmr", X(31,366), X_MASK, PPCTMR, 0, {RT, TMR}}, 7776 1.11 christos 7777 1.11 christos {"slbsync", X(31,338), 0xffffffff, POWER9, 0, {0}}, 7778 1.11 christos 7779 1.11 christos {"mfmq", XSPR(31,339, 0), XSPR_MASK, M601, EXT, {RT}}, 7780 1.11 christos {"mfxer", XSPR(31,339, 1), XSPR_MASK, COM, EXT, {RT}}, 7781 1.11 christos {"mfudscr", XSPR(31,339, 3), XSPR_MASK, POWER9, EXT, {RS}}, 7782 1.11 christos {"mfrtcu", XSPR(31,339, 4), XSPR_MASK, COM, TITAN|EXT, {RT}}, 7783 1.11 christos {"mfrtcl", XSPR(31,339, 5), XSPR_MASK, COM, TITAN|EXT, {RT}}, 7784 1.11 christos {"mfdec", XSPR(31,339, 6), XSPR_MASK, MFDEC1, EXT, {RT}}, 7785 1.11 christos {"mflr", XSPR(31,339, 8), XSPR_MASK, COM, EXT, {RT}}, 7786 1.11 christos {"mfctr", XSPR(31,339, 9), XSPR_MASK, COM, EXT, {RT}}, 7787 1.11 christos {"mfuamr", XSPR(31,339, 13), XSPR_MASK, POWER9, EXT, {RS}}, 7788 1.11 christos {"mfdscr", XSPR(31,339, 17), XSPR_MASK, POWER6, EXT, {RT}}, 7789 1.11 christos {"mftid", XSPR(31,339, 17), XSPR_MASK, POWER, EXT, {RT}}, 7790 1.11 christos {"mfdsisr", XSPR(31,339, 18), XSPR_MASK, COM, TITAN|EXT, {RT}}, 7791 1.11 christos {"mfdar", XSPR(31,339, 19), XSPR_MASK, COM, TITAN|EXT, {RT}}, 7792 1.11 christos {"mfdec", XSPR(31,339, 22), XSPR_MASK, MFDEC2, MFDEC1|EXT, {RT}}, 7793 1.11 christos {"mfsdr0", XSPR(31,339, 24), XSPR_MASK, POWER, EXT, {RT}}, 7794 1.11 christos {"mfsdr1", XSPR(31,339, 25), XSPR_MASK, COM, TITAN|EXT, {RT}}, 7795 1.11 christos {"mfsrr0", XSPR(31,339, 26), XSPR_MASK, COM, EXT, {RT}}, 7796 1.11 christos {"mfsrr1", XSPR(31,339, 27), XSPR_MASK, COM, EXT, {RT}}, 7797 1.11 christos {"mfcfar", XSPR(31,339, 28), XSPR_MASK, POWER6, EXT, {RT}}, 7798 1.11 christos {"mfamr", XSPR(31,339, 29), XSPR_MASK, POWER7, EXT, {RS}}, 7799 1.11 christos {"mfpidr", XSPR(31,339, 48), XSPR_MASK, POWER10, EXT, {RS}}, 7800 1.11 christos {"mfpid", XSPR(31,339, 48), XSPR_MASK, BOOKE, EXT, {RT}}, 7801 1.11 christos {"mfcsrr0", XSPR(31,339, 58), XSPR_MASK, BOOKE, EXT, {RT}}, 7802 1.11 christos {"mfcsrr1", XSPR(31,339, 59), XSPR_MASK, BOOKE, EXT, {RT}}, 7803 1.11 christos {"mfiamr", XSPR(31,339, 61), XSPR_MASK, POWER10, EXT, {RS}}, 7804 1.11 christos {"mfdear", XSPR(31,339, 61), XSPR_MASK, BOOKE, EXT, {RT}}, 7805 1.11 christos {"mfesr", XSPR(31,339, 62), XSPR_MASK, BOOKE, EXT, {RT}}, 7806 1.11 christos {"mfivpr", XSPR(31,339, 63), XSPR_MASK, BOOKE, EXT, {RT}}, 7807 1.11 christos {"mfctrl", XSPR(31,339,136), XSPR_MASK, POWER4, EXT, {RT}}, 7808 1.11 christos {"mfcmpa", XSPR(31,339,144), XSPR_MASK, PPC860, EXT, {RT}}, 7809 1.11 christos {"mfcmpb", XSPR(31,339,145), XSPR_MASK, PPC860, EXT, {RT}}, 7810 1.11 christos {"mfcmpc", XSPR(31,339,146), XSPR_MASK, PPC860, EXT, {RT}}, 7811 1.11 christos {"mfcmpd", XSPR(31,339,147), XSPR_MASK, PPC860, EXT, {RT}}, 7812 1.11 christos {"mficr", XSPR(31,339,148), XSPR_MASK, PPC860, EXT, {RT}}, 7813 1.11 christos {"mfder", XSPR(31,339,149), XSPR_MASK, PPC860, EXT, {RT}}, 7814 1.11 christos {"mfcounta", XSPR(31,339,150), XSPR_MASK, PPC860, EXT, {RT}}, 7815 1.11 christos {"mfcountb", XSPR(31,339,151), XSPR_MASK, PPC860, EXT, {RT}}, 7816 1.11 christos {"mfcmpe", XSPR(31,339,152), XSPR_MASK, PPC860, EXT, {RT}}, 7817 1.11 christos {"mffscr", XSPR(31,339,153), XSPR_MASK, POWER10, EXT, {RS}}, 7818 1.11 christos {"mfcmpf", XSPR(31,339,153), XSPR_MASK, PPC860, EXT, {RT}}, 7819 1.11 christos {"mfcmpg", XSPR(31,339,154), XSPR_MASK, PPC860, EXT, {RT}}, 7820 1.11 christos {"mfcmph", XSPR(31,339,155), XSPR_MASK, PPC860, EXT, {RT}}, 7821 1.11 christos {"mflctrl1", XSPR(31,339,156), XSPR_MASK, PPC860, EXT, {RT}}, 7822 1.11 christos {"mfuamor", XSPR(31,339,157), XSPR_MASK, POWER7, EXT, {RS}}, 7823 1.11 christos {"mflctrl2", XSPR(31,339,157), XSPR_MASK, PPC860, EXT, {RT}}, 7824 1.11 christos {"mfictrl", XSPR(31,339,158), XSPR_MASK, PPC860, EXT, {RT}}, 7825 1.11 christos {"mfpspb", XSPR(31,339,159), XSPR_MASK, POWER10, EXT, {RS}}, 7826 1.11 christos {"mfbar", XSPR(31,339,159), XSPR_MASK, PPC860, EXT, {RT}}, 7827 1.11 christos {"mfdpdes", XSPR(31,339,176), XSPR_MASK, POWER10, EXT, {RS}}, 7828 1.11 christos {"mfdawr0", XSPR(31,339,180), XSPR_MASK, POWER10, EXT, {RS}}, 7829 1.11 christos {"mfdawr1", XSPR(31,339,181), XSPR_MASK, POWER10, EXT, {RS}}, 7830 1.11 christos {"mfrpr", XSPR(31,339,186), XSPR_MASK, POWER10, EXT, {RS}}, 7831 1.11 christos {"mfciabr", XSPR(31,339,187), XSPR_MASK, POWER10, EXT, {RS}}, 7832 1.11 christos {"mfdawrx0", XSPR(31,339,188), XSPR_MASK, POWER10, EXT, {RS}}, 7833 1.11 christos {"mfdawrx1", XSPR(31,339,189), XSPR_MASK, POWER10, EXT, {RS}}, 7834 1.11 christos {"mfhfscr", XSPR(31,339,190), XSPR_MASK, POWER10, EXT, {RS}}, 7835 1.11 christos {"mfvrsave", XSPR(31,339,256), XSPR_MASK, PPCVEC, EXT, {RT}}, 7836 1.11 christos {"mfusprg0", XSPR(31,339,256), XSPR_MASK, BOOKE, EXT, {RT}}, 7837 1.11 christos {"mfsprg", XSPR(31,339,256), XSPRG_MASK, PPC, EXT, {RT, SPRG}}, 7838 1.11 christos {"mfusprg3", XSPR(31,339,259), XSPR_MASK, POWER10, EXT, {RT}}, 7839 1.11 christos {"mfsprg4", XSPR(31,339,260), XSPR_MASK, PPC405|BOOKE, EXT, {RT}}, 7840 1.11 christos {"mfsprg5", XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE, EXT, {RT}}, 7841 1.11 christos {"mfsprg6", XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE, EXT, {RT}}, 7842 1.11 christos {"mfsprg7", XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE, EXT, {RT}}, 7843 1.11 christos {"mftbu", XSPR(31,339,269), XSPR_MASK, POWER4|BOOKE, EXT, {RT}}, 7844 1.11 christos {"mftb", X(31,339), X_MASK, POWER4|BOOKE, EXT, {RT, TBR}}, 7845 1.11 christos {"mftbl", XSPR(31,339,268), XSPR_MASK, POWER4|BOOKE, EXT, {RT}}, 7846 1.11 christos {"mfsprg0", XSPR(31,339,272), XSPR_MASK, PPC, EXT, {RT}}, 7847 1.11 christos {"mfsprg1", XSPR(31,339,273), XSPR_MASK, PPC, EXT, {RT}}, 7848 1.11 christos {"mfsprg2", XSPR(31,339,274), XSPR_MASK, PPC, EXT, {RT}}, 7849 1.11 christos {"mfsprg3", XSPR(31,339,275), XSPR_MASK, PPC, EXT, {RT}}, 7850 1.11 christos {"mfasr", XSPR(31,339,280), XSPR_MASK, PPC64, EXT, {RT}}, 7851 1.11 christos {"mfear", XSPR(31,339,282), XSPR_MASK, PPC, TITAN|EXT, {RT}}, 7852 1.11 christos {"mfpir", XSPR(31,339,286), XSPR_MASK, BOOKE, EXT, {RT}}, 7853 1.11 christos {"mfpvr", XSPR(31,339,287), XSPR_MASK, PPC, EXT, {RT}}, 7854 1.11 christos {"mfhsprg0", XSPR(31,339,304), XSPR_MASK, POWER10, EXT, {RS}}, 7855 1.11 christos {"mfdbsr", XSPR(31,339,304), XSPR_MASK, BOOKE, EXT, {RT}}, 7856 1.11 christos {"mfhsprg1", XSPR(31,339,305), XSPR_MASK, POWER10, EXT, {RS}}, 7857 1.11 christos {"mfhdisr", XSPR(31,339,306), XSPR_MASK, POWER10, EXT, {RS}}, 7858 1.11 christos {"mfhdar", XSPR(31,339,307), XSPR_MASK, POWER10, EXT, {RS}}, 7859 1.11 christos {"mfspurr", XSPR(31,339,308), XSPR_MASK, POWER10, EXT, {RS}}, 7860 1.11 christos {"mfdbcr0", XSPR(31,339,308), XSPR_MASK, BOOKE, EXT, {RT}}, 7861 1.11 christos {"mfpurr", XSPR(31,339,309), XSPR_MASK, POWER10, EXT, {RS}}, 7862 1.11 christos {"mfdbcr1", XSPR(31,339,309), XSPR_MASK, BOOKE, EXT, {RT}}, 7863 1.11 christos {"mfhdec", XSPR(31,339,310), XSPR_MASK, POWER10, EXT, {RS}}, 7864 1.11 christos {"mfdbcr2", XSPR(31,339,310), XSPR_MASK, BOOKE, EXT, {RT}}, 7865 1.11 christos {"mfiac1", XSPR(31,339,312), XSPR_MASK, BOOKE, EXT, {RT}}, 7866 1.11 christos {"mfhrmor", XSPR(31,339,313), XSPR_MASK, POWER10, EXT, {RS}}, 7867 1.11 christos {"mfiac2", XSPR(31,339,313), XSPR_MASK, BOOKE, EXT, {RT}}, 7868 1.11 christos {"mfhsrr0", XSPR(31,339,314), XSPR_MASK, POWER10, EXT, {RS}}, 7869 1.11 christos {"mfiac3", XSPR(31,339,314), XSPR_MASK, BOOKE, EXT, {RT}}, 7870 1.11 christos {"mfhsrr1", XSPR(31,339,315), XSPR_MASK, POWER10, EXT, {RS}}, 7871 1.11 christos {"mfiac4", XSPR(31,339,315), XSPR_MASK, BOOKE, EXT, {RT}}, 7872 1.11 christos {"mfdac1", XSPR(31,339,316), XSPR_MASK, BOOKE, EXT, {RT}}, 7873 1.11 christos {"mfdac2", XSPR(31,339,317), XSPR_MASK, BOOKE, EXT, {RT}}, 7874 1.11 christos {"mflpcr", XSPR(31,339,318), XSPR_MASK, POWER10, EXT, {RS}}, 7875 1.11 christos {"mfdvc1", XSPR(31,339,318), XSPR_MASK, BOOKE, EXT, {RT}}, 7876 1.11 christos {"mflpidr", XSPR(31,339,319), XSPR_MASK, POWER10, EXT, {RS}}, 7877 1.11 christos {"mfdvc2", XSPR(31,339,319), XSPR_MASK, BOOKE, EXT, {RT}}, 7878 1.11 christos {"mfhmer", XSPR(31,339,336), XSPR_MASK, POWER7, EXT, {RS}}, 7879 1.11 christos {"mftsr", XSPR(31,339,336), XSPR_MASK, BOOKE, EXT, {RT}}, 7880 1.11 christos {"mfhmeer", XSPR(31,339,337), XSPR_MASK, POWER7, EXT, {RS}}, 7881 1.11 christos {"mfpcr", XSPR(31,339,338), XSPR_MASK, POWER10, EXT, {RS}}, 7882 1.11 christos {"mfheir", XSPR(31,339,339), XSPR_MASK, POWER10, EXT, {RS}}, 7883 1.11 christos {"mftcr", XSPR(31,339,340), XSPR_MASK, BOOKE, EXT, {RT}}, 7884 1.11 christos {"mfamor", XSPR(31,339,349), XSPR_MASK, POWER7, EXT, {RS}}, 7885 1.11 christos {"mfivor0", XSPR(31,339,400), XSPR_MASK, BOOKE, EXT, {RT}}, 7886 1.11 christos {"mfivor1", XSPR(31,339,401), XSPR_MASK, BOOKE, EXT, {RT}}, 7887 1.11 christos {"mfivor2", XSPR(31,339,402), XSPR_MASK, BOOKE, EXT, {RT}}, 7888 1.11 christos {"mfivor3", XSPR(31,339,403), XSPR_MASK, BOOKE, EXT, {RT}}, 7889 1.11 christos {"mfivor4", XSPR(31,339,404), XSPR_MASK, BOOKE, EXT, {RT}}, 7890 1.11 christos {"mfivor5", XSPR(31,339,405), XSPR_MASK, BOOKE, EXT, {RT}}, 7891 1.11 christos {"mfivor6", XSPR(31,339,406), XSPR_MASK, BOOKE, EXT, {RT}}, 7892 1.11 christos {"mfivor7", XSPR(31,339,407), XSPR_MASK, BOOKE, EXT, {RT}}, 7893 1.11 christos {"mfivor8", XSPR(31,339,408), XSPR_MASK, BOOKE, EXT, {RT}}, 7894 1.11 christos {"mfivor9", XSPR(31,339,409), XSPR_MASK, BOOKE, EXT, {RT}}, 7895 1.11 christos {"mfivor10", XSPR(31,339,410), XSPR_MASK, BOOKE, EXT, {RT}}, 7896 1.11 christos {"mfivor11", XSPR(31,339,411), XSPR_MASK, BOOKE, EXT, {RT}}, 7897 1.11 christos {"mfivor12", XSPR(31,339,412), XSPR_MASK, BOOKE, EXT, {RT}}, 7898 1.11 christos {"mfivor13", XSPR(31,339,413), XSPR_MASK, BOOKE, EXT, {RT}}, 7899 1.11 christos {"mfivor14", XSPR(31,339,414), XSPR_MASK, BOOKE, EXT, {RT}}, 7900 1.11 christos {"mfivor15", XSPR(31,339,415), XSPR_MASK, BOOKE, EXT, {RT}}, 7901 1.11 christos {"mftir", XSPR(31,339,446), XSPR_MASK, POWER10, EXT, {RS}}, 7902 1.11 christos {"mfptcr", XSPR(31,339,464), XSPR_MASK, POWER10, EXT, {RS}}, 7903 1.11 christos {"mfusprg0", XSPR(31,339,496), XSPR_MASK, POWER10, EXT, {RS}}, 7904 1.11 christos {"mfusprg1", XSPR(31,339,497), XSPR_MASK, POWER10, EXT, {RS}}, 7905 1.11 christos {"mfurmor", XSPR(31,339,505), XSPR_MASK, POWER10, EXT, {RS}}, 7906 1.11 christos {"mfusrr0", XSPR(31,339,506), XSPR_MASK, POWER10, EXT, {RS}}, 7907 1.11 christos {"mfusrr1", XSPR(31,339,507), XSPR_MASK, POWER10, EXT, {RS}}, 7908 1.11 christos {"mfsmfctrl", XSPR(31,339,511), XSPR_MASK, POWER10, EXT, {RS}}, 7909 1.11 christos {"mfspefscr", XSPR(31,339,512), XSPR_MASK, PPCSPE, EXT, {RT}}, 7910 1.11 christos {"mfbbear", XSPR(31,339,513), XSPR_MASK, PPCBRLK, EXT, {RT}}, 7911 1.11 christos {"mfbbtar", XSPR(31,339,514), XSPR_MASK, PPCBRLK, EXT, {RT}}, 7912 1.11 christos {"mfivor32", XSPR(31,339,528), XSPR_MASK, PPCSPE|E6500, EXT, {RT}}, 7913 1.11 christos {"mfivor33", XSPR(31,339,529), XSPR_MASK, PPCSPE|E6500, EXT, {RT}}, 7914 1.11 christos {"mfivor34", XSPR(31,339,530), XSPR_MASK, PPCSPE, EXT, {RT}}, 7915 1.11 christos {"mfivor35", XSPR(31,339,531), XSPR_MASK, PPCPMR, EXT, {RT}}, 7916 1.11 christos {"mfibatu", XSPR(31,339,528), XSPRBAT_MASK, PPC, TITAN|EXT, {RT, SPRBAT}}, 7917 1.11 christos {"mfibatl", XSPR(31,339,529), XSPRBAT_MASK, PPC, TITAN|EXT, {RT, SPRBAT}}, 7918 1.11 christos {"mfdbatu", XSPR(31,339,536), XSPRBAT_MASK, PPC, TITAN|EXT, {RT, SPRBAT}}, 7919 1.11 christos {"mfdbatl", XSPR(31,339,537), XSPRBAT_MASK, PPC, TITAN|EXT, {RT, SPRBAT}}, 7920 1.11 christos {"mfic_cst", XSPR(31,339,560), XSPR_MASK, PPC860, EXT, {RT}}, 7921 1.11 christos {"mfic_adr", XSPR(31,339,561), XSPR_MASK, PPC860, EXT, {RT}}, 7922 1.11 christos {"mfic_dat", XSPR(31,339,562), XSPR_MASK, PPC860, EXT, {RT}}, 7923 1.11 christos {"mfdc_cst", XSPR(31,339,568), XSPR_MASK, PPC860, EXT, {RT}}, 7924 1.11 christos {"mfdc_adr", XSPR(31,339,569), XSPR_MASK, PPC860, EXT, {RT}}, 7925 1.11 christos {"mfdc_dat", XSPR(31,339,570), XSPR_MASK, PPC860, EXT, {RT}}, 7926 1.11 christos {"mfmcsrr0", XSPR(31,339,570), XSPR_MASK, PPCRFMCI, EXT, {RT}}, 7927 1.11 christos {"mfmcsrr1", XSPR(31,339,571), XSPR_MASK, PPCRFMCI, EXT, {RT}}, 7928 1.11 christos {"mfmcsr", XSPR(31,339,572), XSPR_MASK, PPCRFMCI, EXT, {RT}}, 7929 1.11 christos {"mfmcar", XSPR(31,339,573), XSPR_MASK, PPCRFMCI, TITAN|EXT, {RT}}, 7930 1.11 christos {"mfdpdr", XSPR(31,339,630), XSPR_MASK, PPC860, EXT, {RT}}, 7931 1.11 christos {"mfdpir", XSPR(31,339,631), XSPR_MASK, PPC860, EXT, {RT}}, 7932 1.11 christos {"mfimmr", XSPR(31,339,638), XSPR_MASK, PPC860, EXT, {RT}}, 7933 1.11 christos {"mfusier2", XSPR(31,339,736), XSPR_MASK, POWER10, EXT, {RT}}, 7934 1.11 christos {"mfsier2", XSPR(31,339,736), XSPR_MASK, POWER10, EXT, {RT}}, 7935 1.14 christos {"mfusier3", XSPR(31,339,737), XSPR_MASK, POWER10, EXT, {RT}}, 7936 1.14 christos {"mfsier3", XSPR(31,339,737), XSPR_MASK, POWER10, EXT, {RT}}, 7937 1.14 christos {"mfummcr3", XSPR(31,339,738), XSPR_MASK, POWER10, EXT, {RT}}, 7938 1.14 christos {"mfmmcr3", XSPR(31,339,738), XSPR_MASK, POWER10, EXT, {RT}}, 7939 1.14 christos {"mfummcrae", XSPR(31,339,739), XSPR_MASK, FUTURE, EXT, {RT}}, 7940 1.14 christos {"mfmmcrae", XSPR(31,339,739), XSPR_MASK, FUTURE, EXT, {RT}}, 7941 1.14 christos {"mfummcr1e", XSPR(31,339,740), XSPR_MASK, FUTURE, EXT, {RT}}, 7942 1.14 christos {"mfmmcr1e", XSPR(31,339,740), XSPR_MASK, FUTURE, EXT, {RT}}, 7943 1.11 christos {"mfummcr2e", XSPR(31,339,741), XSPR_MASK, FUTURE, EXT, {RT}}, 7944 1.11 christos {"mfmmcr2e", XSPR(31,339,741), XSPR_MASK, FUTURE, EXT, {RT}}, 7945 1.11 christos {"mfummcr3e", XSPR(31,339,742), XSPR_MASK, FUTURE, EXT, {RT}}, 7946 1.11 christos {"mfmmcr3e", XSPR(31,339,742), XSPR_MASK, FUTURE, EXT, {RT}}, 7947 1.11 christos {"mfusier", XSPR(31,339,768), XSPR_MASK, POWER10, EXT, {RT}}, 7948 1.11 christos {"mfsier", XSPR(31,339,768), XSPR_MASK, POWER10, EXT, {RT}}, 7949 1.11 christos {"mfummcr2", XSPR(31,339,769), XSPR_MASK, POWER9, EXT, {RT}}, 7950 1.11 christos {"mfmmcr2", XSPR(31,339,769), XSPR_MASK, POWER9, EXT, {RT}}, 7951 1.11 christos {"mfummcra", XSPR(31,339,770), XSPR_MASK, POWER9, EXT, {RS}}, 7952 1.11 christos {"mfmmcra", XSPR(31,339,770), XSPR_MASK, POWER7, EXT, {RS}}, 7953 1.11 christos {"mfupmc1", XSPR(31,339,771), XSPR_MASK, POWER9, EXT, {RT}}, 7954 1.11 christos {"mfpmc1", XSPR(31,339,771), XSPR_MASK, POWER7, EXT, {RT}}, 7955 1.11 christos {"mfupmc2", XSPR(31,339,772), XSPR_MASK, POWER9, EXT, {RT}}, 7956 1.11 christos {"mfpmc2", XSPR(31,339,772), XSPR_MASK, POWER7, EXT, {RT}}, 7957 1.11 christos {"mfupmc3", XSPR(31,339,773), XSPR_MASK, POWER9, EXT, {RT}}, 7958 1.11 christos {"mfpmc3", XSPR(31,339,773), XSPR_MASK, POWER7, EXT, {RT}}, 7959 1.11 christos {"mfupmc4", XSPR(31,339,774), XSPR_MASK, POWER9, EXT, {RT}}, 7960 1.11 christos {"mfpmc4", XSPR(31,339,774), XSPR_MASK, POWER7, EXT, {RT}}, 7961 1.14 christos {"mfupmc5", XSPR(31,339,775), XSPR_MASK, POWER9, EXT, {RT}}, 7962 1.14 christos {"mfpmc5", XSPR(31,339,775), XSPR_MASK, POWER7, EXT, {RT}}, 7963 1.14 christos {"mfupmc6", XSPR(31,339,776), XSPR_MASK, POWER9, EXT, {RT}}, 7964 1.14 christos {"mfpmc6", XSPR(31,339,776), XSPR_MASK, POWER7, EXT, {RT}}, 7965 1.11 christos {"mfupmc7", XSPR(31,339,777), XSPR_MASK, FUTURE, EXT, {RT}}, 7966 1.11 christos {"mfpmc7", XSPR(31,339,777), XSPR_MASK, FUTURE, EXT, {RT}}, 7967 1.11 christos {"mfupmc8", XSPR(31,339,778), XSPR_MASK, FUTURE, EXT, {RT}}, 7968 1.11 christos {"mfpmc8", XSPR(31,339,778), XSPR_MASK, FUTURE, EXT, {RT}}, 7969 1.11 christos {"mfummcr0", XSPR(31,339,779), XSPR_MASK, POWER9, EXT, {RS}}, 7970 1.11 christos {"mfmmcr0", XSPR(31,339,779), XSPR_MASK, POWER7, EXT, {RS}}, 7971 1.11 christos {"mfusiar", XSPR(31,339,780), XSPR_MASK, POWER9, EXT, {RS}}, 7972 1.11 christos {"mfsiar", XSPR(31,339,780), XSPR_MASK, POWER9, EXT, {RS}}, 7973 1.11 christos {"mfusdar", XSPR(31,339,781), XSPR_MASK, POWER9, EXT, {RS}}, 7974 1.11 christos {"mfsdar", XSPR(31,339,781), XSPR_MASK, POWER9, EXT, {RS}}, 7975 1.11 christos {"mfummcr1", XSPR(31,339,782), XSPR_MASK, POWER9, EXT, {RS}}, 7976 1.11 christos {"mfmmcr1", XSPR(31,339,782), XSPR_MASK, POWER7, EXT, {RS}}, 7977 1.11 christos {"mfmi_ctr", XSPR(31,339,784), XSPR_MASK, PPC860, EXT, {RT}}, 7978 1.11 christos {"mfmi_ap", XSPR(31,339,786), XSPR_MASK, PPC860, EXT, {RT}}, 7979 1.11 christos {"mfmi_epn", XSPR(31,339,787), XSPR_MASK, PPC860, EXT, {RT}}, 7980 1.11 christos {"mfmi_twc", XSPR(31,339,789), XSPR_MASK, PPC860, EXT, {RT}}, 7981 1.11 christos {"mfmi_rpn", XSPR(31,339,790), XSPR_MASK, PPC860, EXT, {RT}}, 7982 1.11 christos {"mfmd_ctr", XSPR(31,339,792), XSPR_MASK, PPC860, EXT, {RT}}, 7983 1.11 christos {"mfm_casid", XSPR(31,339,793), XSPR_MASK, PPC860, EXT, {RT}}, 7984 1.11 christos {"mfmd_ap", XSPR(31,339,794), XSPR_MASK, PPC860, EXT, {RT}}, 7985 1.11 christos {"mfmd_epn", XSPR(31,339,795), XSPR_MASK, PPC860, EXT, {RT}}, 7986 1.11 christos {"mfmd_twb", XSPR(31,339,796), XSPR_MASK, PPC860, EXT, {RT}}, 7987 1.11 christos {"mfmd_twc", XSPR(31,339,797), XSPR_MASK, PPC860, EXT, {RT}}, 7988 1.11 christos {"mfmd_rpn", XSPR(31,339,798), XSPR_MASK, PPC860, EXT, {RT}}, 7989 1.11 christos {"mfm_tw", XSPR(31,339,799), XSPR_MASK, PPC860, EXT, {RT}}, 7990 1.11 christos {"mfbescrs", XSPR(31,339,800), XSPR_MASK, POWER9, EXT, {RS}}, 7991 1.11 christos {"mfbescrsu", XSPR(31,339,801), XSPR_MASK, POWER9, EXT, {RS}}, 7992 1.11 christos {"mfbescrr", XSPR(31,339,802), XSPR_MASK, POWER9, EXT, {RS}}, 7993 1.11 christos {"mfbescrru", XSPR(31,339,803), XSPR_MASK, POWER9, EXT, {RS}}, 7994 1.11 christos {"mfebbhr", XSPR(31,339,804), XSPR_MASK, POWER9, EXT, {RS}}, 7995 1.11 christos {"mfebbrr", XSPR(31,339,805), XSPR_MASK, POWER9, EXT, {RS}}, 7996 1.11 christos {"mfbescr", XSPR(31,339,806), XSPR_MASK, POWER9, EXT, {RS}}, 7997 1.11 christos {"mftar", XSPR(31,339,815), XSPR_MASK, POWER9, EXT, {RS}}, 7998 1.11 christos {"mfasdr", XSPR(31,339,816), XSPR_MASK, POWER10, EXT, {RS}}, 7999 1.11 christos {"mfmi_dbcam", XSPR(31,339,816), XSPR_MASK, PPC860, EXT, {RT}}, 8000 1.11 christos {"mfmi_dbram0", XSPR(31,339,817), XSPR_MASK, PPC860, EXT, {RT}}, 8001 1.11 christos {"mfmi_dbram1", XSPR(31,339,818), XSPR_MASK, PPC860, EXT, {RT}}, 8002 1.11 christos {"mfpsscr", XSPR(31,339,823), XSPR_MASK, POWER10, EXT, {RS}}, 8003 1.11 christos {"mfmd_dbcam", XSPR(31,339,824), XSPR_MASK, PPC860, EXT, {RT}}, 8004 1.11 christos {"mfmd_dbram0", XSPR(31,339,825), XSPR_MASK, PPC860, EXT, {RT}}, 8005 1.11 christos {"mfmd_dbram1", XSPR(31,339,826), XSPR_MASK, PPC860, EXT, {RT}}, 8006 1.11 christos {"mfic", XSPR(31,339,848), XSPR_MASK, POWER8, EXT, {RS}}, 8007 1.11 christos {"mfvtb", XSPR(31,339,849), XSPR_MASK, POWER8, EXT, {RS}}, 8008 1.11 christos {"mfhpsscr", XSPR(31,339,855), XSPR_MASK, POWER10, EXT, {RS}}, 8009 1.11 christos {"mfivndx", XSPR(31,339,880), XSPR_MASK, TITAN, EXT, {RT}}, 8010 1.11 christos {"mfdvndx", XSPR(31,339,881), XSPR_MASK, TITAN, EXT, {RT}}, 8011 1.11 christos {"mfivlim", XSPR(31,339,882), XSPR_MASK, TITAN, EXT, {RT}}, 8012 1.11 christos {"mfdvlim", XSPR(31,339,883), XSPR_MASK, TITAN, EXT, {RT}}, 8013 1.11 christos {"mfclcsr", XSPR(31,339,884), XSPR_MASK, TITAN, EXT, {RT}}, 8014 1.11 christos {"mfccr1", XSPR(31,339,888), XSPR_MASK, TITAN, EXT, {RT}}, 8015 1.11 christos {"mfppr", XSPR(31,339,896), XSPR_MASK, POWER5, EXT, {RT}}, 8016 1.11 christos {"mfppr32", XSPR(31,339,898), XSPR_MASK, POWER5, EXT, {RT}}, 8017 1.11 christos {"mfgqr", XSPR(31,339,912), XSPRGQR_MASK, PPCPS, EXT, {RT, SPRGQR}}, 8018 1.11 christos {"mfhid2", XSPR(31,339,920), XSPR_MASK, GEKKO, EXT, {RT}}, 8019 1.11 christos {"mfwpar", XSPR(31,339,921), XSPR_MASK, GEKKO, EXT, {RT}}, 8020 1.11 christos {"mfdmau", XSPR(31,339,922), XSPR_MASK, GEKKO, EXT, {RT}}, 8021 1.11 christos {"mfdmal", XSPR(31,339,923), XSPR_MASK, GEKKO, EXT, {RT}}, 8022 1.11 christos {"mfrstcfg", XSPR(31,339,923), XSPR_MASK, TITAN, EXT, {RT}}, 8023 1.11 christos {"mfdcdbtrl", XSPR(31,339,924), XSPR_MASK, TITAN, EXT, {RT}}, 8024 1.11 christos {"mfdcdbtrh", XSPR(31,339,925), XSPR_MASK, TITAN, EXT, {RT}}, 8025 1.11 christos {"mficdbtr", XSPR(31,339,927), XSPR_MASK, TITAN, EXT, {RT}}, 8026 1.11 christos {"mfummcr0", XSPR(31,339,936), XSPR_MASK, PPC750, EXT, {RT}}, 8027 1.11 christos {"mfupmc1", XSPR(31,339,937), XSPR_MASK, PPC750, EXT, {RT}}, 8028 1.11 christos {"mfupmc2", XSPR(31,339,938), XSPR_MASK, PPC750, EXT, {RT}}, 8029 1.11 christos {"mfusia", XSPR(31,339,939), XSPR_MASK, PPC750, EXT, {RT}}, 8030 1.11 christos {"mfummcr1", XSPR(31,339,940), XSPR_MASK, PPC750, EXT, {RT}}, 8031 1.11 christos {"mfupmc3", XSPR(31,339,941), XSPR_MASK, PPC750, EXT, {RT}}, 8032 1.11 christos {"mfupmc4", XSPR(31,339,942), XSPR_MASK, PPC750, EXT, {RT}}, 8033 1.11 christos {"mfzpr", XSPR(31,339,944), XSPR_MASK, PPC403, EXT, {RT}}, 8034 1.11 christos {"mfpid", XSPR(31,339,945), XSPR_MASK, PPC403, EXT, {RT}}, 8035 1.11 christos {"mfmmucr", XSPR(31,339,946), XSPR_MASK, TITAN, EXT, {RT}}, 8036 1.11 christos {"mfccr0", XSPR(31,339,947), XSPR_MASK, PPC405|TITAN, EXT, {RT}}, 8037 1.11 christos {"mfiac3", XSPR(31,339,948), XSPR_MASK, PPC405, EXT, {RT}}, 8038 1.11 christos {"mfiac4", XSPR(31,339,949), XSPR_MASK, PPC405, EXT, {RT}}, 8039 1.11 christos {"mfdvc1", XSPR(31,339,950), XSPR_MASK, PPC405, EXT, {RT}}, 8040 1.11 christos {"mfdvc2", XSPR(31,339,951), XSPR_MASK, PPC405, EXT, {RT}}, 8041 1.11 christos {"mfmmcr0", XSPR(31,339,952), XSPR_MASK, PPC750, EXT, {RT}}, 8042 1.11 christos {"mfpmc1", XSPR(31,339,953), XSPR_MASK, PPC750, EXT, {RT}}, 8043 1.11 christos {"mfsgr", XSPR(31,339,953), XSPR_MASK, PPC403, EXT, {RT}}, 8044 1.11 christos {"mfdcwr", XSPR(31,339,954), XSPR_MASK, PPC403, EXT, {RT}}, 8045 1.11 christos {"mfpmc2", XSPR(31,339,954), XSPR_MASK, PPC750, EXT, {RT}}, 8046 1.11 christos {"mfsia", XSPR(31,339,955), XSPR_MASK, PPC750, EXT, {RT}}, 8047 1.11 christos {"mfsler", XSPR(31,339,955), XSPR_MASK, PPC405, EXT, {RT}}, 8048 1.11 christos {"mfmmcr1", XSPR(31,339,956), XSPR_MASK, PPC750, EXT, {RT}}, 8049 1.11 christos {"mfsu0r", XSPR(31,339,956), XSPR_MASK, PPC405, EXT, {RT}}, 8050 1.11 christos {"mfdbcr1", XSPR(31,339,957), XSPR_MASK, PPC405, EXT, {RT}}, 8051 1.11 christos {"mfpmc3", XSPR(31,339,957), XSPR_MASK, PPC750, EXT, {RT}}, 8052 1.11 christos {"mfpmc4", XSPR(31,339,958), XSPR_MASK, PPC750, EXT, {RT}}, 8053 1.11 christos {"mficdbdr", XSPR(31,339,979), XSPR_MASK, PPC403|TITAN, EXT, {RT}}, 8054 1.11 christos {"mfesr", XSPR(31,339,980), XSPR_MASK, PPC403, EXT, {RT}}, 8055 1.11 christos {"mfdear", XSPR(31,339,981), XSPR_MASK, PPC403, EXT, {RT}}, 8056 1.11 christos {"mfevpr", XSPR(31,339,982), XSPR_MASK, PPC403, EXT, {RT}}, 8057 1.11 christos {"mfcdbcr", XSPR(31,339,983), XSPR_MASK, PPC403, EXT, {RT}}, 8058 1.11 christos {"mftsr", XSPR(31,339,984), XSPR_MASK, PPC403, EXT, {RT}}, 8059 1.11 christos {"mftcr", XSPR(31,339,986), XSPR_MASK, PPC403, EXT, {RT}}, 8060 1.11 christos {"mfpit", XSPR(31,339,987), XSPR_MASK, PPC403, EXT, {RT}}, 8061 1.11 christos {"mftbhi", XSPR(31,339,988), XSPR_MASK, PPC403, EXT, {RT}}, 8062 1.11 christos {"mftblo", XSPR(31,339,989), XSPR_MASK, PPC403, EXT, {RT}}, 8063 1.11 christos {"mfsrr2", XSPR(31,339,990), XSPR_MASK, PPC403, EXT, {RT}}, 8064 1.11 christos {"mfsrr3", XSPR(31,339,991), XSPR_MASK, PPC403, EXT, {RT}}, 8065 1.11 christos {"mfdbsr", XSPR(31,339,1008), XSPR_MASK, PPC403, EXT, {RT}}, 8066 1.11 christos {"mfhid0", XSPR(31,339,1008), XSPR_MASK, GEKKO, EXT, {RT}}, 8067 1.11 christos {"mfhid1", XSPR(31,339,1009), XSPR_MASK, GEKKO, EXT, {RT}}, 8068 1.11 christos {"mfdbcr0", XSPR(31,339,1010), XSPR_MASK, PPC405, EXT, {RT}}, 8069 1.11 christos {"mfiabr", XSPR(31,339,1010), XSPR_MASK, GEKKO, EXT, {RT}}, 8070 1.11 christos {"mfhid4", XSPR(31,339,1011), XSPR_MASK, BROADWAY, EXT, {RT}}, 8071 1.11 christos {"mfdbdr", XSPR(31,339,1011), XSPR_MASK, TITAN, EXT, {RS}}, 8072 1.11 christos {"mfiac1", XSPR(31,339,1012), XSPR_MASK, PPC403, EXT, {RT}}, 8073 1.11 christos {"mfiac2", XSPR(31,339,1013), XSPR_MASK, PPC403, EXT, {RT}}, 8074 1.11 christos {"mfdabr", XSPR(31,339,1013), XSPR_MASK, PPC750, EXT, {RT}}, 8075 1.11 christos {"mfdac1", XSPR(31,339,1014), XSPR_MASK, PPC403, EXT, {RT}}, 8076 1.11 christos {"mfdac2", XSPR(31,339,1015), XSPR_MASK, PPC403, EXT, {RT}}, 8077 1.11 christos {"mfl2cr", XSPR(31,339,1017), XSPR_MASK, PPC750, EXT, {RT}}, 8078 1.11 christos {"mfdccr", XSPR(31,339,1018), XSPR_MASK, PPC403, EXT, {RT}}, 8079 1.11 christos {"mficcr", XSPR(31,339,1019), XSPR_MASK, PPC403, EXT, {RT}}, 8080 1.11 christos {"mfictc", XSPR(31,339,1019), XSPR_MASK, PPC750, EXT, {RT}}, 8081 1.11 christos {"mfpbl1", XSPR(31,339,1020), XSPR_MASK, PPC403, EXT, {RT}}, 8082 1.11 christos {"mfthrm1", XSPR(31,339,1020), XSPR_MASK, PPC750, EXT, {RT}}, 8083 1.11 christos {"mfpbu1", XSPR(31,339,1021), XSPR_MASK, PPC403, EXT, {RT}}, 8084 1.11 christos {"mfthrm2", XSPR(31,339,1021), XSPR_MASK, PPC750, EXT, {RT}}, 8085 1.7 christos {"mfpbl2", XSPR(31,339,1022), XSPR_MASK, PPC403, EXT, {RT}}, 8086 1.7 christos {"mfthrm3", XSPR(31,339,1022), XSPR_MASK, PPC750, EXT, {RT}}, 8087 1.7 christos {"mfpir", XSPR(31,339,1023), XSPR_MASK, POWER10, EXT, {RT}}, 8088 1.7 christos {"mfpbu2", XSPR(31,339,1023), XSPR_MASK, PPC403, EXT, {RT}}, 8089 1.7 christos {"mfspr", X(31,339), X_MASK, COM, 0, {RT, SPR}}, 8090 1.11 christos 8091 1.7 christos {"lwax", X(31,341), X_MASK, PPC64, 0, {RT, RA0, RB}}, 8092 1.7 christos 8093 1.7 christos {"dst", XDSS(31,342,0), XDSS_MASK, PPCVEC, 0, {RA, RB, STRM}}, 8094 1.7 christos {"dstt", XDSS(31,342,1), XDSS_MASK, PPCVEC, 0, {RA, RB, STRM}}, 8095 1.7 christos 8096 1.7 christos {"lhax", X(31,343), X_MASK, COM, 0, {RT, RA0, RB}}, 8097 1.7 christos 8098 1.2 skrll {"lvxl", X(31,359), X_MASK, PPCVEC, 0, {VD, RA0, RB}}, 8099 1.7 christos 8100 1.7 christos {"abs", XO(31,360,0,0), XORB_MASK, M601, 0, {RT, RA}}, 8101 1.2 skrll {"abs.", XO(31,360,0,1), XORB_MASK, M601, 0, {RT, RA}}, 8102 1.7 christos 8103 1.5 christos {"divs", XO(31,363,0,0), XO_MASK, M601, 0, {RT, RA, RB}}, 8104 1.7 christos {"divs.", XO(31,363,0,1), XO_MASK, M601, 0, {RT, RA, RB}}, 8105 1.2 skrll 8106 1.11 christos {"lxvwsx", X(31,364), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8107 1.11 christos 8108 1.11 christos {"tlbia", X(31,370), 0xffffffff, PPC, E500|TITAN, {0}}, 8109 1.2 skrll 8110 1.7 christos {"mftbu", XSPR(31,371,269), XSPR_MASK, PPC, NO371|POWER4|EXT, {RT}}, 8111 1.2 skrll {"mftb", X(31,371), X_MASK, PPC, NO371|POWER4, {RT, TBR}}, 8112 1.7 christos {"mftbl", XSPR(31,371,268), XSPR_MASK, PPC, NO371|POWER4|EXT, {RT}}, 8113 1.11 christos 8114 1.2 skrll {"lwaux", X(31,373), X_MASK, PPC64, 0, {RT, RAL, RB}}, 8115 1.7 christos 8116 1.2 skrll {"dstst", XDSS(31,374,0), XDSS_MASK, PPCVEC, 0, {RA, RB, STRM}}, 8117 1.7 christos {"dststt", XDSS(31,374,1), XDSS_MASK, PPCVEC, 0, {RA, RB, STRM}}, 8118 1.2 skrll 8119 1.11 christos {"lhaux", X(31,375), X_MASK, COM, 0, {RT, RAL, RB}}, 8120 1.11 christos 8121 1.7 christos {"popcntw", X(31,378), XRB_MASK, POWER7|PPCA2, 0, {RA, RS}}, 8122 1.7 christos 8123 1.4 christos {"setbc", X(31,384), XRB_MASK, POWER10, 0, {RT, BI}}, 8124 1.8 christos 8125 1.2 skrll {"mtdcrx", X(31,387), X_MASK, BOOKE|PPCA2|PPC476, TITAN, {RA, RS}}, 8126 1.7 christos {"mtdcrx.", XRC(31,387,1), X_MASK, PPCA2, 0, {RA, RS}}, 8127 1.7 christos 8128 1.2 skrll {"stvexbx", X(31,389), X_MASK, E6500, 0, {VS, RA0, RB}}, 8129 1.7 christos 8130 1.7 christos {"dcblc", X(31,390), X_MASK, PPCCHLK|PPC476|TITAN, 0, {CT, RA0, RB}}, 8131 1.7 christos {"stdfcmx", APU(31,391,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8132 1.7 christos 8133 1.2 skrll {"divdeu", XO(31,393,0,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8134 1.7 christos {"divdeu.", XO(31,393,0,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8135 1.7 christos {"divweu", XO(31,395,0,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8136 1.5 christos {"divweu.", XO(31,395,0,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8137 1.7 christos 8138 1.2 skrll {"stxvx", X(31,396), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 8139 1.7 christos {"stxvl", X(31,397), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 8140 1.2 skrll 8141 1.7 christos {"dcblce", X(31,398), X_MASK, PPCCHLK, E500MC, {CT, RA, RB}}, 8142 1.5 christos 8143 1.7 christos {"slbmte", X(31,402), XRA_MASK, PPC64, 0, {RS, RB}}, 8144 1.5 christos 8145 1.7 christos {"mtvsrws", X(31,403), XX1RB_MASK, PPCVSX3, 0, {XT6, RA}}, 8146 1.7 christos 8147 1.3 christos {"pbt.", XRC(31,404,1), X_MASK, POWER8, 0, {RS, RA0, RB}}, 8148 1.7 christos 8149 1.4 christos {"icswx", XRC(31,406,0), X_MASK, POWER7|PPCA2, 0, {RS, RA, RB}}, 8150 1.7 christos {"icswx.", XRC(31,406,1), X_MASK, POWER7|PPCA2, 0, {RS, RA, RB}}, 8151 1.7 christos 8152 1.2 skrll {"sthx", X(31,407), X_MASK, COM, 0, {RS, RA0, RB}}, 8153 1.7 christos 8154 1.2 skrll {"orc", XRC(31,412,0), X_MASK, COM, 0, {RA, RS, RB}}, 8155 1.11 christos {"orc.", XRC(31,412,1), X_MASK, COM, 0, {RA, RS, RB}}, 8156 1.11 christos 8157 1.8 christos {"sthepx", X(31,415), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, 8158 1.2 skrll 8159 1.8 christos {"setbcr", X(31,416), XRB_MASK, POWER10, 0, {RT, BI}}, 8160 1.4 christos 8161 1.7 christos {"mtdcrux", X(31,419), X_MASK, PPC464|PPC476, 0, {RA, RS}}, 8162 1.2 skrll 8163 1.7 christos {"stvexhx", X(31,421), X_MASK, E6500, 0, {VS, RA0, RB}}, 8164 1.7 christos 8165 1.7 christos {"dcblq.", XRC(31,422,1), X_MASK, E6500, 0, {CT, RA0, RB}}, 8166 1.7 christos 8167 1.2 skrll {"divde", XO(31,425,0,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8168 1.7 christos {"divde.", XO(31,425,0,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8169 1.5 christos {"divwe", XO(31,427,0,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8170 1.7 christos {"divwe.", XO(31,427,0,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 8171 1.5 christos 8172 1.7 christos {"stxvll", X(31,429), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 8173 1.2 skrll 8174 1.7 christos {"clrbhrb", X(31,430), 0xffffffff, POWER8, 0, {0}}, 8175 1.5 christos 8176 1.7 christos {"slbie", X(31,434), XRTRA_MASK, PPC64, 0, {RB}}, 8177 1.2 skrll 8178 1.7 christos {"mtvsrdd", X(31,435), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8179 1.2 skrll 8180 1.11 christos {"ecowx", X(31,438), X_MASK, PPC, E500|TITAN, {RT, RA0, RB}}, 8181 1.11 christos 8182 1.11 christos {"sthux", X(31,439), X_MASK, COM, 0, {RS, RAS, RB}}, 8183 1.11 christos 8184 1.11 christos /* or 1,1,1 */ 8185 1.11 christos {"cctpl", 0x7c210b78, 0xffffffff, CELL, EXT, {0}}, 8186 1.11 christos /* or 2,2,2 */ 8187 1.11 christos {"cctpm", 0x7c421378, 0xffffffff, CELL, EXT, {0}}, 8188 1.11 christos /* or 3,3,3 */ 8189 1.11 christos {"cctph", 0x7c631b78, 0xffffffff, CELL, EXT, {0}}, 8190 1.11 christos /* or 26,26,26 */ 8191 1.11 christos {"miso", 0x7f5ad378, 0xffffffff, POWER8|E6500, EXT, {0}}, 8192 1.11 christos /* or 27,27,27 */ 8193 1.11 christos {"yield", 0x7f7bdb78, 0xffffffff, POWER7, EXT, {0}}, 8194 1.11 christos /* or 28,28,28 */ 8195 1.11 christos {"mdors", 0x7f9ce378, 0xffffffff, E500MC, EXT, {0}}, 8196 1.11 christos {"db8cyc", 0x7f9ce378, 0xffffffff, CELL, EXT, {0}}, 8197 1.11 christos /* or 29,29,29 */ 8198 1.11 christos {"mdoio", 0x7fbdeb78, 0xffffffff, POWER7, EXT, {0}}, 8199 1.11 christos {"db10cyc", 0x7fbdeb78, 0xffffffff, CELL, EXT, {0}}, 8200 1.11 christos /* or 30,30,30 */ 8201 1.4 christos {"mdoom", 0x7fdef378, 0xffffffff, POWER7, EXT, {0}}, 8202 1.11 christos {"db12cyc", 0x7fdef378, 0xffffffff, CELL, EXT, {0}}, 8203 1.7 christos /* or 31,31,31 */ 8204 1.11 christos {"db16cyc", 0x7ffffb78, 0xffffffff, CELL, EXT, {0}}, 8205 1.7 christos 8206 1.7 christos {"mr", XRC(31,444,0), X_MASK, COM, EXT, {RA, RSB}}, 8207 1.11 christos {"or", XRC(31,444,0), X_MASK, COM, 0, {RA, RS, RB}}, 8208 1.11 christos {"mr.", XRC(31,444,1), X_MASK, COM, EXT, {RA, RSB}}, 8209 1.7 christos {"or.", XRC(31,444,1), X_MASK, COM, 0, {RA, RS, RB}}, 8210 1.7 christos 8211 1.7 christos {"setnbc", X(31,448), XRB_MASK, POWER10, 0, {RT, BI}}, 8212 1.7 christos 8213 1.7 christos {"mtexisr", XSPR(31,451, 64), XSPR_MASK, PPC403, 0, {RS}}, 8214 1.7 christos {"mtexier", XSPR(31,451, 66), XSPR_MASK, PPC403, 0, {RS}}, 8215 1.7 christos {"mtbr0", XSPR(31,451,128), XSPR_MASK, PPC403, 0, {RS}}, 8216 1.7 christos {"mtbr1", XSPR(31,451,129), XSPR_MASK, PPC403, 0, {RS}}, 8217 1.7 christos {"mtbr2", XSPR(31,451,130), XSPR_MASK, PPC403, 0, {RS}}, 8218 1.7 christos {"mtbr3", XSPR(31,451,131), XSPR_MASK, PPC403, 0, {RS}}, 8219 1.7 christos {"mtbr4", XSPR(31,451,132), XSPR_MASK, PPC403, 0, {RS}}, 8220 1.7 christos {"mtbr5", XSPR(31,451,133), XSPR_MASK, PPC403, 0, {RS}}, 8221 1.7 christos {"mtbr6", XSPR(31,451,134), XSPR_MASK, PPC403, 0, {RS}}, 8222 1.7 christos {"mtbr7", XSPR(31,451,135), XSPR_MASK, PPC403, 0, {RS}}, 8223 1.7 christos {"mtbear", XSPR(31,451,144), XSPR_MASK, PPC403, 0, {RS}}, 8224 1.7 christos {"mtbesr", XSPR(31,451,145), XSPR_MASK, PPC403, 0, {RS}}, 8225 1.7 christos {"mtiocr", XSPR(31,451,160), XSPR_MASK, PPC403, 0, {RS}}, 8226 1.7 christos {"mtdmacr0", XSPR(31,451,192), XSPR_MASK, PPC403, 0, {RS}}, 8227 1.7 christos {"mtdmact0", XSPR(31,451,193), XSPR_MASK, PPC403, 0, {RS}}, 8228 1.7 christos {"mtdmada0", XSPR(31,451,194), XSPR_MASK, PPC403, 0, {RS}}, 8229 1.7 christos {"mtdmasa0", XSPR(31,451,195), XSPR_MASK, PPC403, 0, {RS}}, 8230 1.7 christos {"mtdmacc0", XSPR(31,451,196), XSPR_MASK, PPC403, 0, {RS}}, 8231 1.7 christos {"mtdmacr1", XSPR(31,451,200), XSPR_MASK, PPC403, 0, {RS}}, 8232 1.7 christos {"mtdmact1", XSPR(31,451,201), XSPR_MASK, PPC403, 0, {RS}}, 8233 1.7 christos {"mtdmada1", XSPR(31,451,202), XSPR_MASK, PPC403, 0, {RS}}, 8234 1.7 christos {"mtdmasa1", XSPR(31,451,203), XSPR_MASK, PPC403, 0, {RS}}, 8235 1.7 christos {"mtdmacc1", XSPR(31,451,204), XSPR_MASK, PPC403, 0, {RS}}, 8236 1.7 christos {"mtdmacr2", XSPR(31,451,208), XSPR_MASK, PPC403, 0, {RS}}, 8237 1.7 christos {"mtdmact2", XSPR(31,451,209), XSPR_MASK, PPC403, 0, {RS}}, 8238 1.7 christos {"mtdmada2", XSPR(31,451,210), XSPR_MASK, PPC403, 0, {RS}}, 8239 1.7 christos {"mtdmasa2", XSPR(31,451,211), XSPR_MASK, PPC403, 0, {RS}}, 8240 1.7 christos {"mtdmacc2", XSPR(31,451,212), XSPR_MASK, PPC403, 0, {RS}}, 8241 1.7 christos {"mtdmacr3", XSPR(31,451,216), XSPR_MASK, PPC403, 0, {RS}}, 8242 1.7 christos {"mtdmact3", XSPR(31,451,217), XSPR_MASK, PPC403, 0, {RS}}, 8243 1.7 christos {"mtdmada3", XSPR(31,451,218), XSPR_MASK, PPC403, 0, {RS}}, 8244 1.7 christos {"mtdmasa3", XSPR(31,451,219), XSPR_MASK, PPC403, 0, {RS}}, 8245 1.7 christos {"mtdmacc3", XSPR(31,451,220), XSPR_MASK, PPC403, 0, {RS}}, 8246 1.8 christos {"mtdmasr", XSPR(31,451,224), XSPR_MASK, PPC403, 0, {RS}}, 8247 1.7 christos {"mtdcr", X(31,451), X_MASK, PPC403|BOOKE|PPCA2|PPC476, E500|TITAN, {SPR, RS}}, 8248 1.8 christos {"mtdcr.", XRC(31,451,1), X_MASK, PPCA2, 0, {SPR, RS}}, 8249 1.7 christos 8250 1.7 christos {"stvexwx", X(31,453), X_MASK, E6500, 0, {VS, RA0, RB}}, 8251 1.7 christos 8252 1.7 christos {"dccci", X(31,454), XRT_MASK, PPC403|PPC440|PPC476|TITAN|PPCA2, 0, {RAOPT, RBOPT}}, 8253 1.7 christos {"dci", X(31,454), XRARB_MASK, PPCA2|PPC476, 0, {CT}}, 8254 1.7 christos 8255 1.7 christos {"divdu", XO(31,457,0,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8256 1.7 christos {"divdu.", XO(31,457,0,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8257 1.12 christos 8258 1.11 christos {"divwu", XO(31,459,0,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 8259 1.7 christos {"divwu.", XO(31,459,0,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 8260 1.8 christos 8261 1.7 christos {"stxvpx", X(31,461), XX1_MASK, POWER10, 0, {XSP, RA0, RB}}, 8262 1.7 christos 8263 1.7 christos {"mtpmr", X(31,462), X_MASK, PPCPMR|PPCE300, 0, {PMR, RS}}, 8264 1.11 christos {"mttmr", X(31,494), X_MASK, PPCTMR, 0, {TMR, RS}}, 8265 1.11 christos 8266 1.11 christos {"slbieg", X(31,466), XRA_MASK, POWER9, 0, {RS, RB}}, 8267 1.11 christos 8268 1.11 christos {"mtmq", XSPR(31,467, 0), XSPR_MASK, M601, EXT, {RS}}, 8269 1.11 christos {"mtxer", XSPR(31,467, 1), XSPR_MASK, COM, EXT, {RS}}, 8270 1.11 christos {"mtudscr", XSPR(31,467, 3), XSPR_MASK, POWER9, EXT, {RS}}, 8271 1.11 christos {"mtlr", XSPR(31,467, 8), XSPR_MASK, COM, EXT, {RS}}, 8272 1.11 christos {"mtctr", XSPR(31,467, 9), XSPR_MASK, COM, EXT, {RS}}, 8273 1.11 christos {"mtuamr", XSPR(31,467, 13), XSPR_MASK, POWER9, EXT, {RS}}, 8274 1.11 christos {"mtdscr", XSPR(31,467, 17), XSPR_MASK, POWER6, EXT, {RS}}, 8275 1.11 christos {"mttid", XSPR(31,467, 17), XSPR_MASK, POWER, EXT, {RS}}, 8276 1.11 christos {"mtdsisr", XSPR(31,467, 18), XSPR_MASK, COM, TITAN|EXT, {RS}}, 8277 1.11 christos {"mtdar", XSPR(31,467, 19), XSPR_MASK, COM, TITAN|EXT, {RS}}, 8278 1.11 christos {"mtrtcu", XSPR(31,467, 20), XSPR_MASK, COM, TITAN|EXT, {RS}}, 8279 1.11 christos {"mtrtcl", XSPR(31,467, 21), XSPR_MASK, COM, TITAN|EXT, {RS}}, 8280 1.11 christos {"mtdec", XSPR(31,467, 22), XSPR_MASK, COM, EXT, {RS}}, 8281 1.11 christos {"mtsdr0", XSPR(31,467, 24), XSPR_MASK, POWER, EXT, {RS}}, 8282 1.11 christos {"mtsdr1", XSPR(31,467, 25), XSPR_MASK, COM, TITAN|EXT, {RS}}, 8283 1.11 christos {"mtsrr0", XSPR(31,467, 26), XSPR_MASK, COM, EXT, {RS}}, 8284 1.11 christos {"mtsrr1", XSPR(31,467, 27), XSPR_MASK, COM, EXT, {RS}}, 8285 1.11 christos {"mtcfar", XSPR(31,467, 28), XSPR_MASK, POWER6, EXT, {RS}}, 8286 1.11 christos {"mtamr", XSPR(31,467, 29), XSPR_MASK, POWER7, EXT, {RS}}, 8287 1.11 christos {"mtpidr", XSPR(31,467, 48), XSPR_MASK, POWER10, EXT, {RS}}, 8288 1.11 christos {"mtpid", XSPR(31,467, 48), XSPR_MASK, BOOKE, EXT, {RS}}, 8289 1.11 christos {"mtdecar", XSPR(31,467, 54), XSPR_MASK, BOOKE, EXT, {RS}}, 8290 1.11 christos {"mtcsrr0", XSPR(31,467, 58), XSPR_MASK, BOOKE, EXT, {RS}}, 8291 1.11 christos {"mtcsrr1", XSPR(31,467, 59), XSPR_MASK, BOOKE, EXT, {RS}}, 8292 1.11 christos {"mtiamr", XSPR(31,467, 61), XSPR_MASK, POWER10, EXT, {RS}}, 8293 1.11 christos {"mtdear", XSPR(31,467, 61), XSPR_MASK, BOOKE, EXT, {RS}}, 8294 1.11 christos {"mtesr", XSPR(31,467, 62), XSPR_MASK, BOOKE, EXT, {RS}}, 8295 1.11 christos {"mtivpr", XSPR(31,467, 63), XSPR_MASK, BOOKE, EXT, {RS}}, 8296 1.11 christos {"mttfhar", XSPR(31,467,128), XSPR_MASK, POWER9, EXT, {RS}}, 8297 1.11 christos {"mttfiar", XSPR(31,467,129), XSPR_MASK, POWER9, EXT, {RS}}, 8298 1.11 christos {"mttexasr", XSPR(31,467,130), XSPR_MASK, POWER9, EXT, {RS}}, 8299 1.11 christos {"mttexasru", XSPR(31,467,131), XSPR_MASK, POWER9, EXT, {RS}}, 8300 1.11 christos {"mtcmpa", XSPR(31,467,144), XSPR_MASK, PPC860, EXT, {RS}}, 8301 1.11 christos {"mtcmpb", XSPR(31,467,145), XSPR_MASK, PPC860, EXT, {RS}}, 8302 1.11 christos {"mtcmpc", XSPR(31,467,146), XSPR_MASK, PPC860, EXT, {RS}}, 8303 1.11 christos {"mtcmpd", XSPR(31,467,147), XSPR_MASK, PPC860, EXT, {RS}}, 8304 1.11 christos {"mticr", XSPR(31,467,148), XSPR_MASK, PPC860, EXT, {RS}}, 8305 1.11 christos {"mtder", XSPR(31,467,149), XSPR_MASK, PPC860, EXT, {RS}}, 8306 1.11 christos {"mtcounta", XSPR(31,467,150), XSPR_MASK, PPC860, EXT, {RS}}, 8307 1.11 christos {"mtcountb", XSPR(31,467,151), XSPR_MASK, PPC860, EXT, {RS}}, 8308 1.11 christos {"mtctrl", XSPR(31,467,152), XSPR_MASK, POWER4, EXT, {RS}}, 8309 1.11 christos {"mtcmpe", XSPR(31,467,152), XSPR_MASK, PPC860, EXT, {RS}}, 8310 1.11 christos {"mtfscr", XSPR(31,467,153), XSPR_MASK, POWER10, EXT, {RS}}, 8311 1.11 christos {"mtcmpf", XSPR(31,467,153), XSPR_MASK, PPC860, EXT, {RS}}, 8312 1.11 christos {"mtcmpg", XSPR(31,467,154), XSPR_MASK, PPC860, EXT, {RS}}, 8313 1.11 christos {"mtcmph", XSPR(31,467,155), XSPR_MASK, PPC860, EXT, {RS}}, 8314 1.11 christos {"mtlctrl1", XSPR(31,467,156), XSPR_MASK, PPC860, EXT, {RS}}, 8315 1.11 christos {"mtuamor", XSPR(31,467,157), XSPR_MASK, POWER7, EXT, {RS}}, 8316 1.11 christos {"mtlctrl2", XSPR(31,467,157), XSPR_MASK, PPC860, EXT, {RS}}, 8317 1.11 christos {"mtictrl", XSPR(31,467,158), XSPR_MASK, PPC860, EXT, {RS}}, 8318 1.11 christos {"mtpspb", XSPR(31,467,159), XSPR_MASK, POWER10, EXT, {RS}}, 8319 1.11 christos {"mtbar", XSPR(31,467,159), XSPR_MASK, PPC860, EXT, {RS}}, 8320 1.11 christos {"mtdpdes", XSPR(31,467,176), XSPR_MASK, POWER10, EXT, {RS}}, 8321 1.11 christos {"mtdawr0", XSPR(31,467,180), XSPR_MASK, POWER10, EXT, {RS}}, 8322 1.11 christos {"mtdawr1", XSPR(31,467,181), XSPR_MASK, POWER10, EXT, {RS}}, 8323 1.11 christos {"mtrpr", XSPR(31,467,186), XSPR_MASK, POWER10, EXT, {RS}}, 8324 1.11 christos {"mtciabr", XSPR(31,467,187), XSPR_MASK, POWER10, EXT, {RS}}, 8325 1.11 christos {"mtdawrx0", XSPR(31,467,188), XSPR_MASK, POWER10, EXT, {RS}}, 8326 1.11 christos {"mtdawrx1", XSPR(31,467,189), XSPR_MASK, POWER10, EXT, {RS}}, 8327 1.11 christos {"mthfscr", XSPR(31,467,190), XSPR_MASK, POWER10, EXT, {RS}}, 8328 1.11 christos {"mtvrsave", XSPR(31,467,256), XSPR_MASK, PPCVEC, EXT, {RS}}, 8329 1.11 christos {"mtusprg0", XSPR(31,467,256), XSPR_MASK, BOOKE, EXT, {RS}}, 8330 1.11 christos {"mtsprg", XSPR(31,467,256), XSPRG_MASK, PPC, EXT, {SPRG, RS}}, 8331 1.11 christos {"mtsprg0", XSPR(31,467,272), XSPR_MASK, PPC, EXT, {RS}}, 8332 1.11 christos {"mtsprg1", XSPR(31,467,273), XSPR_MASK, PPC, EXT, {RS}}, 8333 1.11 christos {"mtsprg2", XSPR(31,467,274), XSPR_MASK, PPC, EXT, {RS}}, 8334 1.11 christos {"mtsprg3", XSPR(31,467,275), XSPR_MASK, PPC, EXT, {RS}}, 8335 1.11 christos {"mtsprg4", XSPR(31,467,276), XSPR_MASK, PPC405|BOOKE, EXT, {RS}}, 8336 1.11 christos {"mtsprg5", XSPR(31,467,277), XSPR_MASK, PPC405|BOOKE, EXT, {RS}}, 8337 1.11 christos {"mtsprg6", XSPR(31,467,278), XSPR_MASK, PPC405|BOOKE, EXT, {RS}}, 8338 1.11 christos {"mtsprg7", XSPR(31,467,279), XSPR_MASK, PPC405|BOOKE, EXT, {RS}}, 8339 1.11 christos {"mtasr", XSPR(31,467,280), XSPR_MASK, PPC64, EXT, {RS}}, 8340 1.11 christos {"mtear", XSPR(31,467,282), XSPR_MASK, PPC, TITAN|EXT, {RS}}, 8341 1.11 christos {"mttbl", XSPR(31,467,284), XSPR_MASK, PPC, EXT, {RS}}, 8342 1.11 christos {"mttbu", XSPR(31,467,285), XSPR_MASK, PPC, EXT, {RS}}, 8343 1.11 christos {"mttbu40", XSPR(31,467,286), XSPR_MASK, POWER10, EXT, {RS}}, 8344 1.11 christos {"mthsprg0", XSPR(31,467,304), XSPR_MASK, POWER10, EXT, {RS}}, 8345 1.11 christos {"mtdbsr", XSPR(31,467,304), XSPR_MASK, BOOKE, EXT, {RS}}, 8346 1.11 christos {"mthsprg1", XSPR(31,467,305), XSPR_MASK, POWER10, EXT, {RS}}, 8347 1.11 christos {"mthdisr", XSPR(31,467,306), XSPR_MASK, POWER10, EXT, {RS}}, 8348 1.11 christos {"mthdar", XSPR(31,467,307), XSPR_MASK, POWER10, EXT, {RS}}, 8349 1.11 christos {"mtspurr", XSPR(31,467,308), XSPR_MASK, POWER10, EXT, {RS}}, 8350 1.11 christos {"mtdbcr0", XSPR(31,467,308), XSPR_MASK, BOOKE, EXT, {RS}}, 8351 1.11 christos {"mtpurr", XSPR(31,467,309), XSPR_MASK, POWER10, EXT, {RS}}, 8352 1.11 christos {"mtdbcr1", XSPR(31,467,309), XSPR_MASK, BOOKE, EXT, {RS}}, 8353 1.11 christos {"mthdec", XSPR(31,467,310), XSPR_MASK, POWER10, EXT, {RS}}, 8354 1.11 christos {"mtdbcr2", XSPR(31,467,310), XSPR_MASK, BOOKE, EXT, {RS}}, 8355 1.11 christos {"mtiac1", XSPR(31,467,312), XSPR_MASK, BOOKE, EXT, {RS}}, 8356 1.11 christos {"mthrmor", XSPR(31,467,313), XSPR_MASK, POWER10, EXT, {RS}}, 8357 1.11 christos {"mtiac2", XSPR(31,467,313), XSPR_MASK, BOOKE, EXT, {RS}}, 8358 1.11 christos {"mthsrr0", XSPR(31,467,314), XSPR_MASK, POWER10, EXT, {RS}}, 8359 1.11 christos {"mtiac3", XSPR(31,467,314), XSPR_MASK, BOOKE, EXT, {RS}}, 8360 1.11 christos {"mthsrr1", XSPR(31,467,315), XSPR_MASK, POWER10, EXT, {RS}}, 8361 1.11 christos {"mtiac4", XSPR(31,467,315), XSPR_MASK, BOOKE, EXT, {RS}}, 8362 1.11 christos {"mtdac1", XSPR(31,467,316), XSPR_MASK, BOOKE, EXT, {RS}}, 8363 1.11 christos {"mtdac2", XSPR(31,467,317), XSPR_MASK, BOOKE, EXT, {RS}}, 8364 1.11 christos {"mtlpcr", XSPR(31,467,318), XSPR_MASK, POWER10, EXT, {RS}}, 8365 1.11 christos {"mtdvc1", XSPR(31,467,318), XSPR_MASK, BOOKE, EXT, {RS}}, 8366 1.11 christos {"mtlpidr", XSPR(31,467,319), XSPR_MASK, POWER10, EXT, {RS}}, 8367 1.11 christos {"mtdvc2", XSPR(31,467,319), XSPR_MASK, BOOKE, EXT, {RS}}, 8368 1.11 christos {"mthmer", XSPR(31,467,336), XSPR_MASK, POWER7, EXT, {RS}}, 8369 1.11 christos {"mttsr", XSPR(31,467,336), XSPR_MASK, BOOKE, EXT, {RS}}, 8370 1.11 christos {"mthmeer", XSPR(31,467,337), XSPR_MASK, POWER7, EXT, {RS}}, 8371 1.11 christos {"mtpcr", XSPR(31,467,338), XSPR_MASK, POWER10, EXT, {RS}}, 8372 1.11 christos {"mtheir", XSPR(31,467,339), XSPR_MASK, POWER10, EXT, {RS}}, 8373 1.11 christos {"mttcr", XSPR(31,467,340), XSPR_MASK, BOOKE, EXT, {RS}}, 8374 1.11 christos {"mtamor", XSPR(31,467,349), XSPR_MASK, POWER7, EXT, {RS}}, 8375 1.11 christos {"mtivor0", XSPR(31,467,400), XSPR_MASK, BOOKE, EXT, {RS}}, 8376 1.11 christos {"mtivor1", XSPR(31,467,401), XSPR_MASK, BOOKE, EXT, {RS}}, 8377 1.11 christos {"mtivor2", XSPR(31,467,402), XSPR_MASK, BOOKE, EXT, {RS}}, 8378 1.11 christos {"mtivor3", XSPR(31,467,403), XSPR_MASK, BOOKE, EXT, {RS}}, 8379 1.11 christos {"mtivor4", XSPR(31,467,404), XSPR_MASK, BOOKE, EXT, {RS}}, 8380 1.11 christos {"mtivor5", XSPR(31,467,405), XSPR_MASK, BOOKE, EXT, {RS}}, 8381 1.11 christos {"mtivor6", XSPR(31,467,406), XSPR_MASK, BOOKE, EXT, {RS}}, 8382 1.11 christos {"mtivor7", XSPR(31,467,407), XSPR_MASK, BOOKE, EXT, {RS}}, 8383 1.11 christos {"mtivor8", XSPR(31,467,408), XSPR_MASK, BOOKE, EXT, {RS}}, 8384 1.11 christos {"mtivor9", XSPR(31,467,409), XSPR_MASK, BOOKE, EXT, {RS}}, 8385 1.11 christos {"mtivor10", XSPR(31,467,410), XSPR_MASK, BOOKE, EXT, {RS}}, 8386 1.11 christos {"mtivor11", XSPR(31,467,411), XSPR_MASK, BOOKE, EXT, {RS}}, 8387 1.11 christos {"mtivor12", XSPR(31,467,412), XSPR_MASK, BOOKE, EXT, {RS}}, 8388 1.11 christos {"mtivor13", XSPR(31,467,413), XSPR_MASK, BOOKE, EXT, {RS}}, 8389 1.11 christos {"mtivor14", XSPR(31,467,414), XSPR_MASK, BOOKE, EXT, {RS}}, 8390 1.11 christos {"mtivor15", XSPR(31,467,415), XSPR_MASK, BOOKE, EXT, {RS}}, 8391 1.11 christos {"mtptcr", XSPR(31,467,464), XSPR_MASK, POWER10, EXT, {RS}}, 8392 1.11 christos {"mtusprg0", XSPR(31,467,496), XSPR_MASK, POWER10, EXT, {RS}}, 8393 1.11 christos {"mtusprg1", XSPR(31,467,497), XSPR_MASK, POWER10, EXT, {RS}}, 8394 1.11 christos {"mturmor", XSPR(31,467,505), XSPR_MASK, POWER10, EXT, {RS}}, 8395 1.11 christos {"mtusrr0", XSPR(31,467,506), XSPR_MASK, POWER10, EXT, {RS}}, 8396 1.11 christos {"mtusrr1", XSPR(31,467,507), XSPR_MASK, POWER10, EXT, {RS}}, 8397 1.11 christos {"mtsmfctrl", XSPR(31,467,511), XSPR_MASK, POWER10, EXT, {RS}}, 8398 1.11 christos {"mtspefscr", XSPR(31,467,512), XSPR_MASK, PPCSPE, EXT, {RS}}, 8399 1.11 christos {"mtbbear", XSPR(31,467,513), XSPR_MASK, PPCBRLK, EXT, {RS}}, 8400 1.11 christos {"mtbbtar", XSPR(31,467,514), XSPR_MASK, PPCBRLK, EXT, {RS}}, 8401 1.11 christos {"mtivor32", XSPR(31,467,528), XSPR_MASK, PPCSPE|E6500, EXT, {RS}}, 8402 1.11 christos {"mtivor33", XSPR(31,467,529), XSPR_MASK, PPCSPE|E6500, EXT, {RS}}, 8403 1.11 christos {"mtivor34", XSPR(31,467,530), XSPR_MASK, PPCSPE, EXT, {RS}}, 8404 1.11 christos {"mtivor35", XSPR(31,467,531), XSPR_MASK, PPCPMR, EXT, {RS}}, 8405 1.11 christos {"mtibatu", XSPR(31,467,528), XSPRBAT_MASK, PPC, TITAN|EXT, {SPRBAT, RS}}, 8406 1.11 christos {"mtibatl", XSPR(31,467,529), XSPRBAT_MASK, PPC, TITAN|EXT, {SPRBAT, RS}}, 8407 1.11 christos {"mtdbatu", XSPR(31,467,536), XSPRBAT_MASK, PPC, TITAN|EXT, {SPRBAT, RS}}, 8408 1.14 christos {"mtdbatl", XSPR(31,467,537), XSPRBAT_MASK, PPC, TITAN|EXT, {SPRBAT, RS}}, 8409 1.14 christos {"mtmcsrr0", XSPR(31,467,570), XSPR_MASK, PPCRFMCI, EXT, {RS}}, 8410 1.14 christos {"mtmcsrr1", XSPR(31,467,571), XSPR_MASK, PPCRFMCI, EXT, {RS}}, 8411 1.11 christos {"mtmcsr", XSPR(31,467,572), XSPR_MASK, PPCRFMCI, EXT, {RS}}, 8412 1.11 christos {"mtummcrae", XSPR(31,467,739), XSPR_MASK, FUTURE, EXT, {RS}}, 8413 1.11 christos {"mtummcr2e", XSPR(31,467,741), XSPR_MASK, FUTURE, EXT, {RS}}, 8414 1.14 christos {"mtmmcr2e", XSPR(31,467,741), XSPR_MASK, FUTURE, EXT, {RS}}, 8415 1.14 christos {"mtsier2", XSPR(31,467,752), XSPR_MASK, POWER10, EXT, {RS}}, 8416 1.14 christos {"mtsier3", XSPR(31,467,753), XSPR_MASK, POWER10, EXT, {RS}}, 8417 1.11 christos {"mtmmcr3", XSPR(31,467,754), XSPR_MASK, POWER10, EXT, {RS}}, 8418 1.11 christos {"mtmmcrae", XSPR(31,467,755), XSPR_MASK, FUTURE, EXT, {RS}}, 8419 1.11 christos {"mtmmcr1e", XSPR(31,467,756), XSPR_MASK, FUTURE, EXT, {RS}}, 8420 1.11 christos {"mtmmcr3e", XSPR(31,467,758), XSPR_MASK, FUTURE, EXT, {RS}}, 8421 1.11 christos {"mtummcr2", XSPR(31,467,769), XSPR_MASK, POWER9, EXT, {RS}}, 8422 1.11 christos {"mtmmcr2", XSPR(31,467,769), XSPR_MASK, POWER9, EXT, {RS}}, 8423 1.11 christos {"mtummcra", XSPR(31,467,770), XSPR_MASK, POWER9, EXT, {RS}}, 8424 1.11 christos {"mtupmc1", XSPR(31,467,771), XSPR_MASK, POWER9, EXT, {RS}}, 8425 1.11 christos {"mtupmc2", XSPR(31,467,772), XSPR_MASK, POWER9, EXT, {RS}}, 8426 1.14 christos {"mtupmc3", XSPR(31,467,773), XSPR_MASK, POWER9, EXT, {RS}}, 8427 1.14 christos {"mtupmc4", XSPR(31,467,774), XSPR_MASK, POWER9, EXT, {RS}}, 8428 1.11 christos {"mtupmc5", XSPR(31,467,775), XSPR_MASK, POWER9, EXT, {RS}}, 8429 1.11 christos {"mtupmc6", XSPR(31,467,776), XSPR_MASK, POWER9, EXT, {RS}}, 8430 1.11 christos {"mtupmc7", XSPR(31,467,777), XSPR_MASK, FUTURE, EXT, {RS}}, 8431 1.11 christos {"mtupmc8", XSPR(31,467,778), XSPR_MASK, FUTURE, EXT, {RS}}, 8432 1.11 christos {"mtummcr0", XSPR(31,467,779), XSPR_MASK, POWER9, EXT, {RS}}, 8433 1.11 christos {"mtsier", XSPR(31,467,784), XSPR_MASK, POWER10, EXT, {RS}}, 8434 1.11 christos {"mtmmcra", XSPR(31,467,786), XSPR_MASK, POWER7, EXT, {RS}}, 8435 1.11 christos {"mtpmc1", XSPR(31,467,787), XSPR_MASK, POWER7, EXT, {RS}}, 8436 1.11 christos {"mtpmc2", XSPR(31,467,788), XSPR_MASK, POWER7, EXT, {RS}}, 8437 1.14 christos {"mtpmc3", XSPR(31,467,789), XSPR_MASK, POWER7, EXT, {RS}}, 8438 1.14 christos {"mtpmc4", XSPR(31,467,790), XSPR_MASK, POWER7, EXT, {RS}}, 8439 1.11 christos {"mtpmc5", XSPR(31,467,791), XSPR_MASK, POWER7, EXT, {RS}}, 8440 1.11 christos {"mtpmc6", XSPR(31,467,792), XSPR_MASK, POWER7, EXT, {RS}}, 8441 1.11 christos {"mtpmc7", XSPR(31,467,793), XSPR_MASK, FUTURE, EXT, {RS}}, 8442 1.11 christos {"mtpmc8", XSPR(31,467,794), XSPR_MASK, FUTURE, EXT, {RS}}, 8443 1.11 christos {"mtmmcr0", XSPR(31,467,795), XSPR_MASK, POWER7, EXT, {RS}}, 8444 1.11 christos {"mtsiar", XSPR(31,467,796), XSPR_MASK, POWER10, EXT, {RS}}, 8445 1.11 christos {"mtsdar", XSPR(31,467,797), XSPR_MASK, POWER10, EXT, {RS}}, 8446 1.11 christos {"mtmmcr1", XSPR(31,467,798), XSPR_MASK, POWER7, EXT, {RS}}, 8447 1.11 christos {"mtbescrs", XSPR(31,467,800), XSPR_MASK, POWER9, EXT, {RS}}, 8448 1.11 christos {"mtbescrsu", XSPR(31,467,801), XSPR_MASK, POWER9, EXT, {RS}}, 8449 1.11 christos {"mtbescrr", XSPR(31,467,802), XSPR_MASK, POWER9, EXT, {RS}}, 8450 1.11 christos {"mtbescrru", XSPR(31,467,803), XSPR_MASK, POWER9, EXT, {RS}}, 8451 1.11 christos {"mtebbhr", XSPR(31,467,804), XSPR_MASK, POWER9, EXT, {RS}}, 8452 1.11 christos {"mtebbrr", XSPR(31,467,805), XSPR_MASK, POWER9, EXT, {RS}}, 8453 1.11 christos {"mtbescr", XSPR(31,467,806), XSPR_MASK, POWER9, EXT, {RS}}, 8454 1.11 christos {"mttar", XSPR(31,467,815), XSPR_MASK, POWER9, EXT, {RS}}, 8455 1.11 christos {"mtasdr", XSPR(31,467,816), XSPR_MASK, POWER10, EXT, {RS}}, 8456 1.11 christos {"mtpsscr", XSPR(31,467,823), XSPR_MASK, POWER10, EXT, {RS}}, 8457 1.11 christos {"mtic", XSPR(31,467,848), XSPR_MASK, POWER8, EXT, {RS}}, 8458 1.11 christos {"mtvtb", XSPR(31,467,849), XSPR_MASK, POWER8, EXT, {RS}}, 8459 1.11 christos {"mthpsscr", XSPR(31,467,855), XSPR_MASK, POWER10, EXT, {RS}}, 8460 1.11 christos {"mtivndx", XSPR(31,467,880), XSPR_MASK, TITAN, EXT, {RS}}, 8461 1.11 christos {"mtdvndx", XSPR(31,467,881), XSPR_MASK, TITAN, EXT, {RS}}, 8462 1.11 christos {"mtivlim", XSPR(31,467,882), XSPR_MASK, TITAN, EXT, {RS}}, 8463 1.11 christos {"mtdvlim", XSPR(31,467,883), XSPR_MASK, TITAN, EXT, {RS}}, 8464 1.11 christos {"mtclcsr", XSPR(31,467,884), XSPR_MASK, TITAN, EXT, {RS}}, 8465 1.11 christos {"mtccr1", XSPR(31,467,888), XSPR_MASK, TITAN, EXT, {RS}}, 8466 1.11 christos {"mtppr", XSPR(31,467,896), XSPR_MASK, POWER5, EXT, {RS}}, 8467 1.11 christos {"mtppr32", XSPR(31,467,898), XSPR_MASK, POWER5, EXT, {RS}}, 8468 1.11 christos {"mtgqr", XSPR(31,467,912), XSPRGQR_MASK, PPCPS, EXT, {SPRGQR, RS}}, 8469 1.11 christos {"mthid2", XSPR(31,467,920), XSPR_MASK, GEKKO, EXT, {RS}}, 8470 1.11 christos {"mtwpar", XSPR(31,467,921), XSPR_MASK, GEKKO, EXT, {RS}}, 8471 1.11 christos {"mtdmau", XSPR(31,467,922), XSPR_MASK, GEKKO, EXT, {RS}}, 8472 1.11 christos {"mtdmal", XSPR(31,467,923), XSPR_MASK, GEKKO, EXT, {RS}}, 8473 1.11 christos {"mtummcr0", XSPR(31,467,936), XSPR_MASK, PPC750, EXT, {RS}}, 8474 1.11 christos {"mtupmc1", XSPR(31,467,937), XSPR_MASK, PPC750, EXT, {RS}}, 8475 1.11 christos {"mtupmc2", XSPR(31,467,938), XSPR_MASK, PPC750, EXT, {RS}}, 8476 1.11 christos {"mtusia", XSPR(31,467,939), XSPR_MASK, PPC750, EXT, {RS}}, 8477 1.11 christos {"mtummcr1", XSPR(31,467,940), XSPR_MASK, PPC750, EXT, {RS}}, 8478 1.11 christos {"mtupmc3", XSPR(31,467,941), XSPR_MASK, PPC750, EXT, {RS}}, 8479 1.11 christos {"mtupmc4", XSPR(31,467,942), XSPR_MASK, PPC750, EXT, {RS}}, 8480 1.11 christos {"mtzpr", XSPR(31,467,944), XSPR_MASK, PPC403, EXT, {RS}}, 8481 1.11 christos {"mtpid", XSPR(31,467,945), XSPR_MASK, PPC403, EXT, {RS}}, 8482 1.11 christos {"mtrmmucr", XSPR(31,467,946), XSPR_MASK, TITAN, EXT, {RS}}, 8483 1.11 christos {"mtccr0", XSPR(31,467,947), XSPR_MASK, PPC405|TITAN, EXT, {RS}}, 8484 1.11 christos {"mtiac3", XSPR(31,467,948), XSPR_MASK, PPC405, EXT, {RS}}, 8485 1.11 christos {"mtiac4", XSPR(31,467,949), XSPR_MASK, PPC405, EXT, {RS}}, 8486 1.11 christos {"mtdvc1", XSPR(31,467,950), XSPR_MASK, PPC405, EXT, {RS}}, 8487 1.11 christos {"mtdvc2", XSPR(31,467,951), XSPR_MASK, PPC405, EXT, {RS}}, 8488 1.11 christos {"mtmmcr0", XSPR(31,467,952), XSPR_MASK, PPC750, EXT, {RS}}, 8489 1.11 christos {"mtpmc1", XSPR(31,467,953), XSPR_MASK, PPC750, EXT, {RS}}, 8490 1.11 christos {"mtsgr", XSPR(31,467,953), XSPR_MASK, PPC403, EXT, {RS}}, 8491 1.11 christos {"mtdcwr", XSPR(31,467,954), XSPR_MASK, PPC403, EXT, {RS}}, 8492 1.11 christos {"mtpmc2", XSPR(31,467,954), XSPR_MASK, PPC750, EXT, {RS}}, 8493 1.11 christos {"mtsia", XSPR(31,467,955), XSPR_MASK, PPC750, EXT, {RS}}, 8494 1.11 christos {"mtsler", XSPR(31,467,955), XSPR_MASK, PPC405, EXT, {RS}}, 8495 1.11 christos {"mtmmcr1", XSPR(31,467,956), XSPR_MASK, PPC750, EXT, {RS}}, 8496 1.11 christos {"mtsu0r", XSPR(31,467,956), XSPR_MASK, PPC405, EXT, {RS}}, 8497 1.11 christos {"mtdbcr1", XSPR(31,467,957), XSPR_MASK, PPC405, EXT, {RS}}, 8498 1.11 christos {"mtpmc3", XSPR(31,467,957), XSPR_MASK, PPC750, EXT, {RS}}, 8499 1.11 christos {"mtpmc4", XSPR(31,467,958), XSPR_MASK, PPC750, EXT, {RS}}, 8500 1.11 christos {"mticdbdr", XSPR(31,467,979), XSPR_MASK, PPC403, EXT, {RS}}, 8501 1.11 christos {"mtesr", XSPR(31,467,980), XSPR_MASK, PPC403, EXT, {RS}}, 8502 1.11 christos {"mtdear", XSPR(31,467,981), XSPR_MASK, PPC403, EXT, {RS}}, 8503 1.11 christos {"mtevpr", XSPR(31,467,982), XSPR_MASK, PPC403, EXT, {RS}}, 8504 1.11 christos {"mtcdbcr", XSPR(31,467,983), XSPR_MASK, PPC403, EXT, {RS}}, 8505 1.11 christos {"mttsr", XSPR(31,467,984), XSPR_MASK, PPC403, EXT, {RS}}, 8506 1.11 christos {"mttcr", XSPR(31,467,986), XSPR_MASK, PPC403, EXT, {RS}}, 8507 1.11 christos {"mtpit", XSPR(31,467,987), XSPR_MASK, PPC403, EXT, {RS}}, 8508 1.11 christos {"mttbhi", XSPR(31,467,988), XSPR_MASK, PPC403, EXT, {RS}}, 8509 1.11 christos {"mttblo", XSPR(31,467,989), XSPR_MASK, PPC403, EXT, {RS}}, 8510 1.11 christos {"mtsrr2", XSPR(31,467,990), XSPR_MASK, PPC403, EXT, {RS}}, 8511 1.11 christos {"mtsrr3", XSPR(31,467,991), XSPR_MASK, PPC403, EXT, {RS}}, 8512 1.11 christos {"mtdbsr", XSPR(31,467,1008), XSPR_MASK, PPC403, EXT, {RS}}, 8513 1.11 christos {"mthid0", XSPR(31,467,1008), XSPR_MASK, GEKKO, EXT, {RS}}, 8514 1.11 christos {"mthid1", XSPR(31,467,1009), XSPR_MASK, GEKKO, EXT, {RS}}, 8515 1.11 christos {"mtdbcr0", XSPR(31,467,1010), XSPR_MASK, PPC405, EXT, {RS}}, 8516 1.11 christos {"mtiabr", XSPR(31,467,1010), XSPR_MASK, GEKKO, EXT, {RS}}, 8517 1.11 christos {"mthid4", XSPR(31,467,1011), XSPR_MASK, BROADWAY, EXT, {RS}}, 8518 1.11 christos {"mtdbdr", XSPR(31,467,1011), XSPR_MASK, TITAN, EXT, {RS}}, 8519 1.11 christos {"mtiac1", XSPR(31,467,1012), XSPR_MASK, PPC403, EXT, {RS}}, 8520 1.11 christos {"mtiac2", XSPR(31,467,1013), XSPR_MASK, PPC403, EXT, {RS}}, 8521 1.11 christos {"mtdabr", XSPR(31,467,1013), XSPR_MASK, PPC750, EXT, {RS}}, 8522 1.11 christos {"mtdac1", XSPR(31,467,1014), XSPR_MASK, PPC403, EXT, {RS}}, 8523 1.11 christos {"mtdac2", XSPR(31,467,1015), XSPR_MASK, PPC403, EXT, {RS}}, 8524 1.11 christos {"mtl2cr", XSPR(31,467,1017), XSPR_MASK, PPC750, EXT, {RS}}, 8525 1.11 christos {"mtdccr", XSPR(31,467,1018), XSPR_MASK, PPC403, EXT, {RS}}, 8526 1.11 christos {"mticcr", XSPR(31,467,1019), XSPR_MASK, PPC403, EXT, {RS}}, 8527 1.11 christos {"mtictc", XSPR(31,467,1019), XSPR_MASK, PPC750, EXT, {RS}}, 8528 1.11 christos {"mtpbl1", XSPR(31,467,1020), XSPR_MASK, PPC403, EXT, {RS}}, 8529 1.11 christos {"mtthrm1", XSPR(31,467,1020), XSPR_MASK, PPC750, EXT, {RS}}, 8530 1.11 christos {"mtpbu1", XSPR(31,467,1021), XSPR_MASK, PPC403, EXT, {RS}}, 8531 1.7 christos {"mtthrm2", XSPR(31,467,1021), XSPR_MASK, PPC750, EXT, {RS}}, 8532 1.7 christos {"mtpbl2", XSPR(31,467,1022), XSPR_MASK, PPC403, EXT, {RS}}, 8533 1.7 christos {"mtthrm3", XSPR(31,467,1022), XSPR_MASK, PPC750, EXT, {RS}}, 8534 1.7 christos {"mtpbu2", XSPR(31,467,1023), XSPR_MASK, PPC403, EXT, {RS}}, 8535 1.7 christos {"mtspr", X(31,467), X_MASK, COM, 0, {SPR, RS}}, 8536 1.7 christos 8537 1.7 christos {"dcbi", X(31,470), XRT_MASK, PPC, 0, {RA0, RB}}, 8538 1.11 christos 8539 1.11 christos {"nand", XRC(31,476,0), X_MASK, COM, 0, {RA, RS, RB}}, 8540 1.7 christos {"nand.", XRC(31,476,1), X_MASK, COM, 0, {RA, RS, RB}}, 8541 1.7 christos 8542 1.8 christos {"setnbcr", X(31,480), XRB_MASK, POWER10, 0, {RT, BI}}, 8543 1.7 christos 8544 1.7 christos {"dsn", X(31,483), XRT_MASK, E500MC, 0, {RA, RB}}, 8545 1.7 christos 8546 1.7 christos {"dcread", X(31,486), X_MASK, PPC403|PPC440, PPCA2, {RT, RA0, RB}}, 8547 1.7 christos 8548 1.7 christos {"icbtls", X(31,486), X_MASK, PPCCHLK|PPC476|TITAN, 0, {CT, RA0, RB}}, 8549 1.7 christos 8550 1.7 christos {"stvxl", X(31,487), X_MASK, PPCVEC, 0, {VS, RA0, RB}}, 8551 1.7 christos 8552 1.7 christos {"nabs", XO(31,488,0,0), XORB_MASK, M601, 0, {RT, RA}}, 8553 1.2 skrll {"nabs.", XO(31,488,0,1), XORB_MASK, M601, 0, {RT, RA}}, 8554 1.7 christos 8555 1.7 christos {"divd", XO(31,489,0,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8556 1.2 skrll {"divd.", XO(31,489,0,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8557 1.7 christos 8558 1.2 skrll {"divw", XO(31,491,0,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 8559 1.7 christos {"divw.", XO(31,491,0,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 8560 1.5 christos 8561 1.2 skrll {"icbtlse", X(31,494), X_MASK, PPCCHLK, E500MC, {CT, RA, RB}}, 8562 1.7 christos 8563 1.2 skrll {"slbia", X(31,498), 0xff1fffff, POWER6, 0, {IH}}, 8564 1.7 christos {"slbia", X(31,498), 0xffffffff, PPC64, POWER6, {0}}, 8565 1.2 skrll 8566 1.7 christos {"cli", X(31,502), XRB_MASK, POWER, 0, {RT, RA}}, 8567 1.2 skrll 8568 1.7 christos {"popcntd", X(31,506), XRB_MASK, POWER7|PPCA2, 0, {RA, RS}}, 8569 1.2 skrll 8570 1.8 christos {"cmpb", X(31,508), X_MASK, POWER6|PPCA2|PPC476, 0, {RA, RS, RB}}, 8571 1.8 christos 8572 1.2 skrll {"mcrxr", X(31,512), XBFRARB_MASK, COM, POWER7, {BF}}, 8573 1.7 christos 8574 1.2 skrll {"lbdcbx", X(31,514), X_MASK, E200Z4, 0, {RT, RA, RB}}, 8575 1.7 christos {"lbdx", X(31,515), X_MASK, E500MC|E200Z4, 0, {RT, RA, RB}}, 8576 1.7 christos 8577 1.2 skrll {"bblels", X(31,518), X_MASK, PPCBRLK, 0, {0}}, 8578 1.7 christos 8579 1.7 christos {"lvlx", X(31,519), X_MASK, CELL, 0, {VD, RA0, RB}}, 8580 1.11 christos {"lbfcmux", APU(31,519,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8581 1.7 christos 8582 1.7 christos {"subfco", XO(31,8,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8583 1.11 christos {"sfo", XO(31,8,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8584 1.5 christos {"subco", XO(31,8,1,0), XO_MASK, PPCCOM, EXT, {RT, RB, RA}}, 8585 1.7 christos {"subfco.", XO(31,8,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8586 1.7 christos {"sfo.", XO(31,8,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8587 1.7 christos {"subco.", XO(31,8,1,1), XO_MASK, PPCCOM, EXT, {RT, RB, RA}}, 8588 1.7 christos 8589 1.2 skrll {"addco", XO(31,10,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8590 1.7 christos {"ao", XO(31,10,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8591 1.12 christos {"addco.", XO(31,10,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8592 1.5 christos {"ao.", XO(31,10,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8593 1.7 christos 8594 1.2 skrll {"lxsspx", X(31,524), XX1_MASK, PPCVSX2, 0, {XT6, RA0, RB}}, 8595 1.7 christos {"lxvrl", X(31,525), XX1_MASK, PPCVSXF, 0, {XT6, RA0, RB}}, 8596 1.2 skrll 8597 1.7 christos {"clcs", X(31,531), XRB_MASK, M601, 0, {RT, RA}}, 8598 1.7 christos 8599 1.2 skrll {"ldbrx", X(31,532), X_MASK, CELL|POWER7|PPCA2, 0, {RT, RA0, RB}}, 8600 1.7 christos 8601 1.7 christos {"lswx", X(31,533), X_MASK, PPCCOM, E500|E500MC, {RT, RAX, RBX}}, 8602 1.2 skrll {"lsx", X(31,533), X_MASK, PWRCOM, 0, {RT, RA, RB}}, 8603 1.7 christos 8604 1.2 skrll {"lwbrx", X(31,534), X_MASK, PPCCOM, 0, {RT, RA0, RB}}, 8605 1.7 christos {"lbrx", X(31,534), X_MASK, PWRCOM, 0, {RT, RA, RB}}, 8606 1.7 christos 8607 1.7 christos {"lfsx", X(31,535), X_MASK, COM, PPCEFS, {FRT, RA0, RB}}, 8608 1.7 christos 8609 1.2 skrll {"srw", XRC(31,536,0), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 8610 1.7 christos {"sr", XRC(31,536,0), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 8611 1.7 christos {"srw.", XRC(31,536,1), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 8612 1.2 skrll {"sr.", XRC(31,536,1), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 8613 1.7 christos 8614 1.7 christos {"rrib", XRC(31,537,0), X_MASK, M601, 0, {RA, RS, RB}}, 8615 1.5 christos {"rrib.", XRC(31,537,1), X_MASK, M601, 0, {RA, RS, RB}}, 8616 1.7 christos 8617 1.7 christos {"cnttzw", XRC(31,538,0), XRB_MASK, POWER9, 0, {RA, RS}}, 8618 1.2 skrll {"cnttzw.", XRC(31,538,1), XRB_MASK, POWER9, 0, {RA, RS}}, 8619 1.7 christos 8620 1.7 christos {"srd", XRC(31,539,0), X_MASK, PPC64, 0, {RA, RS, RB}}, 8621 1.2 skrll {"srd.", XRC(31,539,1), X_MASK, PPC64, 0, {RA, RS, RB}}, 8622 1.8 christos 8623 1.8 christos {"maskir", XRC(31,541,0), X_MASK, M601, 0, {RA, RS, RB}}, 8624 1.4 christos {"maskir.", XRC(31,541,1), X_MASK, M601, 0, {RA, RS, RB}}, 8625 1.8 christos 8626 1.2 skrll {"lhdcbx", X(31,546), X_MASK, E200Z4, 0, {RT, RA, RB}}, 8627 1.7 christos {"lhdx", X(31,547), X_MASK, E500MC|E200Z4, 0, {RT, RA, RB}}, 8628 1.2 skrll 8629 1.7 christos {"lvtrx", X(31,549), X_MASK, E6500, 0, {VD, RA0, RB}}, 8630 1.7 christos 8631 1.2 skrll {"bbelr", X(31,550), X_MASK, PPCBRLK, 0, {0}}, 8632 1.7 christos 8633 1.11 christos {"lvrx", X(31,551), X_MASK, CELL, 0, {VD, RA0, RB}}, 8634 1.7 christos {"lhfcmux", APU(31,551,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8635 1.11 christos 8636 1.2 skrll {"subfo", XO(31,40,1,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 8637 1.12 christos {"subo", XO(31,40,1,0), XO_MASK, PPC, EXT, {RT, RB, RA}}, 8638 1.12 christos {"subfo.", XO(31,40,1,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 8639 1.14 christos {"subo.", XO(31,40,1,1), XO_MASK, PPC, EXT, {RT, RB, RA}}, 8640 1.14 christos 8641 1.7 christos {"lxvrll", X(31,557), XX1_MASK, PPCVSXF, 0, {XT6, RA0, RB}}, 8642 1.2 skrll 8643 1.7 christos {"tlbsyncio", X(31,564), XRARB_MASK, FUTURE, 0, {RS}}, 8644 1.2 skrll 8645 1.7 christos {"tlbsync", X(31,566), 0xffffffff, PPC, 0, {0}}, 8646 1.7 christos 8647 1.5 christos {"lfsux", X(31,567), X_MASK, COM, PPCEFS, {FRT, RAS, RB}}, 8648 1.11 christos 8649 1.11 christos {"cnttzd", XRC(31,570,0), XRB_MASK, POWER9, 0, {RA, RS}}, 8650 1.7 christos {"cnttzd.", XRC(31,570,1), XRB_MASK, POWER9, 0, {RA, RS}}, 8651 1.5 christos 8652 1.8 christos {"cnttzdm", X(31,571), X_MASK, POWER10, 0, {RA, RS, RB}}, 8653 1.8 christos 8654 1.4 christos {"mcrxrx", X(31,576), XBFRARB_MASK, POWER9, 0, {BF}}, 8655 1.8 christos 8656 1.2 skrll {"lwdcbx", X(31,578), X_MASK, E200Z4, 0, {RT, RA, RB}}, 8657 1.7 christos {"lwdx", X(31,579), X_MASK, E500MC|E200Z4, 0, {RT, RA, RB}}, 8658 1.5 christos 8659 1.7 christos {"lvtlx", X(31,581), X_MASK, E6500, 0, {VD, RA0, RB}}, 8660 1.2 skrll 8661 1.7 christos {"lwat", X(31,582), X_MASK, POWER9, 0, {RT, RA0, FC}}, 8662 1.12 christos 8663 1.2 skrll {"lwfcmux", APU(31,583,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8664 1.7 christos 8665 1.2 skrll {"lxsdx", X(31,588), XX1_MASK, PPCVSX, 0, {XT6, RA0, RB}}, 8666 1.14 christos {"lxvprl", X(31,589), XX1_MASK, PPCVSXF, 0, {XTP, RA0, RB}}, 8667 1.14 christos 8668 1.7 christos {"mfsr", X(31,595), XRB_MASK|(1<<20), COM, NON32, {RT, SR}}, 8669 1.7 christos 8670 1.2 skrll {"ptesyncio", X(31,596), XRARB_MASK, FUTURE, 0, {RS}}, 8671 1.11 christos 8672 1.11 christos {"lswi", X(31,597), X_MASK, PPCCOM, E500|E500MC, {RT, RAX, NBI}}, 8673 1.11 christos {"lsi", X(31,597), X_MASK, PWRCOM, 0, {RT, RA0, NB}}, 8674 1.11 christos 8675 1.11 christos {"hwsync", XSYNC(31,598,0), 0xffffffff, POWER4, BOOKE|PPC476|EXT, {0}}, 8676 1.11 christos {"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, E500|EXT, {0}}, 8677 1.11 christos {"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, EXT, {0}}, 8678 1.11 christos {"phwsync", XSYNCLS(31,598,4,0), 0xffffffff, POWER10, EXT, {0}}, 8679 1.11 christos {"plwsync", XSYNCLS(31,598,5,0), 0xffffffff, POWER10, EXT, {0}}, 8680 1.11 christos {"stncisync", XSYNCLS(31,598,1,1), 0xffffffff, POWER10, EXT, {0}}, 8681 1.11 christos {"stcisync", XSYNCLS(31,598,0,2), 0xffffffff, POWER10, EXT, {0}}, 8682 1.11 christos {"stsync", XSYNCLS(31,598,0,3), 0xffffffff, POWER10, EXT, {0}}, 8683 1.11 christos {"sync", X(31,598), XSYNCLS_MASK, POWER10, BOOKE|PPC476, {LS3, SC2}}, 8684 1.11 christos {"sync", X(31,598), XSYNCLE_MASK, E6500, 0, {LS, ESYNC}}, 8685 1.11 christos {"sync", X(31,598), XSYNC_MASK, PPCCOM, POWER10|BOOKE|PPC476, {LS}}, 8686 1.2 skrll {"msync", X(31,598), 0xffffffff, BOOKE|PPCA2|PPC476, 0, {0}}, 8687 1.7 christos {"sync", X(31,598), 0xffffffff, BOOKE|PPC476, E6500, {0}}, 8688 1.2 skrll {"lwsync", X(31,598), 0xffffffff, E500, 0, {0}}, 8689 1.2 skrll {"dcs", X(31,598), 0xffffffff, PWRCOM, 0, {0}}, 8690 1.7 christos 8691 1.2 skrll {"lfdx", X(31,599), X_MASK, COM, PPCEFS, {FRT, RA0, RB}}, 8692 1.7 christos 8693 1.4 christos {"mffgpr", XRC(31,607,0), XRA_MASK, POWER6, POWER7, {FRT, RB}}, 8694 1.8 christos {"lfdepx", X(31,607), X_MASK, E500MC|PPCA2, 0, {FRT, RA0, RB}}, 8695 1.2 skrll 8696 1.7 christos {"lddx", X(31,611), X_MASK, E500MC, 0, {RT, RA, RB}}, 8697 1.5 christos 8698 1.7 christos {"lvswx", X(31,613), X_MASK, E6500, 0, {VD, RA0, RB}}, 8699 1.2 skrll 8700 1.7 christos {"ldat", X(31,614), X_MASK, POWER9, 0, {RT, RA0, FC}}, 8701 1.7 christos 8702 1.2 skrll {"lqfcmux", APU(31,615,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8703 1.7 christos 8704 1.7 christos {"nego", XO(31,104,1,0), XORB_MASK, COM, 0, {RT, RA}}, 8705 1.2 skrll {"nego.", XO(31,104,1,1), XORB_MASK, COM, 0, {RT, RA}}, 8706 1.12 christos 8707 1.12 christos {"mulo", XO(31,107,1,0), XO_MASK, M601, 0, {RT, RA, RB}}, 8708 1.7 christos {"mulo.", XO(31,107,1,1), XO_MASK, M601, 0, {RT, RA, RB}}, 8709 1.2 skrll 8710 1.7 christos {"lxvprll", X(31,621), XX1_MASK, PPCVSXF, 0, {XTP, RA0, RB}}, 8711 1.2 skrll 8712 1.7 christos {"mfsri", X(31,627), X_MASK, M601, 0, {RT, RA, RB}}, 8713 1.2 skrll 8714 1.8 christos {"dclst", X(31,630), XRB_MASK, M601, 0, {RS, RA}}, 8715 1.8 christos 8716 1.2 skrll {"lfdux", X(31,631), X_MASK, COM, PPCEFS, {FRT, RAS, RB}}, 8717 1.7 christos 8718 1.7 christos {"stbdcbx", X(31,642), X_MASK, E200Z4, 0, {RS, RA, RB}}, 8719 1.2 skrll {"stbdx", X(31,643), X_MASK, E500MC|E200Z4, 0, {RS, RA, RB}}, 8720 1.7 christos 8721 1.12 christos {"stvlx", X(31,647), X_MASK, CELL, 0, {VS, RA0, RB}}, 8722 1.5 christos {"stbfcmux", APU(31,647,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8723 1.7 christos 8724 1.5 christos {"stxsspx", X(31,652), XX1_MASK, PPCVSX2, 0, {XS6, RA0, RB}}, 8725 1.7 christos {"stxvrl", X(31,653), XX1_MASK, PPCVSXF, 0, {XS6, RA0, RB}}, 8726 1.7 christos 8727 1.7 christos {"tbegin.", XRC(31,654,1), XRTLRARB_MASK, PPCHTM, 0, {HTM_R}}, 8728 1.7 christos 8729 1.2 skrll {"subfeo", XO(31,136,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8730 1.7 christos {"sfeo", XO(31,136,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8731 1.7 christos {"subfeo.", XO(31,136,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8732 1.7 christos {"sfeo.", XO(31,136,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8733 1.7 christos 8734 1.2 skrll {"addeo", XO(31,138,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8735 1.13 christos {"aeo", XO(31,138,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8736 1.11 christos {"addeo.", XO(31,138,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8737 1.7 christos {"aeo.", XO(31,138,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8738 1.2 skrll 8739 1.7 christos {"hashstp", X(31,658), XRC_MASK, POWER8, 0, {RB, DW, RAS}}, 8740 1.2 skrll 8741 1.7 christos {"mfsrin", X(31,659), XRA_MASK, PPC, NON32, {RT, RB}}, 8742 1.7 christos 8743 1.2 skrll {"stdbrx", X(31,660), X_MASK, CELL|POWER7|PPCA2, 0, {RS, RA0, RB}}, 8744 1.7 christos 8745 1.7 christos {"stswx", X(31,661), X_MASK, PPCCOM, E500|E500MC, {RS, RA0, RB}}, 8746 1.2 skrll {"stsx", X(31,661), X_MASK, PWRCOM, 0, {RS, RA0, RB}}, 8747 1.7 christos 8748 1.2 skrll {"stwbrx", X(31,662), X_MASK, PPCCOM, 0, {RS, RA0, RB}}, 8749 1.7 christos {"stbrx", X(31,662), X_MASK, PWRCOM, 0, {RS, RA0, RB}}, 8750 1.7 christos 8751 1.2 skrll {"stfsx", X(31,663), X_MASK, COM, PPCEFS, {FRS, RA0, RB}}, 8752 1.7 christos 8753 1.7 christos {"srq", XRC(31,664,0), X_MASK, M601, 0, {RA, RS, RB}}, 8754 1.2 skrll {"srq.", XRC(31,664,1), X_MASK, M601, 0, {RA, RS, RB}}, 8755 1.8 christos 8756 1.8 christos {"sre", XRC(31,665,0), X_MASK, M601, 0, {RA, RS, RB}}, 8757 1.2 skrll {"sre.", XRC(31,665,1), X_MASK, M601, 0, {RA, RS, RB}}, 8758 1.8 christos 8759 1.4 christos {"sthdcbx", X(31,674), X_MASK, E200Z4, 0, {RS, RA, RB}}, 8760 1.7 christos {"sthdx", X(31,675), X_MASK, E500MC|E200Z4, 0, {RS, RA, RB}}, 8761 1.7 christos 8762 1.2 skrll {"stvfrx", X(31,677), X_MASK, E6500, 0, {VS, RA0, RB}}, 8763 1.12 christos 8764 1.12 christos {"stvrx", X(31,679), X_MASK, CELL, 0, {VS, RA0, RB}}, 8765 1.7 christos {"sthfcmux", APU(31,679,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8766 1.7 christos 8767 1.5 christos {"stxvrll", X(31,685), XX1_MASK, PPCVSXF, 0, {XS6, RA0, RB}}, 8768 1.13 christos 8769 1.11 christos {"tendall.", XRC(31,686,1)|(1<<25), XRTRARB_MASK, PPCHTM, 0, {0}}, 8770 1.7 christos {"tend.", XRC(31,686,1), XRTARARB_MASK, PPCHTM, 0, {HTM_A}}, 8771 1.2 skrll 8772 1.7 christos {"hashchkp", X(31,690), XRC_MASK, POWER8, 0, {RB, DW, RAS}}, 8773 1.2 skrll 8774 1.7 christos {"stbcx.", XRC(31,694,1), X_MASK, POWER8|E6500, 0, {RS, RA0, RB}}, 8775 1.7 christos 8776 1.2 skrll {"stfsux", X(31,695), X_MASK, COM, PPCEFS, {FRS, RAS, RB}}, 8777 1.8 christos 8778 1.8 christos {"sriq", XRC(31,696,0), X_MASK, M601, 0, {RA, RS, SH}}, 8779 1.2 skrll {"sriq.", XRC(31,696,1), X_MASK, M601, 0, {RA, RS, SH}}, 8780 1.8 christos 8781 1.4 christos {"stwdcbx", X(31,706), X_MASK, E200Z4, 0, {RS, RA, RB}}, 8782 1.7 christos {"stwdx", X(31,707), X_MASK, E500MC|E200Z4, 0, {RS, RA, RB}}, 8783 1.5 christos 8784 1.7 christos {"stvflx", X(31,709), X_MASK, E6500, 0, {VS, RA0, RB}}, 8785 1.2 skrll 8786 1.7 christos {"stwat", X(31,710), X_MASK, POWER9, 0, {RS, RA0, FC}}, 8787 1.12 christos 8788 1.2 skrll {"stwfcmux", APU(31,711,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8789 1.7 christos 8790 1.5 christos {"stxsdx", X(31,716), XX1_MASK, PPCVSX, 0, {XS6, RA0, RB}}, 8791 1.7 christos {"stxvprl", X(31,717), XX1_MASK, PPCVSXF, 0, {XSP, RA0, RB}}, 8792 1.7 christos 8793 1.7 christos {"tcheck", X(31,718), XRTBFRARB_MASK, PPCHTM, 0, {BF}}, 8794 1.7 christos 8795 1.2 skrll {"subfzeo", XO(31,200,1,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8796 1.7 christos {"sfzeo", XO(31,200,1,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8797 1.7 christos {"subfzeo.", XO(31,200,1,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8798 1.7 christos {"sfzeo.", XO(31,200,1,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8799 1.7 christos 8800 1.2 skrll {"addzeo", XO(31,202,1,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8801 1.13 christos {"azeo", XO(31,202,1,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8802 1.11 christos {"addzeo.", XO(31,202,1,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8803 1.7 christos {"azeo.", XO(31,202,1,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8804 1.7 christos 8805 1.2 skrll {"hashst", X(31,722), XRC_MASK, POWER8, 0, {RB, DW, RAS}}, 8806 1.7 christos 8807 1.2 skrll {"stswi", X(31,725), X_MASK, PPCCOM, E500|E500MC, {RS, RA0, NB}}, 8808 1.7 christos {"stsi", X(31,725), X_MASK, PWRCOM, 0, {RS, RA0, NB}}, 8809 1.2 skrll 8810 1.7 christos {"sthcx.", XRC(31,726,1), X_MASK, POWER8|E6500, 0, {RS, RA0, RB}}, 8811 1.7 christos 8812 1.2 skrll {"stfdx", X(31,727), X_MASK, COM, PPCEFS, {FRS, RA0, RB}}, 8813 1.7 christos 8814 1.7 christos {"srlq", XRC(31,728,0), X_MASK, M601, 0, {RA, RS, RB}}, 8815 1.2 skrll {"srlq.", XRC(31,728,1), X_MASK, M601, 0, {RA, RS, RB}}, 8816 1.2 skrll 8817 1.7 christos {"sreq", XRC(31,729,0), X_MASK, M601, 0, {RA, RS, RB}}, 8818 1.2 skrll {"sreq.", XRC(31,729,1), X_MASK, M601, 0, {RA, RS, RB}}, 8819 1.7 christos 8820 1.2 skrll {"mftgpr", XRC(31,735,0), XRA_MASK, POWER6, POWER7, {RT, FRB}}, 8821 1.8 christos {"stfdepx", X(31,735), X_MASK, E500MC|PPCA2, 0, {FRS, RA0, RB}}, 8822 1.4 christos 8823 1.7 christos {"stddx", X(31,739), X_MASK, E500MC, 0, {RS, RA, RB}}, 8824 1.5 christos 8825 1.7 christos {"stvswx", X(31,741), X_MASK, E6500, 0, {VS, RA0, RB}}, 8826 1.2 skrll 8827 1.7 christos {"stdat", X(31,742), X_MASK, POWER9, 0, {RS, RA0, FC}}, 8828 1.7 christos 8829 1.7 christos {"stqfcmux", APU(31,743,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8830 1.7 christos 8831 1.2 skrll {"subfmeo", XO(31,232,1,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8832 1.7 christos {"sfmeo", XO(31,232,1,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8833 1.7 christos {"subfmeo.", XO(31,232,1,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8834 1.2 skrll {"sfmeo.", XO(31,232,1,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8835 1.7 christos 8836 1.7 christos {"mulldo", XO(31,233,1,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8837 1.7 christos {"mulldo.", XO(31,233,1,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 8838 1.7 christos 8839 1.2 skrll {"addmeo", XO(31,234,1,0), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8840 1.7 christos {"ameo", XO(31,234,1,0), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8841 1.7 christos {"addmeo.", XO(31,234,1,1), XORB_MASK, PPCCOM, 0, {RT, RA}}, 8842 1.7 christos {"ameo.", XO(31,234,1,1), XORB_MASK, PWRCOM, 0, {RT, RA}}, 8843 1.7 christos 8844 1.2 skrll {"mullwo", XO(31,235,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8845 1.12 christos {"mulso", XO(31,235,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8846 1.12 christos {"mullwo.", XO(31,235,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8847 1.11 christos {"mulso.", XO(31,235,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8848 1.11 christos 8849 1.7 christos {"stxvprll", X(31,749), XX1_MASK, PPCVSXF, 0, {XSP, RA0, RB}}, 8850 1.5 christos 8851 1.13 christos {"tsuspend.", XRCL(31,750,0,1), XRTRARB_MASK,PPCHTM, EXT, {0}}, 8852 1.11 christos {"tresume.", XRCL(31,750,1,1), XRTRARB_MASK,PPCHTM, EXT, {0}}, 8853 1.7 christos {"tsr.", XRC(31,750,1), XRTLRARB_MASK,PPCHTM, 0, {L}}, 8854 1.5 christos 8855 1.7 christos {"hashchk", X(31,754), XRC_MASK, POWER8, 0, {RB, DW, RAS}}, 8856 1.7 christos 8857 1.2 skrll {"darn", X(31,755), XLRAND_MASK, POWER9, 0, {RT, LRAND}}, 8858 1.7 christos 8859 1.2 skrll {"dcba", X(31,758), XRT_MASK, PPC405|PPC7450|BOOKE|PPCA2|PPC476, 0, {RA0, RB}}, 8860 1.7 christos {"dcbal", XOPL(31,758,1), XRT_MASK, E500MC, 0, {RA0, RB}}, 8861 1.7 christos 8862 1.2 skrll {"stfdux", X(31,759), X_MASK, COM, PPCEFS, {FRS, RAS, RB}}, 8863 1.8 christos 8864 1.5 christos {"srliq", XRC(31,760,0), X_MASK, M601, 0, {RA, RS, SH}}, 8865 1.8 christos {"srliq.", XRC(31,760,1), X_MASK, M601, 0, {RA, RS, SH}}, 8866 1.5 christos 8867 1.8 christos {"lvsm", X(31,773), X_MASK, E6500, 0, {VD, RA0, RB}}, 8868 1.7 christos 8869 1.7 christos {"copy", XOPL(31,774,1), XRT_MASK, POWER9, 0, {RA0, RB}}, 8870 1.2 skrll 8871 1.7 christos {"stvepxl", X(31,775), X_MASK, E6500, 0, {VS, RA0, RB}}, 8872 1.7 christos {"lvlxl", X(31,775), X_MASK, CELL, 0, {VD, RA0, RB}}, 8873 1.2 skrll {"ldfcmux", APU(31,775,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 8874 1.7 christos 8875 1.7 christos {"dozo", XO(31,264,1,0), XO_MASK, M601, 0, {RT, RA, RB}}, 8876 1.7 christos {"dozo.", XO(31,264,1,1), XO_MASK, M601, 0, {RT, RA, RB}}, 8877 1.7 christos 8878 1.2 skrll {"addo", XO(31,266,1,0), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8879 1.7 christos {"caxo", XO(31,266,1,0), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8880 1.7 christos {"addo.", XO(31,266,1,1), XO_MASK, PPCCOM, 0, {RT, RA, RB}}, 8881 1.5 christos {"caxo.", XO(31,266,1,1), XO_MASK, PWRCOM, 0, {RT, RA, RB}}, 8882 1.7 christos 8883 1.7 christos {"modsd", X(31,777), X_MASK, POWER9, 0, {RT, RA, RB}}, 8884 1.5 christos {"modsw", X(31,779), X_MASK, POWER9, 0, {RT, RA, RB}}, 8885 1.7 christos 8886 1.2 skrll {"lxvw4x", X(31,780), XX1_MASK, PPCVSX, 0, {XT6, RA0, RB}}, 8887 1.7 christos {"lxsibzx", X(31,781), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8888 1.2 skrll 8889 1.7 christos {"tabortwc.", XRC(31,782,1), X_MASK, PPCHTM, 0, {TO, RA, RB}}, 8890 1.2 skrll 8891 1.7 christos {"tlbivax", X(31,786), XRT_MASK, BOOKE|PPCA2|PPC476, 0, {RA0, RB}}, 8892 1.2 skrll 8893 1.8 christos {"lwzcix", X(31,789), X_MASK, POWER6, 0, {RT, RA0, RB}}, 8894 1.7 christos 8895 1.2 skrll {"lhbrx", X(31,790), X_MASK, COM, 0, {RT, RA0, RB}}, 8896 1.7 christos 8897 1.7 christos {"lfdpx", X(31,791), X_MASK|Q_MASK, POWER6, POWER7, {FRTp, RA0, RB}}, 8898 1.7 christos {"lfqx", X(31,791), X_MASK, POWER2, 0, {FRT, RA, RB}}, 8899 1.7 christos 8900 1.2 skrll {"sraw", XRC(31,792,0), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 8901 1.7 christos {"sra", XRC(31,792,0), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 8902 1.7 christos {"sraw.", XRC(31,792,1), X_MASK, PPCCOM, 0, {RA, RS, RB}}, 8903 1.2 skrll {"sra.", XRC(31,792,1), X_MASK, PWRCOM, 0, {RA, RS, RB}}, 8904 1.8 christos 8905 1.7 christos {"srad", XRC(31,794,0), X_MASK, PPC64, 0, {RA, RS, RB}}, 8906 1.2 skrll {"srad.", XRC(31,794,1), X_MASK, PPC64, 0, {RA, RS, RB}}, 8907 1.8 christos 8908 1.14 christos {"evlddepx", VX (31, 1598), VX_MASK, PPCSPE, 0, {RT, RA, RB}}, 8909 1.8 christos {"lfddx", X(31,803), X_MASK, E500MC, 0, {FRT, RA, RB}}, 8910 1.7 christos 8911 1.2 skrll {"lvtrxl", X(31,805), X_MASK, E6500, 0, {VD, RA0, RB}}, 8912 1.7 christos {"ccmclean", X(31,806), XRTRARB_MASK,FUTURE, 0, {0}}, 8913 1.7 christos {"stvepx", X(31,807), X_MASK, E6500, 0, {VS, RA0, RB}}, 8914 1.5 christos {"lvrxl", X(31,807), X_MASK, CELL, 0, {VD, RA0, RB}}, 8915 1.7 christos 8916 1.5 christos {"lxvh8x", X(31,812), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8917 1.7 christos {"lxsihzx", X(31,813), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8918 1.2 skrll 8919 1.7 christos {"tabortdc.", XRC(31,814,1), X_MASK, PPCHTM, 0, {TO, RA, RB}}, 8920 1.2 skrll 8921 1.7 christos {"rac", X(31,818), X_MASK, M601, 0, {RT, RA, RB}}, 8922 1.2 skrll 8923 1.7 christos {"erativax", X(31,819), X_MASK, PPCA2, 0, {RS, RA0, RB}}, 8924 1.11 christos 8925 1.2 skrll {"lhzcix", X(31,821), X_MASK, POWER6, 0, {RT, RA0, RB}}, 8926 1.7 christos 8927 1.2 skrll {"dss", XDSS(31,822,0), XDSS_MASK, PPCVEC, 0, {STRM}}, 8928 1.7 christos {"dssall", XDSS(31,822,1), XDSS_MASK, PPCVEC, 0, {0}}, 8929 1.7 christos 8930 1.7 christos {"lfqux", X(31,823), X_MASK, POWER2, 0, {FRT, RA, RB}}, 8931 1.7 christos 8932 1.2 skrll {"srawi", XRC(31,824,0), X_MASK, PPCCOM, 0, {RA, RS, SH}}, 8933 1.7 christos {"srai", XRC(31,824,0), X_MASK, PWRCOM, 0, {RA, RS, SH}}, 8934 1.7 christos {"srawi.", XRC(31,824,1), X_MASK, PPCCOM, 0, {RA, RS, SH}}, 8935 1.4 christos {"srai.", XRC(31,824,1), X_MASK, PWRCOM, 0, {RA, RS, SH}}, 8936 1.8 christos 8937 1.2 skrll {"sradi", XS(31,413,0), XS_MASK, PPC64, 0, {RA, RS, SH6}}, 8938 1.8 christos {"sradi.", XS(31,413,1), XS_MASK, PPC64, 0, {RA, RS, SH6}}, 8939 1.5 christos 8940 1.7 christos {"lvtlxl", X(31,837), X_MASK, E6500, 0, {VD, RA0, RB}}, 8941 1.7 christos 8942 1.2 skrll {"cpabort", X(31,838), XRTRARB_MASK,POWER9, 0, {0}}, 8943 1.7 christos 8944 1.5 christos {"divo", XO(31,331,1,0), XO_MASK, M601, 0, {RT, RA, RB}}, 8945 1.5 christos {"divo.", XO(31,331,1,1), XO_MASK, M601, 0, {RT, RA, RB}}, 8946 1.7 christos 8947 1.2 skrll {"lxvd2x", X(31,844), XX1_MASK, PPCVSX, 0, {XT6, RA0, RB}}, 8948 1.7 christos {"lxvx", X(31,844), XX1_MASK, POWER8, POWER9|PPCVSX3, {XT6, RA0, RB}}, 8949 1.3 christos 8950 1.11 christos {"tabortwci.", XRC(31,846,1), X_MASK, PPCHTM, 0, {TO, RA, HTM_SI}}, 8951 1.11 christos 8952 1.11 christos {"tlbsrx.", XRC(31,850,1), XRT_MASK, PPCA2, 0, {RA0, RB}}, 8953 1.7 christos 8954 1.5 christos {"slbiag", X(31,850), XRLARB_MASK, POWER10, 0, {RS, A_L}}, 8955 1.2 skrll {"slbiag", X(31,850), XRARB_MASK, POWER9, POWER10, {RS}}, 8956 1.7 christos 8957 1.2 skrll {"slbmfev", X(31,851), XRLA_MASK, POWER9, 0, {RT, RB, A_L}}, 8958 1.3 christos {"slbmfev", X(31,851), XRA_MASK, PPC64, POWER9, {RT, RB}}, 8959 1.7 christos 8960 1.7 christos {"lbzcix", X(31,853), X_MASK, POWER6, 0, {RT, RA0, RB}}, 8961 1.7 christos 8962 1.2 skrll {"eieio", X(31,854), 0xffffffff, PPC, BOOKE|PPCA2|PPC476, {0}}, 8963 1.7 christos {"mbar", X(31,854), X_MASK, BOOKE|PPCA2|PPC476, 0, {MO}}, 8964 1.2 skrll {"eieio", XMBAR(31,854,1),0xffffffff, E500, 0, {0}}, 8965 1.8 christos {"eieio", X(31,854), 0xffffffff, PPCA2|PPC476, 0, {0}}, 8966 1.4 christos 8967 1.7 christos {"lfiwax", X(31,855), X_MASK, POWER6|PPCA2|PPC476, 0, {FRT, RA0, RB}}, 8968 1.7 christos 8969 1.2 skrll {"lvswxl", X(31,869), X_MASK, E6500, 0, {VD, RA0, RB}}, 8970 1.7 christos 8971 1.7 christos {"abso", XO(31,360,1,0), XORB_MASK, M601, 0, {RT, RA}}, 8972 1.2 skrll {"abso.", XO(31,360,1,1), XORB_MASK, M601, 0, {RT, RA}}, 8973 1.14 christos 8974 1.14 christos {"divso", XO(31,363,1,0), XO_MASK, M601, 0, {RT, RA, RB}}, 8975 1.7 christos {"divso.", XO(31,363,1,1), XO_MASK, M601, 0, {RT, RA, RB}}, 8976 1.5 christos 8977 1.14 christos {"ccmrl", X(31,870), XRTRARB_MASK,FUTURE, 0, {0}}, 8978 1.14 christos 8979 1.7 christos {"lxvb16x", X(31,876), XX1_MASK, PPCVSX3, 0, {XT6, RA0, RB}}, 8980 1.5 christos 8981 1.7 christos {"lxvpb32x", X(31,877), X_MASK, FUTURE, 0, {XTP, RA0, RB}}, 8982 1.5 christos 8983 1.7 christos {"tabortdci.", XRC(31,878,1), X_MASK, PPCHTM, 0, {TO, RA, HTM_SI}}, 8984 1.2 skrll 8985 1.7 christos {"rmieg", X(31,882), XRTRA_MASK, POWER9, 0, {RB}}, 8986 1.5 christos 8987 1.7 christos {"ldcix", X(31,885), X_MASK, POWER6, 0, {RT, RA0, RB}}, 8988 1.2 skrll 8989 1.7 christos {"msgsync", X(31,886), 0xffffffff, POWER9, 0, {0}}, 8990 1.7 christos 8991 1.5 christos {"lfiwzx", X(31,887), X_MASK, POWER7|PPCA2, 0, {FRT, RA0, RB}}, 8992 1.11 christos 8993 1.11 christos {"extswsli", XS(31,445,0), XS_MASK, POWER9, 0, {RA, RS, SH6}}, 8994 1.5 christos {"extswsli.", XS(31,445,1), XS_MASK, POWER9, 0, {RA, RS, SH6}}, 8995 1.7 christos 8996 1.7 christos {"paste.", XRC(31,902,1), XLRT_MASK, POWER10, 0, {RA0, RB, L1OPT}}, 8997 1.2 skrll {"paste.", XRCL(31,902,1,1),XRT_MASK, POWER9, POWER10, {RA0, RB}}, 8998 1.7 christos 8999 1.7 christos {"stvlxl", X(31,903), X_MASK, CELL, 0, {VS, RA0, RB}}, 9000 1.7 christos {"stdfcmux", APU(31,903,0), APU_MASK, PPC405, 0, {FCRT, RA, RB}}, 9001 1.7 christos 9002 1.2 skrll {"divdeuo", XO(31,393,1,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9003 1.7 christos {"divdeuo.", XO(31,393,1,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9004 1.7 christos {"divweuo", XO(31,395,1,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9005 1.5 christos {"divweuo.", XO(31,395,1,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9006 1.7 christos 9007 1.2 skrll {"stxvw4x", X(31,908), XX1_MASK, PPCVSX, 0, {XS6, RA0, RB}}, 9008 1.7 christos {"stxsibx", X(31,909), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 9009 1.7 christos 9010 1.2 skrll {"tabort.", XRC(31,910,1), XRTRB_MASK, PPCHTM, 0, {RA}}, 9011 1.7 christos 9012 1.5 christos {"tlbsx", XRC(31,914,0), X_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RTO, RA0, RB}}, 9013 1.2 skrll {"tlbsx.", XRC(31,914,1), X_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RTO, RA0, RB}}, 9014 1.7 christos 9015 1.2 skrll {"slbmfee", X(31,915), XRLA_MASK, POWER9, 0, {RT, RB, A_L}}, 9016 1.7 christos {"slbmfee", X(31,915), XRA_MASK, PPC64, POWER9, {RT, RB}}, 9017 1.2 skrll 9018 1.8 christos {"stwcix", X(31,917), X_MASK, POWER6, 0, {RS, RA0, RB}}, 9019 1.7 christos 9020 1.2 skrll {"sthbrx", X(31,918), X_MASK, COM, 0, {RS, RA0, RB}}, 9021 1.7 christos 9022 1.7 christos {"stfdpx", X(31,919), X_MASK|Q_MASK, POWER6, POWER7, {FRSp, RA0, RB}}, 9023 1.2 skrll {"stfqx", X(31,919), X_MASK, POWER2, 0, {FRS, RA0, RB}}, 9024 1.7 christos 9025 1.7 christos {"sraq", XRC(31,920,0), X_MASK, M601, 0, {RA, RS, RB}}, 9026 1.2 skrll {"sraq.", XRC(31,920,1), X_MASK, M601, 0, {RA, RS, RB}}, 9027 1.7 christos 9028 1.7 christos {"srea", XRC(31,921,0), X_MASK, M601, 0, {RA, RS, RB}}, 9029 1.7 christos {"srea.", XRC(31,921,1), X_MASK, M601, 0, {RA, RS, RB}}, 9030 1.7 christos 9031 1.2 skrll {"extsh", XRC(31,922,0), XRB_MASK, PPCCOM, 0, {RA, RS}}, 9032 1.8 christos {"exts", XRC(31,922,0), XRB_MASK, PWRCOM, 0, {RA, RS}}, 9033 1.7 christos {"extsh.", XRC(31,922,1), XRB_MASK, PPCCOM, 0, {RA, RS}}, 9034 1.2 skrll {"exts.", XRC(31,922,1), XRB_MASK, PWRCOM, 0, {RA, RS}}, 9035 1.8 christos 9036 1.4 christos {"evstddepx", VX (31, 1854), VX_MASK, PPCSPE, 0, {RT, RA, RB}}, 9037 1.11 christos {"stfddx", X(31,931), X_MASK, E500MC, 0, {FRS, RA, RB}}, 9038 1.11 christos 9039 1.8 christos {"stvfrxl", X(31,933), X_MASK, E6500, 0, {VS, RA0, RB}}, 9040 1.3 christos 9041 1.7 christos {"wclrone", XOPL2(31,934,2),XRT_MASK, PPCA2, EXT, {RA0, RB}}, 9042 1.2 skrll {"wclrall", X(31,934), XRARB_MASK, PPCA2, EXT, {L2}}, 9043 1.7 christos {"wclr", X(31,934), X_MASK, PPCA2, 0, {L2, RA0, RB}}, 9044 1.7 christos 9045 1.7 christos {"stvrxl", X(31,935), X_MASK, CELL, 0, {VS, RA0, RB}}, 9046 1.7 christos 9047 1.3 christos {"divdeo", XO(31,425,1,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9048 1.7 christos {"divdeo.", XO(31,425,1,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9049 1.7 christos {"divweo", XO(31,427,1,0), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9050 1.5 christos {"divweo.", XO(31,427,1,1), XO_MASK, POWER7|PPCA2, 0, {RT, RA, RB}}, 9051 1.7 christos 9052 1.5 christos {"stxvh8x", X(31,940), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 9053 1.11 christos {"stxsihx", X(31,941), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 9054 1.11 christos 9055 1.7 christos {"treclaim.", XRC(31,942,1), XRTRB_MASK, PPCHTM, 0, {RA}}, 9056 1.2 skrll 9057 1.7 christos {"tlbrehi", XTLB(31,946,0), XTLB_MASK, PPC403, PPCA2|EXT, {RT, RA}}, 9058 1.2 skrll {"tlbrelo", XTLB(31,946,1), XTLB_MASK, PPC403, PPCA2|EXT, {RT, RA}}, 9059 1.7 christos {"tlbre", X(31,946), X_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RSO, RAOPT, SHO}}, 9060 1.7 christos 9061 1.3 christos {"sthcix", X(31,949), X_MASK, POWER6, 0, {RS, RA0, RB}}, 9062 1.7 christos 9063 1.2 skrll {"icswepx", XRC(31,950,0), X_MASK, PPCA2, 0, {RS, RA, RB}}, 9064 1.7 christos {"icswepx.", XRC(31,950,1), X_MASK, PPCA2, 0, {RS, RA, RB}}, 9065 1.7 christos 9066 1.2 skrll {"stfqux", X(31,951), X_MASK, POWER2, 0, {FRS, RA, RB}}, 9067 1.7 christos 9068 1.7 christos {"sraiq", XRC(31,952,0), X_MASK, M601, 0, {RA, RS, SH}}, 9069 1.4 christos {"sraiq.", XRC(31,952,1), X_MASK, M601, 0, {RA, RS, SH}}, 9070 1.8 christos 9071 1.2 skrll {"extsb", XRC(31,954,0), XRB_MASK, PPC, 0, {RA, RS}}, 9072 1.8 christos {"extsb.", XRC(31,954,1), XRB_MASK, PPC, 0, {RA, RS}}, 9073 1.7 christos 9074 1.5 christos {"stvflxl", X(31,965), X_MASK, E6500, 0, {VS, RA0, RB}}, 9075 1.7 christos 9076 1.7 christos {"iccci", X(31,966), XRT_MASK, PPC403|PPC440|PPC476|TITAN|PPCA2, 0, {RAOPT, RBOPT}}, 9077 1.5 christos {"ici", X(31,966), XRARB_MASK, PPCA2|PPC476, 0, {CT}}, 9078 1.7 christos 9079 1.7 christos {"divduo", XO(31,457,1,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 9080 1.2 skrll {"divduo.", XO(31,457,1,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 9081 1.7 christos 9082 1.5 christos {"divwuo", XO(31,459,1,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 9083 1.2 skrll {"divwuo.", XO(31,459,1,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 9084 1.3 christos 9085 1.11 christos {"stxvd2x", X(31,972), XX1_MASK, PPCVSX, 0, {XS6, RA0, RB}}, 9086 1.11 christos {"stxvx", X(31,972), XX1_MASK, POWER8, POWER9|PPCVSX3, {XS6, RA0, RB}}, 9087 1.7 christos 9088 1.7 christos {"tlbld", X(31,978), XRTRA_MASK, PPC, PPC403|BOOKE|PPCA2|PPC476, {RB}}, 9089 1.7 christos {"tlbwehi", XTLB(31,978,0), XTLB_MASK, PPC403, EXT, {RT, RA}}, 9090 1.7 christos {"tlbwelo", XTLB(31,978,1), XTLB_MASK, PPC403, EXT, {RT, RA}}, 9091 1.7 christos {"tlbwe", X(31,978), X_MASK, PPC403|BOOKE|PPCA2|PPC476, 0, {RSO, RAOPT, SHO}}, 9092 1.7 christos 9093 1.7 christos {"slbfee.", XRC(31,979,1), XRA_MASK, POWER6, 0, {RT, RB}}, 9094 1.7 christos 9095 1.7 christos {"stbcix", X(31,981), X_MASK, POWER6, 0, {RS, RA0, RB}}, 9096 1.7 christos 9097 1.7 christos {"icbi", X(31,982), XRT_MASK, PPC, 0, {RA0, RB}}, 9098 1.7 christos 9099 1.7 christos {"stfiwx", X(31,983), X_MASK, PPC, PPCEFS, {FRS, RA0, RB}}, 9100 1.7 christos 9101 1.7 christos {"extsw", XRC(31,986,0), XRB_MASK, PPC64, 0, {RA, RS}}, 9102 1.8 christos {"extsw.", XRC(31,986,1), XRB_MASK, PPC64, 0, {RA, RS}}, 9103 1.7 christos 9104 1.7 christos {"icbiep", XRT(31,991,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, 9105 1.7 christos 9106 1.7 christos {"stvswxl", X(31,997), X_MASK, E6500, 0, {VS, RA0, RB}}, 9107 1.7 christos 9108 1.7 christos {"icread", X(31,998), XRT_MASK, PPC403|PPC440|PPC476|TITAN, 0, {RA0, RB}}, 9109 1.7 christos 9110 1.7 christos {"nabso", XO(31,488,1,0), XORB_MASK, M601, 0, {RT, RA}}, 9111 1.7 christos {"nabso.", XO(31,488,1,1), XORB_MASK, M601, 0, {RT, RA}}, 9112 1.7 christos 9113 1.7 christos {"divdo", XO(31,489,1,0), XO_MASK, PPC64, 0, {RT, RA, RB}}, 9114 1.7 christos {"divdo.", XO(31,489,1,1), XO_MASK, PPC64, 0, {RT, RA, RB}}, 9115 1.7 christos 9116 1.7 christos {"divwo", XO(31,491,1,0), XO_MASK, PPC, 0, {RT, RA, RB}}, 9117 1.14 christos {"divwo.", XO(31,491,1,1), XO_MASK, PPC, 0, {RT, RA, RB}}, 9118 1.14 christos 9119 1.7 christos {"stxvb16x", X(31,1004), XX1_MASK, PPCVSX3, 0, {XS6, RA0, RB}}, 9120 1.7 christos 9121 1.7 christos {"stxvpb32x", X(31,1005), X_MASK, FUTURE, 0, {XSP, RA0, RB}}, 9122 1.7 christos 9123 1.7 christos {"trechkpt.", XRC(31,1006,1), XRTRARB_MASK,PPCHTM, 0, {0}}, 9124 1.7 christos 9125 1.7 christos {"tlbli", X(31,1010), XRTRA_MASK, PPC, TITAN, {RB}}, 9126 1.7 christos 9127 1.11 christos {"stdcix", X(31,1013), X_MASK, POWER6, 0, {RS, RA0, RB}}, 9128 1.7 christos 9129 1.7 christos {"dcbz", X(31,1014), XRT_MASK, PPC, 0, {RA0, RB}}, 9130 1.7 christos {"dclz", X(31,1014), XRT_MASK, PPC, 0, {RA0, RB}}, 9131 1.7 christos {"dcbzl", XOPL(31,1014,1), XRT_MASK, POWER4|E500MC, PPC476, {RA0, RB}}, 9132 1.7 christos 9133 1.7 christos {"dcbzep", XRT(31,1023,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}}, 9134 1.7 christos 9135 1.7 christos {"lwz", OP(32), OP_MASK, PPCCOM, PPCVLE, {RT, D, RA0}}, 9136 1.7 christos {"l", OP(32), OP_MASK, PWRCOM, PPCVLE, {RT, D, RA0}}, 9137 1.7 christos 9138 1.7 christos {"lwzu", OP(33), OP_MASK, PPCCOM, PPCVLE, {RT, D, RAL}}, 9139 1.7 christos {"lu", OP(33), OP_MASK, PWRCOM, PPCVLE, {RT, D, RA0}}, 9140 1.7 christos 9141 1.7 christos {"lbz", OP(34), OP_MASK, COM, PPCVLE, {RT, D, RA0}}, 9142 1.7 christos 9143 1.7 christos {"lbzu", OP(35), OP_MASK, COM, PPCVLE, {RT, D, RAL}}, 9144 1.7 christos 9145 1.7 christos {"stw", OP(36), OP_MASK, PPCCOM, PPCVLE, {RS, D, RA0}}, 9146 1.7 christos {"st", OP(36), OP_MASK, PWRCOM, PPCVLE, {RS, D, RA0}}, 9147 1.7 christos 9148 1.7 christos {"stwu", OP(37), OP_MASK, PPCCOM, PPCVLE, {RS, D, RAS}}, 9149 1.7 christos {"stu", OP(37), OP_MASK, PWRCOM, PPCVLE, {RS, D, RA0}}, 9150 1.7 christos 9151 1.7 christos {"stb", OP(38), OP_MASK, COM, PPCVLE, {RS, D, RA0}}, 9152 1.7 christos 9153 1.7 christos {"stbu", OP(39), OP_MASK, COM, PPCVLE, {RS, D, RAS}}, 9154 1.7 christos 9155 1.7 christos {"lhz", OP(40), OP_MASK, COM, PPCVLE, {RT, D, RA0}}, 9156 1.7 christos 9157 1.7 christos {"lhzu", OP(41), OP_MASK, COM, PPCVLE, {RT, D, RAL}}, 9158 1.7 christos 9159 1.7 christos {"lha", OP(42), OP_MASK, COM, PPCVLE, {RT, D, RA0}}, 9160 1.7 christos 9161 1.7 christos {"lhau", OP(43), OP_MASK, COM, PPCVLE, {RT, D, RAL}}, 9162 1.7 christos 9163 1.7 christos {"sth", OP(44), OP_MASK, COM, PPCVLE, {RS, D, RA0}}, 9164 1.7 christos 9165 1.7 christos {"sthu", OP(45), OP_MASK, COM, PPCVLE, {RS, D, RAS}}, 9166 1.7 christos 9167 1.7 christos {"lmw", OP(46), OP_MASK, PPCCOM, PPCVLE, {RT, D, RAM}}, 9168 1.7 christos {"lm", OP(46), OP_MASK, PWRCOM, PPCVLE, {RT, D, RA0}}, 9169 1.7 christos 9170 1.7 christos {"stmw", OP(47), OP_MASK, PPCCOM, PPCVLE, {RS, D, RA0}}, 9171 1.7 christos {"stm", OP(47), OP_MASK, PWRCOM, PPCVLE, {RS, D, RA0}}, 9172 1.7 christos 9173 1.7 christos {"lfs", OP(48), OP_MASK, COM, PPCEFS|PPCVLE, {FRT, D, RA0}}, 9174 1.7 christos 9175 1.7 christos {"lfsu", OP(49), OP_MASK, COM, PPCEFS|PPCVLE, {FRT, D, RAS}}, 9176 1.7 christos 9177 1.7 christos {"lfd", OP(50), OP_MASK, COM, PPCEFS|PPCVLE, {FRT, D, RA0}}, 9178 1.7 christos 9179 1.7 christos {"lfdu", OP(51), OP_MASK, COM, PPCEFS|PPCVLE, {FRT, D, RAS}}, 9180 1.7 christos 9181 1.7 christos {"stfs", OP(52), OP_MASK, COM, PPCEFS|PPCVLE, {FRS, D, RA0}}, 9182 1.7 christos 9183 1.7 christos {"stfsu", OP(53), OP_MASK, COM, PPCEFS|PPCVLE, {FRS, D, RAS}}, 9184 1.7 christos 9185 1.8 christos {"stfd", OP(54), OP_MASK, COM, PPCEFS|PPCVLE, {FRS, D, RA0}}, 9186 1.7 christos 9187 1.7 christos {"stfdu", OP(55), OP_MASK, COM, PPCEFS|PPCVLE, {FRS, D, RAS}}, 9188 1.7 christos 9189 1.7 christos {"lq", OP(56), OP_MASK|Q_MASK, POWER4, PPC476|PPCVLE, {RTQ, DQ, RAQ}}, 9190 1.7 christos {"psq_l", OP(56), OP_MASK, PPCPS, PPCVLE, {FRT,PSD,RA,PSW,PSQ}}, 9191 1.8 christos {"lfq", OP(56), OP_MASK, POWER2, PPCVLE, {FRT, D, RA0}}, 9192 1.7 christos 9193 1.7 christos {"lxsd", DSO(57,2), DS_MASK, PPCVSX3, PPCVLE, {VD, DS, RA0}}, 9194 1.7 christos {"lxssp", DSO(57,3), DS_MASK, PPCVSX3, PPCVLE, {VD, DS, RA0}}, 9195 1.7 christos {"lfdp", OP(57), OP_MASK|Q_MASK, POWER6, POWER7|PPCVLE, {FRTp, DS, RA0}}, 9196 1.7 christos {"psq_lu", OP(57), OP_MASK, PPCPS, PPCVLE, {FRT,PSD,RA,PSW,PSQ}}, 9197 1.7 christos {"lfqu", OP(57), OP_MASK, POWER2, PPCVLE, {FRT, D, RA0}}, 9198 1.7 christos 9199 1.7 christos {"ld", DSO(58,0), DS_MASK, PPC64, PPCVLE, {RT, DS, RA0}}, 9200 1.7 christos {"ldu", DSO(58,1), DS_MASK, PPC64, PPCVLE, {RT, DS, RAL}}, 9201 1.7 christos {"lwa", DSO(58,2), DS_MASK, PPC64, PPCVLE, {RT, DS, RA0}}, 9202 1.7 christos 9203 1.7 christos {"dadd", XRC(59,2,0), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9204 1.7 christos {"dadd.", XRC(59,2,1), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9205 1.12 christos 9206 1.11 christos {"dqua", ZRC(59,3,0), Z2_MASK, POWER6, PPCVLE, {FRT,FRA,FRB,RMC}}, 9207 1.12 christos {"dqua.", ZRC(59,3,1), Z2_MASK, POWER6, PPCVLE, {FRT,FRA,FRB,RMC}}, 9208 1.11 christos 9209 1.11 christos {"dmxvi8ger4pp",XX3(59,2), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9210 1.7 christos {"xvi8ger4pp", XX3(59,2), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9211 1.7 christos {"dmxvi8ger4", XX3(59,3), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9212 1.7 christos {"xvi8ger4", XX3(59,3), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9213 1.7 christos 9214 1.7 christos {"fdivs", A(59,18,0), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9215 1.7 christos {"fdivs.", A(59,18,1), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9216 1.7 christos 9217 1.7 christos {"fsubs", A(59,20,0), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9218 1.7 christos {"fsubs.", A(59,20,1), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9219 1.7 christos 9220 1.7 christos {"fadds", A(59,21,0), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9221 1.7 christos {"fadds.", A(59,21,1), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9222 1.7 christos 9223 1.7 christos {"fsqrts", A(59,22,0), AFRAFRC_MASK, PPC, TITAN|PPCVLE, {FRT, FRB}}, 9224 1.7 christos {"fsqrts.", A(59,22,1), AFRAFRC_MASK, PPC, TITAN|PPCVLE, {FRT, FRB}}, 9225 1.7 christos 9226 1.7 christos {"fres", A(59,24,0), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9227 1.7 christos {"fres", A(59,24,0), AFRALFRC_MASK, PPC, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9228 1.7 christos {"fres.", A(59,24,1), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9229 1.7 christos {"fres.", A(59,24,1), AFRALFRC_MASK, PPC, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9230 1.7 christos 9231 1.7 christos {"fmuls", A(59,25,0), AFRB_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC}}, 9232 1.7 christos {"fmuls.", A(59,25,1), AFRB_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC}}, 9233 1.7 christos 9234 1.7 christos {"frsqrtes", A(59,26,0), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9235 1.7 christos {"frsqrtes", A(59,26,0), AFRALFRC_MASK, POWER5, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9236 1.7 christos {"frsqrtes.", A(59,26,1), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9237 1.7 christos {"frsqrtes.", A(59,26,1), AFRALFRC_MASK, POWER5, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9238 1.7 christos 9239 1.7 christos {"fmsubs", A(59,28,0), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9240 1.7 christos {"fmsubs.", A(59,28,1), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9241 1.7 christos 9242 1.7 christos {"fmadds", A(59,29,0), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9243 1.7 christos {"fmadds.", A(59,29,1), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9244 1.7 christos 9245 1.7 christos {"fnmsubs", A(59,30,0), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9246 1.7 christos {"fnmsubs.", A(59,30,1), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9247 1.7 christos 9248 1.7 christos {"fnmadds", A(59,31,0), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9249 1.7 christos {"fnmadds.", A(59,31,1), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9250 1.7 christos 9251 1.7 christos {"dmul", XRC(59,34,0), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9252 1.7 christos {"dmul.", XRC(59,34,1), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9253 1.12 christos 9254 1.12 christos {"drrnd", ZRC(59,35,0), Z2_MASK, POWER6, PPCVLE, {FRT, FRA, FRB, RMC}}, 9255 1.12 christos {"drrnd.", ZRC(59,35,1), Z2_MASK, POWER6, PPCVLE, {FRT, FRA, FRB, RMC}}, 9256 1.7 christos 9257 1.7 christos {"dmxvi8gerx4pp", XX3(59,10), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9258 1.7 christos {"dmxvi8gerx4", XX3(59,11), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9259 1.7 christos 9260 1.7 christos {"dscli", ZRC(59,66,0), Z_MASK, POWER6, PPCVLE, {FRT, FRA, SH16}}, 9261 1.7 christos {"dscli.", ZRC(59,66,1), Z_MASK, POWER6, PPCVLE, {FRT, FRA, SH16}}, 9262 1.12 christos 9263 1.12 christos {"dquai", ZRC(59,67,0), Z2_MASK, POWER6, PPCVLE, {TE, FRT,FRB,RMC}}, 9264 1.12 christos {"dquai.", ZRC(59,67,1), Z2_MASK, POWER6, PPCVLE, {TE, FRT,FRB,RMC}}, 9265 1.12 christos 9266 1.11 christos {"dmxvf16ger2pp",XX3(59,18), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9267 1.7 christos {"xvf16ger2pp", XX3(59,18), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9268 1.7 christos {"dmxvf16ger2", XX3(59,19), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9269 1.7 christos {"xvf16ger2", XX3(59,19), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9270 1.7 christos 9271 1.7 christos {"dscri", ZRC(59,98,0), Z_MASK, POWER6, PPCVLE, {FRT, FRA, SH16}}, 9272 1.7 christos {"dscri.", ZRC(59,98,1), Z_MASK, POWER6, PPCVLE, {FRT, FRA, SH16}}, 9273 1.12 christos 9274 1.11 christos {"drintx", ZRC(59,99,0), Z2_MASK, POWER6, PPCVLE, {R, FRT, FRB, RMC}}, 9275 1.12 christos {"drintx.", ZRC(59,99,1), Z2_MASK, POWER6, PPCVLE, {R, FRT, FRB, RMC}}, 9276 1.11 christos 9277 1.11 christos {"dmxvf32gerpp",XX3(59,26), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9278 1.7 christos {"xvf32gerpp", XX3(59,26), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9279 1.7 christos {"dmxvf32ger", XX3(59,27), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9280 1.12 christos {"xvf32ger", XX3(59,27), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9281 1.11 christos 9282 1.12 christos {"dcmpo", X(59,130), X_MASK, POWER6, PPCVLE, {BF, FRA, FRB}}, 9283 1.11 christos 9284 1.11 christos {"dmxvi4ger8pp",XX3(59,34), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9285 1.7 christos {"xvi4ger8pp", XX3(59,34), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9286 1.11 christos {"dmxvi4ger8", XX3(59,35), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9287 1.12 christos {"xvi4ger8", XX3(59,35), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9288 1.12 christos 9289 1.12 christos {"dtstex", X(59,162), X_MASK, POWER6, PPCVLE, {BF, FRA, FRB}}, 9290 1.12 christos 9291 1.11 christos {"dmxvi16ger2spp",XX3(59,42), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9292 1.7 christos {"xvi16ger2spp", XX3(59,42), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9293 1.11 christos {"dmxvi16ger2s", XX3(59,43), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9294 1.12 christos {"xvi16ger2s", XX3(59,43), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9295 1.12 christos 9296 1.12 christos {"dtstdc", Z(59,194), Z_MASK, POWER6, PPCVLE, {BF, FRA, DCM}}, 9297 1.12 christos 9298 1.11 christos {"dmxvbf16ger2pp",XX3(59,50), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9299 1.7 christos {"xvbf16ger2pp", XX3(59,50), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9300 1.7 christos {"dmxvbf16ger2", XX3(59,51), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9301 1.7 christos {"xvbf16ger2", XX3(59,51), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9302 1.7 christos 9303 1.7 christos {"dtstdg", Z(59,226), Z_MASK, POWER6, PPCVLE, {BF, FRA, DGM}}, 9304 1.12 christos 9305 1.11 christos {"drintn", ZRC(59,227,0), Z2_MASK, POWER6, PPCVLE, {R, FRT, FRB, RMC}}, 9306 1.12 christos {"drintn.", ZRC(59,227,1), Z2_MASK, POWER6, PPCVLE, {R, FRT, FRB, RMC}}, 9307 1.11 christos 9308 1.11 christos {"dmxvf64gerpp",XX3(59,58), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9309 1.7 christos {"xvf64gerpp", XX3(59,58), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9310 1.7 christos {"dmxvf64ger", XX3(59,59), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9311 1.7 christos {"xvf64ger", XX3(59,59), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9312 1.12 christos 9313 1.12 christos {"dctdp", XRC(59,258,0), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9314 1.12 christos {"dctdp.", XRC(59,258,1), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9315 1.7 christos 9316 1.7 christos {"dmxvf16gerx2pp", XX3(59,66), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9317 1.7 christos {"dmxvf16gerx2", XX3(59,67), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9318 1.7 christos 9319 1.7 christos {"dctfix", XRC(59,290,0), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9320 1.7 christos {"dctfix.", XRC(59,290,1), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9321 1.12 christos 9322 1.12 christos {"ddedpd", XRC(59,322,0), X_MASK, POWER6, PPCVLE, {SP, FRT, FRB}}, 9323 1.11 christos {"ddedpd.", XRC(59,322,1), X_MASK, POWER6, PPCVLE, {SP, FRT, FRB}}, 9324 1.11 christos 9325 1.12 christos {"dmxvbf16gerx2pp", XX3(59,74), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9326 1.12 christos {"dmxvi16ger2", XX3(59,75), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9327 1.12 christos {"xvi16ger2", XX3(59,75), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9328 1.11 christos 9329 1.7 christos {"dmxvf16ger2np", XX3(59,82), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9330 1.7 christos {"xvf16ger2np", XX3(59,82), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9331 1.7 christos {"dmxvf16gerx2np",XX3(59,83), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9332 1.12 christos 9333 1.12 christos {"dxex", XRC(59,354,0), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9334 1.12 christos {"dxex.", XRC(59,354,1), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9335 1.12 christos 9336 1.12 christos {"dmxvf32gernp", XX3(59,90), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9337 1.12 christos {"xvf32gernp", XX3(59,90), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9338 1.12 christos {"dmxvbf16gerx2", XX3(59,91), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9339 1.12 christos 9340 1.12 christos {"dmxvi8gerx4spp",XX3(59,98), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9341 1.12 christos {"dmxvi8ger4spp", XX3(59,99), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9342 1.12 christos {"xvi8ger4spp", XX3(59,99), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9343 1.12 christos 9344 1.12 christos {"dmxvi16ger2pp", XX3(59,107), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9345 1.12 christos {"xvi16ger2pp", XX3(59,107), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9346 1.11 christos 9347 1.12 christos {"dmxvbf16ger2np",XX3(59,114), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9348 1.12 christos {"xvbf16ger2np", XX3(59,114), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9349 1.11 christos {"dmxvbf16gerx2np",XX3(59,115), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9350 1.7 christos 9351 1.7 christos {"dmxvf64gernp", XX3(59,122), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9352 1.7 christos {"xvf64gernp", XX3(59,122), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9353 1.7 christos 9354 1.7 christos {"dsub", XRC(59,514,0), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9355 1.7 christos {"dsub.", XRC(59,514,1), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9356 1.12 christos 9357 1.12 christos {"ddiv", XRC(59,546,0), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9358 1.12 christos {"ddiv.", XRC(59,546,1), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9359 1.11 christos 9360 1.12 christos {"dmxvf16ger2pn", XX3(59,146), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9361 1.11 christos {"xvf16ger2pn", XX3(59,146), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9362 1.11 christos {"dmxvf16gerx2pn",XX3(59,147), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9363 1.7 christos 9364 1.7 christos {"dmxvf32gerpn",XX3(59,154), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9365 1.7 christos {"xvf32gerpn", XX3(59,154), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9366 1.7 christos 9367 1.7 christos {"dcmpu", X(59,642), X_MASK, POWER6, PPCVLE, {BF, FRA, FRB}}, 9368 1.12 christos 9369 1.12 christos {"dtstsf", X(59,674), X_MASK, POWER6, PPCVLE, {BF, FRA, FRB}}, 9370 1.12 christos {"dtstsfi", X(59,675), X_MASK|1<<22,POWER9, PPCVLE, {BF, UIM6, FRB}}, 9371 1.11 christos 9372 1.12 christos {"dmxvbf16ger2pn",XX3(59,178), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9373 1.11 christos {"xvbf16ger2pn", XX3(59,178), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9374 1.11 christos {"dmxvbf16gerx2pn", XX3(59,179),XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9375 1.7 christos 9376 1.7 christos {"dmxvf64gerpn",XX3(59,186), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9377 1.7 christos {"xvf64gerpn", XX3(59,186), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9378 1.7 christos 9379 1.7 christos {"drsp", XRC(59,770,0), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9380 1.7 christos {"drsp.", XRC(59,770,1), X_MASK, POWER6, PPCVLE, {FRT, FRB}}, 9381 1.12 christos 9382 1.12 christos {"dcffix", XRC(59,802,0), X_MASK|FRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9383 1.7 christos {"dcffix.", XRC(59,802,1), X_MASK|FRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9384 1.7 christos 9385 1.7 christos {"dmxvf16gerx2nn", XX3(59,202), XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9386 1.12 christos 9387 1.12 christos {"denbcd", XRC(59,834,0), X_MASK, POWER6, PPCVLE, {S, FRT, FRB}}, 9388 1.11 christos {"denbcd.", XRC(59,834,1), X_MASK, POWER6, PPCVLE, {S, FRT, FRB}}, 9389 1.7 christos 9390 1.7 christos {"dmxvf16ger2nn", XX3(59,210), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9391 1.7 christos {"xvf16ger2nn", XX3(59,210), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9392 1.7 christos 9393 1.7 christos {"fcfids", XRC(59,846,0), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9394 1.7 christos {"fcfids.", XRC(59,846,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9395 1.12 christos 9396 1.11 christos {"diex", XRC(59,866,0), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9397 1.11 christos {"diex.", XRC(59,866,1), X_MASK, POWER6, PPCVLE, {FRT, FRA, FRB}}, 9398 1.12 christos 9399 1.12 christos {"dmxvf32gernn",XX3(59,218), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9400 1.12 christos {"xvf32gernn", XX3(59,218), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9401 1.12 christos 9402 1.11 christos {"dmxvbf16gerx2nn", XX3(59,234),XX3GERX_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB6}}, 9403 1.7 christos 9404 1.7 christos {"dmxvbf16ger2nn",XX3(59,242), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9405 1.7 christos {"xvbf16ger2nn", XX3(59,242), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6a, XB6a}}, 9406 1.12 christos 9407 1.11 christos {"fcfidus", XRC(59,974,0), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9408 1.11 christos {"fcfidus.", XRC(59,974,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9409 1.7 christos 9410 1.7 christos {"dmxvf64gernn",XX3(59,250), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9411 1.7 christos {"xvf64gernn", XX3(59,250), XX3ACC_MASK, POWER10, PPCVLE, {ACC, XA6ap, XB6a}}, 9412 1.7 christos 9413 1.7 christos {"xsaddsp", XX3(60,0), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9414 1.7 christos {"xsmaddasp", XX3(60,1), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9415 1.7 christos {"xxsldwi", XX3(60,2), XX3SHW_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6, SHW}}, 9416 1.7 christos {"xscmpeqdp", XX3(60,3), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9417 1.7 christos {"xsrsqrtesp", XX2(60,10), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9418 1.11 christos {"xssqrtsp", XX2(60,11), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9419 1.11 christos {"xxsel", XX4(60,3), XX4_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6, XC6}}, 9420 1.11 christos {"xssubsp", XX3(60,8), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9421 1.11 christos {"xsmaddmsp", XX3(60,9), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9422 1.7 christos {"xxspltd", XX3(60,10), XX3DM_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6, DMEX}}, 9423 1.7 christos {"xxmrghd", XX3(60,10), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XA6, XB6}}, 9424 1.7 christos {"xxswapd", XX3(60,10)|(2<<8), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6}}, 9425 1.7 christos {"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XA6, XB6}}, 9426 1.7 christos {"xxpermdi", XX3(60,10), XX3DM_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6, DM}}, 9427 1.7 christos {"xscmpgtdp", XX3(60,11), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9428 1.7 christos {"xsresp", XX2(60,26), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9429 1.7 christos {"xsmulsp", XX3(60,16), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9430 1.7 christos {"xsmsubasp", XX3(60,17), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9431 1.7 christos {"xxmrghw", XX3(60,18), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9432 1.7 christos {"xscmpgedp", XX3(60,19), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9433 1.7 christos {"xsdivsp", XX3(60,24), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9434 1.7 christos {"xsmsubmsp", XX3(60,25), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9435 1.7 christos {"xxperm", XX3(60,26), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9436 1.7 christos {"xsadddp", XX3(60,32), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9437 1.7 christos {"xsmaddadp", XX3(60,33), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9438 1.7 christos {"xscmpudp", XX3(60,35), XX3BF_MASK, PPCVSX, PPCVLE, {BF, XA6, XB6}}, 9439 1.7 christos {"xscvdpuxws", XX2(60,72), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9440 1.7 christos {"xsrdpi", XX2(60,73), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9441 1.7 christos {"xsrsqrtedp", XX2(60,74), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9442 1.7 christos {"xssqrtdp", XX2(60,75), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9443 1.7 christos {"xssubdp", XX3(60,40), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9444 1.7 christos {"xsmaddmdp", XX3(60,41), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9445 1.7 christos {"xscmpodp", XX3(60,43), XX3BF_MASK, PPCVSX, PPCVLE, {BF, XA6, XB6}}, 9446 1.7 christos {"xscvdpsxws", XX2(60,88), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9447 1.7 christos {"xsrdpiz", XX2(60,89), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9448 1.7 christos {"xsredp", XX2(60,90), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9449 1.7 christos {"xsmuldp", XX3(60,48), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9450 1.7 christos {"xsmsubadp", XX3(60,49), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9451 1.7 christos {"xxmrglw", XX3(60,50), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9452 1.7 christos {"xsrdpip", XX2(60,105), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9453 1.7 christos {"xstsqrtdp", XX2(60,106), XX2BF_MASK, PPCVSX, PPCVLE, {BF, XB6}}, 9454 1.7 christos {"xsrdpic", XX2(60,107), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9455 1.7 christos {"xsdivdp", XX3(60,56), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9456 1.7 christos {"xsmsubmdp", XX3(60,57), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9457 1.7 christos {"xxpermr", XX3(60,58), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9458 1.7 christos {"xscmpexpdp", XX3(60,59), XX3BF_MASK, PPCVSX3, PPCVLE, {BF, XA6, XB6}}, 9459 1.7 christos {"xsrdpim", XX2(60,121), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9460 1.7 christos {"xstdivdp", XX3(60,61), XX3BF_MASK, PPCVSX, PPCVLE, {BF, XA6, XB6}}, 9461 1.7 christos {"xvaddsp", XX3(60,64), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9462 1.7 christos {"xvmaddasp", XX3(60,65), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9463 1.7 christos {"xvcmpeqsp", XX3RC(60,67,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9464 1.7 christos {"xvcmpeqsp.", XX3RC(60,67,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9465 1.7 christos {"xvcvspuxws", XX2(60,136), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9466 1.7 christos {"xvrspi", XX2(60,137), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9467 1.7 christos {"xvrsqrtesp", XX2(60,138), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9468 1.7 christos {"xvsqrtsp", XX2(60,139), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9469 1.7 christos {"xvsubsp", XX3(60,72), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9470 1.7 christos {"xvmaddmsp", XX3(60,73), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9471 1.7 christos {"xvcmpgtsp", XX3RC(60,75,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9472 1.7 christos {"xvcmpgtsp.", XX3RC(60,75,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9473 1.7 christos {"xvcvspsxws", XX2(60,152), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9474 1.7 christos {"xvrspiz", XX2(60,153), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9475 1.7 christos {"xvresp", XX2(60,154), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9476 1.7 christos {"xvmulsp", XX3(60,80), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9477 1.7 christos {"xvmsubasp", XX3(60,81), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9478 1.7 christos {"xxspltw", XX2(60,164), XX2UIM_MASK, PPCVSX, PPCVLE, {XT6, XB6, UIM}}, 9479 1.7 christos {"xxextractuw", XX2(60,165), XX2UIM4_MASK, PPCVSX3, PPCVLE, {XT6, XB6, UIMM4}}, 9480 1.7 christos {"xvcmpgesp", XX3RC(60,83,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9481 1.7 christos {"xvcmpgesp.", XX3RC(60,83,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9482 1.7 christos {"xvcvuxwsp", XX2(60,168), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9483 1.7 christos {"xvrspip", XX2(60,169), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9484 1.7 christos {"xvtsqrtsp", XX2(60,170), XX2BF_MASK, PPCVSX, PPCVLE, {BF, XB6}}, 9485 1.11 christos {"xvrspic", XX2(60,171), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9486 1.7 christos {"xvdivsp", XX3(60,88), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9487 1.7 christos {"xvmsubmsp", XX3(60,89), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9488 1.7 christos {"xxspltib", X(60,360), XX1_MASK|3<<19, PPCVSX3, PPCVLE, {XT6, IMM8}}, 9489 1.7 christos {"lxvkq", XVA(60,360,31), XVA_MASK&~1, POWER10, PPCVLE, {XT6, UIM5}}, 9490 1.7 christos {"xxinsertw", XX2(60,181), XX2UIM4_MASK, PPCVSX3, PPCVLE, {XT6, XB6, UIMM4}}, 9491 1.7 christos {"xvcvsxwsp", XX2(60,184), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9492 1.7 christos {"xvrspim", XX2(60,185), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9493 1.7 christos {"xvtdivsp", XX3(60,93), XX3BF_MASK, PPCVSX, PPCVLE, {BF, XA6, XB6}}, 9494 1.7 christos {"xvadddp", XX3(60,96), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9495 1.7 christos {"xvmaddadp", XX3(60,97), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9496 1.7 christos {"xvcmpeqdp", XX3RC(60,99,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9497 1.7 christos {"xvcmpeqdp.", XX3RC(60,99,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9498 1.7 christos {"xvcvdpuxws", XX2(60,200), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9499 1.7 christos {"xvrdpi", XX2(60,201), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9500 1.7 christos {"xvrsqrtedp", XX2(60,202), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9501 1.7 christos {"xvsqrtdp", XX2(60,203), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9502 1.7 christos {"xvsubdp", XX3(60,104), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9503 1.7 christos {"xvmaddmdp", XX3(60,105), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9504 1.7 christos {"xvcmpgtdp", XX3RC(60,107,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9505 1.7 christos {"xvcmpgtdp.", XX3RC(60,107,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9506 1.7 christos {"xvcvdpsxws", XX2(60,216), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9507 1.13 christos {"xvrdpiz", XX2(60,217), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9508 1.7 christos {"xvredp", XX2(60,218), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9509 1.7 christos {"xvmuldp", XX3(60,112), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9510 1.7 christos {"xvmsubadp", XX3(60,113), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9511 1.7 christos {"xvmulhuw", XX3(60,114), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9512 1.7 christos {"xvcmpgedp", XX3RC(60,115,0), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9513 1.7 christos {"xvcmpgedp.", XX3RC(60,115,1), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9514 1.7 christos {"xvcvuxwdp", XX2(60,232), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9515 1.7 christos {"xvrdpip", XX2(60,233), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9516 1.13 christos {"xvtsqrtdp", XX2(60,234), XX2BF_MASK, PPCVSX, PPCVLE, {BF, XB6}}, 9517 1.7 christos {"xvrdpic", XX2(60,235), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9518 1.7 christos {"xvdivdp", XX3(60,120), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9519 1.7 christos {"xvmsubmdp", XX3(60,121), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9520 1.7 christos {"xvmulhuh", XX3(60,122), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9521 1.7 christos {"xvcvsxwdp", XX2(60,248), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9522 1.7 christos {"xvrdpim", XX2(60,249), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9523 1.13 christos {"xvtdivdp", XX3(60,125), XX3BF_MASK, PPCVSX, PPCVLE, {BF, XA6, XB6}}, 9524 1.7 christos {"xsmaxcdp", XX3(60,128), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9525 1.7 christos {"xsnmaddasp", XX3(60,129), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9526 1.7 christos {"xxland", XX3(60,130), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9527 1.7 christos {"xvadduwm", XX3(60,131), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9528 1.7 christos {"xscvdpsp", XX2(60,265), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9529 1.13 christos {"xscvdpspn", XX2(60,267), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9530 1.7 christos {"xsmincdp", XX3(60,136), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9531 1.7 christos {"xsnmaddmsp", XX3(60,137), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9532 1.7 christos {"xxlandc", XX3(60,138), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9533 1.11 christos {"xvadduhm", XX3(60,139), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9534 1.7 christos {"xsrsp", XX2(60,281), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9535 1.13 christos {"xsmaxjdp", XX3(60,144), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9536 1.7 christos {"xsnmsubasp", XX3(60,145), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9537 1.7 christos {"xxmr", XX3(60,146), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6}}, 9538 1.7 christos {"xxlor", XX3(60,146), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9539 1.7 christos {"xvsubuwm", XX3(60,147), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9540 1.7 christos {"xscvuxdsp", XX2(60,296), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9541 1.13 christos {"xststdcsp", XX2(60,298), XX2BFD_MASK, PPCVSX3, PPCVLE, {BF, XB6, DCMX}}, 9542 1.7 christos {"xsminjdp", XX3(60,152), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9543 1.7 christos {"xsnmsubmsp", XX3(60,153), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9544 1.7 christos {"xxlxor", XX3(60,154), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9545 1.11 christos {"xvsubuhm", XX3(60,155), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9546 1.7 christos {"xscvsxdsp", XX2(60,312), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9547 1.13 christos {"xsmaxdp", XX3(60,160), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9548 1.7 christos {"xsnmaddadp", XX3(60,161), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9549 1.7 christos {"xxlnot", XX3(60,162), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6}}, 9550 1.7 christos {"xxlnor", XX3(60,162), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9551 1.7 christos {"xvmuluwm", XX3(60,163), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9552 1.7 christos {"xscvdpuxds", XX2(60,328), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9553 1.7 christos {"xscvspdp", XX2(60,329), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9554 1.13 christos {"xscvspdpn", XX2(60,331), XX2_MASK, PPCVSX2, PPCVLE, {XT6, XB6}}, 9555 1.7 christos {"xsmindp", XX3(60,168), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9556 1.7 christos {"xsnmaddmdp", XX3(60,169), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9557 1.7 christos {"xxlorc", XX3(60,170), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9558 1.7 christos {"xvmuluhm", XX3(60,171), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9559 1.7 christos {"xscvdpsxds", XX2(60,344), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9560 1.7 christos {"xsabsdp", XX2(60,345), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9561 1.7 christos {"xsxexpdp", XX2VA(60,347,0),XX2_MASK|1, PPCVSX3, PPCVLE, {RT, XB6}}, 9562 1.7 christos {"xsxsigdp", XX2VA(60,347,1),XX2_MASK|1, PPCVSX3, PPCVLE, {RT, XB6}}, 9563 1.7 christos {"xscvhpdp", XX2VA(60,347,16),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9564 1.13 christos {"xscvdphp", XX2VA(60,347,17),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9565 1.7 christos {"xscpsgndp", XX3(60,176), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9566 1.7 christos {"xsnmsubadp", XX3(60,177), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9567 1.7 christos {"xxlnand", XX3(60,178), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9568 1.13 christos {"xvmulhsw", XX3(60,179), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9569 1.7 christos {"xscvuxddp", XX2(60,360), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9570 1.7 christos {"xsnabsdp", XX2(60,361), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9571 1.13 christos {"xststdcdp", XX2(60,362), XX2BFD_MASK, PPCVSX3, PPCVLE, {BF, XB6, DCMX}}, 9572 1.7 christos {"xvrlw", XX3(60,184), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9573 1.7 christos {"xsnmsubmdp", XX3(60,185), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9574 1.7 christos {"xxleqv", XX3(60,186), XX3_MASK, PPCVSX2, PPCVLE, {XT6, XA6, XB6}}, 9575 1.7 christos {"xvmulhsh", XX3(60,187), XX3_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6}}, 9576 1.13 christos {"xscvsxddp", XX2(60,376), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9577 1.13 christos {"xsnegdp", XX2(60,377), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9578 1.13 christos {"xvmaxsp", XX3(60,192), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9579 1.13 christos {"xvnmaddasp", XX3(60,193), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9580 1.13 christos 9581 1.13 christos {"xxaes128encp",XX3M(60,194,0),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9582 1.13 christos {"xxaes192encp",XX3M(60,194,1),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9583 1.13 christos {"xxaes256encp",XX3M(60,194,2),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9584 1.13 christos {"xxaesencp", XX3M(60,194,0),XX3AES_MASK, PPCVSXF, PPCVLE, {XTP, XA5p, XB5p, AESM}}, 9585 1.13 christos {"xxaes128decp",XX3M(60,202,0),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9586 1.7 christos {"xxaes192decp",XX3M(60,202,1),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9587 1.7 christos {"xxaes256decp",XX3M(60,202,2),XX3AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XA5p, XB5p}}, 9588 1.7 christos {"xxaesdecp", XX3M(60,202,0),XX3AES_MASK, PPCVSXF, PPCVLE, {XTP, XA5p, XB5p, AESM}}, 9589 1.7 christos 9590 1.7 christos {"xvcvspuxds", XX2(60,392), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9591 1.7 christos {"xvcvdpsp", XX2(60,393), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9592 1.11 christos {"xvminsp", XX3(60,200), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9593 1.7 christos {"xvnmaddmsp", XX3(60,201), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9594 1.7 christos {"xvcvspsxds", XX2(60,408), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9595 1.13 christos {"xvabssp", XX2(60,409), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9596 1.13 christos {"xvmovsp", XX3(60,208), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6}}, 9597 1.13 christos {"xvcpsgnsp", XX3(60,208), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9598 1.13 christos {"xvnmsubasp", XX3(60,209), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9599 1.13 christos 9600 1.13 christos {"xxaes128genlkp",XX2M(60,420,0),XX2AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XB5p}}, 9601 1.7 christos {"xxaes192genlkp",XX2M(60,420,1),XX2AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XB5p}}, 9602 1.7 christos {"xxaes256genlkp",XX2M(60,420,2),XX2AESM_MASK, PPCVSXF, PPCVLE|EXT, {XTP, XB5p}}, 9603 1.7 christos {"xxaesgenlkp", XX2M(60,420,0),XX2AES_MASK, PPCVSXF, PPCVLE, {XTP, XB5p, AESM}}, 9604 1.7 christos 9605 1.7 christos {"xvcvuxdsp", XX2(60,424), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9606 1.13 christos {"xvnabssp", XX2(60,425), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9607 1.13 christos {"xvtstdcsp", XX2(60,426), XX2DCMXS_MASK, PPCVSX3, PPCVLE, {XT6, XB6, DCMXS}}, 9608 1.13 christos {"xviexpsp", XX3(60,216), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9609 1.13 christos {"xvnmsubmsp", XX3(60,217), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9610 1.13 christos 9611 1.7 christos {"xxgfmul128gcm",XX3GF(60,26,3,0), XX3_MASK, PPCVSXF, PPCVLE|EXT, {XT6, XA6, XB6}}, 9612 1.7 christos {"xxgfmul128xts",XX3GF(60,26,3,1), XX3_MASK, PPCVSXF, PPCVLE|EXT, {XT6, XA6, XB6}}, 9613 1.7 christos {"xxgfmul128", XX3GF(60,26,3,0), XX3GF_MASK, PPCVSXF, PPCVLE, {XT6, XA6, XB6, PGF1}}, 9614 1.7 christos 9615 1.12 christos {"xvcvsxdsp", XX2(60,440), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9616 1.7 christos {"xvnegsp", XX2(60,441), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9617 1.7 christos {"xvmaxdp", XX3(60,224), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9618 1.11 christos {"xvnmaddadp", XX3(60,225), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9619 1.11 christos {"dmxxextfdmr512",XX3(60,226), XX3DMR_MASK, FUTURE, PPCVLE, {XA5p, XB5p, DMR, P1}}, 9620 1.7 christos {"xvcvdpuxds", XX2(60,456), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9621 1.7 christos {"xvcvspdp", XX2(60,457), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9622 1.7 christos {"xxgenpcvbm", X(60,916), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, 9623 1.12 christos {"xxgenpcvhm", X(60,917), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, 9624 1.7 christos {"xsiexpdp", X(60,918), XX1_MASK, PPCVSX3, PPCVLE, {XT6, RA, RB}}, 9625 1.7 christos {"xvmindp", XX3(60,232), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9626 1.11 christos {"xvnmaddmdp", XX3(60,233), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9627 1.11 christos {"dmxxinstdmr512",XX3(60,234), XX3DMR_MASK, FUTURE, PPCVLE, {DMR, XA5p, XB5p,P1}}, 9628 1.7 christos {"xvcvdpsxds", XX2(60,472), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9629 1.7 christos {"xvabsdp", XX2(60,473), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9630 1.11 christos {"xxgenpcvwm", X(60,948), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, 9631 1.7 christos {"xxgenpcvdm", X(60,949), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, 9632 1.7 christos {"xvxexpdp", XX2VA(60,475,0),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9633 1.7 christos {"xvxsigdp", XX2VA(60,475,1),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9634 1.7 christos {"xvtlsbb", XX2VA(60,475,2),XX2BF_MASK, POWER10, PPCVLE, {BF, XB6}}, 9635 1.11 christos {"xxbrh", XX2VA(60,475,7),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9636 1.11 christos {"xvxexpsp", XX2VA(60,475,8),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9637 1.7 christos {"xvxsigsp", XX2VA(60,475,9),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9638 1.7 christos {"xxbrw", XX2VA(60,475,15),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9639 1.7 christos {"xvcvbf16spn", XX2VA(60,475,16),XX2_MASK, PPCVSX4, PPCVLE, {XT6, XB6}}, 9640 1.7 christos {"xvcvspbf16", XX2VA(60,475,17),XX2_MASK, PPCVSX4, PPCVLE, {XT6, XB6}}, 9641 1.11 christos {"xxbrd", XX2VA(60,475,23),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9642 1.7 christos {"xvcvhpsp", XX2VA(60,475,24),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9643 1.7 christos {"xvcvsphp", XX2VA(60,475,25),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9644 1.12 christos {"xxbrq", XX2VA(60,475,31),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, 9645 1.12 christos {"xvmovdp", XX3(60,240), XX3_MASK, PPCVSX, PPCVLE|EXT, {XT6, XAB6}}, 9646 1.7 christos {"xvcpsgndp", XX3(60,240), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9647 1.7 christos {"xvnmsubadp", XX3(60,241), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9648 1.7 christos {"dmxxextfdmr256",XX2(60,484), XX2DMR_MASK, FUTURE, PPCVLE, {XB5p, DMR, P2}}, 9649 1.7 christos {"dmxxinstdmr256",XX2(60,485), XX2DMR_MASK, FUTURE, PPCVLE, {DMR, XB5p, P2}}, 9650 1.7 christos {"xvcvuxddp", XX2(60,488), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9651 1.7 christos {"xvnabsdp", XX2(60,489), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9652 1.7 christos {"xvtstdcdp", XX2(60,490), XX2DCMXS_MASK, PPCVSX3, PPCVLE, {XT6, XB6, DCMXS}}, 9653 1.7 christos {"xviexpdp", XX3(60,248), XX3_MASK, PPCVSX3, PPCVLE, {XT6, XA6, XB6}}, 9654 1.7 christos {"xvnmsubmdp", XX3(60,249), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, 9655 1.7 christos {"xvcvsxddp", XX2(60,504), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9656 1.7 christos {"xvnegdp", XX2(60,505), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, 9657 1.7 christos 9658 1.7 christos {"psq_st", OP(60), OP_MASK, PPCPS, PPCVLE, {FRS,PSD,RA,PSW,PSQ}}, 9659 1.7 christos {"stfq", OP(60), OP_MASK, POWER2, PPCVLE, {FRS, D, RA}}, 9660 1.7 christos 9661 1.8 christos {"lxv", DQX(61,1), DQX_MASK, PPCVSX3, PPCVLE, {XTQ6, DQ, RA0}}, 9662 1.7 christos {"stxv", DQX(61,5), DQX_MASK, PPCVSX3, PPCVLE, {XSQ6, DQ, RA0}}, 9663 1.7 christos {"stxsd", DSO(61,2), DS_MASK, PPCVSX3, PPCVLE, {VS, DS, RA0}}, 9664 1.7 christos {"stxssp", DSO(61,3), DS_MASK, PPCVSX3, PPCVLE, {VS, DS, RA0}}, 9665 1.7 christos {"stfdp", OP(61), OP_MASK|Q_MASK, POWER6, POWER7|PPCVLE, {FRSp, DS, RA0}}, 9666 1.7 christos {"psq_stu", OP(61), OP_MASK, PPCPS, PPCVLE, {FRS,PSD,RA,PSW,PSQ}}, 9667 1.8 christos {"stfqu", OP(61), OP_MASK, POWER2, PPCVLE, {FRS, D, RA}}, 9668 1.7 christos 9669 1.7 christos {"std", DSO(62,0), DS_MASK, PPC64, PPCVLE, {RS, DS, RA0}}, 9670 1.7 christos {"stdu", DSO(62,1), DS_MASK, PPC64, PPCVLE, {RS, DS, RAS}}, 9671 1.8 christos {"stq", DSO(62,2), DS_MASK|Q_MASK, POWER4, PPC476|PPCVLE, {RSQ, DS, RA0}}, 9672 1.8 christos 9673 1.7 christos {"fcmpu", X(63,0), XBF_MASK, COM, PPCEFS|PPCVLE, {BF, FRA, FRB}}, 9674 1.8 christos 9675 1.8 christos {"daddq", XRC(63,2,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9676 1.7 christos {"daddq.", XRC(63,2,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9677 1.7 christos 9678 1.7 christos {"dquaq", ZRC(63,3,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, 9679 1.7 christos {"dquaq.", ZRC(63,3,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp, RMC}}, 9680 1.7 christos 9681 1.7 christos {"xsaddqp", XRC(63,4,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9682 1.7 christos {"xsaddqpo", XRC(63,4,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9683 1.7 christos 9684 1.7 christos {"xsrqpi", ZRC(63,5,0), Z2_MASK, PPCVSX3, PPCVLE, {R, VD, VB, RMC}}, 9685 1.7 christos {"xsrqpix", ZRC(63,5,1), Z2_MASK, PPCVSX3, PPCVLE, {R, VD, VB, RMC}}, 9686 1.7 christos 9687 1.7 christos {"fcpsgn", XRC(63,8,0), X_MASK, POWER6|PPCA2|PPC476, PPCVLE, {FRT, FRA, FRB}}, 9688 1.7 christos {"fcpsgn.", XRC(63,8,1), X_MASK, POWER6|PPCA2|PPC476, PPCVLE, {FRT, FRA, FRB}}, 9689 1.7 christos 9690 1.7 christos {"frsp", XRC(63,12,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9691 1.7 christos {"frsp.", XRC(63,12,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9692 1.7 christos 9693 1.7 christos {"fctiw", XRC(63,14,0), XRA_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRB}}, 9694 1.7 christos {"fcir", XRC(63,14,0), XRA_MASK, PWR2COM, PPCVLE, {FRT, FRB}}, 9695 1.7 christos {"fctiw.", XRC(63,14,1), XRA_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRB}}, 9696 1.7 christos {"fcir.", XRC(63,14,1), XRA_MASK, PWR2COM, PPCVLE, {FRT, FRB}}, 9697 1.7 christos 9698 1.7 christos {"fctiwz", XRC(63,15,0), XRA_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRB}}, 9699 1.7 christos {"fcirz", XRC(63,15,0), XRA_MASK, PWR2COM, PPCVLE, {FRT, FRB}}, 9700 1.7 christos {"fctiwz.", XRC(63,15,1), XRA_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRB}}, 9701 1.7 christos {"fcirz.", XRC(63,15,1), XRA_MASK, PWR2COM, PPCVLE, {FRT, FRB}}, 9702 1.7 christos 9703 1.7 christos {"fdiv", A(63,18,0), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9704 1.7 christos {"fd", A(63,18,0), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9705 1.7 christos {"fdiv.", A(63,18,1), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9706 1.7 christos {"fd.", A(63,18,1), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9707 1.7 christos 9708 1.7 christos {"fsub", A(63,20,0), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9709 1.7 christos {"fs", A(63,20,0), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9710 1.7 christos {"fsub.", A(63,20,1), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9711 1.7 christos {"fs.", A(63,20,1), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9712 1.7 christos 9713 1.7 christos {"fadd", A(63,21,0), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9714 1.7 christos {"fa", A(63,21,0), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9715 1.7 christos {"fadd.", A(63,21,1), AFRC_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, 9716 1.7 christos {"fa.", A(63,21,1), AFRC_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRB}}, 9717 1.7 christos 9718 1.7 christos {"fsqrt", A(63,22,0), AFRAFRC_MASK, PPCPWR2, TITAN|PPCVLE, {FRT, FRB}}, 9719 1.7 christos {"fsqrt.", A(63,22,1), AFRAFRC_MASK, PPCPWR2, TITAN|PPCVLE, {FRT, FRB}}, 9720 1.7 christos 9721 1.7 christos {"fsel", A(63,23,0), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9722 1.7 christos {"fsel.", A(63,23,1), A_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9723 1.7 christos 9724 1.7 christos {"fre", A(63,24,0), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9725 1.7 christos {"fre", A(63,24,0), AFRALFRC_MASK, POWER5, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9726 1.7 christos {"fre.", A(63,24,1), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9727 1.7 christos {"fre.", A(63,24,1), AFRALFRC_MASK, POWER5, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9728 1.7 christos 9729 1.7 christos {"fmul", A(63,25,0), AFRB_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC}}, 9730 1.7 christos {"fm", A(63,25,0), AFRB_MASK, PWRCOM, PPCVLE|PPCVLE, {FRT, FRA, FRC}}, 9731 1.7 christos {"fmul.", A(63,25,1), AFRB_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC}}, 9732 1.7 christos {"fm.", A(63,25,1), AFRB_MASK, PWRCOM, PPCVLE|PPCVLE, {FRT, FRA, FRC}}, 9733 1.7 christos 9734 1.7 christos {"frsqrte", A(63,26,0), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9735 1.7 christos {"frsqrte", A(63,26,0), AFRALFRC_MASK, PPC, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9736 1.7 christos {"frsqrte.", A(63,26,1), AFRAFRC_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9737 1.7 christos {"frsqrte.", A(63,26,1), AFRALFRC_MASK, PPC, POWER7|PPCVLE, {FRT, FRB, A_L}}, 9738 1.7 christos 9739 1.7 christos {"fmsub", A(63,28,0), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9740 1.7 christos {"fms", A(63,28,0), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9741 1.7 christos {"fmsub.", A(63,28,1), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9742 1.7 christos {"fms.", A(63,28,1), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9743 1.7 christos 9744 1.7 christos {"fmadd", A(63,29,0), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9745 1.7 christos {"fma", A(63,29,0), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9746 1.7 christos {"fmadd.", A(63,29,1), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9747 1.7 christos {"fma.", A(63,29,1), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9748 1.7 christos 9749 1.7 christos {"fnmsub", A(63,30,0), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9750 1.7 christos {"fnms", A(63,30,0), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9751 1.7 christos {"fnmsub.", A(63,30,1), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9752 1.7 christos {"fnms.", A(63,30,1), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9753 1.7 christos 9754 1.7 christos {"fnmadd", A(63,31,0), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9755 1.7 christos {"fnma", A(63,31,0), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9756 1.7 christos {"fnmadd.", A(63,31,1), A_MASK, PPCCOM, PPCEFS|PPCVLE, {FRT, FRA, FRC, FRB}}, 9757 1.8 christos {"fnma.", A(63,31,1), A_MASK, PWRCOM, PPCVLE, {FRT, FRA, FRC, FRB}}, 9758 1.8 christos 9759 1.7 christos {"fcmpo", X(63,32), XBF_MASK, COM, PPCEFS|PPCVLE, {BF, FRA, FRB}}, 9760 1.8 christos 9761 1.8 christos {"dmulq", XRC(63,34,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9762 1.7 christos {"dmulq.", XRC(63,34,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9763 1.7 christos 9764 1.7 christos {"drrndq", ZRC(63,35,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, 9765 1.7 christos {"drrndq.", ZRC(63,35,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp, RMC}}, 9766 1.7 christos 9767 1.7 christos {"xsmulqp", XRC(63,36,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9768 1.10 christos {"xsmulqpo", XRC(63,36,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9769 1.10 christos 9770 1.7 christos {"xsrqpxp", Z(63,37), Z2_MASK, PPCVSX3, PPCVLE, {R, VD, VB, RMC}}, 9771 1.7 christos 9772 1.7 christos {"mtfsb1", XRC(63,38,0), XRARB_MASK, COM, PPCVLE, {BTF}}, 9773 1.7 christos {"mtfsb1.", XRC(63,38,1), XRARB_MASK, COM, PPCVLE, {BTF}}, 9774 1.7 christos 9775 1.7 christos {"fneg", XRC(63,40,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9776 1.8 christos {"fneg.", XRC(63,40,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9777 1.8 christos 9778 1.7 christos {"mcrfs", X(63,64), XRB_MASK|(3<<21)|(3<<16), COM, PPCVLE, {BF, BFA}}, 9779 1.8 christos 9780 1.8 christos {"dscliq", ZRC(63,66,0), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, 9781 1.7 christos {"dscliq.", ZRC(63,66,1), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, 9782 1.11 christos 9783 1.11 christos {"dquaiq", ZRC(63,67,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, 9784 1.10 christos {"dquaiq.", ZRC(63,67,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {TE, FRTp, FRBp, RMC}}, 9785 1.10 christos 9786 1.7 christos {"xscmpeqqp", X(63,68), X_MASK, POWER10, PPCVLE, {VD, VA, VB}}, 9787 1.7 christos 9788 1.7 christos {"mtfsb0", XRC(63,70,0), XRARB_MASK, COM, PPCVLE, {BTF}}, 9789 1.7 christos {"mtfsb0.", XRC(63,70,1), XRARB_MASK, COM, PPCVLE, {BTF}}, 9790 1.8 christos 9791 1.8 christos {"fmr", XRC(63,72,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9792 1.7 christos {"fmr.", XRC(63,72,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9793 1.8 christos 9794 1.8 christos {"dscriq", ZRC(63,98,0), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, 9795 1.7 christos {"dscriq.", ZRC(63,98,1), Z_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, SH16}}, 9796 1.7 christos 9797 1.7 christos {"drintxq", ZRC(63,99,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, 9798 1.7 christos {"drintxq.", ZRC(63,99,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, 9799 1.7 christos 9800 1.7 christos {"xscpsgnqp", X(63,100), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9801 1.7 christos 9802 1.7 christos {"ftdiv", X(63,128), XBF_MASK, POWER7, PPCVLE, {BF, FRA, FRB}}, 9803 1.7 christos 9804 1.7 christos {"dcmpoq", X(63,130), X_MASK, POWER6, PPCVLE, {BF, FRAp, FRBp}}, 9805 1.7 christos 9806 1.7 christos {"xscmpoqp", X(63,132), XBF_MASK, PPCVSX3, PPCVLE, {BF, VA, VB}}, 9807 1.7 christos 9808 1.7 christos {"mtfsfi", XRC(63,134,0), XWRA_MASK|(3<<21)|(1<<11), POWER6|PPCA2|PPC476, PPCVLE, {BFF, U, W}}, 9809 1.7 christos {"mtfsfi", XRC(63,134,0), XRA_MASK|(3<<21)|(1<<11), COM, POWER6|PPCA2|PPC476|PPCVLE, {BFF, U}}, 9810 1.7 christos {"mtfsfi.", XRC(63,134,1), XWRA_MASK|(3<<21)|(1<<11), POWER6|PPCA2|PPC476, PPCVLE, {BFF, U, W}}, 9811 1.7 christos {"mtfsfi.", XRC(63,134,1), XRA_MASK|(3<<21)|(1<<11), COM, POWER6|PPCA2|PPC476|PPCVLE, {BFF, U}}, 9812 1.7 christos 9813 1.7 christos {"fnabs", XRC(63,136,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9814 1.7 christos {"fnabs.", XRC(63,136,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9815 1.7 christos 9816 1.7 christos {"fctiwu", XRC(63,142,0), XRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9817 1.7 christos {"fctiwu.", XRC(63,142,1), XRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9818 1.7 christos {"fctiwuz", XRC(63,143,0), XRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9819 1.7 christos {"fctiwuz.", XRC(63,143,1), XRA_MASK, POWER7, PPCVLE, {FRT, FRB}}, 9820 1.7 christos 9821 1.7 christos {"ftsqrt", X(63,160), XBF_MASK|FRA_MASK, POWER7, PPCVLE, {BF, FRB}}, 9822 1.7 christos 9823 1.7 christos {"dtstexq", X(63,162), X_MASK, POWER6, PPCVLE, {BF, FRAp, FRBp}}, 9824 1.11 christos 9825 1.11 christos {"xscmpexpqp", X(63,164), XBF_MASK, PPCVSX3, PPCVLE, {BF, VA, VB}}, 9826 1.11 christos 9827 1.7 christos {"dtstdcq", Z(63,194), Z_MASK, POWER6, PPCVLE, {BF, FRAp, DCM}}, 9828 1.7 christos 9829 1.8 christos {"xscmpgeqp", X(63,196), X_MASK, POWER10, PPCVLE, {VD, VA, VB}}, 9830 1.8 christos 9831 1.7 christos {"dtstdgq", Z(63,226), Z_MASK, POWER6, PPCVLE, {BF, FRAp, DGM}}, 9832 1.11 christos 9833 1.11 christos {"drintnq", ZRC(63,227,0), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, 9834 1.8 christos {"drintnq.", ZRC(63,227,1), Z2_MASK|Q_MASK, POWER6, PPCVLE, {R, FRTp, FRBp, RMC}}, 9835 1.8 christos 9836 1.7 christos {"xscmpgtqp", X(63,228), X_MASK, POWER10, PPCVLE, {VD, VA, VB}}, 9837 1.7 christos 9838 1.7 christos {"dctqpq", XRC(63,258,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, 9839 1.7 christos {"dctqpq.", XRC(63,258,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, 9840 1.7 christos 9841 1.7 christos {"fabs", XRC(63,264,0), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9842 1.7 christos {"fabs.", XRC(63,264,1), XRA_MASK, COM, PPCEFS|PPCVLE, {FRT, FRB}}, 9843 1.8 christos 9844 1.8 christos {"dctfixq", XRC(63,290,0), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, 9845 1.7 christos {"dctfixq.", XRC(63,290,1), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, 9846 1.7 christos 9847 1.7 christos {"ddedpdq", XRC(63,322,0), X_MASK|Q_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, 9848 1.7 christos {"ddedpdq.", XRC(63,322,1), X_MASK|Q_MASK, POWER6, PPCVLE, {SP, FRTp, FRBp}}, 9849 1.7 christos 9850 1.7 christos {"dxexq", XRC(63,354,0), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, 9851 1.7 christos {"dxexq.", XRC(63,354,1), X_MASK, POWER6, PPCVLE, {FRT, FRBp}}, 9852 1.7 christos 9853 1.7 christos {"xsmaddqp", XRC(63,388,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9854 1.7 christos {"xsmaddqpo", XRC(63,388,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9855 1.7 christos 9856 1.7 christos {"frin", XRC(63,392,0), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9857 1.7 christos {"frin.", XRC(63,392,1), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9858 1.7 christos 9859 1.7 christos {"xsmsubqp", XRC(63,420,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9860 1.7 christos {"xsmsubqpo", XRC(63,420,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9861 1.7 christos 9862 1.7 christos {"friz", XRC(63,424,0), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9863 1.7 christos {"friz.", XRC(63,424,1), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9864 1.7 christos 9865 1.7 christos {"xsnmaddqp", XRC(63,452,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9866 1.7 christos {"xsnmaddqpo", XRC(63,452,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9867 1.7 christos 9868 1.7 christos {"frip", XRC(63,456,0), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9869 1.7 christos {"frip.", XRC(63,456,1), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9870 1.7 christos 9871 1.7 christos {"xsnmsubqp", XRC(63,484,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9872 1.7 christos {"xsnmsubqpo", XRC(63,484,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9873 1.8 christos 9874 1.8 christos {"frim", XRC(63,488,0), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9875 1.7 christos {"frim.", XRC(63,488,1), XRA_MASK, POWER5, PPCVLE, {FRT, FRB}}, 9876 1.7 christos 9877 1.7 christos {"dsubq", XRC(63,514,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9878 1.7 christos {"dsubq.", XRC(63,514,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9879 1.8 christos 9880 1.8 christos {"xssubqp", XRC(63,516,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9881 1.7 christos {"xssubqpo", XRC(63,516,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9882 1.7 christos 9883 1.7 christos {"ddivq", XRC(63,546,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9884 1.7 christos {"ddivq.", XRC(63,546,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRAp, FRBp}}, 9885 1.7 christos 9886 1.7 christos {"xsdivqp", XRC(63,548,0), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9887 1.7 christos {"xsdivqpo", XRC(63,548,1), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9888 1.7 christos 9889 1.7 christos {"mffs", XRC(63,583,0), XRARB_MASK, COM, PPCEFS|PPCVLE, {FRT}}, 9890 1.7 christos {"mffs.", XRC(63,583,1), XRARB_MASK, COM, PPCEFS|PPCVLE, {FRT}}, 9891 1.7 christos 9892 1.7 christos {"mffsce", XMMF(63,583,0,1), XMMF_MASK|RB_MASK, POWER9, PPCVLE, {FRT}}, 9893 1.7 christos {"mffscdrn", XMMF(63,583,2,4), XMMF_MASK, POWER9, PPCVLE, {FRT, FRB}}, 9894 1.7 christos {"mffscdrni", XMMF(63,583,2,5), XMMF_MASK|(3<<14), POWER9, PPCVLE, {FRT, DRM}}, 9895 1.7 christos {"mffscrn", XMMF(63,583,2,6), XMMF_MASK, POWER9, PPCVLE, {FRT, FRB}}, 9896 1.7 christos {"mffscrni", XMMF(63,583,2,7), XMMF_MASK|(7<<13), POWER9, PPCVLE, {FRT, RM}}, 9897 1.7 christos {"mffsl", XMMF(63,583,3,0), XMMF_MASK|RB_MASK, POWER9, PPCVLE, {FRT}}, 9898 1.7 christos 9899 1.7 christos {"dcmpuq", X(63,642), X_MASK, POWER6, PPCVLE, {BF, FRAp, FRBp}}, 9900 1.7 christos 9901 1.7 christos {"xscmpuqp", X(63,644), XBF_MASK, PPCVSX3, PPCVLE, {BF, VA, VB}}, 9902 1.11 christos 9903 1.11 christos {"dtstsfq", X(63,674), X_MASK, POWER6, PPCVLE, {BF, FRA, FRBp}}, 9904 1.7 christos {"dtstsfiq", X(63,675), X_MASK|1<<22,POWER9, PPCVLE, {BF, UIM6, FRBp}}, 9905 1.7 christos 9906 1.7 christos {"xsmaxcqp", X(63,676), X_MASK, POWER10, PPCVLE, {VD, VA, VB}}, 9907 1.7 christos 9908 1.7 christos {"xststdcqp", X(63,708), X_MASK, PPCVSX3, PPCVLE, {BF, VB, DCMX}}, 9909 1.7 christos 9910 1.7 christos {"mtfsf", XFL(63,711,0), XFL_MASK, POWER6|PPCA2|PPC476, PPCVLE, {FLM, FRB, XFL_L, W}}, 9911 1.11 christos {"mtfsf", XFL(63,711,0), XFL_MASK, COM, POWER6|PPCA2|PPC476|PPCEFS|PPCVLE, {FLM, FRB}}, 9912 1.11 christos {"mtfsf.", XFL(63,711,1), XFL_MASK, POWER6|PPCA2|PPC476, PPCVLE, {FLM, FRB, XFL_L, W}}, 9913 1.8 christos {"mtfsf.", XFL(63,711,1), XFL_MASK, COM, POWER6|PPCA2|PPC476|PPCEFS|PPCVLE, {FLM, FRB}}, 9914 1.8 christos 9915 1.7 christos {"xsmincqp", X(63,740), X_MASK, POWER10, PPCVLE, {VD, VA, VB}}, 9916 1.8 christos 9917 1.8 christos {"drdpq", XRC(63,770,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, 9918 1.7 christos {"drdpq.", XRC(63,770,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRBp}}, 9919 1.7 christos 9920 1.7 christos {"dcffixq", XRC(63,802,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, 9921 1.7 christos {"dcffixq.", XRC(63,802,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRB}}, 9922 1.7 christos 9923 1.7 christos {"xsabsqp", XVA(63,804,0), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9924 1.7 christos {"xsxexpqp", XVA(63,804,2), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9925 1.7 christos {"xsnabsqp", XVA(63,804,8), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9926 1.7 christos {"xsnegqp", XVA(63,804,16), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9927 1.7 christos {"xsxsigqp", XVA(63,804,18), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9928 1.7 christos {"xssqrtqp", XVARC(63,804,27,0), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9929 1.7 christos {"xssqrtqpo", XVARC(63,804,27,1), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9930 1.7 christos 9931 1.7 christos {"fctid", XRC(63,814,0), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9932 1.7 christos {"fctid", XRC(63,814,0), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9933 1.7 christos {"fctid.", XRC(63,814,1), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9934 1.7 christos {"fctid.", XRC(63,814,1), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9935 1.7 christos 9936 1.7 christos {"fctidz", XRC(63,815,0), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9937 1.8 christos {"fctidz", XRC(63,815,0), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9938 1.8 christos {"fctidz.", XRC(63,815,1), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9939 1.7 christos {"fctidz.", XRC(63,815,1), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9940 1.11 christos 9941 1.7 christos {"denbcdq", XRC(63,834,0), X_MASK|Q_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, 9942 1.7 christos {"denbcdq.", XRC(63,834,1), X_MASK|Q_MASK, POWER6, PPCVLE, {S, FRTp, FRBp}}, 9943 1.11 christos 9944 1.11 christos {"xscvqpuqz", XVA(63,836,0), XVA_MASK, POWER10, PPCVLE, {VD, VB}}, 9945 1.7 christos {"xscvqpuwz", XVA(63,836,1), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9946 1.7 christos {"xscvudqp", XVA(63,836,2), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9947 1.11 christos {"xscvuqqp", XVA(63,836,3), XVA_MASK, POWER10, PPCVLE, {VD, VB}}, 9948 1.7 christos {"xscvqpsqz", XVA(63,836,8), XVA_MASK, POWER10, PPCVLE, {VD, VB}}, 9949 1.7 christos {"xscvqpswz", XVA(63,836,9), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9950 1.7 christos {"xscvsdqp", XVA(63,836,10), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9951 1.7 christos {"xscvsqqp", XVA(63,836,11), XVA_MASK, POWER10, PPCVLE, {VD, VB}}, 9952 1.7 christos {"xscvqpudz", XVA(63,836,17), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9953 1.7 christos {"xscvqpdp", XVARC(63,836,20,0), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9954 1.7 christos {"xscvqpdpo", XVARC(63,836,20,1), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9955 1.7 christos {"xscvdpqp", XVA(63,836,22), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9956 1.7 christos {"xscvqpsdz", XVA(63,836,25), XVA_MASK, PPCVSX3, PPCVLE, {VD, VB}}, 9957 1.7 christos 9958 1.7 christos {"fmrgow", X(63,838), X_MASK, PPCVSX2, PPCVLE, {FRT, FRA, FRB}}, 9959 1.7 christos 9960 1.7 christos {"fcfid", XRC(63,846,0), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9961 1.8 christos {"fcfid", XRC(63,846,0), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9962 1.8 christos {"fcfid.", XRC(63,846,1), XRA_MASK, PPC64, PPCVLE, {FRT, FRB}}, 9963 1.7 christos {"fcfid.", XRC(63,846,1), XRA_MASK, PPC476, PPCVLE, {FRT, FRB}}, 9964 1.7 christos 9965 1.7 christos {"diexq", XRC(63,866,0), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, 9966 1.7 christos {"diexq.", XRC(63,866,1), X_MASK|Q_MASK, POWER6, PPCVLE, {FRTp, FRA, FRBp}}, 9967 1.7 christos 9968 1.1 skrll {"xsiexpqp", X(63,868), X_MASK, PPCVSX3, PPCVLE, {VD, VA, VB}}, 9969 1.7 christos 9970 1.7 christos {"fctidu", XRC(63,942,0), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9971 1.1 skrll {"fctidu.", XRC(63,942,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9972 1.7 christos 9973 1.5 christos {"fctiduz", XRC(63,943,0), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9974 1.7 christos {"fctiduz.", XRC(63,943,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9975 1.7 christos 9976 1.11 christos {"fmrgew", X(63,966), X_MASK, PPCVSX2, PPCVLE, {FRT, FRA, FRB}}, 9977 1.11 christos 9978 1.11 christos {"fcfidu", XRC(63,974,0), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9979 1.1 skrll {"fcfidu.", XRC(63,974,1), XRA_MASK, POWER7|PPCA2, PPCVLE, {FRT, FRB}}, 9980 1.1 skrll 9981 1.12 christos {"dcffixqq", XVA(63,994,0), XVA_MASK, POWER10, PPCVLE, {FRTp, VB}}, 9982 1.1 skrll {"dctfixqq", XVA(63,994,1), XVA_MASK, POWER10, PPCVLE, {VD, FRBp}}, 9983 1.10 christos }; 9984 1.10 christos 9985 1.10 christos const unsigned int powerpc_num_opcodes = ARRAY_SIZE (powerpc_opcodes); 9986 1.10 christos 9987 1.10 christos /* The opcode table for 8-byte prefix instructions. 9989 1.11 christos 9990 1.12 christos The format of this opcode table is the same as the main opcode table. */ 9991 1.12 christos 9992 1.12 christos const struct powerpc_opcode prefix_opcodes[] = { 9993 1.13 christos {"pnop", PMRR, PREFIX_MASK, POWER10, 0, {0}}, 9994 1.13 christos {"pli", PMLS|OP(14), P_DRAPCREL_MASK, POWER10, EXT, {RT, SI34}}, 9995 1.13 christos {"pla", PMLS|OP(14), P_D_MASK, POWER10, EXT, {RT, D34, PRA0, PCREL1}}, 9996 1.11 christos {"paddi", PMLS|OP(14), P_D_MASK, POWER10, 0, {RT, RA0, SI34, PCREL}}, 9997 1.11 christos {"psubi", PMLS|OP(14), P_D_MASK, POWER10, EXT, {RT, RA0, NSI34, PCREL}}, 9998 1.11 christos {"plis", PMLS|OP(15), P_DRAPCREL_SI32_MASK, FUTURE, EXT, {RT, SI32}}, 9999 1.11 christos {"paddis", PMLS|OP(15), P_D_SI32_MASK, FUTURE, 0, {RT, RA0, SI32, PCREL}}, 10000 1.11 christos {"psubis", PMLS|OP(15), P_D_SI32_MASK, FUTURE, EXT, {RT, RA0, NSI32, PCREL}}, 10001 1.11 christos {"xxsplti32dx", P8RR|VSOP(32,0), P_VSI_MASK, POWER10, 0, {XTS, IX, IMM32}}, 10002 1.11 christos {"xxspltidp", P8RR|VSOP(32,2), P_VS_MASK, POWER10, 0, {XTS, IMM32}}, 10003 1.11 christos {"xxspltiw", P8RR|VSOP(32,3), P_VS_MASK, POWER10, 0, {XTS, IMM32}}, 10004 1.11 christos {"plwz", PMLS|OP(32), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10005 1.11 christos {"xxblendvb", P8RR|XX4(33,0), P_XX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6}}, 10006 1.11 christos {"xxblendvh", P8RR|XX4(33,1), P_XX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6}}, 10007 1.11 christos {"xxblendvw", P8RR|XX4(33,2), P_XX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6}}, 10008 1.11 christos {"xxblendvd", P8RR|XX4(33,3), P_XX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6}}, 10009 1.11 christos {"xxpermx", P8RR|XX4(34,0), P_UXX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6, UIM3}}, 10010 1.11 christos {"xxeval", P8RR|XX4(34,1), P_U8XX4_MASK, POWER10, 0, {XT6, XA6, XB6, XC6, UIM8}}, 10011 1.11 christos {"plbz", PMLS|OP(34), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10012 1.11 christos {"pstw", PMLS|OP(36), P_D_MASK, POWER10, 0, {RS, D34, PRA0, PCREL}}, 10013 1.11 christos {"pstb", PMLS|OP(38), P_D_MASK, POWER10, 0, {RS, D34, PRA0, PCREL}}, 10014 1.11 christos {"plhz", PMLS|OP(40), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10015 1.11 christos {"plwa", P8LS|OP(41), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10016 1.11 christos {"plxsd", P8LS|OP(42), P_D_MASK, POWER10, 0, {VD, D34, PRA0, PCREL}}, 10017 1.11 christos {"plha", PMLS|OP(42), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10018 1.11 christos {"plxssp", P8LS|OP(43), P_D_MASK, POWER10, 0, {VD, D34, PRA0, PCREL}}, 10019 1.11 christos {"psth", PMLS|OP(44), P_D_MASK, POWER10, 0, {RS, D34, PRA0, PCREL}}, 10020 1.11 christos {"pstxsd", P8LS|OP(46), P_D_MASK, POWER10, 0, {VS, D34, PRA0, PCREL}}, 10021 1.11 christos {"pstxssp", P8LS|OP(47), P_D_MASK, POWER10, 0, {VS, D34, PRA0, PCREL}}, 10022 1.11 christos {"plfs", PMLS|OP(48), P_D_MASK, POWER10, 0, {FRT, D34, PRA0, PCREL}}, 10023 1.11 christos {"plxv", P8LS|OP(50), P_D_MASK&~OP(1), POWER10, 0, {XTOP, D34, PRA0, PCREL}}, 10024 1.11 christos {"plfd", PMLS|OP(50), P_D_MASK, POWER10, 0, {FRT, D34, PRA0, PCREL}}, 10025 1.11 christos {"pstfs", PMLS|OP(52), P_D_MASK, POWER10, 0, {FRS, D34, PRA0, PCREL}}, 10026 1.12 christos {"pstxv", P8LS|OP(54), P_D_MASK&~OP(1), POWER10, 0, {XTOP, D34, PRA0, PCREL}}, 10027 1.11 christos {"pstfd", PMLS|OP(54), P_D_MASK, POWER10, 0, {FRS, D34, PRA0, PCREL}}, 10028 1.12 christos {"plq", P8LS|OP(56), P_D_MASK, POWER10, 0, {RTQ, D34, PRAQ, PCREL}}, 10029 1.11 christos {"pld", P8LS|OP(57), P_D_MASK, POWER10, 0, {RT, D34, PRA0, PCREL}}, 10030 1.12 christos {"plxvp", P8LS|OP(58), P_D_MASK, POWER10, 0, {XTP, D34, PRA0, PCREL}}, 10031 1.12 christos {"pmdmxvi8ger4pp",PMMIRR|XX3(59,2), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10032 1.12 christos {"pmxvi8ger4pp", PMMIRR|XX3(59,2), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10033 1.11 christos {"pmdmxvi8ger4", PMMIRR|XX3(59,3), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10034 1.12 christos {"pmxvi8ger4", PMMIRR|XX3(59,3), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10035 1.11 christos {"pmdmxvi8gerx4pp",PMMIRR|XX3(59,10), P_GERX4_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK4}}, 10036 1.12 christos {"pmdmxvi8gerx4", PMMIRR|XX3(59,11), P_GERX4_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK4}}, 10037 1.11 christos {"pmdmxvf16ger2pp",PMMIRR|XX3(59,18), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10038 1.12 christos {"pmxvf16ger2pp", PMMIRR|XX3(59,18), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10039 1.11 christos {"pmdmxvf16ger2", PMMIRR|XX3(59,19), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10040 1.12 christos {"pmxvf16ger2", PMMIRR|XX3(59,19), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10041 1.11 christos {"pmdmxvf32gerpp",PMMIRR|XX3(59,26), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10042 1.12 christos {"pmxvf32gerpp", PMMIRR|XX3(59,26), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10043 1.11 christos {"pmdmxvf32ger", PMMIRR|XX3(59,27), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10044 1.12 christos {"pmxvf32ger", PMMIRR|XX3(59,27), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10045 1.11 christos {"pmdmxvi4ger8pp",PMMIRR|XX3(59,34), P_GER8_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK8}}, 10046 1.12 christos {"pmxvi4ger8pp", PMMIRR|XX3(59,34), P_GER8_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK8}}, 10047 1.11 christos {"pmdmxvi4ger8", PMMIRR|XX3(59,35), P_GER8_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK8}}, 10048 1.12 christos {"pmxvi4ger8", PMMIRR|XX3(59,35), P_GER8_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK8}}, 10049 1.11 christos {"pmdmxvi16ger2spp",PMMIRR|XX3(59,42), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10050 1.12 christos {"pmxvi16ger2spp",PMMIRR|XX3(59,42), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10051 1.11 christos {"pmdmxvi16ger2s",PMMIRR|XX3(59,43), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10052 1.12 christos {"pmxvi16ger2s", PMMIRR|XX3(59,43), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10053 1.11 christos {"pmdmxvbf16ger2pp",PMMIRR|XX3(59,50), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10054 1.12 christos {"pmxvbf16ger2pp",PMMIRR|XX3(59,50), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10055 1.11 christos {"pmdmxvbf16ger2",PMMIRR|XX3(59,51), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10056 1.12 christos {"pmxvbf16ger2", PMMIRR|XX3(59,51), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10057 1.12 christos {"pmdmxvf64gerpp",PMMIRR|XX3(59,58), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10058 1.12 christos {"pmxvf64gerpp", PMMIRR|XX3(59,58), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10059 1.12 christos {"pmdmxvf64ger", PMMIRR|XX3(59,59), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10060 1.11 christos {"pmxvf64ger", PMMIRR|XX3(59,59), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10061 1.12 christos {"pmdmxvf16gerx2pp",PMMIRR|XX3(59,66), P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10062 1.11 christos {"pmdmxvf16gerx2",PMMIRR|XX3(59,67), P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10063 1.12 christos {"pmdmxvbf16gerx2pp",PMMIRR|XX3(59,74),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10064 1.12 christos {"pmdmxvi16ger2", PMMIRR|XX3(59,75), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10065 1.11 christos {"pmxvi16ger2", PMMIRR|XX3(59,75), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10066 1.12 christos {"pmdmxvf16ger2np",PMMIRR|XX3(59,82), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10067 1.12 christos {"pmxvf16ger2np", PMMIRR|XX3(59,82), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10068 1.12 christos {"pmdmxvf16gerx2np",PMMIRR|XX3(59,83), P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10069 1.11 christos {"pmdmxvf32gernp",PMMIRR|XX3(59,90), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10070 1.12 christos {"pmxvf32gernp", PMMIRR|XX3(59,90), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10071 1.11 christos {"pmdmxvbf16gerx2",PMMIRR|XX3(59,91), P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10072 1.12 christos {"pmdmxvi8gerx4spp",PMMIRR|XX3(59,98), P_GERX4_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK4}}, 10073 1.11 christos {"pmdmxvi8ger4spp",PMMIRR|XX3(59,99), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10074 1.12 christos {"pmxvi8ger4spp", PMMIRR|XX3(59,99), P_GER4_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK4}}, 10075 1.12 christos {"pmdmxvi16ger2pp",PMMIRR|XX3(59,107), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10076 1.11 christos {"pmxvi16ger2pp", PMMIRR|XX3(59,107), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10077 1.12 christos {"pmdmxvbf16ger2np",PMMIRR|XX3(59,114),P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10078 1.11 christos {"pmxvbf16ger2np",PMMIRR|XX3(59,114), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10079 1.12 christos {"pmdmxvbf16gerx2np",PMMIRR|XX3(59,115),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10080 1.12 christos {"pmdmxvf64gernp",PMMIRR|XX3(59,122), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10081 1.11 christos {"pmxvf64gernp", PMMIRR|XX3(59,122), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10082 1.12 christos {"pmdmxvf16ger2pn",PMMIRR|XX3(59,146), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10083 1.11 christos {"pmxvf16ger2pn", PMMIRR|XX3(59,146), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10084 1.12 christos {"pmdmxvf16gerx2pn",PMMIRR|XX3(59,147),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10085 1.12 christos {"pmdmxvf32gerpn",PMMIRR|XX3(59,154), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10086 1.11 christos {"pmxvf32gerpn", PMMIRR|XX3(59,154), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10087 1.12 christos {"pmdmxvbf16ger2pn",PMMIRR|XX3(59,178),P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10088 1.12 christos {"pmxvbf16ger2pn",PMMIRR|XX3(59,178), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10089 1.11 christos {"pmdmxvbf16gerx2pn",PMMIRR|XX3(59,179),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10090 1.12 christos {"pmdmxvf64gerpn",PMMIRR|XX3(59,186), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10091 1.11 christos {"pmxvf64gerpn", PMMIRR|XX3(59,186), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10092 1.12 christos {"pmdmxvf16gerx2nn",PMMIRR|XX3(59,202),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10093 1.12 christos {"pmdmxvf16ger2nn",PMMIRR|XX3(59,210), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10094 1.11 christos {"pmxvf16ger2nn", PMMIRR|XX3(59,210), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10095 1.12 christos {"pmdmxvf32gernn",PMMIRR|XX3(59,218), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10096 1.11 christos {"pmxvf32gernn", PMMIRR|XX3(59,218), P_GER_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK}}, 10097 1.11 christos {"pmdmxvbf16gerx2nn",PMMIRR|XX3(59,234),P_GERX2_MASK, FUTURE, 0, {DMR, XA5p, XB6, XMSK8, YMSK, PMSK2}}, 10098 1.11 christos {"pmdmxvbf16ger2nn",PMMIRR|XX3(59,242),P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10099 1.12 christos {"pmxvbf16ger2nn",PMMIRR|XX3(59,242), P_GER2_MASK, POWER10, 0, {ACC, XA6a, XB6a, XMSK, YMSK, PMSK2}}, 10100 1.10 christos {"pmdmxvf64gernn",PMMIRR|XX3(59,250), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10101 1.10 christos {"pmxvf64gernn", PMMIRR|XX3(59,250), P_GER64_MASK, POWER10, 0, {ACC, XA6ap, XB6a, XMSK, YMSK2}}, 10102 1.12 christos {"pstq", P8LS|OP(60), P_D_MASK, POWER10, 0, {RSQ, D34, PRA0, PCREL}}, 10103 1.10 christos {"pstd", P8LS|OP(61), P_D_MASK, POWER10, 0, {RS, D34, PRA0, PCREL}}, 10104 1.4 christos {"pstxvp", P8LS|OP(62), P_D_MASK, POWER10, 0, {XSP, D34, PRA0, PCREL}}, 10105 1.4 christos }; 10106 1.4 christos 10107 1.4 christos const unsigned int prefix_num_opcodes = ARRAY_SIZE (prefix_opcodes); 10108 1.4 christos 10109 1.7 christos /* The VLE opcode table. 10111 1.7 christos 10112 1.7 christos The format of this opcode table is the same as the main opcode table. */ 10113 1.7 christos 10114 1.7 christos const struct powerpc_opcode vle_opcodes[] = { 10115 1.7 christos {"se_illegal", C(0), C_MASK, PPCVLE, 0, {}}, 10116 1.7 christos {"se_isync", C(1), C_MASK, PPCVLE, 0, {}}, 10117 1.7 christos {"se_sc", C(2), C_MASK, PPCVLE, 0, {}}, 10118 1.7 christos {"se_blr", C_LK(2,0), C_LK_MASK, PPCVLE, 0, {}}, 10119 1.12 christos {"se_blrl", C_LK(2,1), C_LK_MASK, PPCVLE, 0, {}}, 10120 1.12 christos {"se_bctr", C_LK(3,0), C_LK_MASK, PPCVLE, 0, {}}, 10121 1.12 christos {"se_bctrl", C_LK(3,1), C_LK_MASK, PPCVLE, 0, {}}, 10122 1.12 christos {"se_rfi", C(8), C_MASK, PPCVLE, 0, {}}, 10123 1.7 christos {"se_rfci", C(9), C_MASK, PPCVLE, 0, {}}, 10124 1.8 christos {"se_rfdi", C(10), C_MASK, PPCVLE, 0, {}}, 10125 1.7 christos /* PPCRFMCI in the following does not enable the instruction for any 10126 1.7 christos PPC_OPCODE_RFMCI supporting cpu as vle_opcodes are all added to the 10127 1.7 christos assembler hash table or searched by the disassembler under control 10128 1.7 christos of PPC_OPCODE_VLE. It's there to set apuinfo. */ 10129 1.7 christos {"se_rfmci", C(11), C_MASK, PPCRFMCI|PPCVLE, 0, {}}, 10130 1.7 christos {"se_rfgi", C(12), C_MASK, PPCVLE, 0, {}}, 10131 1.7 christos {"se_not", SE_R(0,2), SE_R_MASK, PPCVLE, 0, {RX}}, 10132 1.7 christos {"se_neg", SE_R(0,3), SE_R_MASK, PPCVLE, 0, {RX}}, 10133 1.7 christos {"se_mflr", SE_R(0,8), SE_R_MASK, PPCVLE, 0, {RX}}, 10134 1.7 christos {"se_mtlr", SE_R(0,9), SE_R_MASK, PPCVLE, 0, {RX}}, 10135 1.7 christos {"se_mfctr", SE_R(0,10), SE_R_MASK, PPCVLE, 0, {RX}}, 10136 1.7 christos {"se_mtctr", SE_R(0,11), SE_R_MASK, PPCVLE, 0, {RX}}, 10137 1.7 christos {"se_extzb", SE_R(0,12), SE_R_MASK, PPCVLE, 0, {RX}}, 10138 1.7 christos {"se_extsb", SE_R(0,13), SE_R_MASK, PPCVLE, 0, {RX}}, 10139 1.7 christos {"se_extzh", SE_R(0,14), SE_R_MASK, PPCVLE, 0, {RX}}, 10140 1.7 christos {"se_extsh", SE_R(0,15), SE_R_MASK, PPCVLE, 0, {RX}}, 10141 1.7 christos {"se_mr", SE_RR(0,1), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10142 1.7 christos {"se_mtar", SE_RR(0,2), SE_RR_MASK, PPCVLE, 0, {ARX, RY}}, 10143 1.7 christos {"se_mfar", SE_RR(0,3), SE_RR_MASK, PPCVLE, 0, {RX, ARY}}, 10144 1.7 christos {"se_add", SE_RR(1,0), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10145 1.7 christos {"se_mullw", SE_RR(1,1), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10146 1.7 christos {"se_sub", SE_RR(1,2), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10147 1.8 christos {"se_subf", SE_RR(1,3), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10148 1.12 christos {"se_cmp", SE_RR(3,0), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10149 1.12 christos {"se_cmpl", SE_RR(3,1), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10150 1.12 christos {"se_cmph", SE_RR(3,2), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10151 1.12 christos {"se_cmphl", SE_RR(3,3), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10152 1.12 christos 10153 1.12 christos /* by major opcode */ 10154 1.12 christos {"e_cmpi", SCI8BF(6,0,21), SCI8BF_MASK, PPCVLE, 0, {CRD32, RA, SCLSCI8}}, 10155 1.12 christos {"e_cmpwi", SCI8BF(6,0,21), SCI8BF_MASK, PPCVLE, 0, {CRD32, RA, SCLSCI8}}, 10156 1.12 christos {"e_cmpli", SCI8BF(6,1,21), SCI8BF_MASK, PPCVLE, 0, {CRD32, RA, SCLSCI8}}, 10157 1.12 christos {"e_cmplwi", SCI8BF(6,1,21), SCI8BF_MASK, PPCVLE, 0, {CRD32, RA, SCLSCI8}}, 10158 1.12 christos {"e_addi", SCI8(6,16), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10159 1.12 christos {"e_subi", SCI8(6,16), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8N}}, 10160 1.12 christos {"e_addi.", SCI8(6,17), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10161 1.12 christos {"e_addic", SCI8(6,18), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10162 1.12 christos {"e_subic", SCI8(6,18), SCI8_MASK, PPCVLE, EXT, {RT, RA, SCLSCI8N}}, 10163 1.12 christos {"e_addic.", SCI8(6,19), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10164 1.12 christos {"e_subic.", SCI8(6,19), SCI8_MASK, PPCVLE, EXT, {RT, RA, SCLSCI8N}}, 10165 1.12 christos {"e_mulli", SCI8(6,20), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10166 1.12 christos {"e_subfic", SCI8(6,22), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10167 1.12 christos {"e_subfic.", SCI8(6,23), SCI8_MASK, PPCVLE, 0, {RT, RA, SCLSCI8}}, 10168 1.12 christos {"e_andi", SCI8(6,24), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10169 1.12 christos {"e_andi.", SCI8(6,25), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10170 1.12 christos {"e_nop", SCI8(6,26), 0xffffffff, PPCVLE, EXT, {0}}, 10171 1.12 christos {"e_ori", SCI8(6,26), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10172 1.12 christos {"e_ori.", SCI8(6,27), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10173 1.12 christos {"e_xori", SCI8(6,28), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10174 1.12 christos {"e_xori.", SCI8(6,29), SCI8_MASK, PPCVLE, 0, {RA, RS, SCLSCI8}}, 10175 1.12 christos {"e_lbzu", OPVUP(6,0), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10176 1.12 christos {"e_lhau", OPVUP(6,3), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10177 1.12 christos {"e_lhzu", OPVUP(6,1), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10178 1.12 christos {"e_lmw", OPVUP(6,8), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10179 1.12 christos {"e_lwzu", OPVUP(6,2), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10180 1.12 christos {"e_stbu", OPVUP(6,4), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10181 1.12 christos {"e_sthu", OPVUP(6,5), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10182 1.12 christos {"e_stwu", OPVUP(6,6), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10183 1.12 christos {"e_stmw", OPVUP(6,9), OPVUP_MASK, PPCVLE, 0, {RT, D8, RA0}}, 10184 1.12 christos {"e_lmvgprw", OPVUPRT(6,16,0),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10185 1.12 christos {"e_ldmvgprw", OPVUPRT(6,16,0),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10186 1.12 christos {"e_stmvgprw", OPVUPRT(6,17,0),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10187 1.12 christos {"e_lmvsprw", OPVUPRT(6,16,1),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10188 1.12 christos {"e_ldmvsprw", OPVUPRT(6,16,1),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10189 1.12 christos {"e_stmvsprw", OPVUPRT(6,17,1),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10190 1.12 christos {"e_lmvsrrw", OPVUPRT(6,16,4),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10191 1.12 christos {"e_ldmvsrrw", OPVUPRT(6,16,4),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10192 1.12 christos {"e_stmvsrrw", OPVUPRT(6,17,4),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10193 1.12 christos {"e_lmvcsrrw", OPVUPRT(6,16,5),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10194 1.12 christos {"e_ldmvcsrrw", OPVUPRT(6,16,5),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10195 1.12 christos {"e_stmvcsrrw", OPVUPRT(6,17,5),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10196 1.12 christos {"e_lmvdsrrw", OPVUPRT(6,16,6),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10197 1.12 christos {"e_ldmvdsrrw", OPVUPRT(6,16,6),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10198 1.12 christos {"e_stmvdsrrw", OPVUPRT(6,17,6),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10199 1.12 christos {"e_lmvmcsrrw", OPVUPRT(6,16,7),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10200 1.12 christos {"e_stmvmcsrrw",OPVUPRT(6,17,7),OPVUPRT_MASK, PPCVLE, 0, {D8, RA0}}, 10201 1.12 christos {"e_add16i", OP(7), OP_MASK, PPCVLE, 0, {RT, RA, SI}}, 10202 1.12 christos {"e_la", OP(7), OP_MASK, PPCVLE, EXT, {RT, D, RA0}}, 10203 1.12 christos {"e_sub16i", OP(7), OP_MASK, PPCVLE, EXT, {RT, RA, NSI}}, 10204 1.12 christos 10205 1.12 christos {"se_addi", SE_IM5(8,0), SE_IM5_MASK, PPCVLE, 0, {RX, OIMM5}}, 10206 1.12 christos {"se_cmpli", SE_IM5(8,1), SE_IM5_MASK, PPCVLE, 0, {RX, OIMM5}}, 10207 1.12 christos {"se_subi", SE_IM5(9,0), SE_IM5_MASK, PPCVLE, 0, {RX, OIMM5}}, 10208 1.12 christos {"se_subi.", SE_IM5(9,1), SE_IM5_MASK, PPCVLE, 0, {RX, OIMM5}}, 10209 1.12 christos {"se_cmpi", SE_IM5(10,1), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10210 1.12 christos {"se_bmaski", SE_IM5(11,0), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10211 1.12 christos {"se_andi", SE_IM5(11,1), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10212 1.12 christos 10213 1.12 christos {"e_lbz", OP(12), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10214 1.12 christos {"e_stb", OP(13), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10215 1.12 christos {"e_lha", OP(14), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10216 1.12 christos 10217 1.12 christos {"se_srw", SE_RR(16,0), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10218 1.12 christos {"se_sraw", SE_RR(16,1), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10219 1.12 christos {"se_slw", SE_RR(16,2), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10220 1.12 christos {"se_nop", SE_RR(17,0), 0xffff, PPCVLE, EXT, {0}}, 10221 1.12 christos {"se_or", SE_RR(17,0), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10222 1.12 christos {"se_andc", SE_RR(17,1), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10223 1.12 christos {"se_and", SE_RR(17,2), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10224 1.12 christos {"se_and.", SE_RR(17,3), SE_RR_MASK, PPCVLE, 0, {RX, RY}}, 10225 1.12 christos {"se_li", IM7(9), IM7_MASK, PPCVLE, 0, {RX, UI7}}, 10226 1.12 christos 10227 1.12 christos {"e_lwz", OP(20), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10228 1.12 christos {"e_stw", OP(21), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10229 1.12 christos {"e_lhz", OP(22), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10230 1.12 christos {"e_sth", OP(23), OP_MASK, PPCVLE, 0, {RT, D, RA0}}, 10231 1.12 christos 10232 1.12 christos {"se_bclri", SE_IM5(24,0), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10233 1.12 christos {"se_bgeni", SE_IM5(24,1), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10234 1.12 christos {"se_bseti", SE_IM5(25,0), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10235 1.12 christos {"se_btsti", SE_IM5(25,1), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10236 1.12 christos {"se_srwi", SE_IM5(26,0), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10237 1.12 christos {"se_srawi", SE_IM5(26,1), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10238 1.12 christos {"se_slwi", SE_IM5(27,0), SE_IM5_MASK, PPCVLE, 0, {RX, UI5}}, 10239 1.12 christos 10240 1.12 christos {"e_lis", I16L(28,28), I16L_MASK, PPCVLE, 0, {RD, VLEUIMML}}, 10241 1.12 christos {"e_and2is.", I16L(28,29), I16L_MASK, PPCVLE, 0, {RD, VLEUIMML}}, 10242 1.12 christos {"e_or2is", I16L(28,26), I16L_MASK, PPCVLE, 0, {RD, VLEUIMML}}, 10243 1.12 christos {"e_and2i.", I16L(28,25), I16L_MASK, PPCVLE, 0, {RD, VLEUIMML}}, 10244 1.12 christos {"e_or2i", I16L(28,24), I16L_MASK, PPCVLE, 0, {RD, VLEUIMML}}, 10245 1.12 christos {"e_cmphl16i", IA16(28,23), IA16_MASK, PPCVLE, 0, {RA, VLEUIMM}}, 10246 1.12 christos {"e_cmph16i", IA16(28,22), IA16_MASK, PPCVLE, 0, {RA, VLESIMM}}, 10247 1.12 christos {"e_cmpl16i", I16A(28,21), I16A_MASK, PPCVLE, 0, {RA, VLEUIMM}}, 10248 1.12 christos {"e_mull2i", I16A(28,20), I16A_MASK, PPCVLE, 0, {RA, VLESIMM}}, 10249 1.12 christos {"e_cmp16i", IA16(28,19), IA16_MASK, PPCVLE, 0, {RA, VLESIMM}}, 10250 1.12 christos {"e_sub2is", I16A(28,18), I16A_MASK, PPCVLE, EXT, {RA, VLENSIMM}}, 10251 1.12 christos {"e_add2is", I16A(28,18), I16A_MASK, PPCVLE, 0, {RA, VLESIMM}}, 10252 1.12 christos {"e_sub2i.", I16A(28,17), I16A_MASK, PPCVLE, EXT, {RA, VLENSIMM}}, 10253 1.12 christos {"e_add2i.", I16A(28,17), I16A_MASK, PPCVLE, 0, {RA, VLESIMM}}, 10254 1.12 christos {"e_li", LI20(28,0), LI20_MASK, PPCVLE, 0, {RT, IMM20}}, 10255 1.12 christos {"e_rlwimi", M(29,0), M_MASK, PPCVLE, 0, {RA, RS, SH, MB, ME}}, 10256 1.12 christos {"e_inslwi", M(29,0), M_MASK, PPCVLE, EXT, {RA, RS, ILWn, ILWb}}, 10257 1.12 christos {"e_insrwi", M(29,0), M_MASK, PPCVLE, EXT, {RA, RS, IRWn, IRWb}}, 10258 1.12 christos {"e_rotlwi", MME(29,31,1), MMBME_MASK, PPCVLE, EXT, {RA, RS, SH}}, 10259 1.12 christos {"e_rotrwi", MME(29,31,1), MMBME_MASK, PPCVLE, EXT, {RA, RS, RRWn}}, 10260 1.12 christos {"e_clrlwi", MME(29,31,1), MSHME_MASK, PPCVLE, EXT, {RA, RS, MB}}, 10261 1.12 christos {"e_clrrwi", M(29,1), MSHMB_MASK, PPCVLE, EXT, {RA, RS, CRWn}}, 10262 1.12 christos {"e_rlwinm", M(29,1), M_MASK, PPCVLE, 0, {RA, RS, SH, MBE, ME}}, 10263 1.12 christos {"e_extlwi", M(29,1), MMB_MASK, PPCVLE, EXT, {RA, RS, ELWn, SH}}, 10264 1.12 christos {"e_extrwi", MME(29,31,1), MME_MASK, PPCVLE, EXT, {RA, RS, ERWn, ERWb}}, 10265 1.12 christos {"e_clrlslwi", M(29,1), M_MASK, PPCVLE, EXT, {RA, RS, CSLWb, CSLWn}}, 10266 1.12 christos {"e_b", BD24(30,0,0), BD24_MASK, PPCVLE, 0, {B24}}, 10267 1.12 christos {"e_bl", BD24(30,0,1), BD24_MASK, PPCVLE, 0, {B24}}, 10268 1.12 christos {"e_bdnz", EBD15(30,8,BO32DNZ,0), EBD15_MASK, PPCVLE, EXT, {B15}}, 10269 1.12 christos {"e_bdnzl", EBD15(30,8,BO32DNZ,1), EBD15_MASK, PPCVLE, EXT, {B15}}, 10270 1.12 christos {"e_bdz", EBD15(30,8,BO32DZ,0), EBD15_MASK, PPCVLE, EXT, {B15}}, 10271 1.12 christos {"e_bdzl", EBD15(30,8,BO32DZ,1), EBD15_MASK, PPCVLE, EXT, {B15}}, 10272 1.12 christos {"e_bge", EBD15BI(30,8,BO32F,CBLT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10273 1.12 christos {"e_bgel", EBD15BI(30,8,BO32F,CBLT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10274 1.12 christos {"e_bnl", EBD15BI(30,8,BO32F,CBLT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10275 1.12 christos {"e_bnll", EBD15BI(30,8,BO32F,CBLT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10276 1.12 christos {"e_blt", EBD15BI(30,8,BO32T,CBLT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10277 1.12 christos {"e_bltl", EBD15BI(30,8,BO32T,CBLT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10278 1.12 christos {"e_bgt", EBD15BI(30,8,BO32T,CBGT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10279 1.12 christos {"e_bgtl", EBD15BI(30,8,BO32T,CBGT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10280 1.12 christos {"e_ble", EBD15BI(30,8,BO32F,CBGT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10281 1.12 christos {"e_blel", EBD15BI(30,8,BO32F,CBGT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10282 1.12 christos {"e_bng", EBD15BI(30,8,BO32F,CBGT,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10283 1.12 christos {"e_bngl", EBD15BI(30,8,BO32F,CBGT,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10284 1.12 christos {"e_bne", EBD15BI(30,8,BO32F,CBEQ,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10285 1.12 christos {"e_bnel", EBD15BI(30,8,BO32F,CBEQ,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10286 1.12 christos {"e_beq", EBD15BI(30,8,BO32T,CBEQ,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10287 1.12 christos {"e_beql", EBD15BI(30,8,BO32T,CBEQ,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10288 1.12 christos {"e_bso", EBD15BI(30,8,BO32T,CBSO,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10289 1.12 christos {"e_bsol", EBD15BI(30,8,BO32T,CBSO,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10290 1.12 christos {"e_bun", EBD15BI(30,8,BO32T,CBSO,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10291 1.12 christos {"e_bunl", EBD15BI(30,8,BO32T,CBSO,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10292 1.12 christos {"e_bns", EBD15BI(30,8,BO32F,CBSO,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10293 1.12 christos {"e_bnsl", EBD15BI(30,8,BO32F,CBSO,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10294 1.12 christos {"e_bnu", EBD15BI(30,8,BO32F,CBSO,0), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10295 1.12 christos {"e_bnul", EBD15BI(30,8,BO32F,CBSO,1), EBD15BI_MASK, PPCVLE, EXT, {CRS,B15}}, 10296 1.12 christos {"e_bc", BD15(30,8,0), BD15_MASK, PPCVLE, 0, {BO32, BI32, B15}}, 10297 1.12 christos {"e_bcl", BD15(30,8,1), BD15_MASK, PPCVLE, 0, {BO32, BI32, B15}}, 10298 1.12 christos 10299 1.12 christos {"e_bf", EBD15(30,8,BO32F,0), EBD15_MASK, PPCVLE, EXT, {BI32,B15}}, 10300 1.12 christos {"e_bfl", EBD15(30,8,BO32F,1), EBD15_MASK, PPCVLE, EXT, {BI32,B15}}, 10301 1.12 christos {"e_bt", EBD15(30,8,BO32T,0), EBD15_MASK, PPCVLE, EXT, {BI32,B15}}, 10302 1.12 christos {"e_btl", EBD15(30,8,BO32T,1), EBD15_MASK, PPCVLE, EXT, {BI32,B15}}, 10303 1.12 christos 10304 1.12 christos {"e_cmph", X(31,14), X_MASK, PPCVLE, 0, {CRD, RA, RB}}, 10305 1.12 christos {"e_sc", X(31,36), XRTRA_MASK, PPCVLE, 0, {ELEV}}, 10306 1.12 christos {"e_cmphl", X(31,46), X_MASK, PPCVLE, 0, {CRD, RA, RB}}, 10307 1.12 christos {"e_crandc", XL(31,129), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10308 1.12 christos {"e_crnand", XL(31,225), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10309 1.12 christos {"e_crnot", XL(31,33), XL_MASK, PPCVLE, EXT, {BT, BAB}}, 10310 1.12 christos {"e_crnor", XL(31,33), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10311 1.12 christos {"e_crclr", XL(31,193), XL_MASK, PPCVLE, EXT, {BTAB}}, 10312 1.12 christos {"e_crxor", XL(31,193), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10313 1.12 christos {"e_mcrf", XL(31,16), XL_MASK, PPCVLE, 0, {CRD, CR}}, 10314 1.12 christos {"e_slwi", EX(31,112), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10315 1.12 christos {"e_slwi.", EX(31,113), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10316 1.12 christos 10317 1.12 christos {"e_crand", XL(31,257), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10318 1.12 christos 10319 1.12 christos {"e_rlw", EX(31,560), EX_MASK, PPCVLE, 0, {RA, RS, RB}}, 10320 1.12 christos {"e_rlw.", EX(31,561), EX_MASK, PPCVLE, 0, {RA, RS, RB}}, 10321 1.12 christos 10322 1.12 christos {"e_crset", XL(31,289), XL_MASK, PPCVLE, EXT, {BTAB}}, 10323 1.12 christos {"e_creqv", XL(31,289), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10324 1.12 christos 10325 1.12 christos {"e_rlwi", EX(31,624), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10326 1.12 christos {"e_rlwi.", EX(31,625), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10327 1.12 christos 10328 1.12 christos {"e_crorc", XL(31,417), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10329 1.12 christos 10330 1.12 christos {"e_crmove", XL(31,449), XL_MASK, PPCVLE, EXT, {BT, BAB}}, 10331 1.12 christos {"e_cror", XL(31,449), XL_MASK, PPCVLE, 0, {BT, BA, BB}}, 10332 1.12 christos 10333 1.12 christos {"mtmas1", XSPR(31,467,625), XSPR_MASK, PPCVLE, EXT, {RS}}, 10334 1.12 christos 10335 1.12 christos {"e_srwi", EX(31,1136), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10336 1.12 christos {"e_srwi.", EX(31,1137), EX_MASK, PPCVLE, 0, {RA, RS, SH}}, 10337 1.12 christos 10338 1.12 christos {"se_lbz", SD4(8), SD4_MASK, PPCVLE, 0, {RZ, SE_SD, RX}}, 10339 1.12 christos 10340 1.12 christos {"se_stb", SD4(9), SD4_MASK, PPCVLE, 0, {RZ, SE_SD, RX}}, 10341 1.12 christos 10342 1.12 christos {"se_lhz", SD4(10), SD4_MASK, PPCVLE, 0, {RZ, SE_SDH, RX}}, 10343 1.12 christos 10344 1.12 christos {"se_sth", SD4(11), SD4_MASK, PPCVLE, 0, {RZ, SE_SDH, RX}}, 10345 1.12 christos 10346 1.12 christos {"se_lwz", SD4(12), SD4_MASK, PPCVLE, 0, {RZ, SE_SDW, RX}}, 10347 1.12 christos 10348 1.12 christos {"se_stw", SD4(13), SD4_MASK, PPCVLE, 0, {RZ, SE_SDW, RX}}, 10349 1.12 christos 10350 1.12 christos {"se_bge", EBD8IO(28,0,0), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10351 1.12 christos {"se_bnl", EBD8IO(28,0,0), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10352 1.12 christos {"se_ble", EBD8IO(28,0,1), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10353 1.12 christos {"se_bng", EBD8IO(28,0,1), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10354 1.12 christos {"se_bne", EBD8IO(28,0,2), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10355 1.12 christos {"se_bns", EBD8IO(28,0,3), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10356 1.12 christos {"se_bnu", EBD8IO(28,0,3), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10357 1.12 christos {"se_bf", EBD8IO(28,0,0), EBD8IO2_MASK, PPCVLE, EXT, {BI16, B8}}, 10358 1.12 christos {"se_blt", EBD8IO(28,1,0), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10359 1.12 christos {"se_bgt", EBD8IO(28,1,1), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10360 1.12 christos {"se_beq", EBD8IO(28,1,2), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10361 1.12 christos {"se_bso", EBD8IO(28,1,3), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10362 1.12 christos {"se_bun", EBD8IO(28,1,3), EBD8IO3_MASK, PPCVLE, EXT, {B8}}, 10363 1.12 christos {"se_bt", EBD8IO(28,1,0), EBD8IO2_MASK, PPCVLE, EXT, {BI16, B8}}, 10364 1.12 christos {"se_bc", BD8IO(28), BD8IO_MASK, PPCVLE, 0, {BO16, BI16, B8}}, 10365 1.12 christos {"se_b", BD8(58,0,0), BD8_MASK, PPCVLE, 0, {B8}}, 10366 1.8 christos {"se_bl", BD8(58,0,1), BD8_MASK, PPCVLE, 0, {B8}}, 10367 1.8 christos }; 10368 1.8 christos 10369 1.8 christos const unsigned int vle_num_opcodes = ARRAY_SIZE (vle_opcodes); 10370 1.8 christos 10371 1.8 christos const struct powerpc_opcode lsp_opcodes[] = { 10372 1.8 christos {"zvaddih", VX(4, 0x200), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM}}, 10373 1.8 christos {"zvsubifh", VX(4, 0x201), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM}}, 10374 1.8 christos {"zvaddh", VX(4, 0x204), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10375 1.8 christos {"zvsubfh", VX(4, 0x205), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10376 1.8 christos {"zvaddsubfh", VX(4, 0x206), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10377 1.8 christos {"zvsubfaddh", VX(4, 0x207), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10378 1.8 christos {"zvaddhx", VX(4, 0x20C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10379 1.8 christos {"zvsubfhx", VX(4, 0x20D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10380 1.8 christos {"zvaddsubfhx", VX(4, 0x20E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10381 1.8 christos {"zvsubfaddhx", VX(4, 0x20F), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10382 1.8 christos {"zaddwus", VX(4, 0x210), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10383 1.8 christos {"zsubfwus", VX(4, 0x211), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10384 1.8 christos {"zaddwss", VX(4, 0x212), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10385 1.8 christos {"zsubfwss", VX(4, 0x213), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10386 1.8 christos {"zvaddhus", VX(4, 0x214), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10387 1.8 christos {"zvsubfhus", VX(4, 0x215), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10388 1.8 christos {"zvaddhss", VX(4, 0x216), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10389 1.8 christos {"zvsubfhss", VX(4, 0x217), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10390 1.8 christos {"zvaddsubfhss", VX(4, 0x21A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10391 1.8 christos {"zvsubfaddhss", VX(4, 0x21B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10392 1.8 christos {"zvaddhxss", VX(4, 0x21C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10393 1.8 christos {"zvsubfhxss", VX(4, 0x21D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10394 1.8 christos {"zvaddsubfhxss", VX(4, 0x21E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10395 1.8 christos {"zvsubfaddhxss", VX(4, 0x21F), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10396 1.8 christos {"zaddheuw", VX(4, 0x220), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10397 1.8 christos {"zsubfheuw", VX(4, 0x221), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10398 1.8 christos {"zaddhesw", VX(4, 0x222), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10399 1.8 christos {"zsubfhesw", VX(4, 0x223), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10400 1.8 christos {"zaddhouw", VX(4, 0x224), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10401 1.8 christos {"zsubfhouw", VX(4, 0x225), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10402 1.8 christos {"zaddhosw", VX(4, 0x226), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10403 1.8 christos {"zsubfhosw", VX(4, 0x227), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10404 1.8 christos {"zvmergehih", VX(4, 0x22C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10405 1.8 christos {"zvmergeloh", VX(4, 0x22D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10406 1.8 christos {"zvmergehiloh", VX(4, 0x22E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10407 1.8 christos {"zvmergelohih", VX(4, 0x22F), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10408 1.8 christos {"zvcmpgthu", VX(4, 0x230), VX_MASK, PPCLSP, 0, {CRFD, RA, RB}}, 10409 1.8 christos {"zvcmpgths", VX(4, 0x230), VX_MASK, PPCLSP, 0, {CRFD, RA, RB}}, 10410 1.8 christos {"zvcmplthu", VX(4, 0x231), VX_MASK, PPCLSP, 0, {CRFD, RA, RB}}, 10411 1.8 christos {"zvcmplths", VX(4, 0x231), VX_MASK, PPCLSP, 0, {CRFD, RA, RB}}, 10412 1.8 christos {"zvcmpeqh", VX(4, 0x232), VX_MASK, PPCLSP, 0, {CRFD, RA, RB}}, 10413 1.8 christos {"zpkswgshfrs", VX(4, 0x238), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10414 1.8 christos {"zpkswgswfrs", VX(4, 0x239), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10415 1.8 christos {"zvpkshgwshfrs", VX(4, 0x23A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10416 1.8 christos {"zvpkswshfrs", VX(4, 0x23B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10417 1.8 christos {"zvpkswuhs", VX(4, 0x23C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10418 1.8 christos {"zvpkswshs", VX(4, 0x23D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10419 1.8 christos {"zvpkuwuhs", VX(4, 0x23E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10420 1.8 christos {"zvsplatih", VX_LSP(4, 0x23F), VX_LSP_MASK, PPCLSP, 0, {RD, SIMM}}, 10421 1.8 christos {"zvsplatfih", VX_LSP(4, 0xA3F), VX_LSP_MASK, PPCLSP, 0, {RD, SIMM}}, 10422 1.8 christos {"zcntlsw", VX_LSP(4, 0x2A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10423 1.8 christos {"zvcntlzh", VX_LSP(4, 0x323F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10424 1.8 christos {"zvcntlsh", VX_LSP(4, 0x3A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10425 1.8 christos {"znegws", VX_LSP(4, 0x4A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10426 1.8 christos {"zvnegh", VX_LSP(4, 0x523F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10427 1.8 christos {"zvneghs", VX_LSP(4, 0x5A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10428 1.8 christos {"zvnegho", VX_LSP(4, 0x623F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10429 1.8 christos {"zvneghos", VX_LSP(4, 0x6A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10430 1.8 christos {"zrndwh", VX_LSP(4, 0x823F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10431 1.8 christos {"zrndwhss", VX_LSP(4, 0x8A3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10432 1.8 christos {"zvabsh", VX_LSP(4, 0xA23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10433 1.8 christos {"zvabshs", VX_LSP(4, 0xAA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10434 1.8 christos {"zabsw", VX_LSP(4, 0xB23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10435 1.8 christos {"zabsws", VX_LSP(4, 0xBA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10436 1.8 christos {"zsatswuw", VX_LSP(4, 0xC23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10437 1.8 christos {"zsatuwsw", VX_LSP(4, 0xCA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10438 1.8 christos {"zsatswuh", VX_LSP(4, 0xD23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10439 1.8 christos {"zsatswsh", VX_LSP(4, 0xDA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10440 1.8 christos {"zvsatshuh", VX_LSP(4, 0xE23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10441 1.8 christos {"zvsatuhsh", VX_LSP(4, 0xEA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10442 1.8 christos {"zsatuwuh", VX_LSP(4, 0xF23F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10443 1.8 christos {"zsatuwsh", VX_LSP(4, 0xFA3F), VX_LSP_MASK, PPCLSP, 0, {RD, RA}}, 10444 1.8 christos {"zsatsduw", VX(4, 0x260), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10445 1.8 christos {"zsatsdsw", VX(4, 0x261), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10446 1.8 christos {"zsatuduw", VX(4, 0x262), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10447 1.8 christos {"zvselh", VX(4, 0x264), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10448 1.8 christos {"zxtrw", VX(4, 0x264), VX_LSP_OFF_MASK, PPCLSP, 0, {RD, RA, RB, VX_OFF}}, 10449 1.8 christos {"zbrminc", VX(4, 0x268), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10450 1.8 christos {"zcircinc", VX(4, 0x269), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10451 1.8 christos {"zdivwsf", VX(4, 0x26B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10452 1.8 christos {"zvsrhu", VX(4, 0x270), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10453 1.8 christos {"zvsrhs", VX(4, 0x271), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10454 1.8 christos {"zvsrhiu", VX(4, 0x272), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10455 1.8 christos {"zvsrhis", VX(4, 0x273), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10456 1.8 christos {"zvslh", VX(4, 0x274), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10457 1.8 christos {"zvrlh", VX(4, 0x275), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10458 1.8 christos {"zvslhi", VX(4, 0x276), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10459 1.8 christos {"zvrlhi", VX(4, 0x277), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10460 1.8 christos {"zvslhus", VX(4, 0x278), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10461 1.8 christos {"zvslhss", VX(4, 0x279), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10462 1.12 christos {"zvslhius", VX(4, 0x27A), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10463 1.12 christos {"zvslhiss", VX(4, 0x27B), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM_LT16}}, 10464 1.12 christos {"zslwus", VX(4, 0x27C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10465 1.12 christos {"zslwss", VX(4, 0x27D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10466 1.12 christos {"zslwius", VX(4, 0x27E), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM}}, 10467 1.12 christos {"zslwiss", VX(4, 0x27F), VX_MASK, PPCLSP, 0, {RD, RA, EVUIMM}}, 10468 1.12 christos {"zlddx", VX(4, 0x300), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10469 1.12 christos {"zldd", VX(4, 0x301), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8, RA}}, 10470 1.12 christos {"zldwx", VX(4, 0x302), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10471 1.12 christos {"zldw", VX(4, 0x303), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8, RA}}, 10472 1.12 christos {"zldhx", VX(4, 0x304), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10473 1.12 christos {"zldh", VX(4, 0x305), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8, RA}}, 10474 1.12 christos {"zlwgsfdx", VX(4, 0x308), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10475 1.12 christos {"zlwgsfd", VX(4, 0x309), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10476 1.12 christos {"zlwwosdx", VX(4, 0x30A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10477 1.12 christos {"zlwwosd", VX(4, 0x30B), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10478 1.12 christos {"zlwhsplatwdx", VX(4, 0x30C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10479 1.12 christos {"zlwhsplatwd", VX(4, 0x30D), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10480 1.12 christos {"zlwhsplatdx", VX(4, 0x30E), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10481 1.12 christos {"zlwhsplatd", VX(4, 0x30F), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10482 1.12 christos {"zlwhgwsfdx", VX(4, 0x310), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10483 1.12 christos {"zlwhgwsfd", VX(4, 0x311), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10484 1.12 christos {"zlwhedx", VX(4, 0x312), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10485 1.12 christos {"zlwhed", VX(4, 0x313), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10486 1.12 christos {"zlwhosdx", VX(4, 0x314), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10487 1.12 christos {"zlwhosd", VX(4, 0x315), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10488 1.12 christos {"zlwhoudx", VX(4, 0x316), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10489 1.12 christos {"zlwhoud", VX(4, 0x317), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4, RA}}, 10490 1.12 christos {"zlwhx", VX(4, 0x318), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10491 1.12 christos {"zlwh", VX(4, 0x319), VX_MASK, PPCLSP, 0, {RD, EVUIMM_4, RA}}, 10492 1.12 christos {"zlwwx", VX(4, 0x31A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10493 1.12 christos {"zlww", VX(4, 0x31B), VX_MASK, PPCLSP, 0, {RD, EVUIMM_4, RA}}, 10494 1.12 christos {"zlhgwsfx", VX(4, 0x31C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10495 1.12 christos {"zlhgwsf", VX(4, 0x31D), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2, RA}}, 10496 1.12 christos {"zlhhsplatx", VX(4, 0x31E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10497 1.12 christos {"zlhhsplat", VX(4, 0x31F), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2, RA}}, 10498 1.12 christos {"zstddx", VX(4, 0x320), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10499 1.12 christos {"zstdd", VX(4, 0x321), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_8, RA}}, 10500 1.12 christos {"zstdwx", VX(4, 0x322), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10501 1.12 christos {"zstdw", VX(4, 0x323), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_8, RA}}, 10502 1.12 christos {"zstdhx", VX(4, 0x324), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10503 1.12 christos {"zstdh", VX(4, 0x325), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_8, RA}}, 10504 1.12 christos {"zstwhedx", VX(4, 0x328), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10505 1.12 christos {"zstwhed", VX(4, 0x329), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_4, RA}}, 10506 1.12 christos {"zstwhodx", VX(4, 0x32A), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10507 1.12 christos {"zstwhod", VX(4, 0x32B), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_4, RA}}, 10508 1.12 christos {"zlhhex", VX(4, 0x330), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10509 1.12 christos {"zlhhe", VX(4, 0x331), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2, RA}}, 10510 1.12 christos {"zlhhosx", VX(4, 0x332), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10511 1.12 christos {"zlhhos", VX(4, 0x333), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2, RA}}, 10512 1.12 christos {"zlhhoux", VX(4, 0x334), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10513 1.12 christos {"zlhhou", VX(4, 0x335), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2, RA}}, 10514 1.12 christos {"zsthex", VX(4, 0x338), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10515 1.12 christos {"zsthe", VX(4, 0x339), VX_MASK, PPCLSP, 0, {RS, EVUIMM_2, RA}}, 10516 1.12 christos {"zsthox", VX(4, 0x33A), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10517 1.12 christos {"zstho", VX(4, 0x33B), VX_MASK, PPCLSP, 0, {RS, EVUIMM_2, RA}}, 10518 1.12 christos {"zstwhx", VX(4, 0x33C), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10519 1.12 christos {"zstwh", VX(4, 0x33D), VX_MASK, PPCLSP, 0, {RS, EVUIMM_4, RA}}, 10520 1.12 christos {"zstwwx", VX(4, 0x33E), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10521 1.12 christos {"zstww", VX(4, 0x33F), VX_MASK, PPCLSP, 0, {RS, EVUIMM_4, RA}}, 10522 1.12 christos {"zlddmx", VX(4, 0x340), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10523 1.12 christos {"zlddu", VX(4, 0x341), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8_EX0, RA}}, 10524 1.12 christos {"zldwmx", VX(4, 0x342), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10525 1.12 christos {"zldwu", VX(4, 0x343), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8_EX0, RA}}, 10526 1.12 christos {"zldhmx", VX(4, 0x344), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10527 1.12 christos {"zldhu", VX(4, 0x345), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_8_EX0, RA}}, 10528 1.12 christos {"zlwgsfdmx", VX(4, 0x348), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10529 1.12 christos {"zlwgsfdu", VX(4, 0x349), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10530 1.12 christos {"zlwwosdmx", VX(4, 0x34A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10531 1.12 christos {"zlwwosdu", VX(4, 0x34B), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10532 1.12 christos {"zlwhsplatwdmx", VX(4, 0x34C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10533 1.12 christos {"zlwhsplatwdu", VX(4, 0x34D), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10534 1.12 christos {"zlwhsplatdmx", VX(4, 0x34E), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10535 1.12 christos {"zlwhsplatdu", VX(4, 0x34F), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10536 1.12 christos {"zlwhgwsfdmx", VX(4, 0x350), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10537 1.12 christos {"zlwhgwsfdu", VX(4, 0x351), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10538 1.12 christos {"zlwhedmx", VX(4, 0x352), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10539 1.12 christos {"zlwhedu", VX(4, 0x353), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10540 1.12 christos {"zlwhosdmx", VX(4, 0x354), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10541 1.12 christos {"zlwhosdu", VX(4, 0x355), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10542 1.12 christos {"zlwhoudmx", VX(4, 0x356), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10543 1.12 christos {"zlwhoudu", VX(4, 0x357), VX_MASK, PPCLSP, 0, {RD_EVEN, EVUIMM_4_EX0, RA}}, 10544 1.12 christos {"zlwhmx", VX(4, 0x358), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10545 1.12 christos {"zlwhu", VX(4, 0x359), VX_MASK, PPCLSP, 0, {RD, EVUIMM_4_EX0, RA}}, 10546 1.12 christos {"zlwwmx", VX(4, 0x35A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10547 1.12 christos {"zlwwu", VX(4, 0x35B), VX_MASK, PPCLSP, 0, {RD, EVUIMM_4_EX0, RA}}, 10548 1.12 christos {"zlhgwsfmx", VX(4, 0x35C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10549 1.12 christos {"zlhgwsfu", VX(4, 0x35D), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2_EX0, RA}}, 10550 1.12 christos {"zlhhsplatmx", VX(4, 0x35E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10551 1.12 christos {"zlhhsplatu", VX(4, 0x35F), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2_EX0, RA}}, 10552 1.12 christos {"zstddmx", VX(4, 0x360), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10553 1.12 christos {"zstddu", VX(4, 0x361), VX_MASK, PPCLSP, 0, {RS, EVUIMM_8_EX0, RA}}, 10554 1.12 christos {"zstdwmx", VX(4, 0x362), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10555 1.12 christos {"zstdwu", VX(4, 0x363), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_8_EX0, RA}}, 10556 1.12 christos {"zstdhmx", VX(4, 0x364), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10557 1.12 christos {"zstdhu", VX(4, 0x365), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_8_EX0, RA}}, 10558 1.12 christos {"zstwhedmx", VX(4, 0x368), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10559 1.12 christos {"zstwhedu", VX(4, 0x369), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_4_EX0, RA}}, 10560 1.12 christos {"zstwhodmx", VX(4, 0x36A), VX_MASK, PPCLSP, 0, {RS_EVEN, RA, RB}}, 10561 1.12 christos {"zstwhodu", VX(4, 0x36B), VX_MASK, PPCLSP, 0, {RS_EVEN, EVUIMM_4_EX0, RA}}, 10562 1.12 christos {"zlhhemx", VX(4, 0x370), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10563 1.12 christos {"zlhheu", VX(4, 0x371), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2_EX0, RA}}, 10564 1.12 christos {"zlhhosmx", VX(4, 0x372), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10565 1.12 christos {"zlhhosu", VX(4, 0x373), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2_EX0, RA}}, 10566 1.12 christos {"zlhhoumx", VX(4, 0x374), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10567 1.12 christos {"zlhhouu", VX(4, 0x375), VX_MASK, PPCLSP, 0, {RD, EVUIMM_2_EX0, RA}}, 10568 1.12 christos {"zsthemx", VX(4, 0x378), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10569 1.12 christos {"zstheu", VX(4, 0x379), VX_MASK, PPCLSP, 0, {RS, EVUIMM_2_EX0, RA}}, 10570 1.8 christos {"zsthomx", VX(4, 0x37A), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10571 1.8 christos {"zsthou", VX(4, 0x37B), VX_MASK, PPCLSP, 0, {RS, EVUIMM_2_EX0, RA}}, 10572 1.8 christos {"zstwhmx", VX(4, 0x37C), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10573 1.8 christos {"zstwhu", VX(4, 0x37D), VX_MASK, PPCLSP, 0, {RS, EVUIMM_4_EX0, RA}}, 10574 1.8 christos {"zstwwmx", VX(4, 0x37E), VX_MASK, PPCLSP, 0, {RS, RA, RB}}, 10575 1.8 christos {"zstwwu", VX(4, 0x37F), VX_MASK, PPCLSP, 0, {RS, EVUIMM_4_EX0, RA}}, 10576 1.8 christos {"zaddwgui", VX(4, 0x460), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10577 1.8 christos {"zsubfwgui", VX(4, 0x461), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10578 1.8 christos {"zaddd", VX(4, 0x462), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10579 1.8 christos {"zsubfd", VX(4, 0x463), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10580 1.8 christos {"zvaddsubfw", VX(4, 0x464), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10581 1.8 christos {"zvsubfaddw", VX(4, 0x465), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10582 1.8 christos {"zvaddw", VX(4, 0x466), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10583 1.8 christos {"zvsubfw", VX(4, 0x467), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10584 1.8 christos {"zaddwgsi", VX(4, 0x468), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10585 1.8 christos {"zsubfwgsi", VX(4, 0x469), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10586 1.8 christos {"zadddss", VX(4, 0x46A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10587 1.8 christos {"zsubfdss", VX(4, 0x46B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10588 1.8 christos {"zvaddsubfwss", VX(4, 0x46C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10589 1.8 christos {"zvsubfaddwss", VX(4, 0x46D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10590 1.8 christos {"zvaddwss", VX(4, 0x46E), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10591 1.8 christos {"zvsubfwss", VX(4, 0x46F), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10592 1.8 christos {"zaddwgsf", VX(4, 0x470), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10593 1.8 christos {"zsubfwgsf", VX(4, 0x471), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10594 1.8 christos {"zadddus", VX(4, 0x472), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10595 1.8 christos {"zsubfdus", VX(4, 0x473), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10596 1.8 christos {"zvaddwus", VX(4, 0x476), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10597 1.8 christos {"zvsubfwus", VX(4, 0x477), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10598 1.8 christos {"zvunpkhgwsf", VX_LSP(4, 0x478), VX_LSP_MASK, PPCLSP, 0, {RD_EVEN, RA}}, 10599 1.8 christos {"zvunpkhsf", VX_LSP(4, 0xC78), VX_LSP_MASK, PPCLSP, 0, {RD_EVEN, RA}}, 10600 1.8 christos {"zvunpkhui", VX_LSP(4, 0x1478), VX_LSP_MASK, PPCLSP, 0, {RD_EVEN, RA}}, 10601 1.8 christos {"zvunpkhsi", VX_LSP(4, 0x1C78), VX_LSP_MASK, PPCLSP, 0, {RD_EVEN, RA}}, 10602 1.8 christos {"zunpkwgsf", VX_LSP(4, 0x2478), VX_LSP_MASK, PPCLSP, 0, {RD_EVEN, RA}}, 10603 1.8 christos {"zvdotphgwasmf", VX(4, 0x488), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10604 1.8 christos {"zvdotphgwasmfr", VX(4, 0x489), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10605 1.8 christos {"zvdotphgwasmfaa", VX(4, 0x48A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10606 1.8 christos {"zvdotphgwasmfraa", VX(4, 0x48B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10607 1.8 christos {"zvdotphgwasmfan", VX(4, 0x48C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10608 1.8 christos {"zvdotphgwasmfran", VX(4, 0x48D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10609 1.8 christos {"zvmhulgwsmf", VX(4, 0x490), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10610 1.8 christos {"zvmhulgwsmfr", VX(4, 0x491), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10611 1.8 christos {"zvmhulgwsmfaa", VX(4, 0x492), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10612 1.8 christos {"zvmhulgwsmfraa", VX(4, 0x493), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10613 1.8 christos {"zvmhulgwsmfan", VX(4, 0x494), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10614 1.8 christos {"zvmhulgwsmfran", VX(4, 0x495), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10615 1.8 christos {"zvmhulgwsmfanp", VX(4, 0x496), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10616 1.8 christos {"zvmhulgwsmfranp", VX(4, 0x497), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10617 1.8 christos {"zmhegwsmf", VX(4, 0x498), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10618 1.8 christos {"zmhegwsmfr", VX(4, 0x499), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10619 1.8 christos {"zmhegwsmfaa", VX(4, 0x49A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10620 1.8 christos {"zmhegwsmfraa", VX(4, 0x49B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10621 1.8 christos {"zmhegwsmfan", VX(4, 0x49C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10622 1.8 christos {"zmhegwsmfran", VX(4, 0x49D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10623 1.8 christos {"zvdotphxgwasmf", VX(4, 0x4A8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10624 1.8 christos {"zvdotphxgwasmfr", VX(4, 0x4A9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10625 1.8 christos {"zvdotphxgwasmfaa", VX(4, 0x4AA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10626 1.8 christos {"zvdotphxgwasmfraa", VX(4, 0x4AB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10627 1.8 christos {"zvdotphxgwasmfan", VX(4, 0x4AC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10628 1.8 christos {"zvdotphxgwasmfran", VX(4, 0x4AD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10629 1.8 christos {"zvmhllgwsmf", VX(4, 0x4B0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10630 1.8 christos {"zvmhllgwsmfr", VX(4, 0x4B1), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10631 1.8 christos {"zvmhllgwsmfaa", VX(4, 0x4B2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10632 1.8 christos {"zvmhllgwsmfraa", VX(4, 0x4B3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10633 1.8 christos {"zvmhllgwsmfan", VX(4, 0x4B4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10634 1.8 christos {"zvmhllgwsmfran", VX(4, 0x4B5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10635 1.8 christos {"zvmhllgwsmfanp", VX(4, 0x4B6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10636 1.8 christos {"zvmhllgwsmfranp", VX(4, 0x4B7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10637 1.8 christos {"zmheogwsmf", VX(4, 0x4B8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10638 1.8 christos {"zmheogwsmfr", VX(4, 0x4B9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10639 1.8 christos {"zmheogwsmfaa", VX(4, 0x4BA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10640 1.8 christos {"zmheogwsmfraa", VX(4, 0x4BB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10641 1.8 christos {"zmheogwsmfan", VX(4, 0x4BC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10642 1.8 christos {"zmheogwsmfran", VX(4, 0x4BD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10643 1.8 christos {"zvdotphgwssmf", VX(4, 0x4C8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10644 1.8 christos {"zvdotphgwssmfr", VX(4, 0x4C9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10645 1.8 christos {"zvdotphgwssmfaa", VX(4, 0x4CA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10646 1.8 christos {"zvdotphgwssmfraa", VX(4, 0x4CB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10647 1.8 christos {"zvdotphgwssmfan", VX(4, 0x4CC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10648 1.8 christos {"zvdotphgwssmfran", VX(4, 0x4CD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10649 1.8 christos {"zvmhuugwsmf", VX(4, 0x4D0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10650 1.8 christos {"zvmhuugwsmfr", VX(4, 0x4D1), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10651 1.8 christos {"zvmhuugwsmfaa", VX(4, 0x4D2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10652 1.8 christos {"zvmhuugwsmfraa", VX(4, 0x4D3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10653 1.8 christos {"zvmhuugwsmfan", VX(4, 0x4D4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10654 1.8 christos {"zvmhuugwsmfran", VX(4, 0x4D5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10655 1.8 christos {"zvmhuugwsmfanp", VX(4, 0x4D6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10656 1.8 christos {"zvmhuugwsmfranp", VX(4, 0x4D7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10657 1.8 christos {"zmhogwsmf", VX(4, 0x4D8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10658 1.8 christos {"zmhogwsmfr", VX(4, 0x4D9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10659 1.8 christos {"zmhogwsmfaa", VX(4, 0x4DA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10660 1.8 christos {"zmhogwsmfraa", VX(4, 0x4DB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10661 1.8 christos {"zmhogwsmfan", VX(4, 0x4DC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10662 1.8 christos {"zmhogwsmfran", VX(4, 0x4DD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10663 1.8 christos {"zvmhxlgwsmf", VX(4, 0x4F0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10664 1.8 christos {"zvmhxlgwsmfr", VX(4, 0x4F1), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10665 1.8 christos {"zvmhxlgwsmfaa", VX(4, 0x4F2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10666 1.8 christos {"zvmhxlgwsmfraa", VX(4, 0x4F3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10667 1.8 christos {"zvmhxlgwsmfan", VX(4, 0x4F4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10668 1.8 christos {"zvmhxlgwsmfran", VX(4, 0x4F5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10669 1.8 christos {"zvmhxlgwsmfanp", VX(4, 0x4F6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10670 1.8 christos {"zvmhxlgwsmfranp", VX(4, 0x4F7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10671 1.8 christos {"zmhegui", VX(4, 0x500), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10672 1.8 christos {"zvdotphgaui", VX(4, 0x501), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10673 1.8 christos {"zmheguiaa", VX(4, 0x502), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10674 1.8 christos {"zvdotphgauiaa", VX(4, 0x503), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10675 1.8 christos {"zmheguian", VX(4, 0x504), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10676 1.8 christos {"zvdotphgauian", VX(4, 0x505), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10677 1.8 christos {"zmhegsi", VX(4, 0x508), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10678 1.8 christos {"zvdotphgasi", VX(4, 0x509), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10679 1.8 christos {"zmhegsiaa", VX(4, 0x50A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10680 1.8 christos {"zvdotphgasiaa", VX(4, 0x50B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10681 1.8 christos {"zmhegsian", VX(4, 0x50C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10682 1.8 christos {"zvdotphgasian", VX(4, 0x50D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10683 1.8 christos {"zmhegsui", VX(4, 0x510), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10684 1.8 christos {"zvdotphgasui", VX(4, 0x511), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10685 1.8 christos {"zmhegsuiaa", VX(4, 0x512), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10686 1.8 christos {"zvdotphgasuiaa", VX(4, 0x513), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10687 1.8 christos {"zmhegsuian", VX(4, 0x514), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10688 1.8 christos {"zvdotphgasuian", VX(4, 0x515), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10689 1.8 christos {"zmhegsmf", VX(4, 0x518), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10690 1.8 christos {"zvdotphgasmf", VX(4, 0x519), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10691 1.8 christos {"zmhegsmfaa", VX(4, 0x51A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10692 1.8 christos {"zvdotphgasmfaa", VX(4, 0x51B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10693 1.8 christos {"zmhegsmfan", VX(4, 0x51C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10694 1.8 christos {"zvdotphgasmfan", VX(4, 0x51D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10695 1.8 christos {"zmheogui", VX(4, 0x520), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10696 1.8 christos {"zvdotphxgaui", VX(4, 0x521), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10697 1.8 christos {"zmheoguiaa", VX(4, 0x522), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10698 1.8 christos {"zvdotphxgauiaa", VX(4, 0x523), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10699 1.8 christos {"zmheoguian", VX(4, 0x524), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10700 1.8 christos {"zvdotphxgauian", VX(4, 0x525), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10701 1.8 christos {"zmheogsi", VX(4, 0x528), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10702 1.8 christos {"zvdotphxgasi", VX(4, 0x529), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10703 1.8 christos {"zmheogsiaa", VX(4, 0x52A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10704 1.8 christos {"zvdotphxgasiaa", VX(4, 0x52B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10705 1.8 christos {"zmheogsian", VX(4, 0x52C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10706 1.8 christos {"zvdotphxgasian", VX(4, 0x52D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10707 1.8 christos {"zmheogsui", VX(4, 0x530), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10708 1.8 christos {"zvdotphxgasui", VX(4, 0x531), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10709 1.8 christos {"zmheogsuiaa", VX(4, 0x532), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10710 1.8 christos {"zvdotphxgasuiaa", VX(4, 0x533), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10711 1.8 christos {"zmheogsuian", VX(4, 0x534), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10712 1.8 christos {"zvdotphxgasuian", VX(4, 0x535), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10713 1.8 christos {"zmheogsmf", VX(4, 0x538), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10714 1.8 christos {"zvdotphxgasmf", VX(4, 0x539), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10715 1.8 christos {"zmheogsmfaa", VX(4, 0x53A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10716 1.8 christos {"zvdotphxgasmfaa", VX(4, 0x53B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10717 1.8 christos {"zmheogsmfan", VX(4, 0x53C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10718 1.8 christos {"zvdotphxgasmfan", VX(4, 0x53D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10719 1.8 christos {"zmhogui", VX(4, 0x540), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10720 1.8 christos {"zvdotphgsui", VX(4, 0x541), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10721 1.8 christos {"zmhoguiaa", VX(4, 0x542), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10722 1.8 christos {"zvdotphgsuiaa", VX(4, 0x543), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10723 1.8 christos {"zmhoguian", VX(4, 0x544), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10724 1.8 christos {"zvdotphgsuian", VX(4, 0x545), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10725 1.8 christos {"zmhogsi", VX(4, 0x548), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10726 1.8 christos {"zvdotphgssi", VX(4, 0x549), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10727 1.8 christos {"zmhogsiaa", VX(4, 0x54A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10728 1.8 christos {"zvdotphgssiaa", VX(4, 0x54B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10729 1.8 christos {"zmhogsian", VX(4, 0x54C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10730 1.8 christos {"zvdotphgssian", VX(4, 0x54D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10731 1.8 christos {"zmhogsui", VX(4, 0x550), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10732 1.8 christos {"zvdotphgssui", VX(4, 0x551), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10733 1.8 christos {"zmhogsuiaa", VX(4, 0x552), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10734 1.8 christos {"zvdotphgssuiaa", VX(4, 0x553), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10735 1.8 christos {"zmhogsuian", VX(4, 0x554), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10736 1.8 christos {"zvdotphgssuian", VX(4, 0x555), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10737 1.8 christos {"zmhogsmf", VX(4, 0x558), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10738 1.8 christos {"zvdotphgssmf", VX(4, 0x559), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10739 1.8 christos {"zmhogsmfaa", VX(4, 0x55A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10740 1.8 christos {"zvdotphgssmfaa", VX(4, 0x55B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10741 1.8 christos {"zmhogsmfan", VX(4, 0x55C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10742 1.8 christos {"zvdotphgssmfan", VX(4, 0x55D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10743 1.8 christos {"zmwgui", VX(4, 0x560), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10744 1.8 christos {"zmwguiaa", VX(4, 0x562), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10745 1.8 christos {"zmwguiaas", VX(4, 0x563), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10746 1.8 christos {"zmwguian", VX(4, 0x564), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10747 1.8 christos {"zmwguians", VX(4, 0x565), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10748 1.8 christos {"zmwgsi", VX(4, 0x568), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10749 1.8 christos {"zmwgsiaa", VX(4, 0x56A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10750 1.8 christos {"zmwgsiaas", VX(4, 0x56B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10751 1.8 christos {"zmwgsian", VX(4, 0x56C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10752 1.8 christos {"zmwgsians", VX(4, 0x56D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10753 1.8 christos {"zmwgsui", VX(4, 0x570), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10754 1.8 christos {"zmwgsuiaa", VX(4, 0x572), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10755 1.8 christos {"zmwgsuiaas", VX(4, 0x573), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10756 1.8 christos {"zmwgsuian", VX(4, 0x574), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10757 1.8 christos {"zmwgsuians", VX(4, 0x575), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10758 1.8 christos {"zmwgsmf", VX(4, 0x578), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10759 1.8 christos {"zmwgsmfr", VX(4, 0x579), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10760 1.8 christos {"zmwgsmfaa", VX(4, 0x57A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10761 1.8 christos {"zmwgsmfraa", VX(4, 0x57B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10762 1.8 christos {"zmwgsmfan", VX(4, 0x57C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10763 1.8 christos {"zmwgsmfran", VX(4, 0x57D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10764 1.8 christos {"zvmhului", VX(4, 0x580), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10765 1.8 christos {"zvmhuluiaa", VX(4, 0x582), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10766 1.8 christos {"zvmhuluiaas", VX(4, 0x583), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10767 1.8 christos {"zvmhuluian", VX(4, 0x584), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10768 1.8 christos {"zvmhuluians", VX(4, 0x585), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10769 1.8 christos {"zvmhuluianp", VX(4, 0x586), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10770 1.8 christos {"zvmhuluianps", VX(4, 0x587), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10771 1.8 christos {"zvmhulsi", VX(4, 0x588), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10772 1.8 christos {"zvmhulsiaa", VX(4, 0x58A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10773 1.8 christos {"zvmhulsiaas", VX(4, 0x58B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10774 1.8 christos {"zvmhulsian", VX(4, 0x58C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10775 1.8 christos {"zvmhulsians", VX(4, 0x58D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10776 1.8 christos {"zvmhulsianp", VX(4, 0x58E), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10777 1.8 christos {"zvmhulsianps", VX(4, 0x58F), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10778 1.8 christos {"zvmhulsui", VX(4, 0x590), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10779 1.8 christos {"zvmhulsuiaa", VX(4, 0x592), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10780 1.8 christos {"zvmhulsuiaas", VX(4, 0x593), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10781 1.8 christos {"zvmhulsuian", VX(4, 0x594), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10782 1.8 christos {"zvmhulsuians", VX(4, 0x595), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10783 1.8 christos {"zvmhulsuianp", VX(4, 0x596), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10784 1.8 christos {"zvmhulsuianps", VX(4, 0x597), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10785 1.8 christos {"zvmhulsf", VX(4, 0x598), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10786 1.8 christos {"zvmhulsfr", VX(4, 0x599), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10787 1.8 christos {"zvmhulsfaas", VX(4, 0x59A), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10788 1.8 christos {"zvmhulsfraas", VX(4, 0x59B), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10789 1.8 christos {"zvmhulsfans", VX(4, 0x59C), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10790 1.8 christos {"zvmhulsfrans", VX(4, 0x59D), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10791 1.8 christos {"zvmhulsfanps", VX(4, 0x59E), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10792 1.8 christos {"zvmhulsfranps", VX(4, 0x59F), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10793 1.8 christos {"zvmhllui", VX(4, 0x5A0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10794 1.8 christos {"zvmhlluiaa", VX(4, 0x5A2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10795 1.8 christos {"zvmhlluiaas", VX(4, 0x5A3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10796 1.8 christos {"zvmhlluian", VX(4, 0x5A4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10797 1.8 christos {"zvmhlluians", VX(4, 0x5A5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10798 1.8 christos {"zvmhlluianp", VX(4, 0x5A6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10799 1.8 christos {"zvmhlluianps", VX(4, 0x5A7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10800 1.8 christos {"zvmhllsi", VX(4, 0x5A8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10801 1.8 christos {"zvmhllsiaa", VX(4, 0x5AA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10802 1.8 christos {"zvmhllsiaas", VX(4, 0x5AB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10803 1.8 christos {"zvmhllsian", VX(4, 0x5AC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10804 1.8 christos {"zvmhllsians", VX(4, 0x5AD), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10805 1.8 christos {"zvmhllsianp", VX(4, 0x5AE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10806 1.8 christos {"zvmhllsianps", VX(4, 0x5AF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10807 1.8 christos {"zvmhllsui", VX(4, 0x5B0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10808 1.8 christos {"zvmhllsuiaa", VX(4, 0x5B2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10809 1.8 christos {"zvmhllsuiaas", VX(4, 0x5B3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10810 1.8 christos {"zvmhllsuian", VX(4, 0x5B4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10811 1.8 christos {"zvmhllsuians", VX(4, 0x5B5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10812 1.8 christos {"zvmhllsuianp", VX(4, 0x5B6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10813 1.8 christos {"zvmhllsuianps", VX(4, 0x5B7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10814 1.8 christos {"zvmhllsf", VX(4, 0x5B8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10815 1.8 christos {"zvmhllsfr", VX(4, 0x5B9), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10816 1.8 christos {"zvmhllsfaas", VX(4, 0x5BA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10817 1.8 christos {"zvmhllsfraas", VX(4, 0x5BB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10818 1.8 christos {"zvmhllsfans", VX(4, 0x5BC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10819 1.8 christos {"zvmhllsfrans", VX(4, 0x5BD), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10820 1.8 christos {"zvmhllsfanps", VX(4, 0x5BE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10821 1.8 christos {"zvmhllsfranps", VX(4, 0x5BF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10822 1.8 christos {"zvmhuuui", VX(4, 0x5C0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10823 1.8 christos {"zvmhuuuiaa", VX(4, 0x5C2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10824 1.8 christos {"zvmhuuuiaas", VX(4, 0x5C3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10825 1.8 christos {"zvmhuuuian", VX(4, 0x5C4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10826 1.8 christos {"zvmhuuuians", VX(4, 0x5C5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10827 1.8 christos {"zvmhuuuianp", VX(4, 0x5C6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10828 1.8 christos {"zvmhuuuianps", VX(4, 0x5C7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10829 1.8 christos {"zvmhuusi", VX(4, 0x5C8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10830 1.8 christos {"zvmhuusiaa", VX(4, 0x5CA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10831 1.8 christos {"zvmhuusiaas", VX(4, 0x5CB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10832 1.8 christos {"zvmhuusian", VX(4, 0x5CC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10833 1.8 christos {"zvmhuusians", VX(4, 0x5CD), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10834 1.8 christos {"zvmhuusianp", VX(4, 0x5CE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10835 1.8 christos {"zvmhuusianps", VX(4, 0x5CF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10836 1.8 christos {"zvmhuusui", VX(4, 0x5D0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10837 1.8 christos {"zvmhuusuiaa", VX(4, 0x5D2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10838 1.8 christos {"zvmhuusuiaas", VX(4, 0x5D3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10839 1.8 christos {"zvmhuusuian", VX(4, 0x5D4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10840 1.8 christos {"zvmhuusuians", VX(4, 0x5D5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10841 1.8 christos {"zvmhuusuianp", VX(4, 0x5D6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10842 1.8 christos {"zvmhuusuianps", VX(4, 0x5D7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10843 1.8 christos {"zvmhuusf", VX(4, 0x5D8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10844 1.8 christos {"zvmhuusfr", VX(4, 0x5D9), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10845 1.8 christos {"zvmhuusfaas", VX(4, 0x5DA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10846 1.8 christos {"zvmhuusfraas", VX(4, 0x5DB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10847 1.8 christos {"zvmhuusfans", VX(4, 0x5DC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10848 1.8 christos {"zvmhuusfrans", VX(4, 0x5DD), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10849 1.8 christos {"zvmhuusfanps", VX(4, 0x5DE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10850 1.8 christos {"zvmhuusfranps", VX(4, 0x5DF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10851 1.8 christos {"zvmhxlui", VX(4, 0x5E0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10852 1.8 christos {"zvmhxluiaa", VX(4, 0x5E2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10853 1.8 christos {"zvmhxluiaas", VX(4, 0x5E3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10854 1.8 christos {"zvmhxluian", VX(4, 0x5E4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10855 1.8 christos {"zvmhxluians", VX(4, 0x5E5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10856 1.8 christos {"zvmhxluianp", VX(4, 0x5E6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10857 1.8 christos {"zvmhxluianps", VX(4, 0x5E7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10858 1.8 christos {"zvmhxlsi", VX(4, 0x5E8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10859 1.8 christos {"zvmhxlsiaa", VX(4, 0x5EA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10860 1.8 christos {"zvmhxlsiaas", VX(4, 0x5EB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10861 1.8 christos {"zvmhxlsian", VX(4, 0x5EC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10862 1.8 christos {"zvmhxlsians", VX(4, 0x5ED), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10863 1.8 christos {"zvmhxlsianp", VX(4, 0x5EE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10864 1.8 christos {"zvmhxlsianps", VX(4, 0x5EF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10865 1.8 christos {"zvmhxlsui", VX(4, 0x5F0), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10866 1.8 christos {"zvmhxlsuiaa", VX(4, 0x5F2), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10867 1.8 christos {"zvmhxlsuiaas", VX(4, 0x5F3), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10868 1.8 christos {"zvmhxlsuian", VX(4, 0x5F4), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10869 1.8 christos {"zvmhxlsuians", VX(4, 0x5F5), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10870 1.8 christos {"zvmhxlsuianp", VX(4, 0x5F6), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10871 1.8 christos {"zvmhxlsuianps", VX(4, 0x5F7), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10872 1.8 christos {"zvmhxlsf", VX(4, 0x5F8), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10873 1.8 christos {"zvmhxlsfr", VX(4, 0x5F9), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10874 1.8 christos {"zvmhxlsfaas", VX(4, 0x5FA), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10875 1.8 christos {"zvmhxlsfraas", VX(4, 0x5FB), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10876 1.8 christos {"zvmhxlsfans", VX(4, 0x5FC), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10877 1.8 christos {"zvmhxlsfrans", VX(4, 0x5FD), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10878 1.8 christos {"zvmhxlsfanps", VX(4, 0x5FE), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10879 1.8 christos {"zvmhxlsfranps", VX(4, 0x5FF), VX_MASK, PPCLSP, 0, {RD_EVEN, RA, RB}}, 10880 1.8 christos {"zmheui", VX(4, 0x600), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10881 1.8 christos {"zmheuiaa", VX(4, 0x602), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10882 1.8 christos {"zmheuiaas", VX(4, 0x603), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10883 1.8 christos {"zmheuian", VX(4, 0x604), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10884 1.8 christos {"zmheuians", VX(4, 0x605), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10885 1.8 christos {"zmhesi", VX(4, 0x608), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10886 1.8 christos {"zmhesiaa", VX(4, 0x60A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10887 1.8 christos {"zmhesiaas", VX(4, 0x60B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10888 1.8 christos {"zmhesian", VX(4, 0x60C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10889 1.8 christos {"zmhesians", VX(4, 0x60D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10890 1.8 christos {"zmhesui", VX(4, 0x610), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10891 1.8 christos {"zmhesuiaa", VX(4, 0x612), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10892 1.8 christos {"zmhesuiaas", VX(4, 0x613), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10893 1.8 christos {"zmhesuian", VX(4, 0x614), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10894 1.8 christos {"zmhesuians", VX(4, 0x615), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10895 1.8 christos {"zmhesf", VX(4, 0x618), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10896 1.8 christos {"zmhesfr", VX(4, 0x619), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10897 1.8 christos {"zmhesfaas", VX(4, 0x61A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10898 1.8 christos {"zmhesfraas", VX(4, 0x61B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10899 1.8 christos {"zmhesfans", VX(4, 0x61C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10900 1.8 christos {"zmhesfrans", VX(4, 0x61D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10901 1.8 christos {"zmheoui", VX(4, 0x620), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10902 1.8 christos {"zmheouiaa", VX(4, 0x622), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10903 1.8 christos {"zmheouiaas", VX(4, 0x623), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10904 1.8 christos {"zmheouian", VX(4, 0x624), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10905 1.8 christos {"zmheouians", VX(4, 0x625), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10906 1.8 christos {"zmheosi", VX(4, 0x628), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10907 1.8 christos {"zmheosiaa", VX(4, 0x62A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10908 1.8 christos {"zmheosiaas", VX(4, 0x62B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10909 1.8 christos {"zmheosian", VX(4, 0x62C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10910 1.8 christos {"zmheosians", VX(4, 0x62D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10911 1.8 christos {"zmheosui", VX(4, 0x630), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10912 1.8 christos {"zmheosuiaa", VX(4, 0x632), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10913 1.8 christos {"zmheosuiaas", VX(4, 0x633), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10914 1.8 christos {"zmheosuian", VX(4, 0x634), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10915 1.8 christos {"zmheosuians", VX(4, 0x635), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10916 1.8 christos {"zmheosf", VX(4, 0x638), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10917 1.8 christos {"zmheosfr", VX(4, 0x639), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10918 1.8 christos {"zmheosfaas", VX(4, 0x63A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10919 1.8 christos {"zmheosfraas", VX(4, 0x63B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10920 1.8 christos {"zmheosfans", VX(4, 0x63C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10921 1.8 christos {"zmheosfrans", VX(4, 0x63D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10922 1.8 christos {"zmhoui", VX(4, 0x640), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10923 1.8 christos {"zmhouiaa", VX(4, 0x642), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10924 1.8 christos {"zmhouiaas", VX(4, 0x643), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10925 1.8 christos {"zmhouian", VX(4, 0x644), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10926 1.8 christos {"zmhouians", VX(4, 0x645), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10927 1.8 christos {"zmhosi", VX(4, 0x648), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10928 1.8 christos {"zmhosiaa", VX(4, 0x64A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10929 1.8 christos {"zmhosiaas", VX(4, 0x64B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10930 1.8 christos {"zmhosian", VX(4, 0x64C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10931 1.8 christos {"zmhosians", VX(4, 0x64D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10932 1.8 christos {"zmhosui", VX(4, 0x650), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10933 1.8 christos {"zmhosuiaa", VX(4, 0x652), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10934 1.8 christos {"zmhosuiaas", VX(4, 0x653), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10935 1.8 christos {"zmhosuian", VX(4, 0x654), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10936 1.8 christos {"zmhosuians", VX(4, 0x655), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10937 1.8 christos {"zmhosf", VX(4, 0x658), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10938 1.8 christos {"zmhosfr", VX(4, 0x659), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10939 1.8 christos {"zmhosfaas", VX(4, 0x65A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10940 1.8 christos {"zmhosfraas", VX(4, 0x65B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10941 1.8 christos {"zmhosfans", VX(4, 0x65C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10942 1.8 christos {"zmhosfrans", VX(4, 0x65D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10943 1.8 christos {"zvmhuih", VX(4, 0x660), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10944 1.8 christos {"zvmhuihs", VX(4, 0x661), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10945 1.8 christos {"zvmhuiaah", VX(4, 0x662), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10946 1.8 christos {"zvmhuiaahs", VX(4, 0x663), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10947 1.8 christos {"zvmhuianh", VX(4, 0x664), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10948 1.8 christos {"zvmhuianhs", VX(4, 0x665), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10949 1.8 christos {"zvmhsihs", VX(4, 0x669), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10950 1.8 christos {"zvmhsiaahs", VX(4, 0x66B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10951 1.8 christos {"zvmhsianhs", VX(4, 0x66D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10952 1.8 christos {"zvmhsuihs", VX(4, 0x671), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10953 1.8 christos {"zvmhsuiaahs", VX(4, 0x673), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10954 1.8 christos {"zvmhsuianhs", VX(4, 0x675), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10955 1.8 christos {"zvmhsfh", VX(4, 0x678), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10956 1.8 christos {"zvmhsfrh", VX(4, 0x679), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10957 1.8 christos {"zvmhsfaahs", VX(4, 0x67A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10958 1.8 christos {"zvmhsfraahs", VX(4, 0x67B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10959 1.8 christos {"zvmhsfanhs", VX(4, 0x67C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10960 1.8 christos {"zvmhsfranhs", VX(4, 0x67D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10961 1.8 christos {"zvdotphaui", VX(4, 0x680), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10962 1.8 christos {"zvdotphauis", VX(4, 0x681), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10963 1.8 christos {"zvdotphauiaa", VX(4, 0x682), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10964 1.8 christos {"zvdotphauiaas", VX(4, 0x683), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10965 1.8 christos {"zvdotphauian", VX(4, 0x684), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10966 1.8 christos {"zvdotphauians", VX(4, 0x685), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10967 1.8 christos {"zvdotphasi", VX(4, 0x688), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10968 1.8 christos {"zvdotphasis", VX(4, 0x689), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10969 1.8 christos {"zvdotphasiaa", VX(4, 0x68A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10970 1.8 christos {"zvdotphasiaas", VX(4, 0x68B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10971 1.8 christos {"zvdotphasian", VX(4, 0x68C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10972 1.8 christos {"zvdotphasians", VX(4, 0x68D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10973 1.8 christos {"zvdotphasui", VX(4, 0x690), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10974 1.8 christos {"zvdotphasuis", VX(4, 0x691), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10975 1.8 christos {"zvdotphasuiaa", VX(4, 0x692), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10976 1.8 christos {"zvdotphasuiaas", VX(4, 0x693), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10977 1.8 christos {"zvdotphasuian", VX(4, 0x694), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10978 1.8 christos {"zvdotphasuians", VX(4, 0x695), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10979 1.8 christos {"zvdotphasfs", VX(4, 0x698), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10980 1.8 christos {"zvdotphasfrs", VX(4, 0x699), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10981 1.8 christos {"zvdotphasfaas", VX(4, 0x69A), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10982 1.8 christos {"zvdotphasfraas", VX(4, 0x69B), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10983 1.8 christos {"zvdotphasfans", VX(4, 0x69C), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10984 1.8 christos {"zvdotphasfrans", VX(4, 0x69D), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10985 1.8 christos {"zvdotphxaui", VX(4, 0x6A0), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10986 1.8 christos {"zvdotphxauis", VX(4, 0x6A1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10987 1.8 christos {"zvdotphxauiaa", VX(4, 0x6A2), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10988 1.8 christos {"zvdotphxauiaas", VX(4, 0x6A3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10989 1.8 christos {"zvdotphxauian", VX(4, 0x6A4), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10990 1.8 christos {"zvdotphxauians", VX(4, 0x6A5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10991 1.8 christos {"zvdotphxasi", VX(4, 0x6A8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10992 1.8 christos {"zvdotphxasis", VX(4, 0x6A9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10993 1.8 christos {"zvdotphxasiaa", VX(4, 0x6AA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10994 1.8 christos {"zvdotphxasiaas", VX(4, 0x6AB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10995 1.8 christos {"zvdotphxasian", VX(4, 0x6AC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10996 1.8 christos {"zvdotphxasians", VX(4, 0x6AD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10997 1.8 christos {"zvdotphxasui", VX(4, 0x6B0), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10998 1.8 christos {"zvdotphxasuis", VX(4, 0x6B1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 10999 1.8 christos {"zvdotphxasuiaa", VX(4, 0x6B2), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11000 1.8 christos {"zvdotphxasuiaas", VX(4, 0x6B3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11001 1.8 christos {"zvdotphxasuian", VX(4, 0x6B4), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11002 1.8 christos {"zvdotphxasuians", VX(4, 0x6B5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11003 1.8 christos {"zvdotphxasfs", VX(4, 0x6B8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11004 1.8 christos {"zvdotphxasfrs", VX(4, 0x6B9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11005 1.8 christos {"zvdotphxasfaas", VX(4, 0x6BA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11006 1.8 christos {"zvdotphxasfraas", VX(4, 0x6BB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11007 1.8 christos {"zvdotphxasfans", VX(4, 0x6BC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11008 1.8 christos {"zvdotphxasfrans", VX(4, 0x6BD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11009 1.8 christos {"zvdotphsui", VX(4, 0x6C0), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11010 1.8 christos {"zvdotphsuis", VX(4, 0x6C1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11011 1.8 christos {"zvdotphsuiaa", VX(4, 0x6C2), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11012 1.8 christos {"zvdotphsuiaas", VX(4, 0x6C3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11013 1.8 christos {"zvdotphsuian", VX(4, 0x6C4), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11014 1.8 christos {"zvdotphsuians", VX(4, 0x6C5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11015 1.8 christos {"zvdotphssi", VX(4, 0x6C8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11016 1.8 christos {"zvdotphssis", VX(4, 0x6C9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11017 1.8 christos {"zvdotphssiaa", VX(4, 0x6CA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11018 1.8 christos {"zvdotphssiaas", VX(4, 0x6CB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11019 1.8 christos {"zvdotphssian", VX(4, 0x6CC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11020 1.8 christos {"zvdotphssians", VX(4, 0x6CD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11021 1.8 christos {"zvdotphssui", VX(4, 0x6D0), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11022 1.8 christos {"zvdotphssuis", VX(4, 0x6D1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11023 1.8 christos {"zvdotphssuiaa", VX(4, 0x6D2), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11024 1.8 christos {"zvdotphssuiaas", VX(4, 0x6D3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11025 1.8 christos {"zvdotphssuian", VX(4, 0x6D4), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11026 1.8 christos {"zvdotphssuians", VX(4, 0x6D5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11027 1.8 christos {"zvdotphssfs", VX(4, 0x6D8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11028 1.8 christos {"zvdotphssfrs", VX(4, 0x6D9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11029 1.8 christos {"zvdotphssfaas", VX(4, 0x6DA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11030 1.8 christos {"zvdotphssfraas", VX(4, 0x6DB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11031 1.8 christos {"zvdotphssfans", VX(4, 0x6DC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11032 1.8 christos {"zvdotphssfrans", VX(4, 0x6DD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11033 1.8 christos {"zmwluis", VX(4, 0x6E1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11034 1.8 christos {"zmwluiaa", VX(4, 0x6E2), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11035 1.8 christos {"zmwluiaas", VX(4, 0x6E3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11036 1.8 christos {"zmwluian", VX(4, 0x6E4), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11037 1.8 christos {"zmwluians", VX(4, 0x6E5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11038 1.8 christos {"zmwlsis", VX(4, 0x6E9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11039 1.8 christos {"zmwlsiaas", VX(4, 0x6EB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11040 1.8 christos {"zmwlsians", VX(4, 0x6ED), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11041 1.8 christos {"zmwlsuis", VX(4, 0x6F1), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11042 1.8 christos {"zmwlsuiaas", VX(4, 0x6F3), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11043 1.8 christos {"zmwlsuians", VX(4, 0x6F5), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11044 1.4 christos {"zmwsf", VX(4, 0x6F8), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11045 1.4 christos {"zmwsfr", VX(4, 0x6F9), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11046 1.12 christos {"zmwsfaas", VX(4, 0x6FA), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11047 1.8 christos {"zmwsfraas", VX(4, 0x6FB), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11048 1.8 christos {"zmwsfans", VX(4, 0x6FC), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11049 1.8 christos {"zmwsfrans", VX(4, 0x6FD), VX_MASK, PPCLSP, 0, {RD, RA, RB}}, 11050 1.8 christos }; 11051 1.8 christos 11052 1.8 christos const unsigned int lsp_num_opcodes = ARRAY_SIZE (lsp_opcodes); 11053 1.8 christos 11054 1.8 christos /* SPE v2 instruction set from SPE2PIM Rev. 2 08/2011 */ 11055 1.8 christos const struct powerpc_opcode spe2_opcodes[] = { 11056 1.8 christos {"evdotpwcssi", VX (4, 128), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11057 1.8 christos {"evdotpwcsmi", VX (4, 129), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11058 1.8 christos {"evdotpwcssfr", VX (4, 130), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11059 1.8 christos {"evdotpwcssf", VX (4, 131), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11060 1.8 christos {"evdotpwgasmf", VX (4, 136), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11061 1.8 christos {"evdotpwxgasmf", VX (4, 137), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11062 1.8 christos {"evdotpwgasmfr", VX (4, 138), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11063 1.8 christos {"evdotpwxgasmfr", VX (4, 139), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11064 1.8 christos {"evdotpwgssmf", VX (4, 140), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11065 1.8 christos {"evdotpwxgssmf", VX (4, 141), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11066 1.8 christos {"evdotpwgssmfr", VX (4, 142), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11067 1.8 christos {"evdotpwxgssmfr", VX (4, 143), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11068 1.8 christos {"evdotpwcssiaaw3", VX (4, 144), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11069 1.8 christos {"evdotpwcsmiaaw3", VX (4, 145), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11070 1.8 christos {"evdotpwcssfraaw3", VX (4, 146), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11071 1.8 christos {"evdotpwcssfaaw3", VX (4, 147), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11072 1.8 christos {"evdotpwgasmfaa3", VX (4, 152), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11073 1.8 christos {"evdotpwxgasmfaa3", VX (4, 153), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11074 1.8 christos {"evdotpwgasmfraa3", VX (4, 154), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11075 1.8 christos {"evdotpwxgasmfraa3", VX (4, 155), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11076 1.8 christos {"evdotpwgssmfaa3", VX (4, 156), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11077 1.8 christos {"evdotpwxgssmfaa3", VX (4, 157), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11078 1.8 christos {"evdotpwgssmfraa3", VX (4, 158), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11079 1.8 christos {"evdotpwxgssmfraa3", VX (4, 159), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11080 1.8 christos {"evdotpwcssia", VX (4, 160), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11081 1.8 christos {"evdotpwcsmia", VX (4, 161), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11082 1.8 christos {"evdotpwcssfra", VX (4, 162), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11083 1.8 christos {"evdotpwcssfa", VX (4, 163), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11084 1.8 christos {"evdotpwgasmfa", VX (4, 168), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11085 1.8 christos {"evdotpwxgasmfa", VX (4, 169), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11086 1.8 christos {"evdotpwgasmfra", VX (4, 170), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11087 1.8 christos {"evdotpwxgasmfra", VX (4, 171), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11088 1.8 christos {"evdotpwgssmfa", VX (4, 172), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11089 1.8 christos {"evdotpwxgssmfa", VX (4, 173), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11090 1.8 christos {"evdotpwgssmfra", VX (4, 174), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11091 1.8 christos {"evdotpwxgssmfra", VX (4, 175), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11092 1.8 christos {"evdotpwcssiaaw", VX (4, 176), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11093 1.8 christos {"evdotpwcsmiaaw", VX (4, 177), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11094 1.8 christos {"evdotpwcssfraaw", VX (4, 178), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11095 1.8 christos {"evdotpwcssfaaw", VX (4, 179), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11096 1.8 christos {"evdotpwgasmfaa", VX (4, 184), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11097 1.8 christos {"evdotpwxgasmfaa", VX (4, 185), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11098 1.8 christos {"evdotpwgasmfraa", VX (4, 186), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11099 1.8 christos {"evdotpwxgasmfraa", VX (4, 187), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11100 1.8 christos {"evdotpwgssmfaa", VX (4, 188), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11101 1.8 christos {"evdotpwxgssmfaa", VX (4, 189), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11102 1.8 christos {"evdotpwgssmfraa", VX (4, 190), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11103 1.8 christos {"evdotpwxgssmfraa", VX (4, 191), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11104 1.8 christos {"evdotphihcssi", VX (4, 256), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11105 1.8 christos {"evdotplohcssi", VX (4, 257), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11106 1.8 christos {"evdotphihcssf", VX (4, 258), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11107 1.8 christos {"evdotplohcssf", VX (4, 259), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11108 1.8 christos {"evdotphihcsmi", VX (4, 264), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11109 1.8 christos {"evdotplohcsmi", VX (4, 265), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11110 1.8 christos {"evdotphihcssfr", VX (4, 266), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11111 1.8 christos {"evdotplohcssfr", VX (4, 267), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11112 1.8 christos {"evdotphihcssiaaw3", VX (4, 272), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11113 1.8 christos {"evdotplohcssiaaw3", VX (4, 273), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11114 1.8 christos {"evdotphihcssfaaw3", VX (4, 274), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11115 1.8 christos {"evdotplohcssfaaw3", VX (4, 275), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11116 1.8 christos {"evdotphihcsmiaaw3", VX (4, 280), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11117 1.8 christos {"evdotplohcsmiaaw3", VX (4, 281), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11118 1.8 christos {"evdotphihcssfraaw3", VX (4, 282), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11119 1.8 christos {"evdotplohcssfraaw3", VX (4, 283), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11120 1.8 christos {"evdotphihcssia", VX (4, 288), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11121 1.8 christos {"evdotplohcssia", VX (4, 289), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11122 1.8 christos {"evdotphihcssfa", VX (4, 290), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11123 1.8 christos {"evdotplohcssfa", VX (4, 291), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11124 1.8 christos {"evdotphihcsmia", VX (4, 296), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11125 1.8 christos {"evdotplohcsmia", VX (4, 297), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11126 1.8 christos {"evdotphihcssfra", VX (4, 298), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11127 1.8 christos {"evdotplohcssfra", VX (4, 299), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11128 1.8 christos {"evdotphihcssiaaw", VX (4, 304), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11129 1.8 christos {"evdotplohcssiaaw", VX (4, 305), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11130 1.8 christos {"evdotphihcssfaaw", VX (4, 306), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11131 1.8 christos {"evdotplohcssfaaw", VX (4, 307), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11132 1.8 christos {"evdotphihcsmiaaw", VX (4, 312), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11133 1.8 christos {"evdotplohcsmiaaw", VX (4, 313), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11134 1.8 christos {"evdotphihcssfraaw", VX (4, 314), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11135 1.8 christos {"evdotplohcssfraaw", VX (4, 315), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11136 1.8 christos {"evdotphausi", VX (4, 320), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11137 1.8 christos {"evdotphassi", VX (4, 321), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11138 1.8 christos {"evdotphasusi", VX (4, 322), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11139 1.8 christos {"evdotphassf", VX (4, 323), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11140 1.11 christos {"evdotphsssf", VX (4, 327), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11141 1.8 christos {"evdotphaumi", VX (4, 328), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11142 1.8 christos {"evdotphasmi", VX (4, 329), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11143 1.8 christos {"evdotphasumi", VX (4, 330), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11144 1.8 christos {"evdotphassfr", VX (4, 331), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11145 1.8 christos {"evdotphssmi", VX (4, 333), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11146 1.8 christos {"evdotphsssi", VX (4, 333), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11147 1.8 christos {"evdotphsssfr", VX (4, 335), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11148 1.8 christos {"evdotphausiaaw3", VX (4, 336), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11149 1.8 christos {"evdotphassiaaw3", VX (4, 337), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11150 1.8 christos {"evdotphasusiaaw3", VX (4, 338), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11151 1.8 christos {"evdotphassfaaw3", VX (4, 339), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11152 1.8 christos {"evdotphsssiaaw3", VX (4, 341), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11153 1.8 christos {"evdotphsssfaaw3", VX (4, 343), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11154 1.8 christos {"evdotphaumiaaw3", VX (4, 344), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11155 1.8 christos {"evdotphasmiaaw3", VX (4, 345), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11156 1.8 christos {"evdotphasumiaaw3", VX (4, 346), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11157 1.8 christos {"evdotphassfraaw3", VX (4, 347), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11158 1.8 christos {"evdotphssmiaaw3", VX (4, 349), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11159 1.8 christos {"evdotphsssfraaw3", VX (4, 351), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11160 1.8 christos {"evdotphausia", VX (4, 352), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11161 1.8 christos {"evdotphassia", VX (4, 353), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11162 1.8 christos {"evdotphasusia", VX (4, 354), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11163 1.8 christos {"evdotphassfa", VX (4, 355), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11164 1.11 christos {"evdotphsssfa", VX (4, 359), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11165 1.8 christos {"evdotphaumia", VX (4, 360), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11166 1.8 christos {"evdotphasmia", VX (4, 361), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11167 1.8 christos {"evdotphasumia", VX (4, 362), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11168 1.8 christos {"evdotphassfra", VX (4, 363), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11169 1.8 christos {"evdotphssmia", VX (4, 365), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11170 1.8 christos {"evdotphsssia", VX (4, 365), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11171 1.8 christos {"evdotphsssfra", VX (4, 367), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11172 1.8 christos {"evdotphausiaaw", VX (4, 368), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11173 1.8 christos {"evdotphassiaaw", VX (4, 369), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11174 1.8 christos {"evdotphasusiaaw", VX (4, 370), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11175 1.8 christos {"evdotphassfaaw", VX (4, 371), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11176 1.8 christos {"evdotphsssiaaw", VX (4, 373), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11177 1.8 christos {"evdotphsssfaaw", VX (4, 375), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11178 1.8 christos {"evdotphaumiaaw", VX (4, 376), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11179 1.8 christos {"evdotphasmiaaw", VX (4, 377), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11180 1.8 christos {"evdotphasumiaaw", VX (4, 378), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11181 1.8 christos {"evdotphassfraaw", VX (4, 379), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11182 1.8 christos {"evdotphssmiaaw", VX (4, 381), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11183 1.8 christos {"evdotphsssfraaw", VX (4, 383), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11184 1.8 christos {"evdotp4hgaumi", VX (4, 384), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11185 1.8 christos {"evdotp4hgasmi", VX (4, 385), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11186 1.8 christos {"evdotp4hgasumi", VX (4, 386), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11187 1.8 christos {"evdotp4hgasmf", VX (4, 387), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11188 1.8 christos {"evdotp4hgssmi", VX (4, 388), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11189 1.8 christos {"evdotp4hgssmf", VX (4, 389), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11190 1.8 christos {"evdotp4hxgasmi", VX (4, 390), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11191 1.8 christos {"evdotp4hxgasmf", VX (4, 391), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11192 1.8 christos {"evdotpbaumi", VX (4, 392), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11193 1.8 christos {"evdotpbasmi", VX (4, 393), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11194 1.8 christos {"evdotpbasumi", VX (4, 394), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11195 1.8 christos {"evdotp4hxgssmi", VX (4, 398), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11196 1.8 christos {"evdotp4hxgssmf", VX (4, 399), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11197 1.8 christos {"evdotp4hgaumiaa3", VX (4, 400), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11198 1.8 christos {"evdotp4hgasmiaa3", VX (4, 401), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11199 1.8 christos {"evdotp4hgasumiaa3", VX (4, 402), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11200 1.8 christos {"evdotp4hgasmfaa3", VX (4, 403), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11201 1.8 christos {"evdotp4hgssmiaa3", VX (4, 404), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11202 1.8 christos {"evdotp4hgssmfaa3", VX (4, 405), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11203 1.8 christos {"evdotp4hxgasmiaa3", VX (4, 406), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11204 1.8 christos {"evdotp4hxgasmfaa3", VX (4, 407), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11205 1.8 christos {"evdotpbaumiaaw3", VX (4, 408), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11206 1.8 christos {"evdotpbasmiaaw3", VX (4, 409), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11207 1.8 christos {"evdotpbasumiaaw3", VX (4, 410), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11208 1.8 christos {"evdotp4hxgssmiaa3", VX (4, 414), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11209 1.8 christos {"evdotp4hxgssmfaa3", VX (4, 415), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11210 1.8 christos {"evdotp4hgaumia", VX (4, 416), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11211 1.8 christos {"evdotp4hgasmia", VX (4, 417), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11212 1.8 christos {"evdotp4hgasumia", VX (4, 418), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11213 1.8 christos {"evdotp4hgasmfa", VX (4, 419), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11214 1.8 christos {"evdotp4hgssmia", VX (4, 420), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11215 1.8 christos {"evdotp4hgssmfa", VX (4, 421), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11216 1.8 christos {"evdotp4hxgasmia", VX (4, 422), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11217 1.8 christos {"evdotp4hxgasmfa", VX (4, 423), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11218 1.8 christos {"evdotpbaumia", VX (4, 424), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11219 1.8 christos {"evdotpbasmia", VX (4, 425), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11220 1.8 christos {"evdotpbasumia", VX (4, 426), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11221 1.8 christos {"evdotp4hxgssmia", VX (4, 430), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11222 1.8 christos {"evdotp4hxgssmfa", VX (4, 431), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11223 1.8 christos {"evdotp4hgaumiaa", VX (4, 432), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11224 1.8 christos {"evdotp4hgasmiaa", VX (4, 433), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11225 1.8 christos {"evdotp4hgasumiaa", VX (4, 434), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11226 1.8 christos {"evdotp4hgasmfaa", VX (4, 435), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11227 1.8 christos {"evdotp4hgssmiaa", VX (4, 436), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11228 1.8 christos {"evdotp4hgssmfaa", VX (4, 437), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11229 1.8 christos {"evdotp4hxgasmiaa", VX (4, 438), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11230 1.8 christos {"evdotp4hxgasmfaa", VX (4, 439), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11231 1.8 christos {"evdotpbaumiaaw", VX (4, 440), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11232 1.8 christos {"evdotpbasmiaaw", VX (4, 441), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11233 1.8 christos {"evdotpbasumiaaw", VX (4, 442), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11234 1.8 christos {"evdotp4hxgssmiaa", VX (4, 446), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11235 1.8 christos {"evdotp4hxgssmfaa", VX (4, 447), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11236 1.8 christos {"evdotpwausi", VX (4, 448), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11237 1.11 christos {"evdotpwassi", VX (4, 449), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11238 1.8 christos {"evdotpwasusi", VX (4, 450), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11239 1.8 christos {"evdotpwaumi", VX (4, 456), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11240 1.8 christos {"evdotpwasmi", VX (4, 457), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11241 1.8 christos {"evdotpwasumi", VX (4, 458), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11242 1.8 christos {"evdotpwssmi", VX (4, 461), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11243 1.8 christos {"evdotpwsssi", VX (4, 461), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11244 1.8 christos {"evdotpwausiaa3", VX (4, 464), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11245 1.8 christos {"evdotpwassiaa3", VX (4, 465), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11246 1.8 christos {"evdotpwasusiaa3", VX (4, 466), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11247 1.8 christos {"evdotpwsssiaa3", VX (4, 469), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11248 1.8 christos {"evdotpwaumiaa3", VX (4, 472), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11249 1.8 christos {"evdotpwasmiaa3", VX (4, 473), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11250 1.8 christos {"evdotpwasumiaa3", VX (4, 474), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11251 1.8 christos {"evdotpwssmiaa3", VX (4, 477), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11252 1.8 christos {"evdotpwausia", VX (4, 480), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11253 1.11 christos {"evdotpwassia", VX (4, 481), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11254 1.8 christos {"evdotpwasusia", VX (4, 482), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11255 1.8 christos {"evdotpwaumia", VX (4, 488), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11256 1.8 christos {"evdotpwasmia", VX (4, 489), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11257 1.8 christos {"evdotpwasumia", VX (4, 490), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11258 1.8 christos {"evdotpwssmia", VX (4, 493), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11259 1.8 christos {"evdotpwsssia", VX (4, 493), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11260 1.8 christos {"evdotpwausiaa", VX (4, 496), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11261 1.8 christos {"evdotpwassiaa", VX (4, 497), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11262 1.8 christos {"evdotpwasusiaa", VX (4, 498), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11263 1.8 christos {"evdotpwsssiaa", VX (4, 501), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11264 1.8 christos {"evdotpwaumiaa", VX (4, 504), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11265 1.8 christos {"evdotpwasmiaa", VX (4, 505), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11266 1.8 christos {"evdotpwasumiaa", VX (4, 506), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11267 1.8 christos {"evdotpwssmiaa", VX (4, 509), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11268 1.8 christos {"evaddib", VX (4, 515), VX_MASK, PPCSPE2, 0, {RD, RB, UIMM}}, 11269 1.8 christos {"evaddih", VX (4, 513), VX_MASK, PPCSPE2, 0, {RD, RB, UIMM}}, 11270 1.8 christos {"evsubifh", VX (4, 517), VX_MASK, PPCSPE2, 0, {RD, UIMM, RB}}, 11271 1.8 christos {"evsubifb", VX (4, 519), VX_MASK, PPCSPE2, 0, {RD, UIMM, RB}}, 11272 1.8 christos {"evabsb", VX_RB_CONST(4, 520, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11273 1.8 christos {"evabsh", VX_RB_CONST(4, 520, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11274 1.8 christos {"evabsd", VX_RB_CONST(4, 520, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11275 1.8 christos {"evabss", VX_RB_CONST(4, 520, 8), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11276 1.8 christos {"evabsbs", VX_RB_CONST(4, 520, 10), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11277 1.8 christos {"evabshs", VX_RB_CONST(4, 520, 12), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11278 1.8 christos {"evabsds", VX_RB_CONST(4, 520, 14), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11279 1.8 christos {"evnegwo", VX_RB_CONST(4, 521, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11280 1.8 christos {"evnegb", VX_RB_CONST(4, 521, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11281 1.8 christos {"evnegbo", VX_RB_CONST(4, 521, 3), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11282 1.8 christos {"evnegh", VX_RB_CONST(4, 521, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11283 1.8 christos {"evnegho", VX_RB_CONST(4, 521, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11284 1.8 christos {"evnegd", VX_RB_CONST(4, 521, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11285 1.8 christos {"evnegs", VX_RB_CONST(4, 521, 8), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11286 1.8 christos {"evnegwos", VX_RB_CONST(4, 521, 9), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11287 1.8 christos {"evnegbs", VX_RB_CONST(4, 521, 10), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11288 1.8 christos {"evnegbos", VX_RB_CONST(4, 521, 11), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11289 1.8 christos {"evneghs", VX_RB_CONST(4, 521, 12), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11290 1.8 christos {"evneghos", VX_RB_CONST(4, 521, 13), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11291 1.8 christos {"evnegds", VX_RB_CONST(4, 521, 14), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11292 1.8 christos {"evextzb", VX_RB_CONST(4, 522, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11293 1.8 christos {"evextsbh", VX_RB_CONST(4, 522, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11294 1.8 christos {"evextsw", VX_RB_CONST(4, 523, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11295 1.8 christos {"evrndwh", VX_RB_CONST(4, 524, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11296 1.8 christos {"evrndhb", VX_RB_CONST(4, 524, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11297 1.8 christos {"evrnddw", VX_RB_CONST(4, 524, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11298 1.8 christos {"evrndwhus", VX_RB_CONST(4, 524, 8), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11299 1.8 christos {"evrndwhss", VX_RB_CONST(4, 524, 9), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11300 1.8 christos {"evrndhbus", VX_RB_CONST(4, 524, 12), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11301 1.8 christos {"evrndhbss", VX_RB_CONST(4, 524, 13), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11302 1.8 christos {"evrnddwus", VX_RB_CONST(4, 524, 14), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11303 1.8 christos {"evrnddwss", VX_RB_CONST(4, 524, 15), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11304 1.8 christos {"evrndwnh", VX_RB_CONST(4, 524, 16), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11305 1.8 christos {"evrndhnb", VX_RB_CONST(4, 524, 20), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11306 1.8 christos {"evrnddnw", VX_RB_CONST(4, 524, 22), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11307 1.8 christos {"evrndwnhus", VX_RB_CONST(4, 524, 24), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11308 1.8 christos {"evrndwnhss", VX_RB_CONST(4, 524, 25), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11309 1.8 christos {"evrndhnbus", VX_RB_CONST(4, 524, 28), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11310 1.8 christos {"evrndhnbss", VX_RB_CONST(4, 524, 29), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11311 1.8 christos {"evrnddnwus", VX_RB_CONST(4, 524, 30), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11312 1.8 christos {"evrnddnwss", VX_RB_CONST(4, 524, 31), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11313 1.8 christos {"evcntlzh", VX_RB_CONST(4, 525, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11314 1.8 christos {"evcntlsh", VX_RB_CONST(4, 526, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11315 1.8 christos {"evpopcntb", VX_RB_CONST(4, 526, 26), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11316 1.8 christos {"circinc", VX (4, 528), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11317 1.8 christos {"evunpkhibui", VX_RB_CONST(4, 540, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11318 1.8 christos {"evunpkhibsi", VX_RB_CONST(4, 540, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11319 1.8 christos {"evunpkhihui", VX_RB_CONST(4, 540, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11320 1.8 christos {"evunpkhihsi", VX_RB_CONST(4, 540, 3), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11321 1.8 christos {"evunpklobui", VX_RB_CONST(4, 540, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11322 1.8 christos {"evunpklobsi", VX_RB_CONST(4, 540, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11323 1.8 christos {"evunpklohui", VX_RB_CONST(4, 540, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11324 1.8 christos {"evunpklohsi", VX_RB_CONST(4, 540, 7), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11325 1.8 christos {"evunpklohf", VX_RB_CONST(4, 540, 8), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11326 1.8 christos {"evunpkhihf", VX_RB_CONST(4, 540, 9), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11327 1.8 christos {"evunpklowgsf", VX_RB_CONST(4, 540, 12), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11328 1.8 christos {"evunpkhiwgsf", VX_RB_CONST(4, 540, 13), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11329 1.8 christos {"evsatsduw", VX_RB_CONST(4, 540, 16), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11330 1.8 christos {"evsatsdsw", VX_RB_CONST(4, 540, 17), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11331 1.8 christos {"evsatshub", VX_RB_CONST(4, 540, 18), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11332 1.8 christos {"evsatshsb", VX_RB_CONST(4, 540, 19), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11333 1.8 christos {"evsatuwuh", VX_RB_CONST(4, 540, 20), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11334 1.8 christos {"evsatswsh", VX_RB_CONST(4, 540, 21), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11335 1.8 christos {"evsatswuh", VX_RB_CONST(4, 540, 22), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11336 1.8 christos {"evsatuhub", VX_RB_CONST(4, 540, 23), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11337 1.8 christos {"evsatuduw", VX_RB_CONST(4, 540, 24), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11338 1.8 christos {"evsatuwsw", VX_RB_CONST(4, 540, 25), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11339 1.8 christos {"evsatshuh", VX_RB_CONST(4, 540, 26), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11340 1.8 christos {"evsatuhsh", VX_RB_CONST(4, 540, 27), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11341 1.8 christos {"evsatswuw", VX_RB_CONST(4, 540, 28), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11342 1.8 christos {"evsatswgsdf", VX_RB_CONST(4, 540, 29), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11343 1.8 christos {"evsatsbub", VX_RB_CONST(4, 540, 30), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11344 1.8 christos {"evsatubsb", VX_RB_CONST(4, 540, 31), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11345 1.8 christos {"evmaxhpuw", VX_RB_CONST(4, 541, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11346 1.8 christos {"evmaxhpsw", VX_RB_CONST(4, 541, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11347 1.8 christos {"evmaxbpuh", VX_RB_CONST(4, 541, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11348 1.8 christos {"evmaxbpsh", VX_RB_CONST(4, 541, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11349 1.8 christos {"evmaxwpud", VX_RB_CONST(4, 541, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11350 1.8 christos {"evmaxwpsd", VX_RB_CONST(4, 541, 7), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11351 1.8 christos {"evminhpuw", VX_RB_CONST(4, 541, 8), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11352 1.8 christos {"evminhpsw", VX_RB_CONST(4, 541, 9), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11353 1.8 christos {"evminbpuh", VX_RB_CONST(4, 541, 12), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11354 1.8 christos {"evminbpsh", VX_RB_CONST(4, 541, 13), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11355 1.8 christos {"evminwpud", VX_RB_CONST(4, 541, 14), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11356 1.8 christos {"evminwpsd", VX_RB_CONST(4, 541, 15), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11357 1.8 christos {"evmaxmagws", VX (4, 543), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11358 1.8 christos {"evsl", VX (4, 549), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11359 1.8 christos {"evsli", VX (4, 551), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM}}, 11360 1.8 christos {"evsplatie", VX_RB_CONST (4, 553, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11361 1.8 christos {"evsplatib", VX_RB_CONST (4, 553, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11362 1.8 christos {"evsplatibe", VX_RB_CONST (4, 553, 3), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11363 1.8 christos {"evsplatih", VX_RB_CONST (4, 553, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11364 1.8 christos {"evsplatihe", VX_RB_CONST (4, 553, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11365 1.8 christos {"evsplatid", VX_RB_CONST (4, 553, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11366 1.8 christos {"evsplatia", VX_RB_CONST (4, 553, 16), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11367 1.8 christos {"evsplatiea", VX_RB_CONST (4, 553, 17), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11368 1.8 christos {"evsplatiba", VX_RB_CONST (4, 553, 18), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11369 1.8 christos {"evsplatibea", VX_RB_CONST (4, 553, 19), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11370 1.8 christos {"evsplatiha", VX_RB_CONST (4, 553, 20), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11371 1.8 christos {"evsplatihea", VX_RB_CONST (4, 553, 21), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11372 1.8 christos {"evsplatida", VX_RB_CONST (4, 553, 22), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11373 1.8 christos {"evsplatfio", VX_RB_CONST (4, 555, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11374 1.8 christos {"evsplatfib", VX_RB_CONST (4, 555, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11375 1.8 christos {"evsplatfibo", VX_RB_CONST (4, 555, 3), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11376 1.8 christos {"evsplatfih", VX_RB_CONST (4, 555, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11377 1.8 christos {"evsplatfiho", VX_RB_CONST (4, 555, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11378 1.8 christos {"evsplatfid", VX_RB_CONST (4, 555, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11379 1.8 christos {"evsplatfia", VX_RB_CONST (4, 555, 16), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11380 1.8 christos {"evsplatfioa", VX_RB_CONST (4, 555, 17), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11381 1.8 christos {"evsplatfiba", VX_RB_CONST (4, 555, 18), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11382 1.8 christos {"evsplatfiboa", VX_RB_CONST (4, 555, 19), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11383 1.8 christos {"evsplatfiha", VX_RB_CONST (4, 555, 20), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11384 1.8 christos {"evsplatfihoa", VX_RB_CONST (4, 555, 21), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11385 1.8 christos {"evsplatfida", VX_RB_CONST (4, 555, 22), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, SIMM}}, 11386 1.8 christos {"evcmpgtdu", VX_SPE_CRFD (4, 560, 1), VX_SPE_CRFD_MASK, PPCSPE2, 0, {CRFD, RA, RB}}, 11387 1.8 christos {"evcmpgtds", VX_SPE_CRFD (4, 561, 1), VX_SPE_CRFD_MASK, PPCSPE2, 0, {CRFD, RA, RB}}, 11388 1.8 christos {"evcmpltdu", VX_SPE_CRFD (4, 562, 1), VX_SPE_CRFD_MASK, PPCSPE2, 0, {CRFD, RA, RB}}, 11389 1.8 christos {"evcmpltds", VX_SPE_CRFD (4, 563, 1), VX_SPE_CRFD_MASK, PPCSPE2, 0, {CRFD, RA, RB}}, 11390 1.8 christos {"evcmpeqd", VX_SPE_CRFD (4, 564, 1), VX_SPE_CRFD_MASK, PPCSPE2, 0, {CRFD, RA, RB}}, 11391 1.8 christos {"evswapbhilo", VX (4, 568), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11392 1.8 christos {"evswapblohi", VX (4, 569), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11393 1.8 christos {"evswaphhilo", VX (4, 570), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11394 1.8 christos {"evswaphlohi", VX (4, 571), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11395 1.8 christos {"evswaphe", VX (4, 572), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11396 1.8 christos {"evswaphhi", VX (4, 573), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11397 1.8 christos {"evswaphlo", VX (4, 574), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11398 1.8 christos {"evswapho", VX (4, 575), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11399 1.8 christos {"evinsb", VX (4, 584), VX_MASK_DDD, PPCSPE2, 0, {RD, RA, DDD, BBB}}, 11400 1.8 christos {"evxtrb", VX (4, 586), VX_MASK_DDD, PPCSPE2, 0, {RD, RA, DDD, BBB}}, 11401 1.8 christos {"evsplath", VX_SPE2_HH (4, 588, 0, 0), VX_SPE2_HH_MASK, PPCSPE2, 0, {RD, RA, HH}}, 11402 1.8 christos {"evsplatb", VX_SPE2_SPLATB (4, 588, 2), VX_SPE2_SPLATB_MASK, PPCSPE2, 0, {RD, RA, BBB}}, 11403 1.8 christos {"evinsh", VX_SPE2_DDHH (4, 589, 0), VX_SPE2_DDHH_MASK, PPCSPE2, 0, {RD, RA, DD, HH}}, 11404 1.8 christos {"evclrbe", VX_SPE2_CLR (4, 590, 0), VX_SPE2_CLR_MASK, PPCSPE2, 0, {RD, RA, MMMM}}, 11405 1.8 christos {"evclrbo", VX_SPE2_CLR (4, 590, 1), VX_SPE2_CLR_MASK, PPCSPE2, 0, {RD, RA, MMMM}}, 11406 1.8 christos {"evclrh", VX_SPE2_CLR (4, 591, 1), VX_SPE2_CLR_MASK, PPCSPE2, 0, {RD, RA, MMMM}}, 11407 1.8 christos {"evxtrh", VX_SPE2_DDHH (4, 591, 0), VX_SPE2_DDHH_MASK, PPCSPE2, 0, {RD, RA, DD, HH}}, 11408 1.8 christos {"evselbitm0", VX (4, 592), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11409 1.8 christos {"evselbitm1", VX (4, 593), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11410 1.8 christos {"evselbit", VX (4, 594), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11411 1.8 christos {"evperm", VX (4, 596), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11412 1.8 christos {"evperm2", VX (4, 597), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11413 1.8 christos {"evperm3", VX (4, 598), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11414 1.8 christos {"evxtrd", VX (4, 600), VX_OFF_SPE2_MASK, PPCSPE2, 0, {RD, RA, RB, VX_OFF_SPE2}}, 11415 1.8 christos {"evsrbu", VX (4, 608), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11416 1.8 christos {"evsrbs", VX (4, 609), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11417 1.8 christos {"evsrbiu", VX (4, 610), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT8}}, 11418 1.8 christos {"evsrbis", VX (4, 611), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT8}}, 11419 1.8 christos {"evslb", VX (4, 612), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11420 1.8 christos {"evrlb", VX (4, 613), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11421 1.8 christos {"evslbi", VX (4, 614), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT8}}, 11422 1.8 christos {"evrlbi", VX (4, 615), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT8}}, 11423 1.8 christos {"evsrhu", VX (4, 616), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11424 1.8 christos {"evsrhs", VX (4, 617), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11425 1.8 christos {"evsrhiu", VX (4, 618), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT16}}, 11426 1.8 christos {"evsrhis", VX (4, 619), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT16}}, 11427 1.8 christos {"evslh", VX (4, 620), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11428 1.8 christos {"evrlh", VX (4, 621), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11429 1.8 christos {"evslhi", VX (4, 622), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT16}}, 11430 1.8 christos {"evrlhi", VX (4, 623), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM_LT16}}, 11431 1.8 christos {"evsru", VX (4, 624), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11432 1.8 christos {"evsrs", VX (4, 625), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11433 1.8 christos {"evsriu", VX (4, 626), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM}}, 11434 1.8 christos {"evsris", VX (4, 627), VX_MASK, PPCSPE2, 0, {RD, RA, EVUIMM}}, 11435 1.8 christos {"evlvsl", VX (4, 628), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11436 1.8 christos {"evlvsr", VX (4, 629), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11437 1.8 christos {"evsroiu", VX_SPE2_OCTET (4, 631, 0), VX_SPE2_OCTET_MASK, PPCSPE2, 0, {RD, RA, NNN}}, 11438 1.8 christos {"evsrois", VX_SPE2_OCTET (4, 631, 1), VX_SPE2_OCTET_MASK, PPCSPE2, 0, {RD, RA, NNN}}, 11439 1.8 christos {"evsloi", VX_SPE2_OCTET (4, 631, 2), VX_SPE2_OCTET_MASK, PPCSPE2, 0, {RD, RA, NNN}}, 11440 1.8 christos {"evldbx", VX (4, 774), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11441 1.8 christos {"evldb", VX (4, 775), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_8, RA}}, 11442 1.8 christos {"evlhhsplathx", VX (4, 778), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11443 1.8 christos {"evlhhsplath", VX (4, 779), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_2, RA}}, 11444 1.8 christos {"evlwbsplatwx", VX (4, 786), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11445 1.8 christos {"evlwbsplatw", VX (4, 787), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4, RA}}, 11446 1.8 christos {"evlwhsplatwx", VX (4, 794), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11447 1.8 christos {"evlwhsplatw", VX (4, 795), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4, RA}}, 11448 1.8 christos {"evlbbsplatbx", VX (4, 798), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11449 1.8 christos {"evlbbsplatb", VX (4, 799), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_1, RA}}, 11450 1.8 christos {"evstdbx", VX (4, 806), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11451 1.8 christos {"evstdb", VX (4, 807), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_8, RA}}, 11452 1.8 christos {"evlwbex", VX (4, 810), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11453 1.8 christos {"evlwbe", VX (4, 811), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4, RA}}, 11454 1.8 christos {"evlwboux", VX (4, 812), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11455 1.8 christos {"evlwbou", VX (4, 813), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4, RA}}, 11456 1.8 christos {"evlwbosx", VX (4, 814), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11457 1.8 christos {"evlwbos", VX (4, 815), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4, RA}}, 11458 1.8 christos {"evstwbex", VX (4, 818), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11459 1.8 christos {"evstwbe", VX (4, 819), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4, RA}}, 11460 1.8 christos {"evstwbox", VX (4, 822), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11461 1.8 christos {"evstwbo", VX (4, 823), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4, RA}}, 11462 1.8 christos {"evstwbx", VX (4, 826), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11463 1.8 christos {"evstwb", VX (4, 827), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4, RA}}, 11464 1.8 christos {"evsthbx", VX (4, 830), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11465 1.8 christos {"evsthb", VX (4, 831), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_2, RA}}, 11466 1.8 christos {"evlddmx", VX (4, 832), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11467 1.8 christos {"evlddu", VX (4, 833), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_8_EX0, RA}}, 11468 1.8 christos {"evldwmx", VX (4, 834), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11469 1.8 christos {"evldwu", VX (4, 835), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_8_EX0, RA}}, 11470 1.8 christos {"evldhmx", VX (4, 836), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11471 1.8 christos {"evldhu", VX (4, 837), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_8_EX0, RA}}, 11472 1.8 christos {"evldbmx", VX (4, 838), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11473 1.8 christos {"evldbu", VX (4, 839), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_8_EX0, RA}}, 11474 1.8 christos {"evlhhesplatmx", VX (4, 840), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11475 1.8 christos {"evlhhesplatu", VX (4, 841), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_2_EX0, RA}}, 11476 1.8 christos {"evlhhsplathmx", VX (4, 842), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11477 1.8 christos {"evlhhsplathu", VX (4, 843), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_2_EX0, RA}}, 11478 1.8 christos {"evlhhousplatmx", VX (4, 844), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11479 1.8 christos {"evlhhousplatu", VX (4, 845), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_2_EX0, RA}}, 11480 1.8 christos {"evlhhossplatmx", VX (4, 846), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11481 1.8 christos {"evlhhossplatu", VX (4, 847), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_2_EX0, RA}}, 11482 1.8 christos {"evlwhemx", VX (4, 848), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11483 1.8 christos {"evlwheu", VX (4, 849), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11484 1.8 christos {"evlwbsplatwmx", VX (4, 850), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11485 1.8 christos {"evlwbsplatwu", VX (4, 851), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11486 1.8 christos {"evlwhoumx", VX (4, 852), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11487 1.8 christos {"evlwhouu", VX (4, 853), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11488 1.8 christos {"evlwhosmx", VX (4, 854), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11489 1.8 christos {"evlwhosu", VX (4, 855), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11490 1.8 christos {"evlwwsplatmx", VX (4, 856), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11491 1.8 christos {"evlwwsplatu", VX (4, 857), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11492 1.8 christos {"evlwhsplatwmx", VX (4, 858), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11493 1.8 christos {"evlwhsplatwu", VX (4, 859), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11494 1.8 christos {"evlwhsplatmx", VX (4, 860), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11495 1.8 christos {"evlwhsplatu", VX (4, 861), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11496 1.8 christos {"evlbbsplatbmx", VX (4, 862), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11497 1.8 christos {"evlbbsplatbu", VX (4, 863), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_1_EX0, RA}}, 11498 1.8 christos {"evstddmx", VX (4, 864), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11499 1.8 christos {"evstddu", VX (4, 865), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_8_EX0, RA}}, 11500 1.8 christos {"evstdwmx", VX (4, 866), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11501 1.8 christos {"evstdwu", VX (4, 867), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_8_EX0, RA}}, 11502 1.8 christos {"evstdhmx", VX (4, 868), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11503 1.8 christos {"evstdhu", VX (4, 869), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_8_EX0, RA}}, 11504 1.8 christos {"evstdbmx", VX (4, 870), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11505 1.8 christos {"evstdbu", VX (4, 871), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_8_EX0, RA}}, 11506 1.8 christos {"evlwbemx", VX (4, 874), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11507 1.8 christos {"evlwbeu", VX (4, 875), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11508 1.8 christos {"evlwboumx", VX (4, 876), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11509 1.8 christos {"evlwbouu", VX (4, 877), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11510 1.8 christos {"evlwbosmx", VX (4, 878), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11511 1.8 christos {"evlwbosu", VX (4, 879), VX_MASK, PPCSPE2, 0, {RD, EVUIMM_4_EX0, RA}}, 11512 1.8 christos {"evstwhemx", VX (4, 880), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11513 1.8 christos {"evstwheu", VX (4, 881), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11514 1.8 christos {"evstwbemx", VX (4, 882), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11515 1.8 christos {"evstwbeu", VX (4, 883), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11516 1.8 christos {"evstwhomx", VX (4, 884), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11517 1.8 christos {"evstwhou", VX (4, 885), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11518 1.8 christos {"evstwbomx", VX (4, 886), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11519 1.8 christos {"evstwbou", VX (4, 887), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11520 1.8 christos {"evstwwemx", VX (4, 888), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11521 1.8 christos {"evstwweu", VX (4, 889), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11522 1.8 christos {"evstwbmx", VX (4, 890), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11523 1.8 christos {"evstwbu", VX (4, 891), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11524 1.8 christos {"evstwwomx", VX (4, 892), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11525 1.8 christos {"evstwwou", VX (4, 893), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_4_EX0, RA}}, 11526 1.8 christos {"evsthbmx", VX (4, 894), VX_MASK, PPCSPE2, 0, {RS, RA, RB}}, 11527 1.8 christos {"evsthbu", VX (4, 895), VX_MASK, PPCSPE2, 0, {RS, EVUIMM_2_EX0, RA}}, 11528 1.8 christos {"evmhusi", VX (4, 1024), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11529 1.8 christos {"evmhssi", VX (4, 1025), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11530 1.8 christos {"evmhsusi", VX (4, 1026), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11531 1.8 christos {"evmhssf", VX (4, 1028), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11532 1.8 christos {"evmhumi", VX (4, 1029), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11533 1.8 christos {"evmhssfr", VX (4, 1030), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11534 1.8 christos {"evmhesumi", VX (4, 1034), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11535 1.8 christos {"evmhosumi", VX (4, 1038), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11536 1.8 christos {"evmbeumi", VX (4, 1048), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11537 1.8 christos {"evmbesmi", VX (4, 1049), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11538 1.8 christos {"evmbesumi", VX (4, 1050), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11539 1.8 christos {"evmboumi", VX (4, 1052), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11540 1.8 christos {"evmbosmi", VX (4, 1053), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11541 1.8 christos {"evmbosumi", VX (4, 1054), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11542 1.8 christos {"evmhesumia", VX (4, 1066), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11543 1.8 christos {"evmhosumia", VX (4, 1070), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11544 1.8 christos {"evmbeumia", VX (4, 1080), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11545 1.8 christos {"evmbesmia", VX (4, 1081), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11546 1.8 christos {"evmbesumia", VX (4, 1082), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11547 1.8 christos {"evmboumia", VX (4, 1084), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11548 1.8 christos {"evmbosmia", VX (4, 1085), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11549 1.8 christos {"evmbosumia", VX (4, 1086), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11550 1.8 christos {"evmwusiw", VX (4, 1088), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11551 1.8 christos {"evmwssiw", VX (4, 1089), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11552 1.8 christos {"evmwhssfr", VX (4, 1094), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11553 1.8 christos {"evmwehgsmfr", VX (4, 1110), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11554 1.8 christos {"evmwehgsmf", VX (4, 1111), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11555 1.8 christos {"evmwohgsmfr", VX (4, 1118), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11556 1.8 christos {"evmwohgsmf", VX (4, 1119), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11557 1.8 christos {"evmwhssfra", VX (4, 1126), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11558 1.8 christos {"evmwehgsmfra", VX (4, 1142), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11559 1.8 christos {"evmwehgsmfa", VX (4, 1143), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11560 1.8 christos {"evmwohgsmfra", VX (4, 1150), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11561 1.8 christos {"evmwohgsmfa", VX (4, 1151), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11562 1.8 christos {"evaddusiaa", VX_RB_CONST(4, 1152, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11563 1.8 christos {"evaddssiaa", VX_RB_CONST(4, 1153, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11564 1.8 christos {"evsubfusiaa", VX_RB_CONST(4, 1154, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11565 1.8 christos {"evsubfssiaa", VX_RB_CONST(4, 1155, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11566 1.8 christos {"evaddsmiaa", VX_RB_CONST(4, 1156, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11567 1.8 christos {"evsubfsmiaa", VX_RB_CONST(4, 1158, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11568 1.8 christos {"evaddh", VX (4, 1160), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11569 1.8 christos {"evaddhss", VX (4, 1161), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11570 1.8 christos {"evsubfh", VX (4, 1162), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11571 1.8 christos {"evsubfhss", VX (4, 1163), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11572 1.8 christos {"evaddhx", VX (4, 1164), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11573 1.8 christos {"evaddhxss", VX (4, 1165), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11574 1.8 christos {"evsubfhx", VX (4, 1166), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11575 1.8 christos {"evsubfhxss", VX (4, 1167), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11576 1.8 christos {"evaddd", VX (4, 1168), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11577 1.8 christos {"evadddss", VX (4, 1169), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11578 1.8 christos {"evsubfd", VX (4, 1170), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11579 1.8 christos {"evsubfdss", VX (4, 1171), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11580 1.8 christos {"evaddb", VX (4, 1172), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11581 1.8 christos {"evaddbss", VX (4, 1173), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11582 1.8 christos {"evsubfb", VX (4, 1174), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11583 1.8 christos {"evsubfbss", VX (4, 1175), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11584 1.8 christos {"evaddsubfh", VX (4, 1176), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11585 1.8 christos {"evaddsubfhss", VX (4, 1177), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11586 1.8 christos {"evsubfaddh", VX (4, 1178), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11587 1.8 christos {"evsubfaddhss", VX (4, 1179), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11588 1.8 christos {"evaddsubfhx", VX (4, 1180), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11589 1.8 christos {"evaddsubfhxss", VX (4, 1181), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11590 1.8 christos {"evsubfaddhx", VX (4, 1182), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11591 1.8 christos {"evsubfaddhxss", VX (4, 1183), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11592 1.8 christos {"evadddus", VX (4, 1184), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11593 1.8 christos {"evaddbus", VX (4, 1185), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11594 1.8 christos {"evsubfdus", VX (4, 1186), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11595 1.8 christos {"evsubfbus", VX (4, 1187), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11596 1.8 christos {"evaddwus", VX (4, 1188), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11597 1.8 christos {"evaddwxus", VX (4, 1189), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11598 1.8 christos {"evsubfwus", VX (4, 1190), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11599 1.8 christos {"evsubfwxus", VX (4, 1191), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11600 1.8 christos {"evadd2subf2h", VX (4, 1192), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11601 1.8 christos {"evadd2subf2hss", VX (4, 1193), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11602 1.8 christos {"evsubf2add2h", VX (4, 1194), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11603 1.8 christos {"evsubf2add2hss", VX (4, 1195), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11604 1.8 christos {"evaddhus", VX (4, 1196), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11605 1.8 christos {"evaddhxus", VX (4, 1197), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11606 1.8 christos {"evsubfhus", VX (4, 1198), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11607 1.8 christos {"evsubfhxus", VX (4, 1199), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11608 1.8 christos {"evaddwss", VX (4, 1201), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11609 1.8 christos {"evsubfwss", VX (4, 1203), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11610 1.8 christos {"evaddwx", VX (4, 1204), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11611 1.8 christos {"evaddwxss", VX (4, 1205), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11612 1.8 christos {"evsubfwx", VX (4, 1206), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11613 1.8 christos {"evsubfwxss", VX (4, 1207), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11614 1.8 christos {"evaddsubfw", VX (4, 1208), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11615 1.8 christos {"evaddsubfwss", VX (4, 1209), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11616 1.8 christos {"evsubfaddw", VX (4, 1210), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11617 1.8 christos {"evsubfaddwss", VX (4, 1211), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11618 1.8 christos {"evaddsubfwx", VX (4, 1212), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11619 1.8 christos {"evaddsubfwxss", VX (4, 1213), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11620 1.8 christos {"evsubfaddwx", VX (4, 1214), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11621 1.8 christos {"evsubfaddwxss", VX (4, 1215), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11622 1.8 christos {"evmar", VX_SPE2_EVMAR (4, 1220), VX_SPE2_EVMAR_MASK, PPCSPE2, 0, {RD}}, 11623 1.8 christos {"evsumwu", VX_RB_CONST(4, 1221, 0), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11624 1.8 christos {"evsumws", VX_RB_CONST(4, 1221, 1), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11625 1.8 christos {"evsum4bu", VX_RB_CONST(4, 1221, 2), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11626 1.8 christos {"evsum4bs", VX_RB_CONST(4, 1221, 3), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11627 1.8 christos {"evsum2hu", VX_RB_CONST(4, 1221, 4), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11628 1.8 christos {"evsum2hs", VX_RB_CONST(4, 1221, 5), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11629 1.8 christos {"evdiff2his", VX_RB_CONST(4, 1221, 6), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11630 1.8 christos {"evsum2his", VX_RB_CONST(4, 1221, 7), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11631 1.8 christos {"evsumwua", VX_RB_CONST(4, 1221, 16), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11632 1.8 christos {"evsumwsa", VX_RB_CONST(4, 1221, 17), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11633 1.8 christos {"evsum4bua", VX_RB_CONST(4, 1221, 18), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11634 1.8 christos {"evsum4bsa", VX_RB_CONST(4, 1221, 19), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11635 1.8 christos {"evsum2hua", VX_RB_CONST(4, 1221, 20), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11636 1.8 christos {"evsum2hsa", VX_RB_CONST(4, 1221, 21), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11637 1.8 christos {"evdiff2hisa", VX_RB_CONST(4, 1221, 22), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11638 1.8 christos {"evsum2hisa", VX_RB_CONST(4, 1221, 23), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11639 1.8 christos {"evsumwuaa", VX_RB_CONST(4, 1221, 24), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11640 1.8 christos {"evsumwsaa", VX_RB_CONST(4, 1221, 25), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11641 1.8 christos {"evsum4buaaw", VX_RB_CONST(4, 1221, 26), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11642 1.8 christos {"evsum4bsaaw", VX_RB_CONST(4, 1221, 27), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11643 1.8 christos {"evsum2huaaw", VX_RB_CONST(4, 1221, 28), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11644 1.8 christos {"evsum2hsaaw", VX_RB_CONST(4, 1221, 29), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11645 1.8 christos {"evdiff2hisaaw", VX_RB_CONST(4, 1221, 30), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11646 1.8 christos {"evsum2hisaaw", VX_RB_CONST(4, 1221, 31), VX_RB_CONST_MASK, PPCSPE2, 0, {RD, RA}}, 11647 1.8 christos {"evdivwsf", VX (4, 1228), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11648 1.8 christos {"evdivwuf", VX (4, 1229), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11649 1.8 christos {"evdivs", VX (4, 1230), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11650 1.8 christos {"evdivu", VX (4, 1231), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11651 1.8 christos {"evaddwegsi", VX (4, 1232), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11652 1.8 christos {"evaddwegsf", VX (4, 1233), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11653 1.8 christos {"evsubfwegsi", VX (4, 1234), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11654 1.8 christos {"evsubfwegsf", VX (4, 1235), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11655 1.8 christos {"evaddwogsi", VX (4, 1236), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11656 1.8 christos {"evaddwogsf", VX (4, 1237), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11657 1.8 christos {"evsubfwogsi", VX (4, 1238), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11658 1.8 christos {"evsubfwogsf", VX (4, 1239), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11659 1.8 christos {"evaddhhiuw", VX (4, 1240), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11660 1.8 christos {"evaddhhisw", VX (4, 1241), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11661 1.8 christos {"evsubfhhiuw", VX (4, 1242), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11662 1.8 christos {"evsubfhhisw", VX (4, 1243), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11663 1.8 christos {"evaddhlouw", VX (4, 1244), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11664 1.8 christos {"evaddhlosw", VX (4, 1245), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11665 1.8 christos {"evsubfhlouw", VX (4, 1246), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11666 1.8 christos {"evsubfhlosw", VX (4, 1247), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11667 1.8 christos {"evmhesusiaaw", VX (4, 1282), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11668 1.8 christos {"evmhosusiaaw", VX (4, 1286), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11669 1.8 christos {"evmhesumiaaw", VX (4, 1290), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11670 1.8 christos {"evmhosumiaaw", VX (4, 1294), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11671 1.8 christos {"evmbeusiaah", VX (4, 1296), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11672 1.8 christos {"evmbessiaah", VX (4, 1297), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11673 1.8 christos {"evmbesusiaah", VX (4, 1298), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11674 1.8 christos {"evmbousiaah", VX (4, 1300), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11675 1.8 christos {"evmbossiaah", VX (4, 1301), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11676 1.8 christos {"evmbosusiaah", VX (4, 1302), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11677 1.8 christos {"evmbeumiaah", VX (4, 1304), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11678 1.8 christos {"evmbesmiaah", VX (4, 1305), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11679 1.8 christos {"evmbesumiaah", VX (4, 1306), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11680 1.8 christos {"evmboumiaah", VX (4, 1308), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11681 1.8 christos {"evmbosmiaah", VX (4, 1309), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11682 1.8 christos {"evmbosumiaah", VX (4, 1310), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11683 1.8 christos {"evmwlusiaaw3", VX (4, 1346), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11684 1.8 christos {"evmwlssiaaw3", VX (4, 1347), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11685 1.8 christos {"evmwhssfraaw3", VX (4, 1348), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11686 1.8 christos {"evmwhssfaaw3", VX (4, 1349), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11687 1.8 christos {"evmwhssfraaw", VX (4, 1350), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11688 1.8 christos {"evmwhssfaaw", VX (4, 1351), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11689 1.8 christos {"evmwlumiaaw3", VX (4, 1354), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11690 1.8 christos {"evmwlsmiaaw3", VX (4, 1355), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11691 1.8 christos {"evmwusiaa", VX (4, 1360), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11692 1.8 christos {"evmwssiaa", VX (4, 1361), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11693 1.8 christos {"evmwehgsmfraa", VX (4, 1366), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11694 1.8 christos {"evmwehgsmfaa", VX (4, 1367), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11695 1.8 christos {"evmwohgsmfraa", VX (4, 1374), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11696 1.8 christos {"evmwohgsmfaa", VX (4, 1375), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11697 1.8 christos {"evmhesusianw", VX (4, 1410), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11698 1.8 christos {"evmhosusianw", VX (4, 1414), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11699 1.8 christos {"evmhesumianw", VX (4, 1418), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11700 1.8 christos {"evmhosumianw", VX (4, 1422), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11701 1.8 christos {"evmbeusianh", VX (4, 1424), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11702 1.8 christos {"evmbessianh", VX (4, 1425), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11703 1.8 christos {"evmbesusianh", VX (4, 1426), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11704 1.8 christos {"evmbousianh", VX (4, 1428), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11705 1.8 christos {"evmbossianh", VX (4, 1429), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11706 1.8 christos {"evmbosusianh", VX (4, 1430), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11707 1.8 christos {"evmbeumianh", VX (4, 1432), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11708 1.8 christos {"evmbesmianh", VX (4, 1433), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11709 1.8 christos {"evmbesumianh", VX (4, 1434), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11710 1.8 christos {"evmboumianh", VX (4, 1436), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11711 1.8 christos {"evmbosmianh", VX (4, 1437), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11712 1.8 christos {"evmbosumianh", VX (4, 1438), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11713 1.8 christos {"evmwlusianw3", VX (4, 1474), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11714 1.8 christos {"evmwlssianw3", VX (4, 1475), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11715 1.8 christos {"evmwhssfranw3", VX (4, 1476), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11716 1.8 christos {"evmwhssfanw3", VX (4, 1477), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11717 1.8 christos {"evmwhssfranw", VX (4, 1478), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11718 1.8 christos {"evmwhssfanw", VX (4, 1479), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11719 1.8 christos {"evmwlumianw3", VX (4, 1482), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11720 1.8 christos {"evmwlsmianw3", VX (4, 1483), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11721 1.8 christos {"evmwusian", VX (4, 1488), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11722 1.8 christos {"evmwssian", VX (4, 1489), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11723 1.8 christos {"evmwehgsmfran", VX (4, 1494), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11724 1.8 christos {"evmwehgsmfan", VX (4, 1495), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11725 1.8 christos {"evmwohgsmfran", VX (4, 1502), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11726 1.8 christos {"evmwohgsmfan", VX (4, 1503), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11727 1.8 christos {"evseteqb", VX (4, 1536), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11728 1.8 christos {"evseteqb.", VX (4, 1537), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11729 1.8 christos {"evseteqh", VX (4, 1538), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11730 1.8 christos {"evseteqh.", VX (4, 1539), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11731 1.8 christos {"evseteqw", VX (4, 1540), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11732 1.8 christos {"evseteqw.", VX (4, 1541), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11733 1.8 christos {"evsetgthu", VX (4, 1544), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11734 1.8 christos {"evsetgthu.", VX (4, 1545), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11735 1.8 christos {"evsetgths", VX (4, 1546), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11736 1.8 christos {"evsetgths.", VX (4, 1547), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11737 1.8 christos {"evsetgtwu", VX (4, 1548), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11738 1.8 christos {"evsetgtwu.", VX (4, 1549), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11739 1.8 christos {"evsetgtws", VX (4, 1550), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11740 1.8 christos {"evsetgtws.", VX (4, 1551), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11741 1.8 christos {"evsetgtbu", VX (4, 1552), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11742 1.8 christos {"evsetgtbu.", VX (4, 1553), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11743 1.8 christos {"evsetgtbs", VX (4, 1554), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11744 1.8 christos {"evsetgtbs.", VX (4, 1555), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11745 1.8 christos {"evsetltbu", VX (4, 1556), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11746 1.8 christos {"evsetltbu.", VX (4, 1557), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11747 1.8 christos {"evsetltbs", VX (4, 1558), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11748 1.8 christos {"evsetltbs.", VX (4, 1559), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11749 1.8 christos {"evsetlthu", VX (4, 1560), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11750 1.8 christos {"evsetlthu.", VX (4, 1561), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11751 1.8 christos {"evsetlths", VX (4, 1562), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11752 1.8 christos {"evsetlths.", VX (4, 1563), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11753 1.8 christos {"evsetltwu", VX (4, 1564), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11754 1.8 christos {"evsetltwu.", VX (4, 1565), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11755 1.8 christos {"evsetltws", VX (4, 1566), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11756 1.8 christos {"evsetltws.", VX (4, 1567), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11757 1.8 christos {"evsaduw", VX (4, 1568), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11758 1.8 christos {"evsadsw", VX (4, 1569), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11759 1.8 christos {"evsad4ub", VX (4, 1570), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11760 1.8 christos {"evsad4sb", VX (4, 1571), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11761 1.8 christos {"evsad2uh", VX (4, 1572), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11762 1.8 christos {"evsad2sh", VX (4, 1573), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11763 1.8 christos {"evsaduwa", VX (4, 1576), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11764 1.8 christos {"evsadswa", VX (4, 1577), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11765 1.8 christos {"evsad4uba", VX (4, 1578), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11766 1.8 christos {"evsad4sba", VX (4, 1579), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11767 1.8 christos {"evsad2uha", VX (4, 1580), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11768 1.8 christos {"evsad2sha", VX (4, 1581), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11769 1.8 christos {"evabsdifuw", VX (4, 1584), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11770 1.8 christos {"evabsdifsw", VX (4, 1585), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11771 1.8 christos {"evabsdifub", VX (4, 1586), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11772 1.8 christos {"evabsdifsb", VX (4, 1587), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11773 1.8 christos {"evabsdifuh", VX (4, 1588), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11774 1.8 christos {"evabsdifsh", VX (4, 1589), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11775 1.8 christos {"evsaduwaa", VX (4, 1592), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11776 1.8 christos {"evsadswaa", VX (4, 1593), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11777 1.8 christos {"evsad4ubaaw", VX (4, 1594), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11778 1.8 christos {"evsad4sbaaw", VX (4, 1595), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11779 1.8 christos {"evsad2uhaaw", VX (4, 1596), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11780 1.8 christos {"evsad2shaaw", VX (4, 1597), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11781 1.8 christos {"evpkshubs", VX (4, 1600), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11782 1.8 christos {"evpkshsbs", VX (4, 1601), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11783 1.8 christos {"evpkswuhs", VX (4, 1602), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11784 1.8 christos {"evpkswshs", VX (4, 1603), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11785 1.8 christos {"evpkuhubs", VX (4, 1604), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11786 1.8 christos {"evpkuwuhs", VX (4, 1605), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11787 1.8 christos {"evpkswshilvs", VX (4, 1606), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11788 1.8 christos {"evpkswgshefrs", VX (4, 1607), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11789 1.8 christos {"evpkswshfrs", VX (4, 1608), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11790 1.8 christos {"evpkswshilvfrs", VX (4, 1609), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11791 1.8 christos {"evpksdswfrs", VX (4, 1610), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11792 1.8 christos {"evpksdshefrs", VX (4, 1611), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11793 1.8 christos {"evpkuduws", VX (4, 1612), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11794 1.8 christos {"evpksdsws", VX (4, 1613), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11795 1.8 christos {"evpkswgswfrs", VX (4, 1614), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11796 1.8 christos {"evilveh", VX (4, 1616), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11797 1.8 christos {"evilveoh", VX (4, 1617), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11798 1.8 christos {"evilvhih", VX (4, 1618), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11799 1.8 christos {"evilvhiloh", VX (4, 1619), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11800 1.8 christos {"evilvloh", VX (4, 1620), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11801 1.8 christos {"evilvlohih", VX (4, 1621), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11802 1.8 christos {"evilvoeh", VX (4, 1622), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11803 1.8 christos {"evilvoh", VX (4, 1623), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11804 1.8 christos {"evdlveb", VX (4, 1624), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11805 1.8 christos {"evdlveh", VX (4, 1625), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11806 1.8 christos {"evdlveob", VX (4, 1626), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11807 1.8 christos {"evdlveoh", VX (4, 1627), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11808 1.8 christos {"evdlvob", VX (4, 1628), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11809 1.8 christos {"evdlvoh", VX (4, 1629), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11810 1.8 christos {"evdlvoeb", VX (4, 1630), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11811 1.8 christos {"evdlvoeh", VX (4, 1631), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11812 1.8 christos {"evmaxbu", VX (4, 1632), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11813 1.8 christos {"evmaxbs", VX (4, 1633), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11814 1.8 christos {"evmaxhu", VX (4, 1634), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11815 1.8 christos {"evmaxhs", VX (4, 1635), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11816 1.8 christos {"evmaxwu", VX (4, 1636), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11817 1.8 christos {"evmaxws", VX (4, 1637), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11818 1.8 christos {"evmaxdu", VX (4, 1638), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11819 1.8 christos {"evmaxds", VX (4, 1639), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11820 1.8 christos {"evminbu", VX (4, 1640), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11821 1.8 christos {"evminbs", VX (4, 1641), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11822 1.8 christos {"evminhu", VX (4, 1642), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11823 1.8 christos {"evminhs", VX (4, 1643), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11824 1.8 christos {"evminwu", VX (4, 1644), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11825 1.8 christos {"evminws", VX (4, 1645), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11826 1.8 christos {"evmindu", VX (4, 1646), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11827 1.8 christos {"evminds", VX (4, 1647), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11828 1.8 christos {"evavgwu", VX (4, 1648), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11829 1.8 christos {"evavgws", VX (4, 1649), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11830 1.8 christos {"evavgbu", VX (4, 1650), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11831 1.8 christos {"evavgbs", VX (4, 1651), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11832 1.8 christos {"evavghu", VX (4, 1652), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11833 1.8 christos {"evavghs", VX (4, 1653), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11834 1.8 christos {"evavgdu", VX (4, 1654), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11835 1.8 christos {"evavgds", VX (4, 1655), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11836 1.8 christos {"evavgwur", VX (4, 1656), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11837 1.8 christos {"evavgwsr", VX (4, 1657), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11838 1.8 christos {"evavgbur", VX (4, 1658), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11839 1.8 christos {"evavgbsr", VX (4, 1659), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11840 1.12 christos {"evavghur", VX (4, 1660), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11841 {"evavghsr", VX (4, 1661), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11842 {"evavgdur", VX (4, 1662), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11843 {"evavgdsr", VX (4, 1663), VX_MASK, PPCSPE2, 0, {RD, RA, RB}}, 11844 }; 11845 11846 const unsigned int spe2_num_opcodes = ARRAY_SIZE (spe2_opcodes); 11847