1 1.1 christos /* mips-opc.c -- MIPS opcode list. 2 1.11 christos Copyright (C) 1993-2024 Free Software Foundation, Inc. 3 1.1 christos Contributed by Ralph Campbell and OSF 4 1.1 christos Commented and modified by Ian Lance Taylor, Cygnus Support 5 1.1 christos Extended for MIPS32 support by Anders Norlander, and by SiByte, Inc. 6 1.1 christos MIPS-3D, MDMX, and MIPS32 Release 2 support added by Broadcom 7 1.1 christos Corporation (SiByte). 8 1.1 christos 9 1.1 christos This file is part of the GNU opcodes library. 10 1.1 christos 11 1.1 christos This library is free software; you can redistribute it and/or modify 12 1.1 christos it under the terms of the GNU General Public License as published by 13 1.1 christos the Free Software Foundation; either version 3, or (at your option) 14 1.1 christos any later version. 15 1.1 christos 16 1.1 christos It is distributed in the hope that it will be useful, but WITHOUT 17 1.1 christos ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 18 1.1 christos or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 19 1.1 christos License for more details. 20 1.1 christos 21 1.1 christos You should have received a copy of the GNU General Public License 22 1.1 christos along with this file; see the file COPYING. If not, write to the 23 1.1 christos Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, 24 1.1 christos MA 02110-1301, USA. */ 25 1.1 christos 26 1.1 christos #include "sysdep.h" 27 1.1 christos #include <stdio.h> 28 1.1 christos #include "opcode/mips.h" 29 1.1 christos #include "mips-formats.h" 30 1.1 christos 31 1.1 christos /* The 4-bit XYZW mask used in some VU0 instructions. */ 32 1.1 christos const struct mips_operand mips_vu0_channel_mask = { OP_VU0_SUFFIX, 4, 21 }; 33 1.1 christos 34 1.1 christos static unsigned char reg_0_map[] = { 0 }; 35 1.1 christos 36 1.1 christos /* Return the mips_operand structure for the operand at the beginning of P. */ 37 1.1 christos 38 1.1 christos const struct mips_operand * 39 1.1 christos decode_mips_operand (const char *p) 40 1.1 christos { 41 1.1 christos switch (p[0]) 42 1.1 christos { 43 1.3 christos case '-': 44 1.3 christos switch (p[1]) 45 1.3 christos { 46 1.10 christos case 'a': INT_ADJ (19, 0, 262143, 2, false); 47 1.10 christos case 'b': INT_ADJ (18, 0, 131071, 3, false); 48 1.3 christos case 'd': SPECIAL (0, 0, REPEAT_DEST_REG); 49 1.8 christos case 'm': SPECIAL (20, 6, SAVE_RESTORE_LIST); 50 1.3 christos case 's': SPECIAL (5, 21, NON_ZERO_REG); 51 1.3 christos case 't': SPECIAL (5, 16, NON_ZERO_REG); 52 1.10 christos case 'u': PREV_CHECK (5, 16, true, false, false, false); 53 1.10 christos case 'v': PREV_CHECK (5, 16, true, true, false, false); 54 1.10 christos case 'w': PREV_CHECK (5, 16, false, true, true, true); 55 1.10 christos case 'x': PREV_CHECK (5, 21, true, false, false, true); 56 1.10 christos case 'y': PREV_CHECK (5, 21, false, true, false, false); 57 1.10 christos case 'A': PCREL (19, 0, true, 2, 2, false, false); 58 1.10 christos case 'B': PCREL (18, 0, true, 3, 3, false, false); 59 1.3 christos } 60 1.3 christos break; 61 1.3 christos 62 1.1 christos case '+': 63 1.1 christos switch (p[1]) 64 1.1 christos { 65 1.1 christos case '1': HINT (5, 6); 66 1.1 christos case '2': HINT (10, 6); 67 1.1 christos case '3': HINT (15, 6); 68 1.1 christos case '4': HINT (20, 6); 69 1.1 christos case '5': REG (5, 6, VF); 70 1.1 christos case '6': REG (5, 11, VF); 71 1.1 christos case '7': REG (5, 16, VF); 72 1.1 christos case '8': REG (5, 6, VI); 73 1.1 christos case '9': REG (5, 11, VI); 74 1.1 christos case '0': REG (5, 16, VI); 75 1.1 christos 76 1.1 christos case 'A': BIT (5, 6, 0); /* (0 .. 31) */ 77 1.10 christos case 'B': MSB (5, 11, 1, true, 32); /* (1 .. 32), 32-bit op */ 78 1.10 christos case 'C': MSB (5, 11, 1, false, 32); /* (1 .. 32), 32-bit op */ 79 1.1 christos case 'E': BIT (5, 6, 32); /* (32 .. 63) */ 80 1.10 christos case 'F': MSB (5, 11, 33, true, 64); /* (33 .. 64), 64-bit op */ 81 1.10 christos case 'G': MSB (5, 11, 33, false, 64); /* (33 .. 64), 64-bit op */ 82 1.10 christos case 'H': MSB (5, 11, 1, false, 64); /* (1 .. 32), 64-bit op */ 83 1.3 christos case 'I': UINT (2, 6); 84 1.1 christos case 'J': HINT (10, 11); 85 1.1 christos case 'K': SPECIAL (4, 21, VU0_MATCH_SUFFIX); 86 1.1 christos case 'L': SPECIAL (2, 21, VU0_SUFFIX); 87 1.1 christos case 'M': SPECIAL (2, 23, VU0_SUFFIX); 88 1.1 christos case 'N': SPECIAL (2, 0, VU0_MATCH_SUFFIX); 89 1.3 christos case 'O': UINT (3, 6); 90 1.1 christos case 'P': BIT (5, 6, 32); /* (32 .. 63) */ 91 1.1 christos case 'Q': SINT (10, 6); 92 1.3 christos case 'R': SPECIAL (0, 0, PC); 93 1.10 christos case 'S': MSB (5, 11, 0, false, 63); /* (0 .. 31), 64-bit op */ 94 1.10 christos case 'T': INT_ADJ (10, 16, 511, 0, false); /* (-512 .. 511) << 0 */ 95 1.10 christos case 'U': INT_ADJ (10, 16, 511, 1, false); /* (-512 .. 511) << 1 */ 96 1.10 christos case 'V': INT_ADJ (10, 16, 511, 2, false); /* (-512 .. 511) << 2 */ 97 1.10 christos case 'W': INT_ADJ (10, 16, 511, 3, false); /* (-512 .. 511) << 3 */ 98 1.1 christos case 'X': BIT (5, 16, 32); /* (32 .. 63) */ 99 1.1 christos case 'Z': REG (5, 0, FP); 100 1.1 christos 101 1.1 christos case 'a': SINT (8, 6); 102 1.1 christos case 'b': SINT (8, 3); 103 1.10 christos case 'c': INT_ADJ (9, 6, 255, 4, false); /* (-256 .. 255) << 4 */ 104 1.1 christos case 'd': REG (5, 6, MSA); 105 1.1 christos case 'e': REG (5, 11, MSA); 106 1.10 christos case 'f': INT_ADJ (15, 6, 32767, 3, true); 107 1.1 christos case 'g': SINT (5, 6); 108 1.1 christos case 'h': REG (5, 16, MSA); 109 1.1 christos case 'i': JALX (26, 0, 2); 110 1.1 christos case 'j': SINT (9, 7); 111 1.1 christos case 'k': REG (5, 6, GP); 112 1.1 christos case 'l': REG (5, 6, MSA_CTRL); 113 1.1 christos case 'm': REG (0, 0, R5900_ACC); 114 1.1 christos case 'n': REG (5, 11, MSA_CTRL); 115 1.1 christos case 'o': SPECIAL (4, 16, IMM_INDEX); 116 1.1 christos case 'p': BIT (5, 6, 0); /* (0 .. 31), 32-bit op */ 117 1.1 christos case 'q': REG (0, 0, R5900_Q); 118 1.1 christos case 'r': REG (0, 0, R5900_R); 119 1.10 christos case 's': MSB (5, 11, 0, false, 31); /* (0 .. 31) */ 120 1.1 christos case 't': REG (5, 16, COPRO); 121 1.1 christos case 'u': SPECIAL (3, 16, IMM_INDEX); 122 1.1 christos case 'v': SPECIAL (2, 16, IMM_INDEX); 123 1.1 christos case 'w': SPECIAL (1, 16, IMM_INDEX); 124 1.1 christos case 'x': BIT (5, 16, 0); /* (0 .. 31) */ 125 1.1 christos case 'y': REG (0, 0, R5900_I); 126 1.1 christos case 'z': REG (5, 0, GP); 127 1.1 christos 128 1.1 christos case '~': BIT (2, 6, 1); /* (1 .. 4) */ 129 1.1 christos case '!': BIT (3, 16, 0); /* (0 .. 7) */ 130 1.1 christos case '@': BIT (4, 16, 0); /* (0 .. 15) */ 131 1.1 christos case '#': BIT (6, 16, 0); /* (0 .. 63) */ 132 1.1 christos case '$': UINT (5, 16); /* (0 .. 31) */ 133 1.1 christos case '%': SINT (5, 16); /* (-16 .. 15) */ 134 1.1 christos case '^': SINT (10, 11); /* (-512 .. 511) */ 135 1.1 christos case '&': SPECIAL (0, 0, IMM_INDEX); 136 1.1 christos case '*': SPECIAL (5, 16, REG_INDEX); 137 1.1 christos case '|': BIT (8, 16, 0); /* (0 .. 255) */ 138 1.3 christos case ':': SINT (11, 0); 139 1.3 christos case '\'': BRANCH (26, 0, 2); 140 1.3 christos case '"': BRANCH (21, 0, 2); 141 1.3 christos case ';': SPECIAL (10, 16, SAME_RS_RT); 142 1.8 christos case '\\': BIT (2, 8, 0); /* (0 .. 3) */ 143 1.1 christos } 144 1.1 christos break; 145 1.1 christos 146 1.1 christos case '<': BIT (5, 6, 0); /* (0 .. 31) */ 147 1.1 christos case '>': BIT (5, 6, 32); /* (32 .. 63) */ 148 1.1 christos case '%': UINT (3, 21); 149 1.1 christos case ':': SINT (7, 19); 150 1.1 christos case '\'': HINT (6, 16); 151 1.1 christos case '@': SINT (10, 16); 152 1.1 christos case '!': UINT (1, 5); 153 1.1 christos case '$': UINT (1, 4); 154 1.1 christos case '*': REG (2, 18, ACC); 155 1.1 christos case '&': REG (2, 13, ACC); 156 1.1 christos case '~': SINT (12, 0); 157 1.1 christos case '\\': BIT (3, 12, 0); /* (0 .. 7) */ 158 1.1 christos 159 1.1 christos case '0': SINT (6, 20); 160 1.1 christos case '1': HINT (5, 6); 161 1.1 christos case '2': HINT (2, 11); 162 1.1 christos case '3': HINT (3, 21); 163 1.1 christos case '4': HINT (4, 21); 164 1.1 christos case '5': HINT (8, 16); 165 1.1 christos case '6': HINT (5, 21); 166 1.1 christos case '7': REG (2, 11, ACC); 167 1.1 christos case '8': HINT (6, 11); 168 1.1 christos case '9': REG (2, 21, ACC); 169 1.1 christos 170 1.1 christos case 'B': HINT (20, 6); 171 1.1 christos case 'C': HINT (25, 0); 172 1.1 christos case 'D': REG (5, 6, FP); 173 1.1 christos case 'E': REG (5, 16, COPRO); 174 1.1 christos case 'G': REG (5, 11, COPRO); 175 1.1 christos case 'H': UINT (3, 0); 176 1.1 christos case 'J': HINT (19, 6); 177 1.1 christos case 'K': REG (5, 11, HW); 178 1.1 christos case 'M': REG (3, 8, CCC); 179 1.1 christos case 'N': REG (3, 18, CCC); 180 1.1 christos case 'O': UINT (3, 21); 181 1.1 christos case 'P': SPECIAL (5, 1, PERF_REG); 182 1.1 christos case 'Q': SPECIAL (10, 16, MDMX_IMM_REG); 183 1.1 christos case 'R': REG (5, 21, FP); 184 1.1 christos case 'S': REG (5, 11, FP); 185 1.1 christos case 'T': REG (5, 16, FP); 186 1.1 christos case 'U': SPECIAL (10, 11, CLO_CLZ_DEST); 187 1.1 christos case 'V': OPTIONAL_REG (5, 11, FP); 188 1.1 christos case 'W': OPTIONAL_REG (5, 16, FP); 189 1.1 christos case 'X': REG (5, 6, VEC); 190 1.1 christos case 'Y': REG (5, 11, VEC); 191 1.1 christos case 'Z': REG (5, 16, VEC); 192 1.1 christos 193 1.1 christos case 'a': JUMP (26, 0, 2); 194 1.1 christos case 'b': REG (5, 21, GP); 195 1.1 christos case 'c': HINT (10, 16); 196 1.1 christos case 'd': REG (5, 11, GP); 197 1.1 christos case 'e': UINT (3, 22) 198 1.10 christos case 'g': REG (5, 11, CONTROL); 199 1.1 christos case 'h': HINT (5, 11); 200 1.1 christos case 'i': HINT (16, 0); 201 1.1 christos case 'j': SINT (16, 0); 202 1.1 christos case 'k': HINT (5, 16); 203 1.1 christos case 'o': SINT (16, 0); 204 1.1 christos case 'p': BRANCH (16, 0, 2); 205 1.1 christos case 'q': HINT (10, 6); 206 1.1 christos case 'r': OPTIONAL_REG (5, 21, GP); 207 1.1 christos case 's': REG (5, 21, GP); 208 1.1 christos case 't': REG (5, 16, GP); 209 1.1 christos case 'u': HINT (16, 0); 210 1.1 christos case 'v': OPTIONAL_REG (5, 21, GP); 211 1.1 christos case 'w': OPTIONAL_REG (5, 16, GP); 212 1.1 christos case 'x': REG (0, 0, GP); 213 1.10 christos case 'y': REG (5, 16, CONTROL); 214 1.1 christos case 'z': MAPPED_REG (0, 0, GP, reg_0_map); 215 1.1 christos } 216 1.1 christos return 0; 217 1.1 christos } 218 1.1 christos 219 1.1 christos /* Short hand so the lines aren't too long. */ 220 1.1 christos 221 1.3 christos #define LC INSN_LOAD_COPROC 222 1.1 christos #define UBD INSN_UNCOND_BRANCH_DELAY 223 1.1 christos #define CBD INSN_COND_BRANCH_DELAY 224 1.3 christos #define CM INSN_COPROC_MOVE 225 1.1 christos #define CLD (INSN_LOAD_MEMORY|INSN_COPROC_MEMORY_DELAY) 226 1.1 christos #define CBL INSN_COND_BRANCH_LIKELY 227 1.1 christos #define NODS INSN_NO_DELAY_SLOT 228 1.1 christos #define TRAP INSN_NO_DELAY_SLOT 229 1.1 christos #define LM INSN_LOAD_MEMORY 230 1.1 christos #define SM INSN_STORE_MEMORY 231 1.1 christos 232 1.1 christos #define WR_1 INSN_WRITE_1 233 1.1 christos #define WR_2 INSN_WRITE_2 234 1.1 christos #define RD_1 INSN_READ_1 235 1.1 christos #define RD_2 INSN_READ_2 236 1.1 christos #define RD_3 INSN_READ_3 237 1.1 christos #define RD_4 INSN_READ_4 238 1.8 christos #define RD_31 INSN2_READ_GPR_31 239 1.1 christos #define MOD_1 (WR_1|RD_1) 240 1.1 christos #define MOD_2 (WR_2|RD_2) 241 1.1 christos 242 1.1 christos #define WR_31 INSN_WRITE_GPR_31 243 1.1 christos #define WR_CC INSN_WRITE_COND_CODE 244 1.1 christos #define RD_CC INSN_READ_COND_CODE 245 1.1 christos #define RD_C0 INSN_COP 246 1.1 christos #define RD_C1 INSN_COP 247 1.1 christos #define RD_C2 INSN_COP 248 1.1 christos #define RD_C3 INSN_COP 249 1.1 christos #define WR_C0 INSN_COP 250 1.1 christos #define WR_C1 INSN_COP 251 1.1 christos #define WR_C2 INSN_COP 252 1.1 christos #define WR_C3 INSN_COP 253 1.1 christos #define UDI INSN_UDI 254 1.1 christos #define CP INSN_COP 255 1.1 christos 256 1.1 christos #define WR_HI INSN_WRITE_HI 257 1.1 christos #define RD_HI INSN_READ_HI 258 1.1 christos #define MOD_HI WR_HI|RD_HI 259 1.1 christos 260 1.1 christos #define WR_LO INSN_WRITE_LO 261 1.1 christos #define RD_LO INSN_READ_LO 262 1.1 christos #define MOD_LO WR_LO|RD_LO 263 1.1 christos 264 1.1 christos #define WR_HILO WR_HI|WR_LO 265 1.1 christos #define RD_HILO RD_HI|RD_LO 266 1.1 christos #define MOD_HILO WR_HILO|RD_HILO 267 1.1 christos 268 1.8 christos #define RD_SP INSN2_READ_SP 269 1.8 christos #define WR_SP INSN2_WRITE_SP 270 1.8 christos #define MOD_SP (RD_SP|WR_SP) 271 1.8 christos 272 1.1 christos #define IS_M INSN_MULT 273 1.1 christos 274 1.1 christos #define WR_MACC INSN2_WRITE_MDMX_ACC 275 1.1 christos #define RD_MACC INSN2_READ_MDMX_ACC 276 1.1 christos 277 1.3 christos #define RD_pc INSN2_READ_PC 278 1.3 christos #define FS INSN2_FORBIDDEN_SLOT 279 1.3 christos 280 1.1 christos #define I1 INSN_ISA1 281 1.1 christos #define I2 INSN_ISA2 282 1.1 christos #define I3 INSN_ISA3 283 1.1 christos #define I4 INSN_ISA4 284 1.1 christos #define I5 INSN_ISA5 285 1.1 christos #define I32 INSN_ISA32 286 1.1 christos #define I64 INSN_ISA64 287 1.1 christos #define I33 INSN_ISA32R2 288 1.3 christos #define I34 INSN_ISA32R3 289 1.3 christos #define I36 INSN_ISA32R5 290 1.3 christos #define I37 INSN_ISA32R6 291 1.1 christos #define I65 INSN_ISA64R2 292 1.3 christos #define I66 INSN_ISA64R3 293 1.3 christos #define I68 INSN_ISA64R5 294 1.3 christos #define I69 INSN_ISA64R6 295 1.1 christos #define I3_32 INSN_ISA3_32 296 1.1 christos #define I3_33 INSN_ISA3_32R2 297 1.1 christos #define I4_32 INSN_ISA4_32 298 1.1 christos #define I4_33 INSN_ISA4_32R2 299 1.1 christos #define I5_33 INSN_ISA5_32R2 300 1.1 christos 301 1.1 christos /* MIPS64 MIPS-3D ASE support. */ 302 1.1 christos #define M3D ASE_MIPS3D 303 1.1 christos 304 1.1 christos /* MIPS32 SmartMIPS ASE support. */ 305 1.1 christos #define SMT ASE_SMARTMIPS 306 1.1 christos 307 1.1 christos /* MIPS64 MDMX ASE support. */ 308 1.1 christos #define MX ASE_MDMX 309 1.1 christos 310 1.1 christos #define IL2E (INSN_LOONGSON_2E) 311 1.1 christos #define IL2F (INSN_LOONGSON_2F) 312 1.1 christos 313 1.1 christos #define P3 INSN_4650 314 1.1 christos #define L1 INSN_4010 315 1.1 christos #define V1 (INSN_4100 | INSN_4111 | INSN_4120) 316 1.1 christos #define T3 INSN_3900 317 1.1 christos /* Emotion Engine MIPS r5900. */ 318 1.1 christos #define EE INSN_5900 319 1.1 christos #define M1 INSN_10000 320 1.11 christos #define AL INSN_ALLEGREX 321 1.1 christos #define SB1 INSN_SB1 322 1.1 christos #define N411 INSN_4111 323 1.1 christos #define N412 INSN_4120 324 1.1 christos #define N5 (INSN_5400 | INSN_5500) 325 1.1 christos #define N54 INSN_5400 326 1.1 christos #define N55 INSN_5500 327 1.3 christos #define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3) 328 1.3 christos #define IOCTP (INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3) 329 1.3 christos #define IOCT2 (INSN_OCTEON2 | INSN_OCTEON3) 330 1.3 christos #define IOCT3 INSN_OCTEON3 331 1.1 christos #define XLR INSN_XLR 332 1.8 christos #define IAMR2 INSN_INTERAPTIV_MR2 333 1.1 christos #define IVIRT ASE_VIRT 334 1.1 christos #define IVIRT64 ASE_VIRT64 335 1.1 christos 336 1.1 christos #define G1 (T3 \ 337 1.1 christos |EE \ 338 1.1 christos ) 339 1.1 christos 340 1.1 christos #define G2 (T3 \ 341 1.1 christos ) 342 1.1 christos 343 1.3 christos #define G3 EE 344 1.1 christos 345 1.11 christos /* CPU without 64 bit FPU support (single float only). */ 346 1.11 christos #define SF (AL \ 347 1.11 christos |EE \ 348 1.11 christos ) 349 1.1 christos 350 1.1 christos /* Support for 128 bit MMI instructions. */ 351 1.1 christos #define MMI EE 352 1.1 christos 353 1.1 christos /* 64 bit CPU with only 32 bit multiplication/division support. */ 354 1.1 christos #define M32 EE 355 1.1 christos 356 1.1 christos /* Support for VU0 Coprocessor instructions */ 357 1.1 christos #define VU0 EE 358 1.1 christos #define VU0CH INSN2_VU0_CHANNEL_SUFFIX 359 1.1 christos 360 1.1 christos /* MIPS DSP ASE support. 361 1.1 christos NOTE: 362 1.1 christos 1. MIPS DSP ASE includes 4 accumulators ($ac0 - $ac3). $ac0 is the pair 363 1.1 christos of original HI and LO. $ac1, $ac2 and $ac3 are new registers, and have 364 1.1 christos the same structure as $ac0 (HI + LO). For DSP instructions that write or 365 1.1 christos read accumulators (that may be $ac0), we add WR_a (WR_HILO) or RD_a 366 1.1 christos (RD_HILO) attributes, such that HILO dependencies are maintained 367 1.1 christos conservatively. 368 1.1 christos 369 1.1 christos 2. For some mul. instructions that use integer registers as destinations 370 1.1 christos but destroy HI+LO as side-effect, we add WR_HILO to their attributes. 371 1.1 christos 372 1.1 christos 3. MIPS DSP ASE includes a new DSP control register, which has 6 fields 373 1.1 christos (ccond, outflag, EFI, c, scount, pos). Many DSP instructions read or write 374 1.1 christos certain fields of the DSP control register. For simplicity, we decide not 375 1.1 christos to track dependencies of these fields. 376 1.1 christos However, "bposge32" is a branch instruction that depends on the "pos" 377 1.1 christos field. In order to make sure that GAS does not reorder DSP instructions 378 1.1 christos that writes the "pos" field and "bposge32", we add DSP_VOLA 379 1.1 christos (INSN_NO_DELAY_SLOT) attribute to those instructions that write the "pos" 380 1.1 christos field. */ 381 1.1 christos 382 1.1 christos #define WR_a WR_HILO /* Write dsp accumulators (reuse WR_HILO) */ 383 1.1 christos #define RD_a RD_HILO /* Read dsp accumulators (reuse RD_HILO) */ 384 1.1 christos #define MOD_a WR_a|RD_a 385 1.1 christos #define DSP_VOLA INSN_NO_DELAY_SLOT 386 1.1 christos #define D32 ASE_DSP 387 1.1 christos #define D33 ASE_DSPR2 388 1.6 christos #define D34 ASE_DSPR3 389 1.1 christos #define D64 ASE_DSP64 390 1.1 christos 391 1.1 christos /* MIPS MT ASE support. */ 392 1.1 christos #define MT32 ASE_MT 393 1.1 christos 394 1.1 christos /* MIPS MCU (MicroController) ASE support. */ 395 1.1 christos #define MC ASE_MCU 396 1.1 christos 397 1.1 christos /* MIPS Enhanced VA Scheme. */ 398 1.1 christos #define EVA ASE_EVA 399 1.9 christos #define EVAR6 ASE_EVA_R6 400 1.1 christos 401 1.1 christos /* TLB invalidate instruction support. */ 402 1.1 christos #define TLBINV ASE_EVA 403 1.1 christos 404 1.1 christos /* MSA support. */ 405 1.1 christos #define MSA ASE_MSA 406 1.1 christos #define MSA64 ASE_MSA64 407 1.1 christos 408 1.3 christos /* eXtended Physical Address (XPA) support. */ 409 1.3 christos #define XPA ASE_XPA 410 1.8 christos #define XPAVZ ASE_XPA_VIRT 411 1.8 christos 412 1.8 christos /* Cyclic redundancy check instruction (CRC) support. */ 413 1.8 christos #define CRC ASE_CRC 414 1.8 christos #define CRC64 ASE_CRC64 415 1.8 christos 416 1.8 christos /* Global INValidate (GINV) support. */ 417 1.8 christos #define GINV ASE_GINV 418 1.8 christos 419 1.8 christos /* Loongson MultiMedia extensions Instructions (MMI) support. */ 420 1.8 christos #define LMMI ASE_LOONGSON_MMI 421 1.8 christos 422 1.8 christos /* Loongson Content Address Memory (CAM) support. */ 423 1.8 christos #define LCAM ASE_LOONGSON_CAM 424 1.8 christos 425 1.8 christos /* Loongson EXTensions (EXT) instructions support. */ 426 1.8 christos #define LEXT ASE_LOONGSON_EXT 427 1.8 christos 428 1.8 christos /* Loongson EXTensions R2 (EXT2) instructions support. */ 429 1.8 christos #define LEXT2 ASE_LOONGSON_EXT2 430 1.3 christos 431 1.1 christos /* The order of overloaded instructions matters. Label arguments and 432 1.1 christos register arguments look the same. Instructions that can have either 433 1.1 christos for arguments must apear in the correct order in this table for the 434 1.1 christos assembler to pick the right one. In other words, entries with 435 1.1 christos immediate operands must apear after the same instruction with 436 1.1 christos registers. 437 1.1 christos 438 1.1 christos Because of the lookup algorithm used, entries with the same opcode 439 1.1 christos name must be contiguous. 440 1.6 christos 441 1.1 christos Many instructions are short hand for other instructions (i.e., The 442 1.1 christos jal <register> instruction is short for jalr <register>). */ 443 1.1 christos 444 1.1 christos const struct mips_opcode mips_builtin_opcodes[] = 445 1.1 christos { 446 1.1 christos /* These instructions appear first so that the disassembler will find 447 1.1 christos them first. The assemblers uses a hash table based on the 448 1.1 christos instruction name anyhow. */ 449 1.1 christos /* name, args, match, mask, pinfo, pinfo2, membership, ase, exclusions */ 450 1.3 christos {"pref", "k,+j(b)", 0x7c000035, 0xfc00007f, RD_3, 0, I37, 0, 0 }, 451 1.3 christos {"pref", "k,o(b)", 0xcc000000, 0xfc000000, RD_3|LM, 0, I4_32|G3, 0, I37 }, 452 1.1 christos {"pref", "k,A(b)", 0, (int) M_PREF_AB, INSN_MACRO, 0, I4_32|G3, 0, 0 }, 453 1.3 christos {"prefx", "h,t(b)", 0x4c00000f, 0xfc0007ff, RD_2|RD_3|FP_S|LM, 0, I4_33, 0, I37 }, 454 1.1 christos {"nop", "", 0x00000000, 0xffffffff, 0, INSN2_ALIAS, I1, 0, 0 }, /* sll */ 455 1.1 christos {"ssnop", "", 0x00000040, 0xffffffff, 0, INSN2_ALIAS, I1, 0, 0 }, /* sll */ 456 1.1 christos {"ehb", "", 0x000000c0, 0xffffffff, 0, INSN2_ALIAS, I1, 0, 0 }, /* sll */ 457 1.1 christos {"li", "t,j", 0x24000000, 0xffe00000, WR_1, INSN2_ALIAS, I1, 0, 0 }, /* addiu */ 458 1.1 christos {"li", "t,i", 0x34000000, 0xffe00000, WR_1, INSN2_ALIAS, I1, 0, 0 }, /* ori */ 459 1.1 christos {"li", "t,I", 0, (int) M_LI, INSN_MACRO, 0, I1, 0, 0 }, 460 1.1 christos {"move", "d,s", 0, (int) M_MOVE, INSN_MACRO, 0, I1, 0, 0 }, 461 1.6 christos {"move", "d,s", 0x00000025, 0xfc1f07ff, WR_1|RD_2, INSN2_ALIAS, I1, 0, 0 },/* or */ 462 1.1 christos {"move", "d,s", 0x0000002d, 0xfc1f07ff, WR_1|RD_2, INSN2_ALIAS, I3, 0, 0 },/* daddu */ 463 1.1 christos {"move", "d,s", 0x00000021, 0xfc1f07ff, WR_1|RD_2, INSN2_ALIAS, I1, 0, 0 },/* addu */ 464 1.1 christos {"b", "p", 0x10000000, 0xffff0000, UBD, INSN2_ALIAS, I1, 0, 0 },/* beq 0,0 */ 465 1.1 christos {"b", "p", 0x04010000, 0xffff0000, UBD, INSN2_ALIAS, I1, 0, 0 },/* bgez 0 */ 466 1.10 christos {"bal", "p", 0x04110000, 0xffff0000, WR_31|UBD, INSN2_ALIAS, I1, 0, I37 }, /* bgezal 0 */ 467 1.10 christos {"bal", "p", 0x04110000, 0xffff0000, WR_31|UBD, 0, I37, 0, 0 }, 468 1.3 christos {"bc", "+'", 0xc8000000, 0xfc000000, NODS, 0, I37, 0, 0 }, 469 1.3 christos {"balc", "+'", 0xe8000000, 0xfc000000, WR_31|NODS, 0, I37, 0, 0 }, 470 1.3 christos {"lapc", "s,-A", 0xec000000, 0xfc180000, WR_1, RD_pc, I37, 0, 0 }, 471 1.3 christos {"la", "t,A(b)", 0, (int) M_LA_AB, INSN_MACRO, 0, I1, 0, 0 }, 472 1.1 christos 473 1.8 christos /* Loongson specific instructions. Loongson gs464 (aka loongson3a) redefines the Coprocessor 2 474 1.1 christos instructions. Put them here so that disassembler will find them first. 475 1.1 christos The assemblers uses a hash table based on the instruction name anyhow. */ 476 1.8 christos {"campi", "d,s", 0x70000075, 0xfc1f07ff, WR_1|RD_2, 0, 0, LCAM, 0 }, 477 1.8 christos {"campv", "d,s", 0x70000035, 0xfc1f07ff, WR_1|RD_2, 0, 0, LCAM, 0 }, 478 1.8 christos {"camwi", "d,s,t", 0x700000b5, 0xfc0007ff, RD_1|RD_2|RD_3, 0, 0, LCAM, 0 }, 479 1.8 christos {"ramri", "d,s", 0x700000f5, 0xfc1f07ff, WR_1|RD_2, 0, 0, LCAM, 0 }, 480 1.8 christos {"gsle", "s,t", 0x70000026, 0xfc00ffff, RD_1|RD_2, 0, 0, LEXT, 0 }, 481 1.8 christos {"gsgt", "s,t", 0x70000027, 0xfc00ffff, RD_1|RD_2, 0, 0, LEXT, 0 }, 482 1.8 christos {"gslble", "t,b,d", 0xc8000010, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 483 1.8 christos {"gslbgt", "t,b,d", 0xc8000011, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 484 1.8 christos {"gslhle", "t,b,d", 0xc8000012, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 485 1.8 christos {"gslhgt", "t,b,d", 0xc8000013, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 486 1.8 christos {"gslwle", "t,b,d", 0xc8000014, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 487 1.8 christos {"gslwgt", "t,b,d", 0xc8000015, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 488 1.8 christos {"gsldle", "t,b,d", 0xc8000016, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 489 1.8 christos {"gsldgt", "t,b,d", 0xc8000017, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 490 1.8 christos {"gssble", "t,b,d", 0xe8000010, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 491 1.8 christos {"gssbgt", "t,b,d", 0xe8000011, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 492 1.8 christos {"gsshle", "t,b,d", 0xe8000012, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 493 1.8 christos {"gsshgt", "t,b,d", 0xe8000013, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 494 1.8 christos {"gsswle", "t,b,d", 0xe8000014, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 495 1.8 christos {"gsswgt", "t,b,d", 0xe8000015, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 496 1.8 christos {"gssdle", "t,b,d", 0xe8000016, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 497 1.8 christos {"gssdgt", "t,b,d", 0xe8000017, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 498 1.8 christos {"gslwlec1", "T,b,d", 0xc8000018, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 499 1.8 christos {"gslwgtc1", "T,b,d", 0xc8000019, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 500 1.8 christos {"gsldlec1", "T,b,d", 0xc800001a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 501 1.8 christos {"gsldgtc1", "T,b,d", 0xc800001b, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, LEXT, 0 }, 502 1.8 christos {"gsswlec1", "T,b,d", 0xe800001c, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 503 1.8 christos {"gsswgtc1", "T,b,d", 0xe800001d, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 504 1.8 christos {"gssdlec1", "T,b,d", 0xe800001e, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 505 1.8 christos {"gssdgtc1", "T,b,d", 0xe800001f, 0xfc0007ff, RD_1|RD_2|RD_3|SM, 0, 0, LEXT, 0 }, 506 1.8 christos {"gslwlc1", "T,+a(b)", 0xc8000004, 0xfc00c03f, WR_1|RD_3|LM, 0, 0, LEXT, 0 }, 507 1.8 christos {"gslwrc1", "T,+a(b)", 0xc8000005, 0xfc00c03f, WR_1|RD_3|LM, 0, 0, LEXT, 0 }, 508 1.8 christos {"gsldlc1", "T,+a(b)", 0xc8000006, 0xfc00c03f, WR_1|RD_3|LM, 0, 0, LEXT, 0 }, 509 1.8 christos {"gsldrc1", "T,+a(b)", 0xc8000007, 0xfc00c03f, WR_1|RD_3|LM, 0, 0, LEXT, 0 }, 510 1.8 christos {"gsswlc1", "T,+a(b)", 0xe8000004, 0xfc00c03f, RD_1|RD_3|SM, 0, 0, LEXT, 0 }, 511 1.8 christos {"gsswrc1", "T,+a(b)", 0xe8000005, 0xfc00c03f, RD_1|RD_3|SM, 0, 0, LEXT, 0 }, 512 1.8 christos {"gssdlc1", "T,+a(b)", 0xe8000006, 0xfc00c03f, RD_1|RD_3|SM, 0, 0, LEXT, 0 }, 513 1.8 christos {"gssdrc1", "T,+a(b)", 0xe8000007, 0xfc00c03f, RD_1|RD_3|SM, 0, 0, LEXT, 0 }, 514 1.8 christos {"gslbx", "t,+b(b,d)", 0xd8000000, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 515 1.8 christos {"gslhx", "t,+b(b,d)", 0xd8000001, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 516 1.8 christos {"gslwx", "t,+b(b,d)", 0xd8000002, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 517 1.8 christos {"gsldx", "t,+b(b,d)", 0xd8000003, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 518 1.8 christos {"gssbx", "t,+b(b,d)", 0xf8000000, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 519 1.8 christos {"gsshx", "t,+b(b,d)", 0xf8000001, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 520 1.8 christos {"gsswx", "t,+b(b,d)", 0xf8000002, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 521 1.8 christos {"gssdx", "t,+b(b,d)", 0xf8000003, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 522 1.8 christos {"gslwxc1", "T,+b(b,d)", 0xd8000006, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 523 1.8 christos {"gsldxc1", "T,+b(b,d)", 0xd8000007, 0xfc000007, WR_1|RD_3|RD_4|LM, 0, 0, LEXT, 0 }, 524 1.8 christos {"gsswxc1", "T,+b(b,d)", 0xf8000006, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 525 1.8 christos {"gssdxc1", "T,+b(b,d)", 0xf8000007, 0xfc000007, RD_1|RD_3|RD_4|SM, 0, 0, LEXT, 0 }, 526 1.8 christos {"gslq", "+z,t,+c(b)", 0xc8000020, 0xfc008020, WR_1|WR_2|RD_4|LM, 0, 0, LEXT, 0 }, 527 1.8 christos {"gssq", "+z,t,+c(b)", 0xe8000020, 0xfc008020, RD_1|RD_2|RD_4|SM, 0, 0, LEXT, 0 }, 528 1.8 christos {"gslqc1", "+Z,T,+c(b)", 0xc8008020, 0xfc008020, WR_1|WR_2|RD_4|LM, 0, 0, LEXT, 0 }, 529 1.8 christos {"gssqc1", "+Z,T,+c(b)", 0xe8008020, 0xfc008020, RD_1|RD_2|RD_4|SM, 0, 0, LEXT, 0 }, 530 1.8 christos {"cto", "d,s", 0x70000062, 0xfc1f07ff, WR_1|RD_2, 0, 0, LEXT2, 0 }, 531 1.8 christos {"ctz", "d,s", 0x70000022, 0xfc1f07ff, WR_1|RD_2, 0, 0, LEXT2, 0 }, 532 1.8 christos {"dcto", "d,s", 0x700000e2, 0xfc1f07ff, WR_1|RD_2, 0, 0, LEXT2, 0 }, 533 1.8 christos {"dctz", "d,s", 0x700000a2, 0xfc1f07ff, WR_1|RD_2, 0, 0, LEXT2, 0 }, 534 1.1 christos 535 1.1 christos /* R5900 VU0 Macromode instructions. */ 536 1.1 christos {"vabs", "+7+K,+6+K", 0x4a0001fd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 537 1.1 christos {"vadd", "+5+K,+6+K,+7+K", 0x4a000028, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 538 1.1 christos {"vaddi", "+5+K,+6+K,+y", 0x4a000022, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 539 1.1 christos {"vaddq", "+5+K,+6+K,+q", 0x4a000020, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 540 1.1 christos {"vaddw", "+5+K,+6+K,+7+N", 0x4a000003, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 541 1.1 christos {"vaddx", "+5+K,+6+K,+7+N", 0x4a000000, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 542 1.1 christos {"vaddy", "+5+K,+6+K,+7+N", 0x4a000001, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 543 1.1 christos {"vaddz", "+5+K,+6+K,+7+N", 0x4a000002, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 544 1.1 christos {"vadda", "+m+K,+7+K,+6+K", 0x4a0002bc, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 545 1.1 christos {"vaddai", "+m+K,+6+K,+y", 0x4a00023e, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 546 1.1 christos {"vaddaq", "+m+K,+6+K,+q", 0x4a00023c, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 547 1.1 christos {"vaddaw", "+m+K,+6+K,+7+N", 0x4a00003f, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 548 1.1 christos {"vaddax", "+m+K,+6+K,+7+N", 0x4a00003c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 549 1.1 christos {"vadday", "+m+K,+6+K,+7+N", 0x4a00003d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 550 1.1 christos {"vaddaz", "+m+K,+6+K,+7+N", 0x4a00003e, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 551 1.1 christos {"vcallms", "+f", 0x4a000038, 0xffe0003f, CP, 0, VU0, 0, 0 }, 552 1.1 christos {"vcallmsr", "+9", 0x4a000039, 0xffff07ff, CP, 0, VU0, 0, 0 }, 553 1.1 christos {"vclipw.xyz", "+6+K,+7+N", 0x4bc001ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 554 1.1 christos {"vclipw", "+6+K,+7+N", 0x4bc001ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 555 1.1 christos {"vdiv", "+q,+6+L,+7+M", 0x4a0003bc, 0xfe0007ff, CP, 0, VU0, 0, 0 }, 556 1.1 christos {"vftoi0", "+7+K,+6+K", 0x4a00017c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 557 1.1 christos {"vftoi4", "+7+K,+6+K", 0x4a00017d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 558 1.1 christos {"vftoi12", "+7+K,+6+K", 0x4a00017e, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 559 1.1 christos {"vftoi15", "+7+K,+6+K", 0x4a00017f, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 560 1.1 christos {"viadd", "+8,+9,+0", 0x4a000030, 0xffe0003f, CP, 0, VU0, 0, 0 }, 561 1.1 christos {"viaddi", "+0,+9,+g", 0x4a000032, 0xffe0003f, CP, 0, VU0, 0, 0 }, 562 1.1 christos {"viand", "+8,+9,+0", 0x4a000034, 0xffe0003f, CP, 0, VU0, 0, 0 }, 563 1.1 christos {"vilwr.w", "+0,(+9)", 0x4a2003fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 564 1.1 christos {"vilwr.x", "+0,(+9)", 0x4b0003fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 565 1.1 christos {"vilwr.y", "+0,(+9)", 0x4a8003fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 566 1.1 christos {"vilwr.z", "+0,(+9)", 0x4a4003fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 567 1.1 christos {"vior", "+8,+9,+0", 0x4a000035, 0xffe0003f, CP, 0, VU0, 0, 0 }, 568 1.1 christos {"viswr.w", "+0,(+9)", 0x4a2003ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 569 1.1 christos {"viswr.x", "+0,(+9)", 0x4b0003ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 570 1.1 christos {"viswr.y", "+0,(+9)", 0x4a8003ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 571 1.1 christos {"viswr.z", "+0,(+9)", 0x4a4003ff, 0xffe007ff, CP, 0, VU0, 0, 0 }, 572 1.1 christos {"visub", "+8,+9,+0", 0x4a000031, 0xffe0003f, CP, 0, VU0, 0, 0 }, 573 1.1 christos {"vitof0", "+7+K,+6+K", 0x4a00013c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 574 1.1 christos {"vitof4", "+7+K,+6+K", 0x4a00013d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 575 1.1 christos {"vitof12", "+7+K,+6+K", 0x4a00013e, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 576 1.1 christos {"vitof15", "+7+K,+6+K", 0x4a00013f, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 577 1.1 christos {"vlqd", "+7+K,(#-+9)", 0x4a00037e, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 578 1.1 christos {"vlqi", "+7+K,(+9#+)", 0x4a00037c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 579 1.1 christos {"vmadd", "+5+K,+6+K,+7+K", 0x4a000029, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 580 1.1 christos {"vmaddi", "+5+K,+6+K,+y", 0x4a000023, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 581 1.1 christos {"vmaddq", "+5+K,+6+K,+q", 0x4a000021, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 582 1.1 christos {"vmaddw", "+5+K,+6+K,+7+N", 0x4a00000b, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 583 1.1 christos {"vmaddx", "+5+K,+6+K,+7+N", 0x4a000008, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 584 1.1 christos {"vmaddy", "+5+K,+6+K,+7+N", 0x4a000009, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 585 1.1 christos {"vmaddz", "+5+K,+6+K,+7+N", 0x4a00000a, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 586 1.1 christos {"vmadda", "+m+K,+6+K,+7+K", 0x4a0002bd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 587 1.1 christos {"vmaddai", "+m+K,+6+K,+y", 0x4a00023f, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 588 1.1 christos {"vmaddaq", "+m+K,+6+K,+q", 0x4a00023d, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 589 1.1 christos {"vmaddaw", "+m+K,+6+K,+7+N", 0x4a0000bf, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 590 1.1 christos {"vmaddax", "+m+K,+6+K,+7+N", 0x4a0000bc, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 591 1.1 christos {"vmadday", "+m+K,+6+K,+7+N", 0x4a0000bd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 592 1.1 christos {"vmaddaz", "+m+K,+6+K,+7+N", 0x4a0000be, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 593 1.1 christos {"vmax", "+5+K,+6+K,+7+K", 0x4a00002b, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 594 1.1 christos {"vmaxi", "+5+K,+6+K,+y", 0x4a00001d, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 595 1.1 christos {"vmaxw", "+5+K,+6+K,+7+N", 0x4a000013, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 596 1.1 christos {"vmaxx", "+5+K,+6+K,+7+N", 0x4a000010, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 597 1.1 christos {"vmaxy", "+5+K,+6+K,+7+N", 0x4a000011, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 598 1.1 christos {"vmaxz", "+5+K,+6+K,+7+N", 0x4a000012, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 599 1.1 christos {"vmfir", "+7+K,+9", 0x4a0003fd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 600 1.1 christos {"vmini", "+5+K,+6+K,+7+K", 0x4a00002f, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 601 1.1 christos {"vminii", "+5+K,+6+K,+y", 0x4a00001f, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 602 1.1 christos {"vminiw", "+5+K,+6+K,+7+N", 0x4a000017, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 603 1.1 christos {"vminix", "+5+K,+6+K,+7+N", 0x4a000014, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 604 1.1 christos {"vminiy", "+5+K,+6+K,+7+N", 0x4a000015, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 605 1.1 christos {"vminiz", "+5+K,+6+K,+7+N", 0x4a000016, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 606 1.1 christos {"vmove", "+7+K,+6+K", 0x4a00033c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 607 1.1 christos {"vmr32", "+7+K,+6+K", 0x4a00033d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 608 1.1 christos {"vmsub", "+5+K,+6+K,+7+K", 0x4a00002d, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 609 1.1 christos {"vmsubi", "+5+K,+6+K,+y", 0x4a000027, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 610 1.1 christos {"vmsubq", "+5+K,+6+K,+q", 0x4a000025, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 611 1.1 christos {"vmsubw", "+5+K,+6+K,+7+N", 0x4a00000f, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 612 1.1 christos {"vmsubx", "+5+K,+6+K,+7+N", 0x4a00000c, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 613 1.1 christos {"vmsuby", "+5+K,+6+K,+7+N", 0x4a00000d, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 614 1.1 christos {"vmsubz", "+5+K,+6+K,+7+N", 0x4a00000e, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 615 1.1 christos {"vmsuba", "+m+K,+7+K,+6+K", 0x4a0002fd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 616 1.1 christos {"vmsubai", "+m+K,+6+K,+y", 0x4a00027f, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 617 1.1 christos {"vmsubaq", "+m+K,+6+K,+q", 0x4a00027d, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 618 1.1 christos {"vmsubaw", "+m+K,+6+K,+7+N", 0x4a0000ff, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 619 1.1 christos {"vmsubax", "+m+K,+6+K,+7+N", 0x4a0000fc, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 620 1.1 christos {"vmsubay", "+m+K,+6+K,+7+N", 0x4a0000fd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 621 1.1 christos {"vmsubaz", "+m+K,+6+K,+7+N", 0x4a0000fe, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 622 1.1 christos {"vmtir", "+0,+6+L", 0x4a0003fc, 0xff8007ff, CP, 0, VU0, 0, 0 }, 623 1.1 christos {"vmul", "+5+K,+6+K,+7+K", 0x4a00002a, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 624 1.1 christos {"vmuli", "+5+K,+6+K,+y", 0x4a00001e, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 625 1.1 christos {"vmulq", "+5+K,+6+K,+q", 0x4a00001c, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 626 1.1 christos {"vmulw", "+5+K,+6+K,+7+N", 0x4a00001b, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 627 1.1 christos {"vmulx", "+5+K,+6+K,+7+N", 0x4a000018, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 628 1.1 christos {"vmuly", "+5+K,+6+K,+7+N", 0x4a000019, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 629 1.1 christos {"vmulz", "+5+K,+6+K,+7+N", 0x4a00001a, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 630 1.1 christos {"vmula", "+m+K,+6+K,+7+K", 0x4a0002be, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 631 1.1 christos {"vmulai", "+m+K,+6+K,+y", 0x4a0001fe, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 632 1.1 christos {"vmulaq", "+m+K,+6+K,+q", 0x4a0001fc, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 633 1.1 christos {"vmulaw", "+m+K,+6+K,+7+N", 0x4a0001bf, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 634 1.1 christos {"vmulax", "+m+K,+6+K,+7+N", 0x4a0001bc, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 635 1.1 christos {"vmulay", "+m+K,+6+K,+7+N", 0x4a0001bd, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 636 1.1 christos {"vmulaz", "+m+K,+6+K,+7+N", 0x4a0001be, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 637 1.1 christos {"vnop", "", 0x4a0002ff, 0xffffffff, CP, 0, VU0, 0, 0 }, 638 1.1 christos {"vopmula.xyz", "+m+K,+6+K,+7+K", 0x4bc002fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 639 1.1 christos {"vopmula", "+m+K,+6+K,+7+K", 0x4bc002fe, 0xffe007ff, CP, 0, VU0, 0, 0 }, 640 1.1 christos {"vopmsub.xyz", "+5+K,+6+K,+7+K", 0x4bc0002e, 0xffe0003f, CP, 0, VU0, 0, 0 }, 641 1.1 christos {"vopmsub", "+5+K,+6+K,+7+K", 0x4bc0002e, 0xffe0003f, CP, 0, VU0, 0, 0 }, 642 1.1 christos {"vrget", "+7+K,+r", 0x4a00043d, 0xfe00ffff, CP, VU0CH, VU0, 0, 0 }, 643 1.1 christos {"vrinit", "+r,+6+L", 0x4a00043e, 0xff9f07ff, CP, 0, VU0, 0, 0 }, 644 1.1 christos {"vrnext", "+7+K,+r", 0x4a00043c, 0xfe00ffff, CP, VU0CH, VU0, 0, 0 }, 645 1.1 christos {"vrsqrt", "+q,+6+L,+7+M", 0x4a0003be, 0xfe0007ff, CP, 0, VU0, 0, 0 }, 646 1.1 christos {"vrxor", "+r,+6+L", 0x4a00043f, 0xff9f07ff, CP, 0, VU0, 0, 0 }, 647 1.1 christos {"vsqd", "+6+K,(#-+0)", 0x4a00037f, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 648 1.1 christos {"vsqi", "+6+K,(+0#+)", 0x4a00037d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 649 1.1 christos {"vsqrt", "+q,+7+M", 0x4a2003bd, 0xfe60ffff, CP, 0, VU0, 0, 0 }, 650 1.1 christos {"vsub", "+5+K,+6+K,+7+K", 0x4a00002c, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 651 1.1 christos {"vsubi", "+5+K,+6+K,+y", 0x4a000026, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 652 1.1 christos {"vsubq", "+5+K,+6+K,+q", 0x4a000024, 0xfe1f003f, CP, VU0CH, VU0, 0, 0 }, 653 1.1 christos {"vsubw", "+5+K,+6+K,+7+N", 0x4a000007, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 654 1.1 christos {"vsubx", "+5+K,+6+K,+7+N", 0x4a000004, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 655 1.1 christos {"vsuby", "+5+K,+6+K,+7+N", 0x4a000005, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 656 1.1 christos {"vsubz", "+5+K,+6+K,+7+N", 0x4a000006, 0xfe00003f, CP, VU0CH, VU0, 0, 0 }, 657 1.1 christos {"vsuba", "+m+K,+6+K,+7+K", 0x4a0002fc, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 658 1.1 christos {"vsubai", "+m+K,+6+K,+y", 0x4a00027e, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 659 1.1 christos {"vsubaq", "+m+K,+6+K,+q", 0x4a00027c, 0xfe1f07ff, CP, VU0CH, VU0, 0, 0 }, 660 1.1 christos {"vsubaw", "+m+K,+6+K,+7+N", 0x4a00007f, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 661 1.1 christos {"vsubax", "+m+K,+6+K,+7+N", 0x4a00007c, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 662 1.1 christos {"vsubay", "+m+K,+6+K,+7+N", 0x4a00007d, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 663 1.1 christos {"vsubaz", "+m+K,+6+K,+7+N", 0x4a00007e, 0xfe0007ff, CP, VU0CH, VU0, 0, 0 }, 664 1.1 christos {"vwaitq", "", 0x4a0003bf, 0xffffffff, CP, 0, VU0, 0, 0 }, 665 1.1 christos 666 1.1 christos {"abs", "d,v", 0, (int) M_ABS, INSN_MACRO, 0, I1, 0, 0 }, 667 1.1 christos {"abs.s", "D,V", 0x46000005, 0xffff003f, WR_1|RD_2|FP_S, 0, I1, 0, 0 }, 668 1.1 christos {"abs.d", "D,V", 0x46200005, 0xffff003f, WR_1|RD_2|FP_D, 0, I1, 0, SF }, 669 1.3 christos {"abs.ps", "D,V", 0x46c00005, 0xffff003f, WR_1|RD_2|FP_D, 0, I5_33|IL2F, 0, I37 }, 670 1.1 christos {"abs.ps", "D,V", 0x45600005, 0xffff003f, WR_1|RD_2|FP_D, 0, IL2E, 0, 0 }, 671 1.1 christos {"aclr", "\\,~(b)", 0x04070000, 0xfc1f8000, RD_3|LM|SM|NODS, 0, 0, MC, 0 }, 672 1.1 christos {"aclr", "\\,A(b)", 0, (int) M_ACLR_AB, INSN_MACRO, 0, 0, MC, 0 }, 673 1.1 christos {"add", "d,v,t", 0x00000020, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 674 1.9 christos {"add", "t,r,I", 0, (int) M_ADD_I, INSN_MACRO, 0, I1, 0, 0 }, 675 1.1 christos {"add", "D,S,T", 0x45c00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 676 1.8 christos {"add", "D,S,T", 0x4b40000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, LMMI, 0 }, 677 1.1 christos {"add.s", "D,V,T", 0x46000000, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I1, 0, 0 }, 678 1.1 christos {"add.d", "D,V,T", 0x46200000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I1, 0, SF }, 679 1.1 christos {"add.ob", "X,Y,Q", 0x7800000b, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 680 1.1 christos {"add.ob", "D,S,Q", 0x4800000b, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 681 1.3 christos {"add.ps", "D,V,T", 0x46c00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33|IL2F, 0, I37 }, 682 1.1 christos {"add.ps", "D,V,T", 0x45600000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 683 1.1 christos {"add.qh", "X,Y,Q", 0x7820000b, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 684 1.1 christos {"adda.ob", "Y,Q", 0x78000037, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 685 1.1 christos {"adda.qh", "Y,Q", 0x78200037, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 686 1.1 christos {"adda.s", "S,T", 0x46000018, 0xffe007ff, RD_1|RD_2|FP_S, 0, EE, 0, 0 }, 687 1.3 christos {"addi", "t,r,j", 0x20000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, I37 }, 688 1.1 christos {"addiu", "t,r,j", 0x24000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 689 1.3 christos {"addiu", "s,+R,-a", 0xec000000, 0xfc180000, WR_1, RD_pc, I37, 0, 0 }, 690 1.3 christos {"addiupc", "s,-a", 0xec000000, 0xfc180000, WR_1, RD_pc, I37, 0, 0 }, 691 1.1 christos {"addl.ob", "Y,Q", 0x78000437, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 692 1.1 christos {"addl.qh", "Y,Q", 0x78200437, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 693 1.1 christos {"addr.ps", "D,S,T", 0x46c00018, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, M3D, 0 }, 694 1.1 christos {"addu", "d,v,t", 0x00000021, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 695 1.1 christos {"addu", "t,r,I", 0, (int) M_ADDU_I, INSN_MACRO, 0, I1, 0, 0 }, 696 1.1 christos {"addu", "D,S,T", 0x45800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 697 1.8 christos {"addu", "D,S,T", 0x4b00000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, LMMI, 0 }, 698 1.1 christos {"alni.ob", "X,Y,Z,O", 0x78000018, 0xff00003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 699 1.1 christos {"alni.ob", "D,S,T,%", 0x48000018, 0xff00003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 700 1.1 christos {"alni.qh", "X,Y,Z,O", 0x7800001a, 0xff00003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 701 1.3 christos {"alnv.ps", "D,V,T,s", 0x4c00001e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I5_33, 0, I37 }, 702 1.1 christos {"alnv.ob", "X,Y,Z,s", 0x78000019, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, SB1, MX, 0 }, 703 1.1 christos {"alnv.qh", "X,Y,Z,s", 0x7800001b, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, 0, MX, 0 }, 704 1.1 christos {"and", "d,v,t", 0x00000024, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 705 1.1 christos {"and", "t,r,I", 0, (int) M_AND_I, INSN_MACRO, 0, I1, 0, 0 }, 706 1.1 christos {"and", "D,S,T", 0x47c00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 707 1.8 christos {"and", "D,S,T", 0x4bc00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 708 1.1 christos {"and.ob", "X,Y,Q", 0x7800000c, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 709 1.1 christos {"and.ob", "D,S,Q", 0x4800000c, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 710 1.1 christos {"and.qh", "X,Y,Q", 0x7820000c, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 711 1.1 christos {"andi", "t,r,i", 0x30000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 712 1.1 christos {"aset", "\\,~(b)", 0x04078000, 0xfc1f8000, RD_3|LM|SM|NODS, 0, 0, MC, 0 }, 713 1.1 christos {"aset", "\\,A(b)", 0, (int) M_ASET_AB, INSN_MACRO, 0, 0, MC, 0 }, 714 1.1 christos {"baddu", "d,v,t", 0x70000028, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 715 1.1 christos /* b is at the top of the table. */ 716 1.1 christos /* bal is at the top of the table. */ 717 1.1 christos {"bbit032", "s,+x,p", 0xd8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, 718 1.1 christos {"bbit0", "s,+X,p", 0xd8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, /* bbit032 */ 719 1.1 christos {"bbit0", "s,+x,p", 0xc8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, 720 1.1 christos {"bbit132", "s,+x,p", 0xf8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, 721 1.1 christos {"bbit1", "s,+X,p", 0xf8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, /* bbit132 */ 722 1.1 christos {"bbit1", "s,+x,p", 0xe8000000, 0xfc000000, RD_1|CBD, 0, IOCT, 0, 0 }, 723 1.1 christos /* bc0[tf]l? are at the bottom of the table. */ 724 1.1 christos {"bc1any2f", "N,p", 0x45200000, 0xffe30000, RD_CC|CBD|FP_S, 0, 0, M3D, 0 }, 725 1.1 christos {"bc1any2t", "N,p", 0x45210000, 0xffe30000, RD_CC|CBD|FP_S, 0, 0, M3D, 0 }, 726 1.1 christos {"bc1any4f", "N,p", 0x45400000, 0xffe30000, RD_CC|CBD|FP_S, 0, 0, M3D, 0 }, 727 1.1 christos {"bc1any4t", "N,p", 0x45410000, 0xffe30000, RD_CC|CBD|FP_S, 0, 0, M3D, 0 }, 728 1.3 christos {"bc1eqz", "T,p", 0x45200000, 0xffe00000, RD_1|CBD|FP_S, 0, I37, 0, 0 }, 729 1.3 christos {"bc1f", "p", 0x45000000, 0xffff0000, RD_CC|CBD|FP_S, 0, I1, 0, I37 }, 730 1.3 christos {"bc1f", "N,p", 0x45000000, 0xffe30000, RD_CC|CBD|FP_S, 0, I4_32, 0, I37 }, 731 1.3 christos {"bc1fl", "p", 0x45020000, 0xffff0000, RD_CC|CBL|FP_S, 0, I2|T3, 0, I37 }, 732 1.3 christos {"bc1fl", "N,p", 0x45020000, 0xffe30000, RD_CC|CBL|FP_S, 0, I4_32, 0, I37 }, 733 1.3 christos {"bc1nez", "T,p", 0x45a00000, 0xffe00000, RD_1|CBD|FP_S, 0, I37, 0, 0 }, 734 1.3 christos {"bc1t", "p", 0x45010000, 0xffff0000, RD_CC|CBD|FP_S, 0, I1, 0, I37 }, 735 1.3 christos {"bc1t", "N,p", 0x45010000, 0xffe30000, RD_CC|CBD|FP_S, 0, I4_32, 0, I37 }, 736 1.3 christos {"bc1tl", "p", 0x45030000, 0xffff0000, RD_CC|CBL|FP_S, 0, I2|T3, 0, I37 }, 737 1.3 christos {"bc1tl", "N,p", 0x45030000, 0xffe30000, RD_CC|CBL|FP_S, 0, I4_32, 0, I37 }, 738 1.1 christos /* bc2* are at the bottom of the table. */ 739 1.1 christos /* bc3* are at the bottom of the table. */ 740 1.10 christos {"beqz", "s,p", 0x10000000, 0xfc1f0000, RD_1|CBD, INSN2_ALIAS, I1, 0, 0 }, 741 1.10 christos {"beqzl", "s,p", 0x50000000, 0xfc1f0000, RD_1|CBL, INSN2_ALIAS, I2|T3, 0, I37 }, 742 1.1 christos {"beq", "s,t,p", 0x10000000, 0xfc000000, RD_1|RD_2|CBD, 0, I1, 0, 0 }, 743 1.1 christos {"beq", "s,I,p", 0, (int) M_BEQ_I, INSN_MACRO, 0, I1, 0, 0 }, 744 1.3 christos {"beql", "s,t,p", 0x50000000, 0xfc000000, RD_1|RD_2|CBL, 0, I2|T3, 0, I37 }, 745 1.3 christos {"beql", "s,I,p", 0, (int) M_BEQL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 746 1.1 christos {"bge", "s,t,p", 0, (int) M_BGE, INSN_MACRO, 0, I1, 0, 0 }, 747 1.1 christos {"bge", "s,I,p", 0, (int) M_BGE_I, INSN_MACRO, 0, I1, 0, 0 }, 748 1.3 christos {"bgel", "s,t,p", 0, (int) M_BGEL, INSN_MACRO, 0, I2|T3, 0, I37 }, 749 1.3 christos {"bgel", "s,I,p", 0, (int) M_BGEL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 750 1.1 christos {"bgeu", "s,t,p", 0, (int) M_BGEU, INSN_MACRO, 0, I1, 0, 0 }, 751 1.1 christos {"bgeu", "s,I,p", 0, (int) M_BGEU_I, INSN_MACRO, 0, I1, 0, 0 }, 752 1.3 christos {"bgeul", "s,t,p", 0, (int) M_BGEUL, INSN_MACRO, 0, I2|T3, 0, I37 }, 753 1.3 christos {"bgeul", "s,I,p", 0, (int) M_BGEUL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 754 1.1 christos {"bgez", "s,p", 0x04010000, 0xfc1f0000, RD_1|CBD, 0, I1, 0, 0 }, 755 1.3 christos {"bgezl", "s,p", 0x04030000, 0xfc1f0000, RD_1|CBL, 0, I2|T3, 0, I37 }, 756 1.3 christos {"bgezal", "s,p", 0x04110000, 0xfc1f0000, RD_1|WR_31|CBD, 0, I1, 0, I37 }, 757 1.3 christos {"bgezall", "s,p", 0x04130000, 0xfc1f0000, RD_1|WR_31|CBL, 0, I2|T3, 0, I37 }, 758 1.1 christos {"bgt", "s,t,p", 0, (int) M_BGT, INSN_MACRO, 0, I1, 0, 0 }, 759 1.1 christos {"bgt", "s,I,p", 0, (int) M_BGT_I, INSN_MACRO, 0, I1, 0, 0 }, 760 1.3 christos {"bgtl", "s,t,p", 0, (int) M_BGTL, INSN_MACRO, 0, I2|T3, 0, I37 }, 761 1.3 christos {"bgtl", "s,I,p", 0, (int) M_BGTL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 762 1.1 christos {"bgtu", "s,t,p", 0, (int) M_BGTU, INSN_MACRO, 0, I1, 0, 0 }, 763 1.1 christos {"bgtu", "s,I,p", 0, (int) M_BGTU_I, INSN_MACRO, 0, I1, 0, 0 }, 764 1.3 christos {"bgtul", "s,t,p", 0, (int) M_BGTUL, INSN_MACRO, 0, I2|T3, 0, I37 }, 765 1.3 christos {"bgtul", "s,I,p", 0, (int) M_BGTUL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 766 1.1 christos {"bgtz", "s,p", 0x1c000000, 0xfc1f0000, RD_1|CBD, 0, I1, 0, 0 }, 767 1.3 christos {"bgtzl", "s,p", 0x5c000000, 0xfc1f0000, RD_1|CBL, 0, I2|T3, 0, I37 }, 768 1.1 christos {"ble", "s,t,p", 0, (int) M_BLE, INSN_MACRO, 0, I1, 0, 0 }, 769 1.1 christos {"ble", "s,I,p", 0, (int) M_BLE_I, INSN_MACRO, 0, I1, 0, 0 }, 770 1.3 christos {"blel", "s,t,p", 0, (int) M_BLEL, INSN_MACRO, 0, I2|T3, 0, I37 }, 771 1.3 christos {"blel", "s,I,p", 0, (int) M_BLEL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 772 1.1 christos {"bleu", "s,t,p", 0, (int) M_BLEU, INSN_MACRO, 0, I1, 0, 0 }, 773 1.1 christos {"bleu", "s,I,p", 0, (int) M_BLEU_I, INSN_MACRO, 0, I1, 0, 0 }, 774 1.3 christos {"bleul", "s,t,p", 0, (int) M_BLEUL, INSN_MACRO, 0, I2|T3, 0, I37 }, 775 1.3 christos {"bleul", "s,I,p", 0, (int) M_BLEUL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 776 1.1 christos {"blez", "s,p", 0x18000000, 0xfc1f0000, RD_1|CBD, 0, I1, 0, 0 }, 777 1.3 christos {"blezl", "s,p", 0x58000000, 0xfc1f0000, RD_1|CBL, 0, I2|T3, 0, I37 }, 778 1.1 christos {"blt", "s,t,p", 0, (int) M_BLT, INSN_MACRO, 0, I1, 0, 0 }, 779 1.1 christos {"blt", "s,I,p", 0, (int) M_BLT_I, INSN_MACRO, 0, I1, 0, 0 }, 780 1.3 christos {"bltl", "s,t,p", 0, (int) M_BLTL, INSN_MACRO, 0, I2|T3, 0, I37 }, 781 1.3 christos {"bltl", "s,I,p", 0, (int) M_BLTL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 782 1.1 christos {"bltu", "s,t,p", 0, (int) M_BLTU, INSN_MACRO, 0, I1, 0, 0 }, 783 1.1 christos {"bltu", "s,I,p", 0, (int) M_BLTU_I, INSN_MACRO, 0, I1, 0, 0 }, 784 1.3 christos {"bltul", "s,t,p", 0, (int) M_BLTUL, INSN_MACRO, 0, I2|T3, 0, I37 }, 785 1.3 christos {"bltul", "s,I,p", 0, (int) M_BLTUL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 786 1.1 christos {"bltz", "s,p", 0x04000000, 0xfc1f0000, RD_1|CBD, 0, I1, 0, 0 }, 787 1.3 christos {"bltzl", "s,p", 0x04020000, 0xfc1f0000, RD_1|CBL, 0, I2|T3, 0, I37 }, 788 1.3 christos {"bltzal", "s,p", 0x04100000, 0xfc1f0000, RD_1|WR_31|CBD, 0, I1, 0, I37 }, 789 1.6 christos {"nal", "", 0x04100000, 0xffffffff, WR_31|CBD, 0, I1, 0, 0 }, /* bltzal 0,.+4 */ 790 1.3 christos {"bltzall", "s,p", 0x04120000, 0xfc1f0000, RD_1|WR_31|CBL, 0, I2|T3, 0, I37 }, 791 1.10 christos {"bnez", "s,p", 0x14000000, 0xfc1f0000, RD_1|CBD, INSN2_ALIAS, I1, 0, 0 }, 792 1.10 christos {"bnezl", "s,p", 0x54000000, 0xfc1f0000, RD_1|CBL, INSN2_ALIAS, I2|T3, 0, I37 }, 793 1.1 christos {"bne", "s,t,p", 0x14000000, 0xfc000000, RD_1|RD_2|CBD, 0, I1, 0, 0 }, 794 1.1 christos {"bne", "s,I,p", 0, (int) M_BNE_I, INSN_MACRO, 0, I1, 0, 0 }, 795 1.3 christos {"bnel", "s,t,p", 0x54000000, 0xfc000000, RD_1|RD_2|CBL, 0, I2|T3, 0, I37 }, 796 1.3 christos {"bnel", "s,I,p", 0, (int) M_BNEL_I, INSN_MACRO, 0, I2|T3, 0, I37 }, 797 1.1 christos {"break", "", 0x0000000d, 0xffffffff, TRAP, 0, I1, 0, 0 }, 798 1.1 christos {"break", "c", 0x0000000d, 0xfc00ffff, TRAP, 0, I1, 0, 0 }, 799 1.1 christos {"break", "c,q", 0x0000000d, 0xfc00003f, TRAP, 0, I1, 0, 0 }, 800 1.3 christos {"c.f.d", "S,T", 0x46200030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 801 1.3 christos {"c.f.d", "M,S,T", 0x46200030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 802 1.3 christos {"c.f.s", "S,T", 0x46000030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, I37 }, 803 1.3 christos {"c.f.s", "M,S,T", 0x46000030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 804 1.3 christos {"c.f.ps", "S,T", 0x46c00030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 805 1.1 christos {"c.f.ps", "S,T", 0x45600030, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 806 1.3 christos {"c.f.ps", "M,S,T", 0x46c00030, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 807 1.3 christos {"c.un.d", "S,T", 0x46200031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 808 1.3 christos {"c.un.d", "M,S,T", 0x46200031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 809 1.3 christos {"c.un.s", "S,T", 0x46000031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 810 1.3 christos {"c.un.s", "M,S,T", 0x46000031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 811 1.3 christos {"c.un.ps", "S,T", 0x46c00031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 812 1.1 christos {"c.un.ps", "S,T", 0x45600031, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 813 1.3 christos {"c.un.ps", "M,S,T", 0x46c00031, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 814 1.3 christos {"c.eq.d", "S,T", 0x46200032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 815 1.3 christos {"c.eq.d", "M,S,T", 0x46200032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 816 1.3 christos {"c.eq.s", "S,T", 0x46000032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, I37 }, 817 1.3 christos {"c.eq.s", "M,S,T", 0x46000032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 818 1.1 christos {"c.eq.ob", "Y,Q", 0x78000001, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, SB1, MX, 0 }, 819 1.1 christos {"c.eq.ob", "S,Q", 0x48000001, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, N54, 0, 0 }, 820 1.3 christos {"c.eq.ps", "S,T", 0x46c00032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 821 1.1 christos {"c.eq.ps", "S,T", 0x45600032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 822 1.3 christos {"c.eq.ps", "M,S,T", 0x46c00032, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 823 1.1 christos {"c.eq.qh", "Y,Q", 0x78200001, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, MX, 0 }, 824 1.3 christos {"c.ueq.d", "S,T", 0x46200033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 825 1.3 christos {"c.ueq.d", "M,S,T", 0x46200033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 826 1.3 christos {"c.ueq.s", "S,T", 0x46000033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 827 1.3 christos {"c.ueq.s", "M,S,T", 0x46000033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 828 1.3 christos {"c.ueq.ps", "S,T", 0x46c00033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 829 1.1 christos {"c.ueq.ps", "S,T", 0x45600033, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 830 1.3 christos {"c.ueq.ps", "M,S,T", 0x46c00033, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 831 1.3 christos {"c.olt.d", "S,T", 0x46200034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 832 1.3 christos {"c.olt.d", "M,S,T", 0x46200034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 833 1.3 christos {"c.olt.s", "S,T", 0x46000034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 834 1.3 christos {"c.olt.s", "M,S,T", 0x46000034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 835 1.3 christos {"c.olt.ps", "S,T", 0x46c00034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 836 1.1 christos {"c.olt.ps", "S,T", 0x45600034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 837 1.3 christos {"c.olt.ps", "M,S,T", 0x46c00034, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 838 1.3 christos {"c.ult.d", "S,T", 0x46200035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 839 1.3 christos {"c.ult.d", "M,S,T", 0x46200035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 840 1.3 christos {"c.ult.s", "S,T", 0x46000035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 841 1.3 christos {"c.ult.s", "M,S,T", 0x46000035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 842 1.3 christos {"c.ult.ps", "S,T", 0x46c00035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 843 1.1 christos {"c.ult.ps", "S,T", 0x45600035, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 844 1.3 christos {"c.ult.ps", "M,S,T", 0x46c00035, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 845 1.3 christos {"c.ole.d", "S,T", 0x46200036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 846 1.3 christos {"c.ole.d", "M,S,T", 0x46200036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 847 1.3 christos {"c.ole.s", "S,T", 0x46000036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 848 1.3 christos {"c.ole.s", "M,S,T", 0x46000036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 849 1.3 christos {"c.ole.ps", "S,T", 0x46c00036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 850 1.1 christos {"c.ole.ps", "S,T", 0x45600036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 851 1.3 christos {"c.ole.ps", "M,S,T", 0x46c00036, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 852 1.3 christos {"c.ule.d", "S,T", 0x46200037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 853 1.3 christos {"c.ule.d", "M,S,T", 0x46200037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 854 1.3 christos {"c.ule.s", "S,T", 0x46000037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 855 1.3 christos {"c.ule.s", "M,S,T", 0x46000037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 856 1.3 christos {"c.ule.ps", "S,T", 0x46c00037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 857 1.1 christos {"c.ule.ps", "S,T", 0x45600037, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 858 1.3 christos {"c.ule.ps", "M,S,T", 0x46c00037, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 859 1.3 christos {"c.sf.d", "S,T", 0x46200038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 860 1.3 christos {"c.sf.d", "M,S,T", 0x46200038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 861 1.3 christos {"c.sf.s", "S,T", 0x46000038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 862 1.3 christos {"c.sf.s", "M,S,T", 0x46000038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 863 1.3 christos {"c.sf.ps", "S,T", 0x46c00038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 864 1.1 christos {"c.sf.ps", "S,T", 0x45600038, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 865 1.3 christos {"c.sf.ps", "M,S,T", 0x46c00038, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 866 1.3 christos {"c.ngle.d", "S,T", 0x46200039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 867 1.3 christos {"c.ngle.d", "M,S,T", 0x46200039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 868 1.3 christos {"c.ngle.s", "S,T", 0x46000039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 869 1.3 christos {"c.ngle.s", "M,S,T", 0x46000039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 870 1.3 christos {"c.ngle.ps", "S,T", 0x46c00039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 871 1.1 christos {"c.ngle.ps", "S,T", 0x45600039, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 872 1.3 christos {"c.ngle.ps", "M,S,T", 0x46c00039, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 873 1.3 christos {"c.seq.d", "S,T", 0x4620003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 874 1.3 christos {"c.seq.d", "M,S,T", 0x4620003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 875 1.3 christos {"c.seq.s", "S,T", 0x4600003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 876 1.3 christos {"c.seq.s", "M,S,T", 0x4600003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 877 1.3 christos {"c.seq.ps", "S,T", 0x46c0003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 878 1.1 christos {"c.seq.ps", "S,T", 0x4560003a, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 879 1.3 christos {"c.seq.ps", "M,S,T", 0x46c0003a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 880 1.3 christos {"c.ngl.d", "S,T", 0x4620003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 881 1.3 christos {"c.ngl.d", "M,S,T", 0x4620003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 882 1.3 christos {"c.ngl.s", "S,T", 0x4600003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 883 1.3 christos {"c.ngl.s", "M,S,T", 0x4600003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 884 1.3 christos {"c.ngl.ps", "S,T", 0x46c0003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 885 1.1 christos {"c.ngl.ps", "S,T", 0x4560003b, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 886 1.3 christos {"c.ngl.ps", "M,S,T", 0x46c0003b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 887 1.3 christos {"c.lt.d", "S,T", 0x4620003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 888 1.3 christos {"c.lt.d", "M,S,T", 0x4620003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 889 1.1 christos {"c.lt.s", "S,T", 0x46000034, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, EE, 0, 0 }, 890 1.3 christos {"c.lt.s", "S,T", 0x4600003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 891 1.3 christos {"c.lt.s", "M,S,T", 0x4600003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 892 1.1 christos {"c.lt.ob", "Y,Q", 0x78000004, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, SB1, MX, 0 }, 893 1.1 christos {"c.lt.ob", "S,Q", 0x48000004, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, N54, 0, 0 }, 894 1.3 christos {"c.lt.ps", "S,T", 0x46c0003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 895 1.1 christos {"c.lt.ps", "S,T", 0x4560003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 896 1.3 christos {"c.lt.ps", "M,S,T", 0x46c0003c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 897 1.1 christos {"c.lt.qh", "Y,Q", 0x78200004, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, MX, 0 }, 898 1.3 christos {"c.nge.d", "S,T", 0x4620003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 899 1.3 christos {"c.nge.d", "M,S,T", 0x4620003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 900 1.3 christos {"c.nge.s", "S,T", 0x4600003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 901 1.3 christos {"c.nge.s", "M,S,T", 0x4600003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 902 1.3 christos {"c.nge.ps", "S,T", 0x46c0003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 903 1.1 christos {"c.nge.ps", "S,T", 0x4560003d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 904 1.3 christos {"c.nge.ps", "M,S,T", 0x46c0003d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 905 1.3 christos {"c.le.d", "S,T", 0x4620003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 906 1.3 christos {"c.le.d", "M,S,T", 0x4620003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 907 1.1 christos {"c.le.s", "S,T", 0x46000036, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, EE, 0, 0 }, 908 1.3 christos {"c.le.s", "S,T", 0x4600003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 909 1.3 christos {"c.le.s", "M,S,T", 0x4600003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 910 1.1 christos {"c.le.ob", "Y,Q", 0x78000005, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, SB1, MX, 0 }, 911 1.1 christos {"c.le.ob", "S,Q", 0x48000005, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, N54, 0, 0 }, 912 1.3 christos {"c.le.ps", "S,T", 0x46c0003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 913 1.1 christos {"c.le.ps", "S,T", 0x4560003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 914 1.3 christos {"c.le.ps", "M,S,T", 0x46c0003e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 915 1.1 christos {"c.le.qh", "Y,Q", 0x78200005, 0xfc2007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, MX, 0 }, 916 1.3 christos {"c.ngt.d", "S,T", 0x4620003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I1, 0, SF|I37 }, 917 1.3 christos {"c.ngt.d", "M,S,T", 0x4620003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I4_32, 0, I37 }, 918 1.3 christos {"c.ngt.s", "S,T", 0x4600003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_S, 0, I1, 0, EE|I37 }, 919 1.3 christos {"c.ngt.s", "M,S,T", 0x4600003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, I4_32, 0, I37 }, 920 1.3 christos {"c.ngt.ps", "S,T", 0x46c0003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, I5_33|IL2F, 0, I37 }, 921 1.1 christos {"c.ngt.ps", "S,T", 0x4560003f, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 922 1.3 christos {"c.ngt.ps", "M,S,T", 0x46c0003f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, I5_33, 0, I37 }, 923 1.1 christos {"cabs.eq.d", "M,S,T", 0x46200072, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 924 1.1 christos {"cabs.eq.ps", "M,S,T", 0x46c00072, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 925 1.1 christos {"cabs.eq.s", "M,S,T", 0x46000072, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 926 1.1 christos {"cabs.f.d", "M,S,T", 0x46200070, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 927 1.1 christos {"cabs.f.ps", "M,S,T", 0x46c00070, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 928 1.1 christos {"cabs.f.s", "M,S,T", 0x46000070, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 929 1.1 christos {"cabs.le.d", "M,S,T", 0x4620007e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 930 1.1 christos {"cabs.le.ps", "M,S,T", 0x46c0007e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 931 1.1 christos {"cabs.le.s", "M,S,T", 0x4600007e, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 932 1.1 christos {"cabs.lt.d", "M,S,T", 0x4620007c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 933 1.1 christos {"cabs.lt.ps", "M,S,T", 0x46c0007c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 934 1.1 christos {"cabs.lt.s", "M,S,T", 0x4600007c, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 935 1.1 christos {"cabs.nge.d", "M,S,T", 0x4620007d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 936 1.1 christos {"cabs.nge.ps", "M,S,T", 0x46c0007d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 937 1.1 christos {"cabs.nge.s", "M,S,T", 0x4600007d, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 938 1.1 christos {"cabs.ngl.d", "M,S,T", 0x4620007b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 939 1.1 christos {"cabs.ngl.ps", "M,S,T", 0x46c0007b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 940 1.1 christos {"cabs.ngl.s", "M,S,T", 0x4600007b, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 941 1.1 christos {"cabs.ngle.d", "M,S,T", 0x46200079, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 942 1.1 christos {"cabs.ngle.ps", "M,S,T", 0x46c00079, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 943 1.1 christos {"cabs.ngle.s", "M,S,T", 0x46000079, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 944 1.1 christos {"cabs.ngt.d", "M,S,T", 0x4620007f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 945 1.1 christos {"cabs.ngt.ps", "M,S,T", 0x46c0007f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 946 1.1 christos {"cabs.ngt.s", "M,S,T", 0x4600007f, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 947 1.1 christos {"cabs.ole.d", "M,S,T", 0x46200076, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 948 1.1 christos {"cabs.ole.ps", "M,S,T", 0x46c00076, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 949 1.1 christos {"cabs.ole.s", "M,S,T", 0x46000076, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 950 1.1 christos {"cabs.olt.d", "M,S,T", 0x46200074, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 951 1.1 christos {"cabs.olt.ps", "M,S,T", 0x46c00074, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 952 1.1 christos {"cabs.olt.s", "M,S,T", 0x46000074, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 953 1.1 christos {"cabs.seq.d", "M,S,T", 0x4620007a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 954 1.1 christos {"cabs.seq.ps", "M,S,T", 0x46c0007a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 955 1.1 christos {"cabs.seq.s", "M,S,T", 0x4600007a, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 956 1.1 christos {"cabs.sf.d", "M,S,T", 0x46200078, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 957 1.1 christos {"cabs.sf.ps", "M,S,T", 0x46c00078, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 958 1.1 christos {"cabs.sf.s", "M,S,T", 0x46000078, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 959 1.1 christos {"cabs.ueq.d", "M,S,T", 0x46200073, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 960 1.1 christos {"cabs.ueq.ps", "M,S,T", 0x46c00073, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 961 1.1 christos {"cabs.ueq.s", "M,S,T", 0x46000073, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 962 1.1 christos {"cabs.ule.d", "M,S,T", 0x46200077, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 963 1.1 christos {"cabs.ule.ps", "M,S,T", 0x46c00077, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 964 1.1 christos {"cabs.ule.s", "M,S,T", 0x46000077, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 965 1.1 christos {"cabs.ult.d", "M,S,T", 0x46200075, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 966 1.1 christos {"cabs.ult.ps", "M,S,T", 0x46c00075, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 967 1.1 christos {"cabs.ult.s", "M,S,T", 0x46000075, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 968 1.1 christos {"cabs.un.d", "M,S,T", 0x46200071, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 969 1.1 christos {"cabs.un.ps", "M,S,T", 0x46c00071, 0xffe000ff, RD_2|RD_3|WR_CC|FP_D, 0, 0, M3D, 0 }, 970 1.1 christos {"cabs.un.s", "M,S,T", 0x46000071, 0xffe000ff, RD_2|RD_3|WR_CC|FP_S, 0, 0, M3D, 0 }, 971 1.1 christos /* CW4010 instructions which are aliases for the cache instruction. */ 972 1.1 christos {"flushi", "", 0xbc010000, 0xffffffff, 0, 0, L1, 0, 0 }, 973 1.1 christos {"flushd", "", 0xbc020000, 0xffffffff, 0, 0, L1, 0, 0 }, 974 1.1 christos {"flushid", "", 0xbc030000, 0xffffffff, 0, 0, L1, 0, 0 }, 975 1.1 christos {"wb", "o(b)", 0xbc040000, 0xfc1f0000, RD_2|SM, 0, L1, 0, 0 }, 976 1.3 christos {"cache", "k,+j(b)", 0x7c000025, 0xfc00007f, RD_3, 0, I37, 0, 0 }, 977 1.11 christos {"cache", "k,o(b)", 0xbc000000, 0xfc000000, RD_3, 0, I3_32|T3|AL, 0, I37 }, 978 1.11 christos {"cache", "k,A(b)", 0, (int) M_CACHE_AB, INSN_MACRO, 0, I3_32|T3|AL, 0, 0 }, 979 1.1 christos {"ceil.l.d", "D,S", 0x4620000a, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 980 1.1 christos {"ceil.l.s", "D,S", 0x4600000a, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 981 1.1 christos {"ceil.w.d", "D,S", 0x4620000e, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I2, 0, SF }, 982 1.1 christos {"ceil.w.s", "D,S", 0x4600000e, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, EE }, 983 1.3 christos /* cfc0 is at the bottom of the table. */ 984 1.10 christos {"cfc1", "t,g", 0x44400000, 0xffe007ff, WR_1|RD_C1|LC, 0, I1, 0, 0 }, 985 1.3 christos {"cfc1", "t,S", 0x44400000, 0xffe007ff, WR_1|RD_C1|LC, 0, I1, 0, 0 }, 986 1.1 christos /* cfc2 is at the bottom of the table. */ 987 1.1 christos /* cfc3 is at the bottom of the table. */ 988 1.10 christos {"cftc1", "d,y", 0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LC, 0, 0, MT32, 0 }, 989 1.3 christos {"cftc1", "d,T", 0x41000023, 0xffe007ff, WR_1|RD_C1|TRAP|LC, 0, 0, MT32, 0 }, 990 1.10 christos {"cftc2", "d,y", 0x41000025, 0xffe007ff, WR_1|RD_C2|TRAP|LC, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 991 1.1 christos {"cins32", "t,r,+p,+s", 0x70000033, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 992 1.1 christos {"cins", "t,r,+P,+S", 0x70000033, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, /* cins32 */ 993 1.1 christos {"cins", "t,r,+p,+S", 0x70000032, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 994 1.11 christos {"clo", "d,s", 0x00000017, 0xfc1f07ff, WR_1|RD_2, 0, AL, 0, 0 }, 995 1.3 christos {"clo", "d,s", 0x00000051, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 }, 996 1.3 christos {"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, 997 1.11 christos {"clz", "d,s", 0x00000016, 0xfc1f07ff, WR_1|RD_2, 0, AL, 0, 0 }, 998 1.3 christos {"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 }, 999 1.3 christos {"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 }, 1000 1.3 christos /* ctc0 is at the bottom of the table. */ 1001 1.10 christos {"ctc1", "t,g", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, 1002 1.3 christos {"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 }, 1003 1.1 christos /* ctc2 is at the bottom of the table. */ 1004 1.1 christos /* ctc3 is at the bottom of the table. */ 1005 1.10 christos {"cttc1", "t,g", 0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|CM, 0, 0, MT32, 0 }, 1006 1.3 christos {"cttc1", "t,S", 0x41800023, 0xffe007ff, RD_1|WR_CC|TRAP|CM, 0, 0, MT32, 0 }, 1007 1.3 christos {"cttc2", "t,g", 0x41800025, 0xffe007ff, RD_1|WR_CC|TRAP|CM, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 1008 1.1 christos {"cvt.d.l", "D,S", 0x46a00021, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 1009 1.1 christos {"cvt.d.s", "D,S", 0x46000021, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I1, 0, SF }, 1010 1.1 christos {"cvt.d.w", "D,S", 0x46800021, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I1, 0, SF }, 1011 1.1 christos {"cvt.l.d", "D,S", 0x46200025, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 1012 1.1 christos {"cvt.l.s", "D,S", 0x46000025, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 1013 1.1 christos {"cvt.s.l", "D,S", 0x46a00020, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 1014 1.1 christos {"cvt.s.d", "D,S", 0x46200020, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I1, 0, SF }, 1015 1.1 christos {"cvt.s.w", "D,S", 0x46800020, 0xffff003f, WR_1|RD_2|FP_S, 0, I1, 0, 0 }, 1016 1.1 christos {"cvt.s.pl", "D,S", 0x46c00028, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I5_33, 0, 0 }, 1017 1.1 christos {"cvt.s.pu", "D,S", 0x46c00020, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I5_33, 0, 0 }, 1018 1.1 christos {"cvt.w.d", "D,S", 0x46200024, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I1, 0, SF }, 1019 1.1 christos {"cvt.w.s", "D,S", 0x46000024, 0xffff003f, WR_1|RD_2|FP_S, 0, I1, 0, EE }, 1020 1.1 christos {"cvt.ps.pw", "D,S", 0x46800026, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, 0, M3D, 0 }, 1021 1.3 christos {"cvt.ps.s", "D,V,T", 0x46000026, 0xffe0003f, WR_1|RD_2|RD_3|FP_S|FP_D, 0, I5_33, 0, I37 }, 1022 1.1 christos {"cvt.pw.ps", "D,S", 0x46c00024, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, 0, M3D, 0 }, 1023 1.1 christos {"dabs", "d,v", 0, (int) M_DABS, INSN_MACRO, 0, I3, 0, 0 }, 1024 1.1 christos {"dadd", "d,v,t", 0x0000002c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1025 1.9 christos {"dadd", "t,r,I", 0, (int) M_DADD_I, INSN_MACRO, 0, I3, 0, 0 }, 1026 1.1 christos {"dadd", "D,S,T", 0x45e00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1027 1.8 christos {"dadd", "D,S,T", 0x4b60000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1028 1.3 christos {"daddi", "t,r,j", 0x60000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, I69 }, 1029 1.1 christos {"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 }, 1030 1.1 christos {"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1031 1.1 christos {"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 }, 1032 1.1 christos {"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR, 0, 0 }, 1033 1.1 christos {"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5, 0, 0 }, 1034 1.3 christos {"dclo", "d,s", 0x00000053, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 }, 1035 1.3 christos {"dclo", "U,s", 0x70000025, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 }, 1036 1.3 christos {"dclz", "d,s", 0x00000052, 0xfc1f07ff, WR_1|RD_2, 0, I69, 0, 0 }, 1037 1.3 christos {"dclz", "U,s", 0x70000024, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, I69 }, 1038 1.1 christos /* dctr and dctw are used on the r5000. */ 1039 1.1 christos {"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, 1040 1.1 christos {"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 }, 1041 1.1 christos {"deret", "", 0x4200001f, 0xffffffff, NODS, 0, I32|G2, 0, 0 }, 1042 1.1 christos {"dext", "t,r,+A,+H", 0x7c000003, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1043 1.1 christos {"dext", "t,r,+A,+G", 0x7c000001, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, /* dextm */ 1044 1.1 christos {"dext", "t,r,+E,+H", 0x7c000002, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, /* dextu */ 1045 1.1 christos {"dextm", "t,r,+A,+G", 0x7c000001, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1046 1.1 christos {"dextu", "t,r,+E,+H", 0x7c000002, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1047 1.1 christos /* For ddiv, see the comments about div. */ 1048 1.3 christos {"dmod", "d,s,t", 0x000000de, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1049 1.3 christos {"ddiv", "d,s,t", 0x0000009e, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1050 1.3 christos {"ddiv", "z,s,t", 0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I3, 0, M32|I69 }, 1051 1.3 christos {"ddiv", "d,v,t", 0, (int) M_DDIV_3, INSN_MACRO, 0, I3, 0, M32|I69 }, 1052 1.3 christos {"ddiv", "d,v,I", 0, (int) M_DDIV_3I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1053 1.1 christos /* For ddivu, see the comments about div. */ 1054 1.3 christos {"dmodu", "d,s,t", 0x000000df, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1055 1.3 christos {"ddivu", "d,s,t", 0x0000009f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1056 1.3 christos {"ddivu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I3, 0, M32|I69 }, 1057 1.3 christos {"ddivu", "d,v,t", 0, (int) M_DDIVU_3, INSN_MACRO, 0, I3, 0, M32|I69 }, 1058 1.3 christos {"ddivu", "d,v,I", 0, (int) M_DDIVU_3I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1059 1.1 christos {"di", "", 0x42000039, 0xffffffff, WR_C0, 0, EE, 0, 0 }, 1060 1.1 christos {"di", "", 0x41606000, 0xffffffff, WR_C0, 0, I33, 0, 0 }, 1061 1.1 christos {"di", "t", 0x41606000, 0xffe0ffff, WR_1|WR_C0, 0, I33, 0, 0 }, 1062 1.1 christos {"dins", "t,r,+A,+B", 0x7c000007, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1063 1.1 christos {"dins", "t,r,+A,+F", 0x7c000005, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, /* dinsm */ 1064 1.1 christos {"dins", "t,r,+E,+F", 0x7c000006, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, /* dinsu */ 1065 1.1 christos {"dinsm", "t,r,+A,+F", 0x7c000005, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1066 1.1 christos {"dinsu", "t,r,+E,+F", 0x7c000006, 0xfc00003f, WR_1|RD_2, 0, I65, 0, 0 }, 1067 1.1 christos /* The MIPS assembler treats the div opcode with two operands as 1068 1.1 christos though the first operand appeared twice (the first operand is both 1069 1.1 christos a source and a destination). To get the div machine instruction, 1070 1.1 christos you must use an explicit destination of $0. */ 1071 1.3 christos {"mod", "d,v,t", 0x000000da, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1072 1.3 christos {"modu", "d,v,t", 0x000000db, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1073 1.3 christos {"div", "d,v,t", 0x0000009a, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1074 1.3 christos {"div", "z,s,t", 0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I1, 0, I37 }, 1075 1.3 christos {"div", "z,t", 0x0000001a, 0xffe0ffff, RD_2|WR_HILO, 0, I1, 0, I37 }, 1076 1.3 christos {"div", "d,v,t", 0, (int) M_DIV_3, INSN_MACRO, 0, I1, 0, I37 }, 1077 1.3 christos {"div", "d,v,I", 0, (int) M_DIV_3I, INSN_MACRO, 0, I1, 0, I37 }, 1078 1.1 christos {"div1", "z,s,t", 0x7000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, EE, 0, 0 }, 1079 1.1 christos {"div1", "z,t", 0x7000001a, 0xffe0ffff, RD_2|WR_HILO, 0, EE, 0, 0 }, 1080 1.1 christos {"div.d", "D,V,T", 0x46200003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I1, 0, SF }, 1081 1.1 christos {"div.s", "D,V,T", 0x46000003, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I1, 0, 0 }, 1082 1.1 christos {"div.ps", "D,V,T", 0x46c00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, 0, 0 }, 1083 1.1 christos /* For divu, see the comments about div. */ 1084 1.3 christos {"divu", "d,v,t", 0x0000009b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1085 1.3 christos {"divu", "z,s,t", 0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I1, 0, I37 }, 1086 1.3 christos {"divu", "z,t", 0x0000001b, 0xffe0ffff, RD_2|WR_HILO, 0, I1, 0, I37 }, 1087 1.3 christos {"divu", "d,v,t", 0, (int) M_DIVU_3, INSN_MACRO, 0, I1, 0, I37 }, 1088 1.3 christos {"divu", "d,v,I", 0, (int) M_DIVU_3I, INSN_MACRO, 0, I1, 0, I37 }, 1089 1.1 christos {"divu1", "z,s,t", 0x7000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, EE, 0, 0 }, 1090 1.1 christos {"divu1", "z,t", 0x7000001b, 0xffe0ffff, RD_2|WR_HILO, 0, EE, 0, 0 }, 1091 1.1 christos {"dla", "t,A(b)", 0, (int) M_DLA_AB, INSN_MACRO, 0, I3, 0, 0 }, 1092 1.1 christos {"dlca", "t,A(b)", 0, (int) M_DLCA_AB, INSN_MACRO, 0, I3, 0, 0 }, 1093 1.1 christos {"dli", "t,j", 0x24000000, 0xffe00000, WR_1, 0, I3, 0, 0 }, /* addiu */ 1094 1.1 christos {"dli", "t,i", 0x34000000, 0xffe00000, WR_1, 0, I3, 0, 0 }, /* ori */ 1095 1.1 christos {"dli", "t,I", 0, (int) M_DLI, INSN_MACRO, 0, I3, 0, 0 }, 1096 1.1 christos {"dmacc", "d,s,t", 0x00000029, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1097 1.1 christos {"dmacchi", "d,s,t", 0x00000229, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1098 1.1 christos {"dmacchis", "d,s,t", 0x00000629, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1099 1.1 christos {"dmacchiu", "d,s,t", 0x00000269, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1100 1.1 christos {"dmacchius", "d,s,t", 0x00000669, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1101 1.1 christos {"dmaccs", "d,s,t", 0x00000429, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1102 1.1 christos {"dmaccu", "d,s,t", 0x00000069, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1103 1.1 christos {"dmaccus", "d,s,t", 0x00000469, 0xfc0007ff, WR_1|RD_2|RD_3|WR_LO, 0, N412, 0, 0 }, 1104 1.1 christos {"dmadd16", "s,t", 0x00000029, 0xfc00ffff, RD_1|RD_2|MOD_LO, 0, N411, 0, 0 }, 1105 1.3 christos {"dmfc0", "t,G", 0x40200000, 0xffe007ff, WR_1|RD_C0|LC, 0, I3, 0, EE }, 1106 1.3 christos {"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 }, 1107 1.3 christos {"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, 1108 1.3 christos {"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 }, 1109 1.1 christos {"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 }, 1110 1.1 christos {"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, 1111 1.3 christos {"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE }, 1112 1.3 christos {"dmtc0", "t,G,H", 0x40a00000, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, I64, 0, 0 }, 1113 1.3 christos {"dmtgc0", "t,G", 0x40600300, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, 0, IVIRT64, 0 }, 1114 1.3 christos {"dmtgc0", "t,G,H", 0x40600300, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, 0, IVIRT64, 0 }, 1115 1.3 christos {"dmfc1", "t,S", 0x44200000, 0xffe007ff, WR_1|RD_2|LC|FP_D, 0, I3, 0, SF }, 1116 1.3 christos {"dmfc1", "t,G", 0x44200000, 0xffe007ff, WR_1|RD_2|LC|FP_D, 0, I3, 0, SF }, 1117 1.3 christos {"dmtc1", "t,S", 0x44a00000, 0xffe007ff, RD_1|WR_2|CM|FP_D, 0, I3, 0, SF }, 1118 1.3 christos {"dmtc1", "t,G", 0x44a00000, 0xffe007ff, RD_1|WR_2|CM|FP_D, 0, I3, 0, SF }, 1119 1.1 christos /* dmfc2 is at the bottom of the table. */ 1120 1.1 christos /* dmtc2 is at the bottom of the table. */ 1121 1.3 christos {"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1122 1.3 christos {"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1123 1.1 christos {"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 }, 1124 1.3 christos {"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 }, 1125 1.3 christos {"dmul", "d,v,I", 0, (int) M_DMUL_I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1126 1.3 christos {"dmulo", "d,v,t", 0, (int) M_DMULO, INSN_MACRO, 0, I3, 0, M32|I69 }, 1127 1.3 christos {"dmulo", "d,v,I", 0, (int) M_DMULO_I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1128 1.3 christos {"dmulou", "d,v,t", 0, (int) M_DMULOU, INSN_MACRO, 0, I3, 0, M32|I69 }, 1129 1.3 christos {"dmulou", "d,v,I", 0, (int) M_DMULOU_I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1130 1.3 christos {"dmult", "s,t", 0x0000001c, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, I3, 0, M32|I69 }, 1131 1.3 christos {"dmulu", "d,s,t", 0x0000009d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1132 1.3 christos {"dmuhu", "d,s,t", 0x000000dd, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 1133 1.3 christos {"dmultu", "s,t", 0x0000001d, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, I3, 0, M32|I69 }, 1134 1.1 christos {"dneg", "d,w", 0x0000002e, 0xffe007ff, WR_1|RD_2, 0, I3, 0, 0 }, /* dsub 0 */ 1135 1.1 christos {"dnegu", "d,w", 0x0000002f, 0xffe007ff, WR_1|RD_2, 0, I3, 0, 0 }, /* dsubu 0*/ 1136 1.1 christos {"dpop", "d,v", 0x7000002d, 0xfc1f07ff, WR_1|RD_2, 0, IOCT, 0, 0 }, 1137 1.3 christos {"drem", "z,s,t", 0x0000001e, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I3, 0, M32|I69 }, 1138 1.3 christos {"drem", "d,v,t", 0, (int) M_DREM_3, INSN_MACRO, 0, I3, 0, M32|I69 }, 1139 1.3 christos {"drem", "d,v,I", 0, (int) M_DREM_3I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1140 1.3 christos {"dremu", "z,s,t", 0x0000001f, 0xfc00ffff, RD_2|RD_3|WR_HILO, 0, I3, 0, M32|I69 }, 1141 1.3 christos {"dremu", "d,v,t", 0, (int) M_DREMU_3, INSN_MACRO, 0, I3, 0, M32|I69 }, 1142 1.3 christos {"dremu", "d,v,I", 0, (int) M_DREMU_3I, INSN_MACRO, 0, I3, 0, M32|I69 }, 1143 1.11 christos {"dret", "", 0x7000003e, 0xffffffff, 0, 0, N5|AL, 0, 0 }, 1144 1.1 christos {"drol", "d,v,t", 0, (int) M_DROL, INSN_MACRO, 0, I3, 0, 0 }, 1145 1.1 christos {"drol", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, 0, I3, 0, 0 }, 1146 1.1 christos {"dror", "d,v,t", 0, (int) M_DROR, INSN_MACRO, 0, I3, 0, 0 }, 1147 1.1 christos {"dror", "d,v,I", 0, (int) M_DROR_I, INSN_MACRO, 0, I3, 0, 0 }, 1148 1.1 christos {"dror", "d,w,<", 0x0020003a, 0xffe0003f, WR_1|RD_2, 0, N5|I65, 0, 0 }, 1149 1.1 christos {"drorv", "d,t,s", 0x00000056, 0xfc0007ff, WR_1|RD_2|RD_3, 0, N5|I65, 0, 0 }, 1150 1.1 christos {"dror32", "d,w,<", 0x0020003e, 0xffe0003f, WR_1|RD_2, 0, N5|I65, 0, 0 }, 1151 1.1 christos {"drotl", "d,v,t", 0, (int) M_DROL, INSN_MACRO, 0, I65, 0, 0 }, 1152 1.1 christos {"drotl", "d,v,I", 0, (int) M_DROL_I, INSN_MACRO, 0, I65, 0, 0 }, 1153 1.1 christos {"drotr", "d,v,t", 0, (int) M_DROR, INSN_MACRO, 0, I65, 0, 0 }, 1154 1.1 christos {"drotr", "d,v,I", 0, (int) M_DROR_I, INSN_MACRO, 0, I65, 0, 0 }, 1155 1.1 christos {"drotrv", "d,t,s", 0x00000056, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I65, 0, 0 }, 1156 1.1 christos {"drotr32", "d,w,<", 0x0020003e, 0xffe0003f, WR_1|RD_2, 0, I65, 0, 0 }, 1157 1.1 christos {"dsbh", "d,w", 0x7c0000a4, 0xffe007ff, WR_1|RD_2, 0, I65, 0, 0 }, 1158 1.1 christos {"dshd", "d,w", 0x7c000164, 0xffe007ff, WR_1|RD_2, 0, I65, 0, 0 }, 1159 1.1 christos {"dsllv", "d,t,s", 0x00000014, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1160 1.1 christos {"dsll32", "d,w,<", 0x0000003c, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1161 1.1 christos {"dsll", "d,w,s", 0x00000014, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, /* dsllv */ 1162 1.1 christos {"dsll", "d,w,>", 0x0000003c, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, /* dsll32 */ 1163 1.1 christos {"dsll", "d,w,<", 0x00000038, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1164 1.1 christos {"dsll", "D,S,T", 0x45a00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1165 1.8 christos {"dsll", "D,S,T", 0x4b20000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1166 1.1 christos {"dsrav", "d,t,s", 0x00000017, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1167 1.1 christos {"dsra32", "d,w,<", 0x0000003f, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1168 1.1 christos {"dsra", "d,w,s", 0x00000017, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, /* dsrav */ 1169 1.1 christos {"dsra", "d,w,>", 0x0000003f, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, /* dsra32 */ 1170 1.1 christos {"dsra", "d,w,<", 0x0000003b, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1171 1.1 christos {"dsra", "D,S,T", 0x45e00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1172 1.8 christos {"dsra", "D,S,T", 0x4b60000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1173 1.1 christos {"dsrlv", "d,t,s", 0x00000016, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1174 1.1 christos {"dsrl32", "d,w,<", 0x0000003e, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1175 1.1 christos {"dsrl", "d,w,s", 0x00000016, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, /* dsrlv */ 1176 1.1 christos {"dsrl", "d,w,>", 0x0000003e, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, /* dsrl32 */ 1177 1.1 christos {"dsrl", "d,w,<", 0x0000003a, 0xffe0003f, WR_1|RD_2, 0, I3, 0, 0 }, 1178 1.1 christos {"dsrl", "D,S,T", 0x45a00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1179 1.8 christos {"dsrl", "D,S,T", 0x4b20000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1180 1.1 christos {"dsub", "d,v,t", 0x0000002e, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1181 1.9 christos {"dsub", "d,v,I", 0, (int) M_DSUB_I, INSN_MACRO, 0, I3, 0, 0 }, 1182 1.1 christos {"dsub", "D,S,T", 0x45e00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1183 1.8 christos {"dsub", "D,S,T", 0x4b60000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1184 1.1 christos {"dsubu", "d,v,t", 0x0000002f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 }, 1185 1.1 christos {"dsubu", "d,v,I", 0, (int) M_DSUBU_I, INSN_MACRO, 0, I3, 0, 0 }, 1186 1.1 christos {"dvpe", "", 0x41600001, 0xffffffff, TRAP, 0, 0, MT32, 0 }, 1187 1.1 christos {"dvpe", "t", 0x41600001, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, 1188 1.5 christos {"dvp", "", 0x41600024, 0xffffffff, TRAP, 0, I37, 0, 0 }, 1189 1.5 christos {"dvp", "t", 0x41600024, 0xffe0ffff, WR_1|TRAP, 0, I37, 0, 0 }, 1190 1.1 christos {"ei", "", 0x42000038, 0xffffffff, WR_C0, 0, EE, 0, 0 }, 1191 1.1 christos {"ei", "", 0x41606020, 0xffffffff, WR_C0, 0, I33, 0, 0 }, 1192 1.1 christos {"ei", "t", 0x41606020, 0xffe0ffff, WR_1|WR_C0, 0, I33, 0, 0 }, 1193 1.1 christos {"emt", "", 0x41600be1, 0xffffffff, TRAP, 0, 0, MT32, 0 }, 1194 1.1 christos {"emt", "t", 0x41600be1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, 1195 1.11 christos {"eret", "", 0x42000018, 0xffffffff, NODS, 0, I3_32|AL, 0, 0 }, 1196 1.3 christos {"eretnc", "", 0x42000058, 0xffffffff, NODS, 0, I36, 0, 0 }, 1197 1.1 christos {"evpe", "", 0x41600021, 0xffffffff, TRAP, 0, 0, MT32, 0 }, 1198 1.1 christos {"evpe", "t", 0x41600021, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 }, 1199 1.5 christos {"evp", "", 0x41600004, 0xffffffff, TRAP, 0, I37, 0, 0 }, 1200 1.5 christos {"evp", "t", 0x41600004, 0xffe0ffff, WR_1|TRAP, 0, I37, 0, 0 }, 1201 1.11 christos {"ext", "t,r,+A,+C", 0x7c000000, 0xfc00003f, WR_1|RD_2, 0, I33|AL, 0, 0 }, 1202 1.1 christos {"exts32", "t,r,+p,+s", 0x7000003b, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 1203 1.1 christos {"exts", "t,r,+P,+S", 0x7000003b, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, /* exts32 */ 1204 1.1 christos {"exts", "t,r,+p,+S", 0x7000003a, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 1205 1.1 christos {"floor.l.d", "D,S", 0x4620000b, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 1206 1.1 christos {"floor.l.s", "D,S", 0x4600000b, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 1207 1.1 christos {"floor.w.d", "D,S", 0x4620000f, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I2, 0, SF }, 1208 1.1 christos {"floor.w.s", "D,S", 0x4600000f, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, 0 }, 1209 1.1 christos {"hibernate", "", 0x42000023, 0xffffffff, 0, 0, V1, 0, 0 }, 1210 1.1 christos {"hypcall", "", 0x42000028, 0xffffffff, TRAP, 0, 0, IVIRT, 0 }, 1211 1.1 christos {"hypcall", "+J", 0x42000028, 0xffe007ff, TRAP, 0, 0, IVIRT, 0 }, 1212 1.11 christos {"ins", "t,r,+A,+B", 0x7c000004, 0xfc00003f, WR_1|RD_2, 0, I33|AL, 0, 0 }, 1213 1.1 christos {"iret", "", 0x42000038, 0xffffffff, NODS, 0, 0, MC, 0 }, 1214 1.3 christos {"jr", "s", 0x00000009, 0xfc1fffff, RD_1|UBD, INSN2_ALIAS, I37, 0, 0 }, /* jalr $0 */ 1215 1.3 christos {"jr", "s", 0x00000008, 0xfc1fffff, RD_1|UBD, 0, I1, 0, I37 }, 1216 1.3 christos /* MIPS R6 jic appears before beqzc and jialc appears before bnezc */ 1217 1.1 christos /* jr.hb is officially MIPS{32,64}R2, but it works on R1 as jr with 1218 1.1 christos the same hazard barrier effect. */ 1219 1.3 christos {"jr.hb", "s", 0x00000409, 0xfc1fffff, RD_1|UBD, INSN2_ALIAS, I37, 0, 0 }, /* jalr.hb $0 */ 1220 1.3 christos {"jr.hb", "s", 0x00000408, 0xfc1fffff, RD_1|UBD, 0, I32, 0, I37 }, 1221 1.3 christos {"j", "s", 0x00000009, 0xfc1fffff, RD_1|UBD, INSN2_ALIAS, I37, 0, 0 }, /* jalr $0 */ 1222 1.3 christos {"j", "s", 0x00000008, 0xfc1fffff, RD_1|UBD, 0, I1, 0, I37 }, /* jr */ 1223 1.1 christos /* SVR4 PIC code requires special handling for j, so it must be a 1224 1.1 christos macro. */ 1225 1.1 christos {"j", "a", 0, (int) M_J_A, INSN_MACRO, 0, I1, 0, 0 }, 1226 1.1 christos /* This form of j is used by the disassembler and internally by the 1227 1.1 christos assembler, but will never match user input (because the line above 1228 1.1 christos will match first). */ 1229 1.1 christos {"j", "a", 0x08000000, 0xfc000000, UBD, 0, I1, 0, 0 }, 1230 1.1 christos {"jalr", "s", 0x0000f809, 0xfc1fffff, RD_1|WR_31|UBD, 0, I1, 0, 0 }, 1231 1.1 christos {"jalr", "d,s", 0x00000009, 0xfc1f07ff, WR_1|RD_2|UBD, 0, I1, 0, 0 }, 1232 1.1 christos /* jalr.hb is officially MIPS{32,64}R2, but it works on R1 as jalr 1233 1.1 christos with the same hazard barrier effect. */ 1234 1.1 christos {"jalr.hb", "s", 0x0000fc09, 0xfc1fffff, RD_1|WR_31|UBD, 0, I32, 0, 0 }, 1235 1.1 christos {"jalr.hb", "d,s", 0x00000409, 0xfc1f07ff, WR_1|RD_2|UBD, 0, I32, 0, 0 }, 1236 1.1 christos /* SVR4 PIC code requires special handling for jal, so it must be a 1237 1.1 christos macro. */ 1238 1.1 christos {"jal", "d,s", 0, (int) M_JAL_2, INSN_MACRO, 0, I1, 0, 0 }, 1239 1.1 christos {"jal", "s", 0, (int) M_JAL_1, INSN_MACRO, 0, I1, 0, 0 }, 1240 1.1 christos {"jal", "a", 0, (int) M_JAL_A, INSN_MACRO, 0, I1, 0, 0 }, 1241 1.1 christos /* This form of jal is used by the disassembler and internally by the 1242 1.1 christos assembler, but will never match user input (because the line above 1243 1.1 christos will match first). */ 1244 1.1 christos {"jal", "a", 0x0c000000, 0xfc000000, WR_31|UBD, 0, I1, 0, 0 }, 1245 1.3 christos {"jalx", "+i", 0x74000000, 0xfc000000, WR_31|UBD, 0, I1, 0, I37 }, 1246 1.1 christos {"laa", "d,(b),t", 0x7000049f, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM, 0, IOCT2, 0, 0 }, 1247 1.1 christos {"laad", "d,(b),t", 0x700004df, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM, 0, IOCT2, 0, 0 }, 1248 1.1 christos {"lac", "d,(b)", 0x7000039f, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1249 1.1 christos {"lacd", "d,(b)", 0x700003df, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1250 1.1 christos {"lad", "d,(b)", 0x7000019f, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1251 1.1 christos {"ladd", "d,(b)", 0x700001df, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1252 1.1 christos {"lai", "d,(b)", 0x7000009f, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1253 1.1 christos {"laid", "d,(b)", 0x700000df, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1254 1.1 christos {"las", "d,(b)", 0x7000029f, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1255 1.1 christos {"lasd", "d,(b)", 0x700002df, 0xfc1f07ff, WR_1|RD_2|LM|SM, 0, IOCT2, 0, 0 }, 1256 1.1 christos {"law", "d,(b),t", 0x7000059f, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM, 0, IOCT2, 0, 0 }, 1257 1.1 christos {"lawd", "d,(b),t", 0x700005df, 0xfc0007ff, WR_1|RD_2|RD_3|LM|SM, 0, IOCT2, 0, 0 }, 1258 1.1 christos {"lb", "t,o(b)", 0x80000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, 0 }, 1259 1.1 christos {"lb", "t,A(b)", 0, (int) M_LB_AB, INSN_MACRO, 0, I1, 0, 0 }, 1260 1.1 christos {"lbu", "t,o(b)", 0x90000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, 0 }, 1261 1.1 christos {"lbu", "t,A(b)", 0, (int) M_LBU_AB, INSN_MACRO, 0, I1, 0, 0 }, 1262 1.1 christos {"lbx", "d,t(b)", 0x7c00058a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, 0, 0 }, 1263 1.1 christos {"lbux", "d,t(b)", 0x7c00018a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, D32, 0}, 1264 1.1 christos {"ldx", "d,t(b)", 0x7c00020a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, D64, 0}, 1265 1.1 christos {"lhx", "d,t(b)", 0x7c00010a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, D32, 0}, 1266 1.1 christos {"lhux", "d,t(b)", 0x7c00050a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, 0, 0 }, 1267 1.1 christos {"lwx", "d,t(b)", 0x7c00000a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, D32, 0}, 1268 1.1 christos {"lwux", "d,t(b)", 0x7c00040a, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, IOCT2, 0, 0 }, 1269 1.1 christos {"lca", "t,A(b)", 0, (int) M_LCA_AB, INSN_MACRO, 0, I1, 0, 0 }, 1270 1.3 christos {"ldpc", "s,-B", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 }, 1271 1.1 christos /* The macro has to be first to handle o32 correctly. */ 1272 1.3 christos {"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 }, 1273 1.1 christos {"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 }, 1274 1.1 christos {"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 }, 1275 1.1 christos {"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1276 1.1 christos {"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1277 1.1 christos {"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1278 1.1 christos {"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, 1279 1.1 christos {"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, 1280 1.1 christos {"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, 1281 1.1 christos {"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, 1282 1.1 christos {"l.d", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF }, /* ldc1 */ 1283 1.1 christos {"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, INSN2_M_FP_D, I1, 0, 0 }, 1284 1.3 christos {"ldc2", "E,+:(d)", 0x49c00000, 0xffe00000, RD_3|WR_C2|CLD, 0, I37, 0, 0 }, 1285 1.11 christos {"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, RD_3|WR_CC|CLD, 0, I2, 0, N54|IOCT|IOCTP|IOCT2|EE|AL|I37 }, 1286 1.11 christos {"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2, 0, N54|IOCT|IOCTP|IOCT2|EE|AL }, 1287 1.11 christos {"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, RD_3|WR_CC|CLD, 0, I2, 0, I3_32|EE|AL }, 1288 1.11 christos {"ldc3", "E,A(b)", 0, (int) M_LDC3_AB, INSN_MACRO, 0, I2, 0, I3_32|EE|AL }, 1289 1.3 christos {"ldl", "t,o(b)", 0x68000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, I69 }, 1290 1.3 christos {"ldl", "t,A(b)", 0, (int) M_LDL_AB, INSN_MACRO, 0, I3, 0, I69 }, 1291 1.3 christos {"ldr", "t,o(b)", 0x6c000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, I69 }, 1292 1.3 christos {"ldr", "t,A(b)", 0, (int) M_LDR_AB, INSN_MACRO, 0, I3, 0, I69 }, 1293 1.3 christos {"ldxc1", "D,t(b)", 0x4c000001, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0, I4_33, 0, I37 }, 1294 1.1 christos {"lh", "t,o(b)", 0x84000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, 0 }, 1295 1.1 christos {"lh", "t,A(b)", 0, (int) M_LH_AB, INSN_MACRO, 0, I1, 0, 0 }, 1296 1.1 christos {"lhu", "t,o(b)", 0x94000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, 0 }, 1297 1.1 christos {"lhu", "t,A(b)", 0, (int) M_LHU_AB, INSN_MACRO, 0, I1, 0, 0 }, 1298 1.1 christos /* li is at the start of the table. */ 1299 1.1 christos {"li.d", "t,F", 0, (int) M_LI_D, INSN_MACRO, INSN2_M_FP_D, I1, 0, SF }, 1300 1.1 christos {"li.d", "T,L", 0, (int) M_LI_DD, INSN_MACRO, INSN2_M_FP_D, I1, 0, SF }, 1301 1.1 christos {"li.s", "t,f", 0, (int) M_LI_S, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1302 1.1 christos {"li.s", "T,l", 0, (int) M_LI_SS, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1303 1.3 christos {"ll", "t,+j(b)", 0x7c000036, 0xfc00007f, WR_1|RD_3|LM, 0, I37, 0, 0 }, 1304 1.3 christos {"ll", "t,o(b)", 0xc0000000, 0xfc000000, WR_1|RD_3|LM, 0, I2, 0, EE|I37 }, 1305 1.1 christos {"ll", "t,A(b)", 0, (int) M_LL_AB, INSN_MACRO, 0, I2, 0, EE }, 1306 1.3 christos {"lld", "t,+j(b)", 0x7c000037, 0xfc00007f, WR_1|RD_3|LM, 0, I69, 0, 0 }, 1307 1.3 christos {"lld", "t,o(b)", 0xd0000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, EE|I69 }, 1308 1.1 christos {"lld", "t,A(b)", 0, (int) M_LLD_AB, INSN_MACRO, 0, I3, 0, EE }, 1309 1.9 christos {"lldp", "t,d,s", 0x7c000077, 0xfc0007ff, WR_1|WR_2|RD_3|LM, 0, I69, 0, 0 }, 1310 1.9 christos {"lldp", "t,d,A(b)", 0, (int) M_LLDP_AB, INSN_MACRO, 0, I69, 0, 0 }, 1311 1.9 christos {"llwp", "t,d,s", 0x7c000076, 0xfc0007ff, WR_1|WR_2|RD_3|LM, 0, I37, 0, 0 }, 1312 1.9 christos {"llwp", "t,d,A(b)", 0, (int) M_LLWP_AB, INSN_MACRO, 0, I37, 0, 0 }, 1313 1.1 christos {"lq", "t,o(b)", 0x78000000, 0xfc000000, WR_1|RD_3|LM, 0, MMI, 0, 0 }, 1314 1.1 christos {"lq", "t,A(b)", 0, (int) M_LQ_AB, INSN_MACRO, 0, MMI, 0, 0 }, 1315 1.1 christos {"lqc2", "+7,o(b)", 0xd8000000, 0xfc000000, RD_3|WR_C2|LM, 0, EE, 0, 0 }, 1316 1.1 christos {"lqc2", "+7,A(b)", 0, (int) M_LQC2_AB, INSN_MACRO, 0, EE, 0, 0 }, 1317 1.1 christos {"lui", "t,u", 0x3c000000, 0xffe00000, WR_1, 0, I1, 0, 0 }, 1318 1.3 christos {"luxc1", "D,t(b)", 0x4c000005, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_D, 0, I5_33|N55, 0, I37}, 1319 1.3 christos {"lwpc", "s,-A", 0xec080000, 0xfc180000, WR_1|LM, RD_pc, I37, 0, 0 }, 1320 1.1 christos {"lw", "t,o(b)", 0x8c000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, 0 }, 1321 1.3 christos {"lw", "s,-a(+R)", 0xec080000, 0xfc180000, WR_1|LM, RD_pc, I37, 0, 0 }, 1322 1.1 christos {"lw", "t,A(b)", 0, (int) M_LW_AB, INSN_MACRO, 0, I1, 0, 0 }, 1323 1.10 christos {"lwc0", "E,o(b)", 0xc0000000, 0xfc000000, RD_3|WR_CC|CLD, 0, I1, 0, I2 }, 1324 1.10 christos {"lwc0", "E,A(b)", 0, (int) M_LWC0_AB, INSN_MACRO, 0, I1, 0, I2 }, 1325 1.1 christos {"lwc1", "T,o(b)", 0xc4000000, 0xfc000000, WR_1|RD_3|CLD|FP_S, 0, I1, 0, 0 }, 1326 1.1 christos {"lwc1", "E,o(b)", 0xc4000000, 0xfc000000, WR_1|RD_3|CLD|FP_S, 0, I1, 0, 0 }, 1327 1.1 christos {"lwc1", "T,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1328 1.1 christos {"lwc1", "E,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1329 1.1 christos {"l.s", "T,o(b)", 0xc4000000, 0xfc000000, WR_1|RD_3|CLD|FP_S, 0, I1, 0, 0 }, /* lwc1 */ 1330 1.1 christos {"l.s", "T,A(b)", 0, (int) M_LWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1331 1.3 christos {"lwc2", "E,+:(d)", 0x49400000, 0xffe00000, RD_3|WR_C2|CLD, 0, I37, 0, 0 }, 1332 1.10 christos {"lwc2", "E,o(b)", 0xc8000000, 0xfc000000, RD_3|WR_CC|CLD, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE|I37 }, 1333 1.10 christos {"lwc2", "E,A(b)", 0, (int) M_LWC2_AB, INSN_MACRO, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 1334 1.11 christos {"lwc3", "E,o(b)", 0xcc000000, 0xfc000000, RD_3|WR_CC|CLD, 0, I1, 0, I3_32|EE|AL }, 1335 1.11 christos {"lwc3", "E,A(b)", 0, (int) M_LWC3_AB, INSN_MACRO, 0, I1, 0, I3_32|EE|AL }, 1336 1.3 christos {"lwl", "t,o(b)", 0x88000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, I37 }, 1337 1.3 christos {"lwl", "t,A(b)", 0, (int) M_LWL_AB, INSN_MACRO, 0, I1, 0, I37 }, 1338 1.3 christos {"lcache", "t,o(b)", 0x88000000, 0xfc000000, WR_1|RD_3|LM, 0, I2, 0, I37 }, /* same */ 1339 1.3 christos {"lcache", "t,A(b)", 0, (int) M_LWL_AB, INSN_MACRO, 0, I2, 0, I37 }, /* as lwl */ 1340 1.3 christos {"lwr", "t,o(b)", 0x98000000, 0xfc000000, WR_1|RD_3|LM, 0, I1, 0, I37 }, 1341 1.3 christos {"lwr", "t,A(b)", 0, (int) M_LWR_AB, INSN_MACRO, 0, I1, 0, I37 }, 1342 1.3 christos {"flush", "t,o(b)", 0x98000000, 0xfc000000, WR_1|RD_3|LM, 0, I2, 0, I37 }, /* same */ 1343 1.3 christos {"flush", "t,A(b)", 0, (int) M_LWR_AB, INSN_MACRO, 0, I2, 0, I37 }, /* as lwr */ 1344 1.1 christos {"fork", "d,s,t", 0x7c000008, 0xfc0007ff, WR_1|RD_2|RD_3|TRAP, 0, 0, MT32, 0 }, 1345 1.3 christos {"lwupc", "s,-A", 0xec100000, 0xfc180000, WR_1, RD_pc, I69, 0, 0 }, 1346 1.1 christos {"lwu", "t,o(b)", 0x9c000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 }, 1347 1.3 christos {"lwu" , "s,-a(+R)", 0xec100000, 0xfc180000, WR_1, RD_pc, I69, 0, 0 }, 1348 1.1 christos {"lwu", "t,A(b)", 0, (int) M_LWU_AB, INSN_MACRO, 0, I3, 0, 0 }, 1349 1.3 christos {"lwxc1", "D,t(b)", 0x4c000000, 0xfc00f83f, WR_1|RD_2|RD_3|LM|FP_S, 0, I4_33, 0, I37 }, 1350 1.1 christos {"lwxs", "d,t(b)", 0x70000088, 0xfc0007ff, WR_1|RD_2|RD_3|LM, 0, 0, SMT, 0 }, 1351 1.1 christos {"macc", "d,s,t", 0x00000028, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1352 1.1 christos {"macc", "d,s,t", 0x00000158, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1353 1.1 christos {"maccs", "d,s,t", 0x00000428, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1354 1.1 christos {"macchi", "d,s,t", 0x00000228, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1355 1.1 christos {"macchi", "d,s,t", 0x00000358, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1356 1.1 christos {"macchis", "d,s,t", 0x00000628, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1357 1.1 christos {"macchiu", "d,s,t", 0x00000268, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1358 1.1 christos {"macchiu", "d,s,t", 0x00000359, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1359 1.1 christos {"macchius", "d,s,t", 0x00000668, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1360 1.1 christos {"maccu", "d,s,t", 0x00000068, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1361 1.1 christos {"maccu", "d,s,t", 0x00000159, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1362 1.1 christos {"maccus", "d,s,t", 0x00000468, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N412, 0, 0 }, 1363 1.1 christos {"mad", "s,t", 0x70000000, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, P3, 0, 0 }, 1364 1.1 christos {"madu", "s,t", 0x70000001, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, P3, 0, 0 }, 1365 1.3 christos {"madd.d", "D,R,S,T", 0x4c000021, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, 1366 1.1 christos {"madd.d", "D,S,T", 0x46200018, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1367 1.1 christos {"madd.d", "D,S,T", 0x72200018, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1368 1.3 christos {"madd.s", "D,R,S,T", 0x4c000020, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0, I4_33, 0, I37 }, 1369 1.1 christos {"madd.s", "D,S,T", 0x46000018, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1370 1.1 christos {"madd.s", "D,S,T", 0x72000018, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2F, 0, 0 }, 1371 1.1 christos {"madd.s", "D,S,T", 0x4600001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, EE, 0, 0 }, 1372 1.3 christos {"madd.ps", "D,R,S,T", 0x4c000026, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I5_33, 0, I37 }, 1373 1.1 christos {"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1374 1.1 christos {"madd.ps", "D,S,T", 0x72c00018, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1375 1.11 christos {"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, L1|AL, 0, 0 }, 1376 1.3 christos {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, I32|N55, 0, I37 }, 1377 1.1 christos {"madd", "s,t", 0x70000000, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, G1, 0, 0 }, 1378 1.1 christos {"madd", "7,s,t", 0x70000000, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 1379 1.1 christos {"madd", "d,s,t", 0x70000000, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, G1, 0, 0 }, 1380 1.1 christos {"madd1", "s,t", 0x70000020, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, EE, 0, 0 }, 1381 1.1 christos {"madd1", "d,s,t", 0x70000020, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, EE, 0, 0 }, 1382 1.1 christos {"madda.s", "S,T", 0x4600001e, 0xffe007ff, RD_1|RD_2|FP_S, 0, EE, 0, 0 }, 1383 1.1 christos {"maddp", "s,t", 0x70000441, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, 0, SMT, 0 }, 1384 1.11 christos {"maddu", "s,t", 0x0000001d, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, L1|AL, 0, 0 }, 1385 1.3 christos {"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, I32|N55, 0, I37 }, 1386 1.1 christos {"maddu", "s,t", 0x70000001, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, G1, 0, 0 }, 1387 1.1 christos {"maddu", "7,s,t", 0x70000001, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 1388 1.1 christos {"maddu", "d,s,t", 0x70000001, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, G1, 0, 0 }, 1389 1.1 christos {"maddu1", "s,t", 0x70000021, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, EE, 0, 0 }, 1390 1.1 christos {"maddu1", "d,s,t", 0x70000021, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, EE, 0, 0 }, 1391 1.1 christos {"madd16", "s,t", 0x00000028, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, N411, 0, 0 }, 1392 1.11 christos {"max", "d,v,t", 0x0000002c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, AL, 0, 0 }, 1393 1.1 christos {"max.ob", "X,Y,Q", 0x78000007, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1394 1.1 christos {"max.ob", "D,S,Q", 0x48000007, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1395 1.1 christos {"max.qh", "X,Y,Q", 0x78200007, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1396 1.1 christos {"max.s", "D,S,T", 0x46000028, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, EE, 0, 0 }, 1397 1.3 christos {"max.s", "D,S,T", 0x4600001e, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 1398 1.3 christos {"mfbpc", "t", 0x4000c000, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1399 1.3 christos {"mfdab", "t", 0x4000c004, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1400 1.3 christos {"mfdabm", "t", 0x4000c005, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1401 1.3 christos {"mfdvb", "t", 0x4000c006, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1402 1.3 christos {"mfdvbm", "t", 0x4000c007, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1403 1.3 christos {"mfiab", "t", 0x4000c002, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1404 1.3 christos {"mfiabm", "t", 0x4000c003, 0xffe0ffff, WR_1|RD_C0|LC, 0, EE, 0, 0 }, 1405 1.3 christos {"mfpc", "t,P", 0x4000c801, 0xffe0ffc1, WR_1|RD_C0|LC, 0, M1|N5|EE, 0, 0 }, 1406 1.3 christos {"mfps", "t,P", 0x4000c800, 0xffe0ffc1, WR_1|RD_C0|LC, 0, M1|N5|EE, 0, 0 }, 1407 1.1 christos {"mftacx", "d", 0x41020021, 0xffff07ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1408 1.1 christos {"mftacx", "d,*", 0x41020021, 0xfff307ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1409 1.3 christos {"mftc0", "d,+t", 0x41000000, 0xffe007ff, WR_1|RD_C0|TRAP|LC, 0, 0, MT32, 0 }, 1410 1.3 christos {"mftc0", "d,E,H", 0x41000000, 0xffe007f8, WR_1|RD_C0|TRAP|LC, 0, 0, MT32, 0 }, 1411 1.3 christos {"mftc1", "d,T", 0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_S, 0, 0, MT32, 0 }, 1412 1.3 christos {"mftc1", "d,E", 0x41000022, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_S, 0, 0, MT32, 0 }, 1413 1.3 christos {"mftc2", "d,E", 0x41000024, 0xffe007ff, WR_1|RD_C2|TRAP|LC, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 1414 1.1 christos {"mftdsp", "d", 0x41100021, 0xffff07ff, WR_1|TRAP, 0, 0, MT32, 0 }, 1415 1.1 christos {"mftgpr", "d,t", 0x41000020, 0xffe007ff, WR_1|RD_2|TRAP, 0, 0, MT32, 0 }, 1416 1.3 christos {"mfthc1", "d,T", 0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_D, 0, 0, MT32, 0 }, 1417 1.3 christos {"mfthc1", "d,E", 0x41000032, 0xffe007ff, WR_1|RD_2|TRAP|LC|FP_D, 0, 0, MT32, 0 }, 1418 1.3 christos {"mfthc2", "d,E", 0x41000034, 0xffe007ff, WR_1|RD_C2|TRAP|LC, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 1419 1.1 christos {"mfthi", "d", 0x41010021, 0xffff07ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1420 1.1 christos {"mfthi", "d,*", 0x41010021, 0xfff307ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1421 1.1 christos {"mftlo", "d", 0x41000021, 0xffff07ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1422 1.1 christos {"mftlo", "d,*", 0x41000021, 0xfff307ff, WR_1|RD_a|TRAP, 0, 0, MT32, 0 }, 1423 1.1 christos {"mftr", "d,t,!,H,$", 0x41000000, 0xffe007c8, WR_1|TRAP, 0, 0, MT32, 0 }, 1424 1.3 christos {"mfc0", "t,G", 0x40000000, 0xffe007ff, WR_1|RD_C0|LC, 0, I1, 0, 0 }, 1425 1.3 christos {"mfc0", "t,G,H", 0x40000000, 0xffe007f8, WR_1|RD_C0|LC, 0, I32, 0, 0 }, 1426 1.3 christos {"mfgc0", "t,G", 0x40600000, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT, 0 }, 1427 1.3 christos {"mfgc0", "t,G,H", 0x40600000, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT, 0 }, 1428 1.8 christos {"mfhc0", "t,G", 0x40400000, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, XPA, 0 }, 1429 1.8 christos {"mfhc0", "t,G,H", 0x40400000, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, XPA, 0 }, 1430 1.8 christos {"mfhgc0", "t,G", 0x40600400, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, XPAVZ, 0 }, 1431 1.8 christos {"mfhgc0", "t,G,H", 0x40600400, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, XPAVZ, 0 }, 1432 1.3 christos {"mfc1", "t,S", 0x44000000, 0xffe007ff, WR_1|RD_2|LC|FP_S, 0, I1, 0, 0 }, 1433 1.3 christos {"mfc1", "t,G", 0x44000000, 0xffe007ff, WR_1|RD_2|LC|FP_S, 0, I1, 0, 0 }, 1434 1.3 christos {"mfhc1", "t,S", 0x44600000, 0xffe007ff, WR_1|RD_2|LC|FP_D, 0, I33, 0, 0 }, 1435 1.3 christos {"mfhc1", "t,G", 0x44600000, 0xffe007ff, WR_1|RD_2|LC|FP_D, 0, I33, 0, 0 }, 1436 1.1 christos /* mfc2 is at the bottom of the table. */ 1437 1.1 christos /* mfhc2 is at the bottom of the table. */ 1438 1.1 christos /* mfc3 is at the bottom of the table. */ 1439 1.11 christos {"mfdr", "t,G", 0x7000003d, 0xffe007ff, WR_1|RD_C0|LC, 0, N5|AL, 0, 0 }, 1440 1.3 christos {"mfhi", "d", 0x00000010, 0xffff07ff, WR_1|RD_HI, 0, I1, 0, I37 }, 1441 1.1 christos {"mfhi", "d,9", 0x00000010, 0xff9f07ff, WR_1|RD_HI, 0, 0, D32, 0 }, 1442 1.1 christos {"mfhi1", "d", 0x70000010, 0xffff07ff, WR_1|RD_HI, 0, EE, 0, 0 }, 1443 1.3 christos {"mflo", "d", 0x00000012, 0xffff07ff, WR_1|RD_LO, 0, I1, 0, I37 }, 1444 1.1 christos {"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 }, 1445 1.1 christos {"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 }, 1446 1.1 christos {"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 }, 1447 1.1 christos {"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1|RD_2, 0, XLR, 0, 0 }, 1448 1.1 christos {"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 }, 1449 1.11 christos {"min", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, AL, 0, 0 }, 1450 1.1 christos {"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1451 1.1 christos {"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1452 1.1 christos {"min.qh", "X,Y,Q", 0x78200006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1453 1.1 christos {"min.s", "D,S,T", 0x46000029, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, EE, 0, 0 }, 1454 1.3 christos {"min.s", "D,S,T", 0x4600001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 1455 1.1 christos {"mov.d", "D,S", 0x46200006, 0xffff003f, WR_1|RD_2|FP_D, 0, I1, 0, SF }, 1456 1.1 christos {"mov.s", "D,S", 0x46000006, 0xffff003f, WR_1|RD_2|FP_S, 0, I1, 0, 0 }, 1457 1.3 christos {"mov.ps", "D,S", 0x46c00006, 0xffff003f, WR_1|RD_2|FP_D, 0, I5_33|IL2F, 0, I37 }, 1458 1.1 christos {"mov.ps", "D,S", 0x45600006, 0xffff003f, WR_1|RD_2|FP_D, 0, IL2E, 0, 0 }, 1459 1.3 christos {"movf", "d,s,N", 0x00000001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0, I4_32, 0, I37 }, 1460 1.3 christos {"movf.d", "D,S,N", 0x46200011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, I4_32, 0, I37 }, 1461 1.1 christos {"movf.l", "D,S,N", 0x46a00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, SB1, MX, 0 }, 1462 1.1 christos {"movf.l", "X,Y,N", 0x46a00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, SB1, MX, 0 }, 1463 1.3 christos {"movf.s", "D,S,N", 0x46000011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S, 0, I4_32, 0, I37 }, 1464 1.3 christos {"movf.ps", "D,S,N", 0x46c00011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, I5_33, 0, I37 }, 1465 1.11 christos {"movn", "d,v,t", 0x0000000b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I4_32|IL2E|IL2F|EE|AL, 0, I37 }, 1466 1.8 christos {"movnz", "d,v,t", 0x0000000b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E|IL2F, LEXT, 0 }, 1467 1.1 christos {"ffc", "d,v", 0x0000000b, 0xfc1f07ff, WR_1|RD_2, 0, L1, 0, 0 }, 1468 1.3 christos {"movn.d", "D,S,t", 0x46200013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I4_32, 0, I37 }, 1469 1.1 christos {"movn.l", "D,S,t", 0x46a00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1470 1.1 christos {"movn.l", "X,Y,t", 0x46a00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1471 1.3 christos {"movn.s", "D,S,t", 0x46000013, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I4_32, 0, I37 }, 1472 1.3 christos {"movn.ps", "D,S,t", 0x46c00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1473 1.3 christos {"movt", "d,s,N", 0x00010001, 0xfc0307ff, WR_1|RD_2|RD_CC|FP_S|FP_D, 0, I4_32, 0, I37 }, 1474 1.3 christos {"movt.d", "D,S,N", 0x46210011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, I4_32, 0, I37 }, 1475 1.1 christos {"movt.l", "D,S,N", 0x46a10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, SB1, MX, 0 }, 1476 1.1 christos {"movt.l", "X,Y,N", 0x46a10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, SB1, MX, 0 }, 1477 1.3 christos {"movt.s", "D,S,N", 0x46010011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_S, 0, I4_32, 0, I37 }, 1478 1.3 christos {"movt.ps", "D,S,N", 0x46c10011, 0xffe3003f, WR_1|RD_2|RD_CC|FP_D, 0, I5_33, 0, I37 }, 1479 1.11 christos {"movz", "d,v,t", 0x0000000a, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I4_32|IL2E|IL2F|EE|AL, 0, I37 }, 1480 1.1 christos {"ffs", "d,v", 0x0000000a, 0xfc1f07ff, WR_1|RD_2, 0, L1, 0, 0 }, 1481 1.3 christos {"movz.d", "D,S,t", 0x46200012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I4_32, 0, I37 }, 1482 1.1 christos {"movz.l", "D,S,t", 0x46a00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1483 1.1 christos {"movz.l", "X,Y,t", 0x46a00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1484 1.3 christos {"movz.s", "D,S,t", 0x46000012, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I4_32, 0, I37 }, 1485 1.3 christos {"movz.ps", "D,S,t", 0x46c00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1486 1.1 christos {"msac", "d,s,t", 0x000001d8, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1487 1.1 christos {"msacu", "d,s,t", 0x000001d9, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1488 1.1 christos {"msachi", "d,s,t", 0x000003d8, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1489 1.1 christos {"msachiu", "d,s,t", 0x000003d9, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1490 1.1 christos /* move is at the top of the table. */ 1491 1.1 christos {"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1492 1.1 christos {"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 }, 1493 1.1 christos {"msgld", "", 0, (int) M_MSGLD, INSN_MACRO, 0, XLR, 0, 0 }, 1494 1.1 christos {"msgld", "t", 0, (int) M_MSGLD_T, INSN_MACRO, 0, XLR, 0, 0 }, 1495 1.1 christos {"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR, 0, 0 }, 1496 1.1 christos {"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR, 0, 0 }, 1497 1.3 christos {"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, 1498 1.1 christos {"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1499 1.1 christos {"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1500 1.3 christos {"msub.s", "D,R,S,T", 0x4c000028, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0, I4_33, 0, I37 }, 1501 1.1 christos {"msub.s", "D,S,T", 0x46000019, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1502 1.1 christos {"msub.s", "D,S,T", 0x72000019, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2F, 0, 0 }, 1503 1.1 christos {"msub.s", "D,S,T", 0x4600001d, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, EE, 0, 0 }, 1504 1.3 christos {"msub.ps", "D,R,S,T", 0x4c00002e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I5_33, 0, I37 }, 1505 1.1 christos {"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1506 1.1 christos {"msub.ps", "D,S,T", 0x72c00019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1507 1.11 christos {"msub", "s,t", 0x0000002e, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, AL, 0, 0 }, 1508 1.1 christos {"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, L1, 0, 0 }, 1509 1.3 christos {"msub", "s,t", 0x70000004, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, I32|N55, 0, I37 }, 1510 1.1 christos {"msub", "7,s,t", 0x70000004, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 1511 1.1 christos {"msuba.s", "S,T", 0x4600001f, 0xffe007ff, RD_1|RD_2|FP_S, 0, EE, 0, 0 }, 1512 1.11 christos {"msubu", "s,t", 0x0000002f, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, AL, 0, 0 }, 1513 1.1 christos {"msubu", "s,t", 0x0000001f, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, L1, 0, 0 }, 1514 1.3 christos {"msubu", "s,t", 0x70000005, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, I32|N55, 0, I37 }, 1515 1.1 christos {"msubu", "7,s,t", 0x70000005, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 1516 1.3 christos {"mtbpc", "t", 0x4080c000, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1517 1.3 christos {"mtdab", "t", 0x4080c004, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1518 1.3 christos {"mtdabm", "t", 0x4080c005, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1519 1.3 christos {"mtdvb", "t", 0x4080c006, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1520 1.3 christos {"mtdvbm", "t", 0x4080c007, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1521 1.3 christos {"mtiab", "t", 0x4080c002, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1522 1.3 christos {"mtiabm", "t", 0x4080c003, 0xffe0ffff, RD_1|WR_C0|CM, 0, EE, 0, 0 }, 1523 1.3 christos {"mtpc", "t,P", 0x4080c801, 0xffe0ffc1, RD_1|WR_C0|CM, 0, M1|N5|EE, 0, 0 }, 1524 1.3 christos {"mtps", "t,P", 0x4080c800, 0xffe0ffc1, RD_1|WR_C0|CM, 0, M1|N5|EE, 0, 0 }, 1525 1.3 christos {"mtc0", "t,G", 0x40800000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I1, 0, 0 }, 1526 1.3 christos {"mtc0", "t,G,H", 0x40800000, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, I32, 0, 0 }, 1527 1.3 christos {"mtgc0", "t,G", 0x40600200, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, 0, IVIRT, 0 }, 1528 1.3 christos {"mtgc0", "t,G,H", 0x40600200, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, 0, IVIRT, 0 }, 1529 1.8 christos {"mthc0", "t,G", 0x40c00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, 0, XPA, 0 }, 1530 1.8 christos {"mthc0", "t,G,H", 0x40c00000, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, 0, XPA, 0 }, 1531 1.8 christos {"mthgc0", "t,G", 0x40600600, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, 0, XPAVZ, 0 }, 1532 1.8 christos {"mthgc0", "t,G,H", 0x40600600, 0xffe007f8, RD_1|WR_C0|WR_CC|CM, 0, 0, XPAVZ, 0 }, 1533 1.3 christos {"mtc1", "t,S", 0x44800000, 0xffe007ff, RD_1|WR_2|CM|FP_S, 0, I1, 0, 0 }, 1534 1.3 christos {"mtc1", "t,G", 0x44800000, 0xffe007ff, RD_1|WR_2|CM|FP_S, 0, I1, 0, 0 }, 1535 1.3 christos {"mthc1", "t,S", 0x44e00000, 0xffe007ff, RD_1|WR_2|CM|FP_D, 0, I33, 0, 0 }, 1536 1.3 christos {"mthc1", "t,G", 0x44e00000, 0xffe007ff, RD_1|WR_2|CM|FP_D, 0, I33, 0, 0 }, 1537 1.1 christos /* mtc2 is at the bottom of the table. */ 1538 1.1 christos /* mthc2 is at the bottom of the table. */ 1539 1.1 christos /* mtc3 is at the bottom of the table. */ 1540 1.11 christos {"mtdr", "t,G", 0x7080003d, 0xffe007ff, RD_1|WR_C0|CM, 0, N5|AL, 0, 0 }, 1541 1.3 christos {"mthi", "s", 0x00000011, 0xfc1fffff, RD_1|WR_HI, 0, I1, 0, I37 }, 1542 1.1 christos {"mthi", "s,7", 0x00000011, 0xfc1fe7ff, RD_1|WR_HI, 0, 0, D32, 0 }, 1543 1.1 christos {"mthi1", "s", 0x70000011, 0xfc1fffff, RD_1|WR_HI, 0, EE, 0, 0 }, 1544 1.3 christos {"mtlo", "s", 0x00000013, 0xfc1fffff, RD_1|WR_LO, 0, I1, 0, I37 }, 1545 1.1 christos {"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 }, 1546 1.1 christos {"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 }, 1547 1.1 christos {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 }, 1548 1.1 christos {"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 }, 1549 1.1 christos {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1550 1.3 christos {"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1551 1.1 christos {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1552 1.3 christos {"mtm1", "s,t", 0x7000000c, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1553 1.1 christos {"mtm2", "s", 0x7000000d, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1554 1.3 christos {"mtm2", "s,t", 0x7000000d, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1555 1.1 christos {"mtp0", "s", 0x70000009, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1556 1.3 christos {"mtp0", "s,t", 0x70000009, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1557 1.1 christos {"mtp1", "s", 0x7000000a, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1558 1.3 christos {"mtp1", "s,t", 0x7000000a, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1559 1.1 christos {"mtp2", "s", 0x7000000b, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, 1560 1.3 christos {"mtp2", "s,t", 0x7000000b, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, 1561 1.1 christos {"mtsa", "s", 0x00000029, 0xfc1fffff, RD_1, 0, EE, 0, 0 }, 1562 1.1 christos {"mtsab", "s,j", 0x04180000, 0xfc1f0000, RD_1, 0, EE, 0, 0 }, 1563 1.1 christos {"mtsah", "s,j", 0x04190000, 0xfc1f0000, RD_1, 0, EE, 0, 0 }, 1564 1.3 christos {"mttc0", "t,G", 0x41800000, 0xffe007ff, RD_1|WR_C0|WR_CC|TRAP|CM, 0, 0, MT32, 0 }, 1565 1.3 christos {"mttc0", "t,G,H", 0x41800000, 0xffe007f8, RD_1|WR_C0|WR_CC|TRAP|CM, 0, 0, MT32, 0 }, 1566 1.3 christos {"mttc1", "t,S", 0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_S, 0, 0, MT32, 0 }, 1567 1.3 christos {"mttc1", "t,G", 0x41800022, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_S, 0, 0, MT32, 0 }, 1568 1.10 christos {"mttc2", "t,G", 0x41800024, 0xffe007ff, RD_1|WR_C2|WR_CC|TRAP|CM, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 1569 1.1 christos {"mttacx", "t", 0x41801021, 0xffe0ffff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1570 1.1 christos {"mttacx", "t,&", 0x41801021, 0xffe09fff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1571 1.1 christos {"mttdsp", "t", 0x41808021, 0xffe0ffff, RD_1|TRAP, 0, 0, MT32, 0 }, 1572 1.1 christos {"mttgpr", "t,d", 0x41800020, 0xffe007ff, RD_1|WR_2|TRAP, 0, 0, MT32, 0 }, 1573 1.3 christos {"mtthc1", "t,S", 0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_D, 0, 0, MT32, 0 }, 1574 1.3 christos {"mtthc1", "t,G", 0x41800032, 0xffe007ff, RD_1|WR_2|TRAP|CM|FP_D, 0, 0, MT32, 0 }, 1575 1.10 christos {"mtthc2", "t,G", 0x41800034, 0xffe007ff, RD_1|WR_C2|WR_CC|TRAP|CM, 0, 0, MT32, IOCT|IOCTP|IOCT2 }, 1576 1.1 christos {"mtthi", "t", 0x41800821, 0xffe0ffff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1577 1.1 christos {"mtthi", "t,&", 0x41800821, 0xffe09fff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1578 1.1 christos {"mttlo", "t", 0x41800021, 0xffe0ffff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1579 1.1 christos {"mttlo", "t,&", 0x41800021, 0xffe09fff, RD_1|WR_a|TRAP, 0, 0, MT32, 0 }, 1580 1.1 christos {"mttr", "t,d,!,H,$", 0x41800000, 0xffe007c8, RD_1|TRAP, 0, 0, MT32, 0 }, 1581 1.1 christos {"mul.d", "D,V,T", 0x46200002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I1, 0, SF }, 1582 1.1 christos {"mul.s", "D,V,T", 0x46000002, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I1, 0, 0 }, 1583 1.1 christos {"mul.ob", "X,Y,Q", 0x78000030, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1584 1.1 christos {"mul.ob", "D,S,Q", 0x48000030, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1585 1.3 christos {"mul.ps", "D,V,T", 0x46c00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33|IL2F, 0, I37 }, 1586 1.1 christos {"mul.ps", "D,V,T", 0x45600002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1587 1.1 christos {"mul.qh", "X,Y,Q", 0x78200030, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1588 1.3 christos {"muh", "d,v,t", 0x000000d8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1589 1.3 christos {"muhu", "d,v,t", 0x000000d9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1590 1.3 christos {"mul", "d,v,t", 0x00000098, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1591 1.3 christos {"mul", "d,v,t", 0x70000002, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, I32|P3|N55, 0, I37}, 1592 1.1 christos {"mul", "d,s,t", 0x00000058, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N54, 0, 0 }, 1593 1.3 christos {"mul", "d,v,t", 0, (int) M_MUL, INSN_MACRO, 0, I1, 0, I37 }, 1594 1.3 christos {"mul", "d,v,I", 0, (int) M_MUL_I, INSN_MACRO, 0, I1, 0, I37 }, 1595 1.1 christos {"mula.ob", "Y,Q", 0x78000033, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1596 1.1 christos {"mula.ob", "S,Q", 0x48000033, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, N54, 0, 0 }, 1597 1.1 christos {"mula.qh", "Y,Q", 0x78200033, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1598 1.1 christos {"mula.s", "S,T", 0x4600001a, 0xffe007ff, RD_1|RD_2|FP_S, 0, EE, 0, 0 }, 1599 1.1 christos {"mulhi", "d,s,t", 0x00000258, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1600 1.1 christos {"mulhiu", "d,s,t", 0x00000259, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1601 1.1 christos {"mull.ob", "Y,Q", 0x78000433, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1602 1.1 christos {"mull.ob", "S,Q", 0x48000433, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, N54, 0, 0 }, 1603 1.1 christos {"mull.qh", "Y,Q", 0x78200433, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1604 1.3 christos {"mulo", "d,v,t", 0, (int) M_MULO, INSN_MACRO, 0, I1, 0, I37 }, 1605 1.3 christos {"mulo", "d,v,I", 0, (int) M_MULO_I, INSN_MACRO, 0, I1, 0, I37 }, 1606 1.3 christos {"mulou", "d,v,t", 0, (int) M_MULOU, INSN_MACRO, 0, I1, 0, I37 }, 1607 1.3 christos {"mulou", "d,v,I", 0, (int) M_MULOU_I, INSN_MACRO, 0, I1, 0, I37 }, 1608 1.1 christos {"mulr.ps", "D,S,T", 0x46c0001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, M3D, 0 }, 1609 1.1 christos {"muls", "d,s,t", 0x000000d8, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1610 1.1 christos {"mulsu", "d,s,t", 0x000000d9, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1611 1.1 christos {"mulshi", "d,s,t", 0x000002d8, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1612 1.1 christos {"mulshiu", "d,s,t", 0x000002d9, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1613 1.1 christos {"muls.ob", "Y,Q", 0x78000032, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1614 1.1 christos {"muls.ob", "S,Q", 0x48000032, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, N54, 0, 0 }, 1615 1.1 christos {"muls.qh", "Y,Q", 0x78200032, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1616 1.1 christos {"mulsl.ob", "Y,Q", 0x78000432, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1617 1.1 christos {"mulsl.ob", "S,Q", 0x48000432, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, N54, 0, 0 }, 1618 1.1 christos {"mulsl.qh", "Y,Q", 0x78200432, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1619 1.3 christos {"mult", "s,t", 0x00000018, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, I1, 0, I37 }, 1620 1.1 christos {"mult", "7,s,t", 0x00000018, 0xfc00e7ff, RD_2|RD_3|WR_a, 0, 0, D32, 0 }, 1621 1.1 christos {"mult", "d,s,t", 0x00000018, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, G1, 0, 0 }, 1622 1.1 christos {"mult1", "s,t", 0x70000018, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, EE, 0, 0 }, 1623 1.1 christos {"mult1", "d,s,t", 0x70000018, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, EE, 0, 0 }, 1624 1.1 christos {"multp", "s,t", 0x00000459, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, 0, SMT, 0 }, 1625 1.3 christos {"multu", "s,t", 0x00000019, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, I1, 0, I37 }, 1626 1.1 christos {"multu", "7,s,t", 0x00000019, 0xfc00e7ff, RD_2|RD_3|WR_a, 0, 0, D32, 0 }, 1627 1.1 christos {"multu", "d,s,t", 0x00000019, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, G1, 0, 0 }, 1628 1.1 christos {"multu1", "s,t", 0x70000019, 0xfc00ffff, RD_1|RD_2|WR_HILO|IS_M, 0, EE, 0, 0 }, 1629 1.1 christos {"multu1", "d,s,t", 0x70000019, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO|IS_M, 0, EE, 0, 0 }, 1630 1.3 christos {"mulu", "d,v,t", 0x00000099, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0}, 1631 1.1 christos {"mulu", "d,s,t", 0x00000059, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, N5, 0, 0 }, 1632 1.1 christos {"neg", "d,w", 0x00000022, 0xffe007ff, WR_1|RD_2, 0, I1, 0, 0 }, /* sub 0 */ 1633 1.1 christos {"negu", "d,w", 0x00000023, 0xffe007ff, WR_1|RD_2, 0, I1, 0, 0 }, /* subu 0 */ 1634 1.1 christos {"neg.d", "D,V", 0x46200007, 0xffff003f, WR_1|RD_2|FP_D, 0, I1, 0, SF }, 1635 1.1 christos {"neg.s", "D,V", 0x46000007, 0xffff003f, WR_1|RD_2|FP_S, 0, I1, 0, 0 }, 1636 1.3 christos {"neg.ps", "D,V", 0x46c00007, 0xffff003f, WR_1|RD_2|FP_D, 0, I5_33|IL2F, 0, I37 }, 1637 1.1 christos {"neg.ps", "D,V", 0x45600007, 0xffff003f, WR_1|RD_2|FP_D, 0, IL2E, 0, 0 }, 1638 1.3 christos {"nmadd.d", "D,R,S,T", 0x4c000031, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, 1639 1.1 christos {"nmadd.d", "D,S,T", 0x4620001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1640 1.1 christos {"nmadd.d", "D,S,T", 0x7220001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1641 1.3 christos {"nmadd.s", "D,R,S,T", 0x4c000030, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0, I4_33, 0, I37 }, 1642 1.1 christos {"nmadd.s", "D,S,T", 0x4600001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1643 1.1 christos {"nmadd.s", "D,S,T", 0x7200001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2F, 0, 0 }, 1644 1.3 christos {"nmadd.ps", "D,R,S,T", 0x4c000036, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I5_33, 0, I37 }, 1645 1.1 christos {"nmadd.ps", "D,S,T", 0x4560001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1646 1.1 christos {"nmadd.ps", "D,S,T", 0x72c0001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1647 1.3 christos {"nmsub.d", "D,R,S,T", 0x4c000039, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 }, 1648 1.1 christos {"nmsub.d", "D,S,T", 0x4620001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1649 1.1 christos {"nmsub.d", "D,S,T", 0x7220001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1650 1.3 christos {"nmsub.s", "D,R,S,T", 0x4c000038, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_S, 0, I4_33, 0, I37 }, 1651 1.1 christos {"nmsub.s", "D,S,T", 0x4600001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1652 1.1 christos {"nmsub.s", "D,S,T", 0x7200001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2F, 0, 0 }, 1653 1.3 christos {"nmsub.ps", "D,R,S,T", 0x4c00003e, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I5_33, 0, I37 }, 1654 1.1 christos {"nmsub.ps", "D,S,T", 0x4560001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1655 1.1 christos {"nmsub.ps", "D,S,T", 0x72c0001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 }, 1656 1.1 christos /* nop is at the start of the table. */ 1657 1.1 christos {"nor", "d,v,t", 0x00000027, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1658 1.1 christos {"nor", "t,r,I", 0, (int) M_NOR_I, INSN_MACRO, 0, I1, 0, 0 }, 1659 1.1 christos {"nor", "D,S,T", 0x47a00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1660 1.8 christos {"nor", "D,S,T", 0x4ba00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1661 1.1 christos {"nor.ob", "X,Y,Q", 0x7800000f, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1662 1.1 christos {"nor.ob", "D,S,Q", 0x4800000f, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1663 1.1 christos {"nor.qh", "X,Y,Q", 0x7820000f, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1664 1.1 christos {"not", "d,v", 0x00000027, 0xfc1f07ff, WR_1|RD_2, 0, I1, 0, 0 },/*nor d,s,0*/ 1665 1.1 christos {"or", "d,v,t", 0x00000025, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1666 1.1 christos {"or", "t,r,I", 0, (int) M_OR_I, INSN_MACRO, 0, I1, 0, 0 }, 1667 1.1 christos {"or", "D,S,T", 0x45a00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1668 1.8 christos {"or", "D,S,T", 0x4b20000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1669 1.1 christos {"or.ob", "X,Y,Q", 0x7800000e, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1670 1.1 christos {"or.ob", "D,S,Q", 0x4800000e, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1671 1.1 christos {"or.qh", "X,Y,Q", 0x7820000e, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1672 1.1 christos {"ori", "t,r,i", 0x34000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 1673 1.1 christos {"pabsdiff.ob", "X,Y,Q", 0x78000009, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, 0, 0 }, 1674 1.1 christos {"pabsdiffc.ob", "Y,Q", 0x78000035, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, 0, 0 }, 1675 1.1 christos {"pause", "", 0x00000140, 0xffffffff, TRAP, 0, I33, 0, 0 }, 1676 1.1 christos {"pavg.ob", "X,Y,Q", 0x78000008, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, 0, 0 }, 1677 1.1 christos {"pabsh", "d,t", 0x70000168, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1678 1.1 christos {"pabsw", "d,t", 0x70000068, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1679 1.1 christos {"paddsw", "d,s,t", 0x70000408, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1680 1.1 christos {"paddub", "d,s,t", 0x70000628, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1681 1.1 christos {"padduh", "d,s,t", 0x70000528, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1682 1.1 christos {"padduw", "d,s,t", 0x70000428, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1683 1.1 christos {"padsbh", "d,s,t", 0x70000128, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1684 1.1 christos {"pand", "d,s,t", 0x70000489, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1685 1.1 christos {"pceqb", "d,s,t", 0x700002a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1686 1.1 christos {"pceqh", "d,s,t", 0x700001a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1687 1.1 christos {"pceqw", "d,s,t", 0x700000a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1688 1.1 christos {"pcgtb", "d,s,t", 0x70000288, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1689 1.1 christos {"pcgth", "d,s,t", 0x70000188, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1690 1.1 christos {"pcgtw", "d,s,t", 0x70000088, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1691 1.1 christos {"pcpyh", "d,t", 0x700006e9, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1692 1.1 christos {"pcpyld", "d,s,t", 0x70000389, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1693 1.1 christos {"pcpyud", "d,s,t", 0x700003a9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1694 1.1 christos {"pdivbw", "s,t", 0x70000749, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, MMI, 0, 0 }, 1695 1.1 christos {"pdivuw", "s,t", 0x70000369, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, MMI, 0, 0 }, 1696 1.1 christos {"pdivw", "s,t", 0x70000349, 0xfc00ffff, RD_1|RD_2|WR_HILO, 0, MMI, 0, 0 }, 1697 1.1 christos {"pexch", "d,t", 0x700006a9, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1698 1.1 christos {"pexcw", "d,t", 0x700007a9, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1699 1.1 christos {"pexeh", "d,t", 0x70000689, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1700 1.1 christos {"pexew", "d,t", 0x70000789, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1701 1.1 christos {"pext5", "d,t", 0x70000788, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1702 1.1 christos {"pextlb", "d,s,t", 0x70000688, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1703 1.1 christos {"pextlh", "d,s,t", 0x70000588, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1704 1.1 christos {"pextlw", "d,s,t", 0x70000488, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1705 1.1 christos {"pextub", "d,s,t", 0x700006a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1706 1.1 christos {"pextuh", "d,s,t", 0x700005a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1707 1.1 christos {"pextuw", "d,s,t", 0x700004a8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1708 1.1 christos {"phmadh", "d,s,t", 0x70000449, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1709 1.1 christos {"phmsbh", "d,s,t", 0x70000549, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1710 1.1 christos {"pickf.ob", "X,Y,Q", 0x78000002, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1711 1.1 christos {"pickf.ob", "D,S,Q", 0x48000002, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1712 1.1 christos {"pickf.qh", "X,Y,Q", 0x78200002, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1713 1.1 christos {"pickt.ob", "X,Y,Q", 0x78000003, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1714 1.1 christos {"pickt.ob", "D,S,Q", 0x48000003, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1715 1.1 christos {"pickt.qh", "X,Y,Q", 0x78200003, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1716 1.1 christos {"pinteh", "d,s,t", 0x700002a9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1717 1.1 christos {"pinth", "d,s,t", 0x70000289, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1718 1.3 christos {"pll.ps", "D,V,T", 0x46c0002c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1719 1.3 christos {"plu.ps", "D,V,T", 0x46c0002d, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1720 1.1 christos {"plzcw", "d,s", 0x70000004, 0xfc1f07ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1721 1.1 christos {"pmaddh", "d,s,t", 0x70000409, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1722 1.1 christos {"pmadduw", "d,s,t", 0x70000029, 0xfc0007ff, WR_1|RD_2|RD_3|MOD_HILO, 0, MMI, 0, 0 }, 1723 1.1 christos {"pmaddw", "d,s,t", 0x70000009, 0xfc0007ff, WR_1|RD_2|RD_3|MOD_HILO, 0, MMI, 0, 0 }, 1724 1.1 christos {"pmaxh", "d,s,t", 0x700001c8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1725 1.1 christos {"pmaxw", "d,s,t", 0x700000c8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1726 1.1 christos {"pmfhi", "d", 0x70000209, 0xffff07ff, WR_1|RD_HI, 0, MMI, 0, 0 }, 1727 1.1 christos {"pmfhl.lh", "d", 0x700000f0, 0xffff07ff, WR_1|RD_HILO, 0, MMI, 0, 0 }, 1728 1.1 christos {"pmfhl.lw", "d", 0x70000030, 0xffff07ff, WR_1|RD_HILO, 0, MMI, 0, 0 }, 1729 1.1 christos {"pmfhl.sh", "d", 0x70000130, 0xffff07ff, WR_1|RD_HILO, 0, MMI, 0, 0 }, 1730 1.1 christos {"pmfhl.slw", "d", 0x700000b0, 0xffff07ff, WR_1|RD_HILO, 0, MMI, 0, 0 }, 1731 1.1 christos {"pmfhl.uw", "d", 0x70000070, 0xffff07ff, WR_1|RD_HILO, 0, MMI, 0, 0 }, 1732 1.1 christos {"pmflo", "d", 0x70000249, 0xffff07ff, WR_1|RD_LO, 0, MMI, 0, 0 }, 1733 1.1 christos {"pminh", "d,s,t", 0x700001e8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1734 1.1 christos {"pminw", "d,s,t", 0x700000e8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1735 1.1 christos {"pmsubh", "d,s,t", 0x70000509, 0xfc0007ff, WR_1|RD_2|RD_3|MOD_HILO, 0, MMI, 0, 0 }, 1736 1.1 christos {"pmsubw", "d,s,t", 0x70000109, 0xfc0007ff, WR_1|RD_2|RD_3|MOD_HILO, 0, MMI, 0, 0 }, 1737 1.1 christos {"pmthi", "s", 0x70000229, 0xfc1fffff, RD_1|WR_HI, 0, MMI, 0, 0 }, 1738 1.1 christos {"pmthl.lw", "s", 0x70000031, 0xfc1fffff, RD_1|MOD_HILO, 0, MMI, 0, 0 }, 1739 1.1 christos {"pmtlo", "s", 0x70000269, 0xfc1fffff, RD_1|WR_LO, 0, MMI, 0, 0 }, 1740 1.1 christos {"pmulth", "d,s,t", 0x70000709, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1741 1.1 christos {"pmultuw", "d,s,t", 0x70000329, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1742 1.1 christos {"pmultw", "d,s,t", 0x70000309, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, MMI, 0, 0 }, 1743 1.1 christos {"pnor", "d,s,t", 0x700004e9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1744 1.1 christos {"pop", "d,v", 0x7000002c, 0xfc1f07ff, WR_1|RD_2, 0, IOCT, 0, 0 }, 1745 1.1 christos {"por", "d,s,t", 0x700004a9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1746 1.1 christos {"ppac5", "d,t", 0x700007c8, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1747 1.1 christos {"ppacb", "d,s,t", 0x700006c8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1748 1.1 christos {"ppach", "d,s,t", 0x700005c8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1749 1.1 christos {"ppacw", "d,s,t", 0x700004c8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1750 1.1 christos {"prevh", "d,t", 0x700006c9, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1751 1.1 christos {"prot3w", "d,t", 0x700007c9, 0xffe007ff, WR_1|RD_2, 0, MMI, 0, 0 }, 1752 1.1 christos {"psllvw", "d,t,s", 0x70000089, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1753 1.1 christos {"psravw", "d,t,s", 0x700000e9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1754 1.1 christos {"psrlvw", "d,t,s", 0x700000c9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1755 1.1 christos {"psubsw", "d,s,t", 0x70000448, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1756 1.1 christos {"psubub", "d,s,t", 0x70000668, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1757 1.1 christos {"psubuh", "d,s,t", 0x70000568, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1758 1.1 christos {"psubuw", "d,s,t", 0x70000468, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1759 1.1 christos {"pxor", "d,s,t", 0x700004c9, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1760 1.1 christos /* pref and prefx are at the start of the table. */ 1761 1.3 christos {"pul.ps", "D,V,T", 0x46c0002e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1762 1.3 christos {"puu.ps", "D,V,T", 0x46c0002f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33, 0, I37 }, 1763 1.1 christos {"pperm", "s,t", 0x70000481, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, 0, SMT, 0 }, 1764 1.1 christos {"qfsrv", "d,s,t", 0x700006e8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 1765 1.1 christos {"qmac.00", "s,t", 0x70000412, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1766 1.1 christos {"qmac.01", "s,t", 0x70000452, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1767 1.1 christos {"qmac.02", "s,t", 0x70000492, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1768 1.1 christos {"qmac.03", "s,t", 0x700004d2, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1769 1.1 christos {"qmacs.00", "s,t", 0x70000012, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1770 1.1 christos {"qmacs.01", "s,t", 0x70000052, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1771 1.1 christos {"qmacs.02", "s,t", 0x70000092, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1772 1.1 christos {"qmacs.03", "s,t", 0x700000d2, 0xfc00ffff, RD_1|RD_2|MOD_HILO, 0, IOCT2, 0, 0 }, 1773 1.1 christos {"rach.ob", "X", 0x7a00003f, 0xfffff83f, WR_1|FP_D, RD_MACC, SB1, MX, 0 }, 1774 1.1 christos {"rach.ob", "D", 0x4a00003f, 0xfffff83f, WR_1|FP_D, RD_MACC, N54, 0, 0 }, 1775 1.1 christos {"rach.qh", "X", 0x7a20003f, 0xfffff83f, WR_1|FP_D, RD_MACC, 0, MX, 0 }, 1776 1.1 christos {"racl.ob", "X", 0x7800003f, 0xfffff83f, WR_1|FP_D, RD_MACC, SB1, MX, 0 }, 1777 1.1 christos {"racl.ob", "D", 0x4800003f, 0xfffff83f, WR_1|FP_D, RD_MACC, N54, 0, 0 }, 1778 1.1 christos {"racl.qh", "X", 0x7820003f, 0xfffff83f, WR_1|FP_D, RD_MACC, 0, MX, 0 }, 1779 1.1 christos {"racm.ob", "X", 0x7900003f, 0xfffff83f, WR_1|FP_D, RD_MACC, SB1, MX, 0 }, 1780 1.1 christos {"racm.ob", "D", 0x4900003f, 0xfffff83f, WR_1|FP_D, RD_MACC, N54, 0, 0 }, 1781 1.1 christos {"racm.qh", "X", 0x7920003f, 0xfffff83f, WR_1|FP_D, RD_MACC, 0, MX, 0 }, 1782 1.1 christos {"recip.d", "D,S", 0x46200015, 0xffff003f, WR_1|RD_2|FP_D, 0, I4_33, 0, 0 }, 1783 1.1 christos {"recip.ps", "D,S", 0x46c00015, 0xffff003f, WR_1|RD_2|FP_D, 0, SB1, 0, 0 }, 1784 1.1 christos {"recip.s", "D,S", 0x46000015, 0xffff003f, WR_1|RD_2|FP_S, 0, I4_33, 0, 0 }, 1785 1.1 christos {"recip1.d", "D,S", 0x4620001d, 0xffff003f, WR_1|RD_2|FP_D, 0, 0, M3D, 0 }, 1786 1.1 christos {"recip1.ps", "D,S", 0x46c0001d, 0xffff003f, WR_1|RD_2|FP_S, 0, 0, M3D, 0 }, 1787 1.1 christos {"recip1.s", "D,S", 0x4600001d, 0xffff003f, WR_1|RD_2|FP_S, 0, 0, M3D, 0 }, 1788 1.1 christos {"recip2.d", "D,S,T", 0x4620001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, M3D, 0 }, 1789 1.1 christos {"recip2.ps", "D,S,T", 0x46c0001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, M3D, 0 }, 1790 1.1 christos {"recip2.s", "D,S,T", 0x4600001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, M3D, 0 }, 1791 1.3 christos {"rem", "z,s,t", 0x0000001a, 0xfc00ffff, RD_2|RD_3|WR_HILO, INSN2_ALIAS, I1, 0, I37 }, 1792 1.3 christos {"rem", "d,v,t", 0, (int) M_REM_3, INSN_MACRO, 0, I1, 0, I37 }, 1793 1.3 christos {"rem", "d,v,I", 0, (int) M_REM_3I, INSN_MACRO, 0, I1, 0, I37 }, 1794 1.3 christos {"remu", "z,s,t", 0x0000001b, 0xfc00ffff, RD_2|RD_3|WR_HILO, INSN2_ALIAS, I1, 0, I37 }, 1795 1.3 christos {"remu", "d,v,t", 0, (int) M_REMU_3, INSN_MACRO, 0, I1, 0, I37 }, 1796 1.3 christos {"remu", "d,v,I", 0, (int) M_REMU_3I, INSN_MACRO, 0, I1, 0, I37 }, 1797 1.1 christos {"rdhwr", "t,K", 0x7c00003b, 0xffe007ff, WR_1, 0, I33, 0, 0 }, 1798 1.9 christos {"rdhwr", "t,K,+O", 0x7c00003b, 0xffe0063f, WR_1, 0, I37, 0, 0 }, 1799 1.1 christos {"rdpgpr", "d,w", 0x41400000, 0xffe007ff, WR_1, 0, I33, 0, 0 }, 1800 1.1 christos /* rfe is moved below as it now conflicts with tlbgp */ 1801 1.1 christos {"rnas.qh", "X,Q", 0x78200025, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1802 1.1 christos {"rnau.ob", "X,Q", 0x78000021, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, SB1, MX, 0 }, 1803 1.1 christos {"rnau.qh", "X,Q", 0x78200021, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1804 1.1 christos {"rnes.qh", "X,Q", 0x78200026, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1805 1.1 christos {"rneu.ob", "X,Q", 0x78000022, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, SB1, MX, 0 }, 1806 1.1 christos {"rneu.qh", "X,Q", 0x78200022, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1807 1.1 christos {"rol", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I1, 0, 0 }, 1808 1.1 christos {"rol", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I1, 0, 0 }, 1809 1.1 christos {"ror", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I1, 0, 0 }, 1810 1.1 christos {"ror", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I1, 0, 0 }, 1811 1.11 christos {"ror", "d,w,<", 0x00200002, 0xffe0003f, WR_1|RD_2, 0, N5|I33|AL, SMT, 0 }, 1812 1.11 christos {"rorv", "d,t,s", 0x00000046, 0xfc0007ff, WR_1|RD_2|RD_3, 0, N5|I33|AL, SMT, 0 }, 1813 1.11 christos {"rotl", "d,v,t", 0, (int) M_ROL, INSN_MACRO, 0, I33|AL, SMT, 0 }, 1814 1.11 christos {"rotl", "d,v,I", 0, (int) M_ROL_I, INSN_MACRO, 0, I33|AL, SMT, 0 }, 1815 1.11 christos {"rotr", "d,v,t", 0, (int) M_ROR, INSN_MACRO, 0, I33|AL, SMT, 0 }, 1816 1.11 christos {"rotr", "d,v,I", 0, (int) M_ROR_I, INSN_MACRO, 0, I33|AL, SMT, 0 }, 1817 1.11 christos {"rotrv", "d,t,s", 0x00000046, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I33|AL, SMT, 0 }, 1818 1.1 christos {"round.l.d", "D,S", 0x46200008, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 1819 1.1 christos {"round.l.s", "D,S", 0x46000008, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 1820 1.1 christos {"round.w.d", "D,S", 0x4620000c, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I2, 0, SF }, 1821 1.1 christos {"round.w.s", "D,S", 0x4600000c, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, 0 }, 1822 1.1 christos {"rsqrt.d", "D,S", 0x46200016, 0xffff003f, WR_1|RD_2|FP_D, 0, I4_33, 0, 0 }, 1823 1.1 christos {"rsqrt.ps", "D,S", 0x46c00016, 0xffff003f, WR_1|RD_2|FP_D, 0, SB1, 0, 0 }, 1824 1.1 christos {"rsqrt.s", "D,S", 0x46000016, 0xffff003f, WR_1|RD_2|FP_S, 0, I4_33, 0, 0 }, 1825 1.1 christos {"rsqrt.s", "D,S,T", 0x46000016, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, EE, 0, 0 }, 1826 1.1 christos {"rsqrt1.d", "D,S", 0x4620001e, 0xffff003f, WR_1|RD_2|FP_D, 0, 0, M3D, 0 }, 1827 1.1 christos {"rsqrt1.ps", "D,S", 0x46c0001e, 0xffff003f, WR_1|RD_2|FP_S, 0, 0, M3D, 0 }, 1828 1.1 christos {"rsqrt1.s", "D,S", 0x4600001e, 0xffff003f, WR_1|RD_2|FP_S, 0, 0, M3D, 0 }, 1829 1.1 christos {"rsqrt2.d", "D,S,T", 0x4620001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, M3D, 0 }, 1830 1.1 christos {"rsqrt2.ps", "D,S,T", 0x46c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, M3D, 0 }, 1831 1.1 christos {"rsqrt2.s", "D,S,T", 0x4600001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, M3D, 0 }, 1832 1.1 christos {"rzs.qh", "X,Q", 0x78200024, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1833 1.1 christos {"rzu.ob", "X,Q", 0x78000020, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, SB1, MX, 0 }, 1834 1.1 christos {"rzu.ob", "D,Q", 0x48000020, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, N54, 0, 0 }, 1835 1.1 christos {"rzu.qh", "X,Q", 0x78200020, 0xfc20f83f, WR_1|RD_2|FP_D, RD_MACC, 0, MX, 0 }, 1836 1.1 christos {"saa", "t,A(b)", 0, (int) M_SAA_AB, INSN_MACRO, 0, IOCTP, 0, 0 }, 1837 1.1 christos {"saa", "t,(b)", 0x70000018, 0xfc00ffff, RD_1|RD_2|SM, 0, IOCTP, 0, 0 }, 1838 1.1 christos {"saad", "t,A(b)", 0, (int) M_SAAD_AB, INSN_MACRO, 0, IOCTP, 0, 0 }, 1839 1.1 christos {"saad", "t,(b)", 0x70000019, 0xfc00ffff, RD_1|RD_2|SM, 0, IOCTP, 0, 0 }, 1840 1.1 christos {"sb", "t,o(b)", 0xa0000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 }, 1841 1.1 christos {"sb", "t,A(b)", 0, (int) M_SB_AB, INSN_MACRO, 0, I1, 0, 0 }, 1842 1.3 christos {"sc", "t,+j(b)", 0x7c000026, 0xfc00007f, MOD_1|RD_3|SM, 0, I37, 0, 0 }, 1843 1.3 christos {"sc", "t,o(b)", 0xe0000000, 0xfc000000, MOD_1|RD_3|SM, 0, I2, 0, EE|I37 }, 1844 1.1 christos {"sc", "t,A(b)", 0, (int) M_SC_AB, INSN_MACRO, 0, I2, 0, EE }, 1845 1.3 christos {"scd", "t,+j(b)", 0x7c000027, 0xfc00007f, MOD_1|RD_3|SM, 0, I69, 0, 0 }, 1846 1.3 christos {"scd", "t,o(b)", 0xf0000000, 0xfc000000, MOD_1|RD_3|SM, 0, I3, 0, EE|I69 }, 1847 1.1 christos {"scd", "t,A(b)", 0, (int) M_SCD_AB, INSN_MACRO, 0, I3, 0, EE }, 1848 1.9 christos {"scdp", "t,d,s", 0x7c000067, 0xfc0007ff, MOD_1|RD_2|RD_3|SM, 0, I69, 0, 0 }, 1849 1.9 christos {"scdp", "t,d,A(b)", 0, (int) M_SCDP_AB, INSN_MACRO, 0, I69, 0, 0 }, 1850 1.9 christos {"scwp", "t,d,s", 0x7c000066, 0xfc0007ff, MOD_1|RD_2|RD_3|SM, 0, I37, 0, 0 }, 1851 1.9 christos {"scwp", "t,d,A(b)", 0, (int) M_SCWP_AB, INSN_MACRO, 0, I37, 0, 0 }, 1852 1.1 christos /* The macro has to be first to handle o32 correctly. */ 1853 1.1 christos {"sd", "t,A(b)", 0, (int) M_SD_AB, INSN_MACRO, 0, I1, 0, 0 }, 1854 1.1 christos {"sd", "t,o(b)", 0xfc000000, 0xfc000000, RD_1|RD_3|SM, 0, I3, 0, 0 }, 1855 1.1 christos {"sdbbp", "", 0x0000000e, 0xffffffff, TRAP, 0, G2, 0, 0 }, 1856 1.1 christos {"sdbbp", "c", 0x0000000e, 0xfc00ffff, TRAP, 0, G2, 0, 0 }, 1857 1.1 christos {"sdbbp", "c,q", 0x0000000e, 0xfc00003f, TRAP, 0, G2, 0, 0 }, 1858 1.3 christos {"sdbbp", "", 0x0000000e, 0xffffffff, TRAP, 0, I37, 0, 0 }, 1859 1.3 christos {"sdbbp", "", 0x7000003f, 0xffffffff, TRAP, 0, I32, 0, I37 }, 1860 1.3 christos {"sdbbp", "B", 0x0000000e, 0xfc00003f, TRAP, 0, I37, 0, 0 }, 1861 1.3 christos {"sdbbp", "B", 0x7000003f, 0xfc00003f, TRAP, 0, I32, 0, I37 }, 1862 1.1 christos {"sdc1", "T,o(b)", 0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D, 0, I2, 0, SF }, 1863 1.1 christos {"sdc1", "E,o(b)", 0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D, 0, I2, 0, SF }, 1864 1.1 christos {"sdc1", "T,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, 1865 1.1 christos {"sdc1", "E,A(b)", 0, (int) M_SDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF }, 1866 1.3 christos {"sdc2", "E,+:(d)", 0x49e00000, 0xffe00000, RD_3|RD_C2|SM, 0, I37, 0, 0 }, 1867 1.11 christos {"sdc2", "E,o(b)", 0xf8000000, 0xfc000000, RD_3|RD_C2|SM, 0, I2, 0, N54|IOCT|IOCTP|IOCT2|EE|AL|I37 }, 1868 1.11 christos {"sdc2", "E,A(b)", 0, (int) M_SDC2_AB, INSN_MACRO, 0, I2, 0, N54|IOCT|IOCTP|IOCT2|EE|AL }, 1869 1.11 christos {"sdc3", "E,o(b)", 0xfc000000, 0xfc000000, RD_3|RD_C3|SM, 0, I2, 0, I3_32|EE|AL }, 1870 1.11 christos {"sdc3", "E,A(b)", 0, (int) M_SDC3_AB, INSN_MACRO, 0, I2, 0, I3_32|EE|AL }, 1871 1.1 christos {"s.d", "T,o(b)", 0xf4000000, 0xfc000000, RD_1|RD_3|SM|FP_D, 0, I2, 0, SF }, 1872 1.1 christos {"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, INSN2_M_FP_D, I1, 0, 0 }, 1873 1.3 christos {"sdl", "t,o(b)", 0xb0000000, 0xfc000000, RD_1|RD_3|SM, 0, I3, 0, I69 }, 1874 1.3 christos {"sdl", "t,A(b)", 0, (int) M_SDL_AB, INSN_MACRO, 0, I3, 0, I69 }, 1875 1.3 christos {"sdr", "t,o(b)", 0xb4000000, 0xfc000000, RD_1|RD_3|SM, 0, I3, 0, I69 }, 1876 1.3 christos {"sdr", "t,A(b)", 0, (int) M_SDR_AB, INSN_MACRO, 0, I3, 0, I69 }, 1877 1.3 christos {"sdxc1", "S,t(b)", 0x4c000009, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I4_33, 0, I37 }, 1878 1.11 christos {"seb", "d,w", 0x7c000420, 0xffe007ff, WR_1|RD_2, 0, I33|AL, 0, 0 }, 1879 1.11 christos {"seh", "d,w", 0x7c000620, 0xffe007ff, WR_1|RD_2, 0, I33|AL, 0, 0 }, 1880 1.1 christos {"selsl", "d,v,t", 0x00000005, 0xfc0007ff, WR_1|RD_2|RD_3, 0, L1, 0, 0 }, 1881 1.1 christos {"selsr", "d,v,t", 0x00000001, 0xfc0007ff, WR_1|RD_2|RD_3, 0, L1, 0, 0 }, 1882 1.1 christos {"seq", "d,v,t", 0x7000002a, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 1883 1.1 christos {"seq", "d,v,t", 0, (int) M_SEQ, INSN_MACRO, 0, I1, 0, 0 }, 1884 1.1 christos {"seq", "d,v,I", 0, (int) M_SEQ_I, INSN_MACRO, 0, I1, 0, 0 }, 1885 1.1 christos {"seq", "S,T", 0x46a00032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 1886 1.8 christos {"seq", "S,T", 0x4ba0000c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 1887 1.1 christos {"seqi", "t,r,+Q", 0x7000002e, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 1888 1.1 christos {"sge", "d,v,t", 0, (int) M_SGE, INSN_MACRO, 0, I1, 0, 0 }, 1889 1.1 christos {"sge", "d,v,I", 0, (int) M_SGE_I, INSN_MACRO, 0, I1, 0, 0 }, 1890 1.1 christos {"sgeu", "d,v,t", 0, (int) M_SGEU, INSN_MACRO, 0, I1, 0, 0 }, 1891 1.1 christos {"sgeu", "d,v,I", 0, (int) M_SGEU_I, INSN_MACRO, 0, I1, 0, 0 }, 1892 1.1 christos {"sgt", "d,v,t", 0, (int) M_SGT, INSN_MACRO, 0, I1, 0, 0 }, 1893 1.1 christos {"sgt", "d,v,I", 0, (int) M_SGT_I, INSN_MACRO, 0, I1, 0, 0 }, 1894 1.1 christos {"sgtu", "d,v,t", 0, (int) M_SGTU, INSN_MACRO, 0, I1, 0, 0 }, 1895 1.1 christos {"sgtu", "d,v,I", 0, (int) M_SGTU_I, INSN_MACRO, 0, I1, 0, 0 }, 1896 1.1 christos {"sh", "t,o(b)", 0xa4000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 }, 1897 1.1 christos {"sh", "t,A(b)", 0, (int) M_SH_AB, INSN_MACRO, 0, I1, 0, 0 }, 1898 1.1 christos {"shfl.bfla.qh", "X,Y,Z", 0x7a20001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1899 1.1 christos {"shfl.mixh.ob", "X,Y,Z", 0x7980001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1900 1.1 christos {"shfl.mixh.ob", "D,S,T", 0x4980001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1901 1.1 christos {"shfl.mixh.qh", "X,Y,Z", 0x7820001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1902 1.1 christos {"shfl.mixl.ob", "X,Y,Z", 0x79c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1903 1.1 christos {"shfl.mixl.ob", "D,S,T", 0x49c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1904 1.1 christos {"shfl.mixl.qh", "X,Y,Z", 0x78a0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1905 1.1 christos {"shfl.pach.ob", "X,Y,Z", 0x7900001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1906 1.1 christos {"shfl.pach.ob", "D,S,T", 0x4900001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1907 1.1 christos {"shfl.pach.qh", "X,Y,Z", 0x7920001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1908 1.1 christos {"shfl.pacl.ob", "D,S,T", 0x4940001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1909 1.1 christos {"shfl.repa.qh", "X,Y,Z", 0x7b20001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1910 1.1 christos {"shfl.repb.qh", "X,Y,Z", 0x7ba0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1911 1.1 christos {"shfl.upsl.ob", "X,Y,Z", 0x78c0001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1912 1.8 christos {"sigrie", "u", 0x04170000, 0xffff0000, TRAP, 0, I37, 0, 0 }, 1913 1.1 christos {"sle", "d,v,t", 0, (int) M_SLE, INSN_MACRO, 0, I1, 0, 0 }, 1914 1.1 christos {"sle", "d,v,I", 0, (int) M_SLE_I, INSN_MACRO, 0, I1, 0, 0 }, 1915 1.1 christos {"sle", "S,T", 0x46a0003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 1916 1.8 christos {"sle", "S,T", 0x4ba0000e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 1917 1.1 christos {"sleu", "d,v,t", 0, (int) M_SLEU, INSN_MACRO, 0, I1, 0, 0 }, 1918 1.1 christos {"sleu", "d,v,I", 0, (int) M_SLEU_I, INSN_MACRO, 0, I1, 0, 0 }, 1919 1.1 christos {"sleu", "S,T", 0x4680003e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 1920 1.8 christos {"sleu", "S,T", 0x4b80000e, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 1921 1.1 christos {"sllv", "d,t,s", 0x00000004, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1922 1.1 christos {"sll", "d,w,s", 0x00000004, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, /* sllv */ 1923 1.1 christos {"sll", "d,w,<", 0x00000000, 0xffe0003f, WR_1|RD_2, 0, I1, 0, 0 }, 1924 1.1 christos {"sll", "D,S,T", 0x45800002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1925 1.8 christos {"sll", "D,S,T", 0x4b00000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1926 1.1 christos {"sll.ob", "X,Y,Q", 0x78000010, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1927 1.1 christos {"sll.ob", "D,S,Q", 0x48000010, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1928 1.1 christos {"sll.qh", "X,Y,Q", 0x78200010, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1929 1.1 christos {"slt", "d,v,t", 0x0000002a, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1930 1.1 christos {"slt", "d,v,I", 0, (int) M_SLT_I, INSN_MACRO, 0, I1, 0, 0 }, 1931 1.1 christos {"slt", "S,T", 0x46a0003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 1932 1.8 christos {"slt", "S,T", 0x4ba0000d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 1933 1.1 christos {"slti", "t,r,j", 0x28000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 1934 1.1 christos {"sltiu", "t,r,j", 0x2c000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 1935 1.1 christos {"sltu", "d,v,t", 0x0000002b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1936 1.1 christos {"sltu", "d,v,I", 0, (int) M_SLTU_I, INSN_MACRO, 0, I1, 0, 0 }, 1937 1.1 christos {"sltu", "S,T", 0x4680003c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 1938 1.8 christos {"sltu", "S,T", 0x4b80000d, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 1939 1.1 christos {"sne", "d,v,t", 0x7000002b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 1940 1.1 christos {"sne", "d,v,t", 0, (int) M_SNE, INSN_MACRO, 0, I1, 0, 0 }, 1941 1.1 christos {"sne", "d,v,I", 0, (int) M_SNE_I, INSN_MACRO, 0, I1, 0, 0 }, 1942 1.1 christos {"snei", "t,r,+Q", 0x7000002f, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 }, 1943 1.1 christos {"sq", "t,o(b)", 0x7c000000, 0xfc000000, RD_1|RD_3|SM, 0, MMI, 0, 0 }, 1944 1.1 christos {"sq", "t,A(b)", 0, (int) M_SQ_AB, INSN_MACRO, 0, MMI, 0, 0 }, 1945 1.1 christos {"sqc2", "+7,o(b)", 0xf8000000, 0xfc000000, RD_3|RD_C2|SM, 0, EE, 0, 0 }, 1946 1.1 christos {"sqc2", "+7,A(b)", 0, (int) M_SQC2_AB, INSN_MACRO, 0, EE, 0, 0 }, 1947 1.1 christos {"sqrt.d", "D,S", 0x46200004, 0xffff003f, WR_1|RD_2|FP_D, 0, I2, 0, SF }, 1948 1.1 christos {"sqrt.s", "D,S", 0x46000004, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, 0 }, 1949 1.1 christos {"sqrt.ps", "D,S", 0x46c00004, 0xffff003f, WR_1|RD_2|FP_D, 0, SB1, 0, 0 }, 1950 1.1 christos {"srav", "d,t,s", 0x00000007, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1951 1.1 christos {"sra", "d,w,s", 0x00000007, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, /* srav */ 1952 1.1 christos {"sra", "d,w,<", 0x00000003, 0xffe0003f, WR_1|RD_2, 0, I1, 0, 0 }, 1953 1.1 christos {"sra", "D,S,T", 0x45c00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1954 1.8 christos {"sra", "D,S,T", 0x4b40000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1955 1.1 christos {"sra.qh", "X,Y,Q", 0x78200013, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1956 1.1 christos {"srlv", "d,t,s", 0x00000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1957 1.1 christos {"srl", "d,w,s", 0x00000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, /* srlv */ 1958 1.1 christos {"srl", "d,w,<", 0x00000002, 0xffe0003f, WR_1|RD_2, 0, I1, 0, 0 }, 1959 1.1 christos {"srl", "D,S,T", 0x45800003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1960 1.8 christos {"srl", "D,S,T", 0x4b00000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 1961 1.1 christos {"srl.ob", "X,Y,Q", 0x78000012, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1962 1.1 christos {"srl.ob", "D,S,Q", 0x48000012, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1963 1.1 christos {"srl.qh", "X,Y,Q", 0x78200012, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1964 1.1 christos /* ssnop is at the start of the table. */ 1965 1.1 christos {"standby", "", 0x42000021, 0xffffffff, 0, 0, V1, 0, 0 }, 1966 1.1 christos {"sub", "d,v,t", 0x00000022, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1967 1.9 christos {"sub", "d,v,I", 0, (int) M_SUB_I, INSN_MACRO, 0, I1, 0, 0 }, 1968 1.1 christos {"sub", "D,S,T", 0x45c00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1969 1.8 christos {"sub", "D,S,T", 0x4b40000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, LMMI, 0 }, 1970 1.1 christos {"sub.d", "D,V,T", 0x46200001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I1, 0, SF }, 1971 1.1 christos {"sub.s", "D,V,T", 0x46000001, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I1, 0, 0 }, 1972 1.1 christos {"sub.ob", "X,Y,Q", 0x7800000a, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 1973 1.1 christos {"sub.ob", "D,S,Q", 0x4800000a, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 1974 1.3 christos {"sub.ps", "D,V,T", 0x46c00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I5_33|IL2F, 0, I37 }, 1975 1.1 christos {"sub.ps", "D,V,T", 0x45600001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 1976 1.1 christos {"sub.qh", "X,Y,Q", 0x7820000a, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 1977 1.1 christos {"suba.ob", "Y,Q", 0x78000036, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1978 1.1 christos {"suba.qh", "Y,Q", 0x78200036, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1979 1.1 christos {"subl.ob", "Y,Q", 0x78000436, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 1980 1.1 christos {"subl.qh", "Y,Q", 0x78200436, 0xfc2007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 1981 1.1 christos {"suba.s", "S,T", 0x46000019, 0xffe007ff, RD_1|RD_2|FP_S, 0, EE, 0, 0 }, 1982 1.1 christos {"subu", "d,v,t", 0x00000023, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 1983 1.1 christos {"subu", "d,v,I", 0, (int) M_SUBU_I, INSN_MACRO, 0, I1, 0, 0 }, 1984 1.1 christos {"subu", "D,S,T", 0x45800001, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, IL2E, 0, 0 }, 1985 1.8 christos {"subu", "D,S,T", 0x4b00000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, 0, LMMI, 0 }, 1986 1.1 christos {"suspend", "", 0x42000022, 0xffffffff, 0, 0, V1, 0, 0 }, 1987 1.3 christos {"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37}, 1988 1.1 christos {"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 }, 1989 1.1 christos {"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 }, 1990 1.1 christos {"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1991 1.1 christos {"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1992 1.1 christos {"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|LM|SM, 0, XLR, 0, 0 }, 1993 1.10 christos {"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, I2 }, 1994 1.10 christos {"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, I2 }, 1995 1.1 christos {"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 }, 1996 1.1 christos {"swc1", "E,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 }, 1997 1.1 christos {"swc1", "T,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1998 1.1 christos {"swc1", "E,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 1999 1.1 christos {"s.s", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 }, /* swc1 */ 2000 1.1 christos {"s.s", "T,A(b)", 0, (int) M_SWC1_AB, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 2001 1.3 christos {"swc2", "E,+:(d)", 0x49600000, 0xffe00000, RD_3|RD_C2|SM, 0, I37, 0, 0 }, 2002 1.10 christos {"swc2", "E,o(b)", 0xe8000000, 0xfc000000, RD_3|RD_C2|SM, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE|I37 }, 2003 1.10 christos {"swc2", "E,A(b)", 0, (int) M_SWC2_AB, INSN_MACRO, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 2004 1.11 christos {"swc3", "E,o(b)", 0xec000000, 0xfc000000, RD_3|RD_C3|SM, 0, I1, 0, I3_32|EE|AL }, 2005 1.11 christos {"swc3", "E,A(b)", 0, (int) M_SWC3_AB, INSN_MACRO, 0, I1, 0, I3_32|EE|AL }, 2006 1.3 christos {"swl", "t,o(b)", 0xa8000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, I37 }, 2007 1.3 christos {"swl", "t,A(b)", 0, (int) M_SWL_AB, INSN_MACRO, 0, I1, 0, I37 }, 2008 1.3 christos {"scache", "t,o(b)", 0xa8000000, 0xfc000000, RD_1|RD_3, 0, I2, 0, I37 }, /* same */ 2009 1.3 christos {"scache", "t,A(b)", 0, (int) M_SWL_AB, INSN_MACRO, 0, I2, 0, I37 }, /* as swl */ 2010 1.3 christos {"swr", "t,o(b)", 0xb8000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, I37 }, 2011 1.3 christos {"swr", "t,A(b)", 0, (int) M_SWR_AB, INSN_MACRO, 0, I1, 0, I37 }, 2012 1.3 christos {"invalidate", "t,o(b)", 0xb8000000, 0xfc000000, RD_1|RD_3, 0, I2, 0, I37 }, /* same */ 2013 1.3 christos {"invalidate", "t,A(b)", 0, (int) M_SWR_AB, INSN_MACRO, 0, I2, 0, I37 }, /* as swr */ 2014 1.3 christos {"swxc1", "S,t(b)", 0x4c000008, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_S, 0, I4_33, 0, I37 }, 2015 1.8 christos {"synciobdma", "", 0x0000008f, 0xffffffff, NODS, INSN2_ALIAS, IOCT, 0, 0 }, 2016 1.8 christos {"syncs", "", 0x0000018f, 0xffffffff, NODS, INSN2_ALIAS, IOCT, 0, 0 }, 2017 1.8 christos {"syncw", "", 0x0000010f, 0xffffffff, NODS, INSN2_ALIAS, IOCT, 0, 0 }, 2018 1.8 christos {"syncws", "", 0x0000014f, 0xffffffff, NODS, INSN2_ALIAS, IOCT, 0, 0 }, 2019 1.8 christos {"sync_acquire", "", 0x0000044f, 0xffffffff, NODS, INSN2_ALIAS, I33, 0, 0 }, 2020 1.8 christos {"sync_mb", "", 0x0000040f, 0xffffffff, NODS, INSN2_ALIAS, I33, 0, 0 }, 2021 1.8 christos {"sync_release", "", 0x0000048f, 0xffffffff, NODS, INSN2_ALIAS, I33, 0, 0 }, 2022 1.8 christos {"sync_rmb", "", 0x000004cf, 0xffffffff, NODS, INSN2_ALIAS, I33, 0, 0 }, 2023 1.8 christos {"sync_wmb", "", 0x0000010f, 0xffffffff, NODS, INSN2_ALIAS, I33, 0, 0 }, 2024 1.1 christos {"sync", "", 0x0000000f, 0xffffffff, NODS, 0, I2|G1, 0, 0 }, 2025 1.1 christos {"sync", "1", 0x0000000f, 0xfffff83f, NODS, 0, I32, 0, 0 }, 2026 1.1 christos {"sync.p", "", 0x0000040f, 0xffffffff, NODS, 0, I2, 0, 0 }, 2027 1.1 christos {"sync.l", "", 0x0000000f, 0xffffffff, NODS, 0, I2, 0, 0 }, 2028 1.1 christos {"synci", "o(b)", 0x041f0000, 0xfc1f0000, RD_2|SM, 0, I33, 0, 0 }, 2029 1.1 christos {"syscall", "", 0x0000000c, 0xffffffff, TRAP, 0, I1, 0, 0 }, 2030 1.1 christos {"syscall", "B", 0x0000000c, 0xfc00003f, TRAP, 0, I1, 0, 0 }, 2031 1.3 christos {"teqi", "s,j", 0x040c0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2032 1.1 christos {"teq", "s,t", 0x00000034, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2033 1.1 christos {"teq", "s,t,q", 0x00000034, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2034 1.3 christos {"teq", "s,j", 0x040c0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* teqi */ 2035 1.1 christos {"teq", "s,I", 0, (int) M_TEQ_I, INSN_MACRO, 0, I2, 0, 0 }, 2036 1.3 christos {"tgei", "s,j", 0x04080000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2037 1.1 christos {"tge", "s,t", 0x00000030, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2038 1.1 christos {"tge", "s,t,q", 0x00000030, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2039 1.3 christos {"tge", "s,j", 0x04080000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* tgei */ 2040 1.1 christos {"tge", "s,I", 0, (int) M_TGE_I, INSN_MACRO, 0, I2, 0, 0 }, 2041 1.3 christos {"tgeiu", "s,j", 0x04090000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2042 1.1 christos {"tgeu", "s,t", 0x00000031, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2043 1.1 christos {"tgeu", "s,t,q", 0x00000031, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2044 1.3 christos {"tgeu", "s,j", 0x04090000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* tgeiu */ 2045 1.1 christos {"tgeu", "s,I", 0, (int) M_TGEU_I, INSN_MACRO, 0, I2, 0, 0 }, 2046 1.3 christos {"tlbinv", "", 0x42000003, 0xffffffff, INSN_TLB, 0, I37, TLBINV, 0 }, 2047 1.3 christos {"tlbinvf", "", 0x42000004, 0xffffffff, INSN_TLB, 0, I37, TLBINV, 0 }, 2048 1.1 christos {"tlbp", "", 0x42000008, 0xffffffff, INSN_TLB, 0, I1, 0, 0 }, 2049 1.1 christos {"tlbr", "", 0x42000001, 0xffffffff, INSN_TLB, 0, I1, 0, 0 }, 2050 1.1 christos {"tlbwi", "", 0x42000002, 0xffffffff, INSN_TLB, 0, I1, 0, 0 }, 2051 1.1 christos {"tlbwr", "", 0x42000006, 0xffffffff, INSN_TLB, 0, I1, 0, 0 }, 2052 1.1 christos {"tlbgr", "", 0x42000009, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2053 1.1 christos {"tlbgwi", "", 0x4200000a, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2054 1.1 christos {"tlbginv", "", 0x4200000b, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2055 1.1 christos {"tlbginvf", "", 0x4200000c, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2056 1.1 christos {"tlbgwr", "", 0x4200000e, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2057 1.1 christos {"tlbgp", "", 0x42000010, 0xffffffff, INSN_TLB, 0, 0, IVIRT, 0 }, 2058 1.3 christos {"tlti", "s,j", 0x040a0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2059 1.1 christos {"tlt", "s,t", 0x00000032, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2060 1.1 christos {"tlt", "s,t,q", 0x00000032, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2061 1.3 christos {"tlt", "s,j", 0x040a0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* tlti */ 2062 1.1 christos {"tlt", "s,I", 0, (int) M_TLT_I, INSN_MACRO, 0, I2, 0, 0 }, 2063 1.3 christos {"tltiu", "s,j", 0x040b0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2064 1.1 christos {"tltu", "s,t", 0x00000033, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2065 1.1 christos {"tltu", "s,t,q", 0x00000033, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2066 1.3 christos {"tltu", "s,j", 0x040b0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* tltiu */ 2067 1.1 christos {"tltu", "s,I", 0, (int) M_TLTU_I, INSN_MACRO, 0, I2, 0, 0 }, 2068 1.3 christos {"tnei", "s,j", 0x040e0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, 2069 1.1 christos {"tne", "s,t", 0x00000036, 0xfc00ffff, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2070 1.1 christos {"tne", "s,t,q", 0x00000036, 0xfc00003f, RD_1|RD_2|TRAP, 0, I2, 0, 0 }, 2071 1.3 christos {"tne", "s,j", 0x040e0000, 0xfc1f0000, RD_1|TRAP, 0, I2, 0, I37 }, /* tnei */ 2072 1.1 christos {"tne", "s,I", 0, (int) M_TNE_I, INSN_MACRO, 0, I2, 0, 0 }, 2073 1.1 christos {"trunc.l.d", "D,S", 0x46200009, 0xffff003f, WR_1|RD_2|FP_D, 0, I3_33, 0, 0 }, 2074 1.1 christos {"trunc.l.s", "D,S", 0x46000009, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I3_33, 0, 0 }, 2075 1.1 christos {"trunc.w.d", "D,S", 0x4620000d, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I2, 0, SF }, 2076 1.1 christos {"trunc.w.d", "D,S,x", 0x4620000d, 0xffff003f, WR_1|RD_2|FP_S|FP_D, 0, I2, 0, SF }, 2077 1.1 christos {"trunc.w.d", "D,S,t", 0, (int) M_TRUNCWD, INSN_MACRO, INSN2_M_FP_S|INSN2_M_FP_D, I1, 0, SF }, 2078 1.1 christos {"trunc.w.s", "D,S", 0x46000024, 0xffff003f, WR_1|RD_2|FP_S, 0, EE, 0, 0 }, 2079 1.1 christos {"trunc.w.s", "D,S", 0x4600000d, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, EE }, 2080 1.1 christos {"trunc.w.s", "D,S,x", 0x4600000d, 0xffff003f, WR_1|RD_2|FP_S, 0, I2, 0, EE }, 2081 1.1 christos {"trunc.w.s", "D,S,t", 0, (int) M_TRUNCWS, INSN_MACRO, INSN2_M_FP_S, I1, 0, EE }, 2082 1.3 christos {"uld", "t,A(b)", 0, (int) M_ULD_AB, INSN_MACRO, 0, I3, 0, I69 }, 2083 1.3 christos {"ulh", "t,A(b)", 0, (int) M_ULH_AB, INSN_MACRO, 0, I1, 0, I37 }, 2084 1.3 christos {"ulhu", "t,A(b)", 0, (int) M_ULHU_AB, INSN_MACRO, 0, I1, 0, I37 }, 2085 1.3 christos {"ulw", "t,A(b)", 0, (int) M_ULW_AB, INSN_MACRO, 0, I1, 0, I37 }, 2086 1.3 christos {"usd", "t,A(b)", 0, (int) M_USD_AB, INSN_MACRO, 0, I3, 0, I69 }, 2087 1.3 christos {"ush", "t,A(b)", 0, (int) M_USH_AB, INSN_MACRO, 0, I1, 0, I37 }, 2088 1.3 christos {"usw", "t,A(b)", 0, (int) M_USW_AB, INSN_MACRO, 0, I1, 0, I37 }, 2089 1.1 christos {"v3mulu", "d,v,t", 0x70000011, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 2090 1.1 christos {"vmm0", "d,v,t", 0x70000010, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 2091 1.1 christos {"vmulu", "d,v,t", 0x7000000f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IOCT, 0, 0 }, 2092 1.1 christos {"wach.ob", "Y", 0x7a00003e, 0xffff07ff, RD_1|FP_D, WR_MACC, SB1, MX, 0 }, 2093 1.1 christos {"wach.ob", "S", 0x4a00003e, 0xffff07ff, RD_1|FP_D, WR_MACC, N54, 0, 0 }, 2094 1.1 christos {"wach.qh", "Y", 0x7a20003e, 0xffff07ff, RD_1|FP_D, WR_MACC, 0, MX, 0 }, 2095 1.1 christos {"wacl.ob", "Y,Z", 0x7800003e, 0xffe007ff, RD_1|RD_2|FP_D, WR_MACC, SB1, MX, 0 }, 2096 1.1 christos {"wacl.ob", "S,T", 0x4800003e, 0xffe007ff, RD_1|RD_2|FP_D, WR_MACC, N54, 0, 0 }, 2097 1.1 christos {"wacl.qh", "Y,Z", 0x7820003e, 0xffe007ff, RD_1|RD_2|FP_D, WR_MACC, 0, MX, 0 }, 2098 1.1 christos {"wait", "", 0x42000020, 0xffffffff, NODS, 0, I3_32, 0, 0 }, 2099 1.1 christos {"wait", "J", 0x42000020, 0xfe00003f, NODS, 0, I32|N55, 0, 0 }, 2100 1.1 christos {"waiti", "", 0x42000020, 0xffffffff, NODS, 0, L1, 0, 0 }, 2101 1.1 christos {"wrpgpr", "d,w", 0x41c00000, 0xffe007ff, RD_2, 0, I33, 0, 0 }, 2102 1.11 christos {"wsbh", "d,w", 0x7c0000a0, 0xffe007ff, WR_1|RD_2, 0, I33|AL, 0, 0 }, 2103 1.11 christos {"wsbw", "d,w", 0x7c0000e0, 0xffe007ff, WR_1|RD_2, 0, AL, 0, 0 }, 2104 1.1 christos {"xor", "d,v,t", 0x00000026, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I1, 0, 0 }, 2105 1.1 christos {"xor", "t,r,I", 0, (int) M_XOR_I, INSN_MACRO, 0, I1, 0, 0 }, 2106 1.1 christos {"xor", "D,S,T", 0x47800002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2107 1.8 christos {"xor", "D,S,T", 0x4b800002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2108 1.1 christos {"xor.ob", "X,Y,Q", 0x7800000d, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 }, 2109 1.1 christos {"xor.ob", "D,S,Q", 0x4800000d, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 }, 2110 1.1 christos {"xor.qh", "X,Y,Q", 0x7820000d, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 }, 2111 1.1 christos {"xori", "t,r,i", 0x38000000, 0xfc000000, WR_1|RD_2, 0, I1, 0, 0 }, 2112 1.1 christos {"yield", "s", 0x7c000009, 0xfc1fffff, RD_1|NODS, 0, 0, MT32, 0 }, 2113 1.1 christos {"yield", "d,s", 0x7c000009, 0xfc1f07ff, WR_1|RD_2|NODS, 0, 0, MT32, 0 }, 2114 1.1 christos {"zcb", "(b)", 0x7000071f, 0xfc1fffff, RD_1|SM, 0, IOCT2, 0, 0 }, 2115 1.1 christos {"zcbt", "(b)", 0x7000075f, 0xfc1fffff, RD_1|SM, 0, IOCT2, 0, 0 }, 2116 1.1 christos 2117 1.1 christos /* Conflicts with the 4650's "mul" instruction. Nobody's using the 2118 1.1 christos 4010 any more, so move this insn out of the way. If the object 2119 1.1 christos format gave us more info, we could do this right. */ 2120 1.1 christos {"addciu", "t,r,j", 0x70000000, 0xfc000000, WR_1|RD_2, 0, L1, 0, 0 }, 2121 1.1 christos /* MIPS DSP ASE */ 2122 1.1 christos {"absq_s.ph", "d,t", 0x7c000252, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2123 1.1 christos {"absq_s.pw", "d,t", 0x7c000456, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2124 1.1 christos {"absq_s.qh", "d,t", 0x7c000256, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2125 1.1 christos {"absq_s.w", "d,t", 0x7c000452, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2126 1.1 christos {"addq.ph", "d,s,t", 0x7c000290, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2127 1.1 christos {"addq.pw", "d,s,t", 0x7c000494, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2128 1.1 christos {"addq.qh", "d,s,t", 0x7c000294, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2129 1.1 christos {"addq_s.ph", "d,s,t", 0x7c000390, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2130 1.1 christos {"addq_s.pw", "d,s,t", 0x7c000594, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2131 1.1 christos {"addq_s.qh", "d,s,t", 0x7c000394, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2132 1.1 christos {"addq_s.w", "d,s,t", 0x7c000590, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2133 1.1 christos {"addsc", "d,s,t", 0x7c000410, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2134 1.1 christos {"addu.ob", "d,s,t", 0x7c000014, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2135 1.1 christos {"addu.qb", "d,s,t", 0x7c000010, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2136 1.1 christos {"addu_s.ob", "d,s,t", 0x7c000114, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2137 1.1 christos {"addu_s.qb", "d,s,t", 0x7c000110, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2138 1.1 christos {"addwc", "d,s,t", 0x7c000450, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2139 1.11 christos {"bitrev", "d,w", 0x7c000520, 0xffe007ff, WR_1|RD_2, 0, AL, 0, 0 }, 2140 1.1 christos {"bitrev", "d,t", 0x7c0006d2, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2141 1.1 christos {"bposge32", "p", 0x041c0000, 0xffff0000, CBD, 0, 0, D32, 0 }, 2142 1.6 christos {"bposge32c", "p", 0x04180000, 0xffff0000, NODS, FS, 0, D34, 0 }, 2143 1.1 christos {"bposge64", "p", 0x041d0000, 0xffff0000, CBD, 0, 0, D64, 0 }, 2144 1.1 christos {"cmp.eq.ph", "s,t", 0x7c000211, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2145 1.1 christos {"cmp.eq.pw", "s,t", 0x7c000415, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2146 1.1 christos {"cmp.eq.qh", "s,t", 0x7c000215, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2147 1.1 christos {"cmpgu.eq.ob", "d,s,t", 0x7c000115, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2148 1.1 christos {"cmpgu.eq.qb", "d,s,t", 0x7c000111, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2149 1.1 christos {"cmpgu.le.ob", "d,s,t", 0x7c000195, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2150 1.1 christos {"cmpgu.le.qb", "d,s,t", 0x7c000191, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2151 1.1 christos {"cmpgu.lt.ob", "d,s,t", 0x7c000155, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2152 1.1 christos {"cmpgu.lt.qb", "d,s,t", 0x7c000151, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2153 1.1 christos {"cmp.le.ph", "s,t", 0x7c000291, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2154 1.1 christos {"cmp.le.pw", "s,t", 0x7c000495, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2155 1.1 christos {"cmp.le.qh", "s,t", 0x7c000295, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2156 1.1 christos {"cmp.lt.ph", "s,t", 0x7c000251, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2157 1.1 christos {"cmp.lt.pw", "s,t", 0x7c000455, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2158 1.1 christos {"cmp.lt.qh", "s,t", 0x7c000255, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2159 1.1 christos {"cmpu.eq.ob", "s,t", 0x7c000015, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2160 1.1 christos {"cmpu.eq.qb", "s,t", 0x7c000011, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2161 1.1 christos {"cmpu.le.ob", "s,t", 0x7c000095, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2162 1.1 christos {"cmpu.le.qb", "s,t", 0x7c000091, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2163 1.1 christos {"cmpu.lt.ob", "s,t", 0x7c000055, 0xfc00ffff, RD_1|RD_2, 0, 0, D64, 0 }, 2164 1.1 christos {"cmpu.lt.qb", "s,t", 0x7c000051, 0xfc00ffff, RD_1|RD_2, 0, 0, D32, 0 }, 2165 1.1 christos {"dextpdp", "t,7,6", 0x7c0002bc, 0xfc00e7ff, WR_1|RD_a|DSP_VOLA, 0, 0, D64, 0 }, 2166 1.1 christos {"dextpdpv", "t,7,s", 0x7c0002fc, 0xfc00e7ff, WR_1|RD_3|RD_a|DSP_VOLA, 0, 0, D64, 0 }, 2167 1.1 christos {"dextp", "t,7,6", 0x7c0000bc, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2168 1.1 christos {"dextpv", "t,7,s", 0x7c0000fc, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2169 1.1 christos {"dextr.l", "t,7,6", 0x7c00043c, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2170 1.1 christos {"dextr_r.l", "t,7,6", 0x7c00053c, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2171 1.1 christos {"dextr_rs.l", "t,7,6", 0x7c0005bc, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2172 1.1 christos {"dextr_rs.w", "t,7,6", 0x7c0001bc, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2173 1.1 christos {"dextr_r.w", "t,7,6", 0x7c00013c, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2174 1.1 christos {"dextr_s.h", "t,7,6", 0x7c0003bc, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2175 1.1 christos {"dextrv.l", "t,7,s", 0x7c00047c, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2176 1.1 christos {"dextrv_r.l", "t,7,s", 0x7c00057c, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2177 1.1 christos {"dextrv_rs.l", "t,7,s", 0x7c0005fc, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2178 1.1 christos {"dextrv_rs.w", "t,7,s", 0x7c0001fc, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2179 1.1 christos {"dextrv_r.w", "t,7,s", 0x7c00017c, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2180 1.1 christos {"dextrv_s.h", "t,7,s", 0x7c0003fc, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2181 1.1 christos {"dextrv.w", "t,7,s", 0x7c00007c, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D64, 0 }, 2182 1.1 christos {"dextr.w", "t,7,6", 0x7c00003c, 0xfc00e7ff, WR_1|RD_a, 0, 0, D64, 0 }, 2183 1.1 christos {"dinsv", "t,s", 0x7c00000d, 0xfc00ffff, WR_1|RD_2, 0, 0, D64, 0 }, 2184 1.1 christos {"dmadd", "7,s,t", 0x7c000674, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2185 1.1 christos {"dmaddu", "7,s,t", 0x7c000774, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2186 1.1 christos {"dmsub", "7,s,t", 0x7c0006f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2187 1.1 christos {"dmsubu", "7,s,t", 0x7c0007f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2188 1.1 christos {"dmthlip", "s,7", 0x7c0007fc, 0xfc1fe7ff, RD_1|MOD_a|DSP_VOLA, 0, 0, D64, 0 }, 2189 1.1 christos {"dpaq_sa.l.pw", "7,s,t", 0x7c000334, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2190 1.1 christos {"dpaq_sa.l.w", "7,s,t", 0x7c000330, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2191 1.1 christos {"dpaq_s.w.ph", "7,s,t", 0x7c000130, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2192 1.1 christos {"dpaq_s.w.qh", "7,s,t", 0x7c000134, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2193 1.1 christos {"dpau.h.obl", "7,s,t", 0x7c0000f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2194 1.1 christos {"dpau.h.obr", "7,s,t", 0x7c0001f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2195 1.1 christos {"dpau.h.qbl", "7,s,t", 0x7c0000f0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2196 1.1 christos {"dpau.h.qbr", "7,s,t", 0x7c0001f0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2197 1.1 christos {"dpsq_sa.l.pw", "7,s,t", 0x7c000374, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2198 1.1 christos {"dpsq_sa.l.w", "7,s,t", 0x7c000370, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2199 1.1 christos {"dpsq_s.w.ph", "7,s,t", 0x7c000170, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2200 1.1 christos {"dpsq_s.w.qh", "7,s,t", 0x7c000174, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2201 1.1 christos {"dpsu.h.obl", "7,s,t", 0x7c0002f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2202 1.1 christos {"dpsu.h.obr", "7,s,t", 0x7c0003f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2203 1.1 christos {"dpsu.h.qbl", "7,s,t", 0x7c0002f0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2204 1.1 christos {"dpsu.h.qbr", "7,s,t", 0x7c0003f0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2205 1.1 christos {"dshilo", "7,:", 0x7c0006bc, 0xfc07e7ff, MOD_a, 0, 0, D64, 0 }, 2206 1.1 christos {"dshilov", "7,s", 0x7c0006fc, 0xfc1fe7ff, RD_2|MOD_a, 0, 0, D64, 0 }, 2207 1.1 christos {"extpdp", "t,7,6", 0x7c0002b8, 0xfc00e7ff, WR_1|RD_a|DSP_VOLA, 0, 0, D32, 0 }, 2208 1.1 christos {"extpdpv", "t,7,s", 0x7c0002f8, 0xfc00e7ff, WR_1|RD_3|RD_a|DSP_VOLA, 0, 0, D32, 0 }, 2209 1.1 christos {"extp", "t,7,6", 0x7c0000b8, 0xfc00e7ff, WR_1|RD_a, 0, 0, D32, 0 }, 2210 1.1 christos {"extpv", "t,7,s", 0x7c0000f8, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D32, 0 }, 2211 1.1 christos {"extr_rs.w", "t,7,6", 0x7c0001b8, 0xfc00e7ff, WR_1|RD_a, 0, 0, D32, 0 }, 2212 1.1 christos {"extr_r.w", "t,7,6", 0x7c000138, 0xfc00e7ff, WR_1|RD_a, 0, 0, D32, 0 }, 2213 1.1 christos {"extr_s.h", "t,7,6", 0x7c0003b8, 0xfc00e7ff, WR_1|RD_a, 0, 0, D32, 0 }, 2214 1.1 christos {"extrv_rs.w", "t,7,s", 0x7c0001f8, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D32, 0 }, 2215 1.1 christos {"extrv_r.w", "t,7,s", 0x7c000178, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D32, 0 }, 2216 1.1 christos {"extrv_s.h", "t,7,s", 0x7c0003f8, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D32, 0 }, 2217 1.1 christos {"extrv.w", "t,7,s", 0x7c000078, 0xfc00e7ff, WR_1|RD_3|RD_a, 0, 0, D32, 0 }, 2218 1.1 christos {"extr.w", "t,7,6", 0x7c000038, 0xfc00e7ff, WR_1|RD_a, 0, 0, D32, 0 }, 2219 1.1 christos {"insv", "t,s", 0x7c00000c, 0xfc00ffff, WR_1|RD_2, 0, 0, D32, 0 }, 2220 1.1 christos /* lbux, ldx, lhx and lwx are the basic instruction section. */ 2221 1.1 christos {"maq_sa.w.phl", "7,s,t", 0x7c000430, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2222 1.1 christos {"maq_sa.w.phr", "7,s,t", 0x7c0004b0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2223 1.1 christos {"maq_sa.w.qhll", "7,s,t", 0x7c000434, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2224 1.1 christos {"maq_sa.w.qhlr", "7,s,t", 0x7c000474, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2225 1.1 christos {"maq_sa.w.qhrl", "7,s,t", 0x7c0004b4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2226 1.1 christos {"maq_sa.w.qhrr", "7,s,t", 0x7c0004f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2227 1.1 christos {"maq_s.l.pwl", "7,s,t", 0x7c000734, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2228 1.1 christos {"maq_s.l.pwr", "7,s,t", 0x7c0007b4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2229 1.1 christos {"maq_s.w.phl", "7,s,t", 0x7c000530, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2230 1.1 christos {"maq_s.w.phr", "7,s,t", 0x7c0005b0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2231 1.1 christos {"maq_s.w.qhll", "7,s,t", 0x7c000534, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2232 1.1 christos {"maq_s.w.qhlr", "7,s,t", 0x7c000574, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2233 1.1 christos {"maq_s.w.qhrl", "7,s,t", 0x7c0005b4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2234 1.1 christos {"maq_s.w.qhrr", "7,s,t", 0x7c0005f4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2235 1.1 christos {"modsub", "d,s,t", 0x7c000490, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2236 1.1 christos {"mthlip", "s,7", 0x7c0007f8, 0xfc1fe7ff, RD_1|MOD_a|DSP_VOLA, 0, 0, D32, 0 }, 2237 1.1 christos {"muleq_s.pw.qhl", "d,s,t", 0x7c000714, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D64, 0 }, 2238 1.1 christos {"muleq_s.pw.qhr", "d,s,t", 0x7c000754, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D64, 0 }, 2239 1.1 christos {"muleq_s.w.phl", "d,s,t", 0x7c000710, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D32, 0 }, 2240 1.1 christos {"muleq_s.w.phr", "d,s,t", 0x7c000750, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D32, 0 }, 2241 1.1 christos {"muleu_s.ph.qbl", "d,s,t", 0x7c000190, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D32, 0 }, 2242 1.1 christos {"muleu_s.ph.qbr", "d,s,t", 0x7c0001d0, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D32, 0 }, 2243 1.1 christos {"muleu_s.qh.obl", "d,s,t", 0x7c000194, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D64, 0 }, 2244 1.1 christos {"muleu_s.qh.obr", "d,s,t", 0x7c0001d4, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D64, 0 }, 2245 1.1 christos {"mulq_rs.ph", "d,s,t", 0x7c0007d0, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D32, 0 }, 2246 1.1 christos {"mulq_rs.qh", "d,s,t", 0x7c0007d4, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D64, 0 }, 2247 1.1 christos {"mulsaq_s.l.pw", "7,s,t", 0x7c0003b4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2248 1.1 christos {"mulsaq_s.w.ph", "7,s,t", 0x7c0001b0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D32, 0 }, 2249 1.1 christos {"mulsaq_s.w.qh", "7,s,t", 0x7c0001b4, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D64, 0 }, 2250 1.1 christos {"packrl.ph", "d,s,t", 0x7c000391, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2251 1.1 christos {"packrl.pw", "d,s,t", 0x7c000395, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2252 1.1 christos {"pick.ob", "d,s,t", 0x7c0000d5, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2253 1.1 christos {"pick.ph", "d,s,t", 0x7c0002d1, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2254 1.1 christos {"pick.pw", "d,s,t", 0x7c0004d5, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2255 1.1 christos {"pick.qb", "d,s,t", 0x7c0000d1, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2256 1.1 christos {"pick.qh", "d,s,t", 0x7c0002d5, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2257 1.1 christos {"preceq.pw.qhla", "d,t", 0x7c000396, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2258 1.1 christos {"preceq.pw.qhl", "d,t", 0x7c000316, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2259 1.1 christos {"preceq.pw.qhra", "d,t", 0x7c0003d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2260 1.1 christos {"preceq.pw.qhr", "d,t", 0x7c000356, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2261 1.1 christos {"preceq.s.l.pwl", "d,t", 0x7c000516, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2262 1.1 christos {"preceq.s.l.pwr", "d,t", 0x7c000556, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2263 1.1 christos {"precequ.ph.qbla", "d,t", 0x7c000192, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2264 1.1 christos {"precequ.ph.qbl", "d,t", 0x7c000112, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2265 1.1 christos {"precequ.ph.qbra", "d,t", 0x7c0001d2, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2266 1.1 christos {"precequ.ph.qbr", "d,t", 0x7c000152, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2267 1.1 christos {"precequ.pw.qhla", "d,t", 0x7c000196, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2268 1.1 christos {"precequ.pw.qhl", "d,t", 0x7c000116, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2269 1.1 christos {"precequ.pw.qhra", "d,t", 0x7c0001d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2270 1.1 christos {"precequ.pw.qhr", "d,t", 0x7c000156, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2271 1.1 christos {"preceq.w.phl", "d,t", 0x7c000312, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2272 1.1 christos {"preceq.w.phr", "d,t", 0x7c000352, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2273 1.1 christos {"preceu.ph.qbla", "d,t", 0x7c000792, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2274 1.1 christos {"preceu.ph.qbl", "d,t", 0x7c000712, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2275 1.1 christos {"preceu.ph.qbra", "d,t", 0x7c0007d2, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2276 1.1 christos {"preceu.ph.qbr", "d,t", 0x7c000752, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2277 1.1 christos {"preceu.qh.obla", "d,t", 0x7c000796, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2278 1.1 christos {"preceu.qh.obl", "d,t", 0x7c000716, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2279 1.1 christos {"preceu.qh.obra", "d,t", 0x7c0007d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2280 1.1 christos {"preceu.qh.obr", "d,t", 0x7c000756, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2281 1.1 christos {"precrq.ob.qh", "d,s,t", 0x7c000315, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2282 1.1 christos {"precrq.ph.w", "d,s,t", 0x7c000511, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2283 1.1 christos {"precrq.pw.l", "d,s,t", 0x7c000715, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2284 1.1 christos {"precrq.qb.ph", "d,s,t", 0x7c000311, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2285 1.1 christos {"precrq.qh.pw", "d,s,t", 0x7c000515, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2286 1.1 christos {"precrq_rs.ph.w", "d,s,t", 0x7c000551, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2287 1.1 christos {"precrq_rs.qh.pw", "d,s,t", 0x7c000555, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2288 1.1 christos {"precrqu_s.ob.qh", "d,s,t", 0x7c0003d5, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2289 1.1 christos {"precrqu_s.qb.ph", "d,s,t", 0x7c0003d1, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2290 1.1 christos {"raddu.l.ob", "d,s", 0x7c000514, 0xfc1f07ff, WR_1|RD_2, 0, 0, D64, 0 }, 2291 1.1 christos {"raddu.w.qb", "d,s", 0x7c000510, 0xfc1f07ff, WR_1|RD_2, 0, 0, D32, 0 }, 2292 1.1 christos {"rddsp", "d", 0x7fff04b8, 0xffff07ff, WR_1, 0, 0, D32, 0 }, 2293 1.1 christos {"rddsp", "d,'", 0x7c0004b8, 0xffc007ff, WR_1, 0, 0, D32, 0 }, 2294 1.1 christos {"repl.ob", "d,5", 0x7c000096, 0xff0007ff, WR_1, 0, 0, D64, 0 }, 2295 1.1 christos {"repl.ph", "d,@", 0x7c000292, 0xfc0007ff, WR_1, 0, 0, D32, 0 }, 2296 1.1 christos {"repl.pw", "d,@", 0x7c000496, 0xfc0007ff, WR_1, 0, 0, D64, 0 }, 2297 1.1 christos {"repl.qb", "d,5", 0x7c000092, 0xff0007ff, WR_1, 0, 0, D32, 0 }, 2298 1.1 christos {"repl.qh", "d,@", 0x7c000296, 0xfc0007ff, WR_1, 0, 0, D64, 0 }, 2299 1.1 christos {"replv.ob", "d,t", 0x7c0000d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2300 1.1 christos {"replv.ph", "d,t", 0x7c0002d2, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2301 1.1 christos {"replv.pw", "d,t", 0x7c0004d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2302 1.1 christos {"replv.qb", "d,t", 0x7c0000d2, 0xffe007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2303 1.1 christos {"replv.qh", "d,t", 0x7c0002d6, 0xffe007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2304 1.1 christos {"shilo", "7,0", 0x7c0006b8, 0xfc0fe7ff, MOD_a, 0, 0, D32, 0 }, 2305 1.1 christos {"shilov", "7,s", 0x7c0006f8, 0xfc1fe7ff, RD_2|MOD_a, 0, 0, D32, 0 }, 2306 1.1 christos {"shll.ob", "d,t,3", 0x7c000017, 0xff0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2307 1.1 christos {"shll.ph", "d,t,4", 0x7c000213, 0xfe0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2308 1.1 christos {"shll.pw", "d,t,6", 0x7c000417, 0xfc0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2309 1.1 christos {"shll.qb", "d,t,3", 0x7c000013, 0xff0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2310 1.1 christos {"shll.qh", "d,t,4", 0x7c000217, 0xfe0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2311 1.1 christos {"shll_s.ph", "d,t,4", 0x7c000313, 0xfe0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2312 1.1 christos {"shll_s.pw", "d,t,6", 0x7c000517, 0xfc0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2313 1.1 christos {"shll_s.qh", "d,t,4", 0x7c000317, 0xfe0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2314 1.1 christos {"shll_s.w", "d,t,6", 0x7c000513, 0xfc0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2315 1.1 christos {"shllv.ob", "d,t,s", 0x7c000097, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2316 1.1 christos {"shllv.ph", "d,t,s", 0x7c000293, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2317 1.1 christos {"shllv.pw", "d,t,s", 0x7c000497, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2318 1.1 christos {"shllv.qb", "d,t,s", 0x7c000093, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2319 1.1 christos {"shllv.qh", "d,t,s", 0x7c000297, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2320 1.1 christos {"shllv_s.ph", "d,t,s", 0x7c000393, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2321 1.1 christos {"shllv_s.pw", "d,t,s", 0x7c000597, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2322 1.1 christos {"shllv_s.qh", "d,t,s", 0x7c000397, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2323 1.1 christos {"shllv_s.w", "d,t,s", 0x7c000593, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2324 1.1 christos {"shra.ph", "d,t,4", 0x7c000253, 0xfe0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2325 1.1 christos {"shra.pw", "d,t,6", 0x7c000457, 0xfc0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2326 1.1 christos {"shra.qh", "d,t,4", 0x7c000257, 0xfe0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2327 1.1 christos {"shra_r.ph", "d,t,4", 0x7c000353, 0xfe0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2328 1.1 christos {"shra_r.pw", "d,t,6", 0x7c000557, 0xfc0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2329 1.1 christos {"shra_r.qh", "d,t,4", 0x7c000357, 0xfe0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2330 1.1 christos {"shra_r.w", "d,t,6", 0x7c000553, 0xfc0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2331 1.1 christos {"shrav.ph", "d,t,s", 0x7c0002d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2332 1.1 christos {"shrav.pw", "d,t,s", 0x7c0004d7, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2333 1.1 christos {"shrav.qh", "d,t,s", 0x7c0002d7, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2334 1.1 christos {"shrav_r.ph", "d,t,s", 0x7c0003d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2335 1.1 christos {"shrav_r.pw", "d,t,s", 0x7c0005d7, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2336 1.1 christos {"shrav_r.qh", "d,t,s", 0x7c0003d7, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2337 1.1 christos {"shrav_r.w", "d,t,s", 0x7c0005d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2338 1.1 christos {"shrl.ob", "d,t,3", 0x7c000057, 0xff0007ff, WR_1|RD_2, 0, 0, D64, 0 }, 2339 1.1 christos {"shrl.qb", "d,t,3", 0x7c000053, 0xff0007ff, WR_1|RD_2, 0, 0, D32, 0 }, 2340 1.1 christos {"shrlv.ob", "d,t,s", 0x7c0000d7, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2341 1.1 christos {"shrlv.qb", "d,t,s", 0x7c0000d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2342 1.1 christos {"subq.ph", "d,s,t", 0x7c0002d0, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2343 1.1 christos {"subq.pw", "d,s,t", 0x7c0004d4, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2344 1.1 christos {"subq.qh", "d,s,t", 0x7c0002d4, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2345 1.1 christos {"subq_s.ph", "d,s,t", 0x7c0003d0, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2346 1.1 christos {"subq_s.pw", "d,s,t", 0x7c0005d4, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2347 1.1 christos {"subq_s.qh", "d,s,t", 0x7c0003d4, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2348 1.1 christos {"subq_s.w", "d,s,t", 0x7c0005d0, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2349 1.1 christos {"subu.ob", "d,s,t", 0x7c000054, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2350 1.1 christos {"subu.qb", "d,s,t", 0x7c000050, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2351 1.1 christos {"subu_s.ob", "d,s,t", 0x7c000154, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D64, 0 }, 2352 1.1 christos {"subu_s.qb", "d,s,t", 0x7c000150, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D32, 0 }, 2353 1.1 christos {"wrdsp", "s", 0x7c1ffcf8, 0xfc1fffff, RD_1|DSP_VOLA, 0, 0, D32, 0 }, 2354 1.1 christos {"wrdsp", "s,8", 0x7c0004f8, 0xfc1e07ff, RD_1|DSP_VOLA, 0, 0, D32, 0 }, 2355 1.1 christos /* MIPS DSP ASE Rev2 */ 2356 1.1 christos {"absq_s.qb", "d,t", 0x7c000052, 0xffe007ff, WR_1|RD_2, 0, 0, D33, 0 }, 2357 1.1 christos {"addu.ph", "d,s,t", 0x7c000210, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2358 1.1 christos {"addu_s.ph", "d,s,t", 0x7c000310, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2359 1.1 christos {"adduh.qb", "d,s,t", 0x7c000018, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2360 1.1 christos {"adduh_r.qb", "d,s,t", 0x7c000098, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2361 1.1 christos {"append", "t,s,h", 0x7c000031, 0xfc0007ff, MOD_1|RD_2, 0, 0, D33, 0 }, 2362 1.1 christos {"balign", "t,s,I", 0, (int) M_BALIGN, INSN_MACRO, 0, 0, D33, 0 }, 2363 1.1 christos {"balign", "t,s,2", 0x7c000431, 0xfc00e7ff, MOD_1|RD_2, 0, 0, D33, 0 }, 2364 1.1 christos {"cmpgdu.eq.qb", "d,s,t", 0x7c000611, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2365 1.1 christos {"cmpgdu.lt.qb", "d,s,t", 0x7c000651, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2366 1.1 christos {"cmpgdu.le.qb", "d,s,t", 0x7c000691, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2367 1.1 christos {"dpa.w.ph", "7,s,t", 0x7c000030, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2368 1.1 christos {"dps.w.ph", "7,s,t", 0x7c000070, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2369 1.1 christos {"mul.ph", "d,s,t", 0x7c000318, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D33, 0 }, 2370 1.1 christos {"mul_s.ph", "d,s,t", 0x7c000398, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D33, 0 }, 2371 1.1 christos {"mulq_rs.w", "d,s,t", 0x7c0005d8, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D33, 0 }, 2372 1.1 christos {"mulq_s.ph", "d,s,t", 0x7c000790, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D33, 0 }, 2373 1.1 christos {"mulq_s.w", "d,s,t", 0x7c000598, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, 0, D33, 0 }, 2374 1.1 christos {"mulsa.w.ph", "7,s,t", 0x7c0000b0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2375 1.1 christos {"precr.qb.ph", "d,s,t", 0x7c000351, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2376 1.1 christos {"precr_sra.ph.w", "t,s,h", 0x7c000791, 0xfc0007ff, MOD_1|RD_2, 0, 0, D33, 0 }, 2377 1.1 christos {"precr_sra_r.ph.w", "t,s,h", 0x7c0007d1, 0xfc0007ff, MOD_1|RD_2, 0, 0, D33, 0 }, 2378 1.1 christos {"prepend", "t,s,h", 0x7c000071, 0xfc0007ff, MOD_1|RD_2, 0, 0, D33, 0 }, 2379 1.1 christos {"shra.qb", "d,t,3", 0x7c000113, 0xff0007ff, WR_1|RD_2, 0, 0, D33, 0 }, 2380 1.1 christos {"shra_r.qb", "d,t,3", 0x7c000153, 0xff0007ff, WR_1|RD_2, 0, 0, D33, 0 }, 2381 1.1 christos {"shrav.qb", "d,t,s", 0x7c000193, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2382 1.1 christos {"shrav_r.qb", "d,t,s", 0x7c0001d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2383 1.1 christos {"shrl.ph", "d,t,4", 0x7c000653, 0xfe0007ff, WR_1|RD_2, 0, 0, D33, 0 }, 2384 1.1 christos {"shrlv.ph", "d,t,s", 0x7c0006d3, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2385 1.1 christos {"subu.ph", "d,s,t", 0x7c000250, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2386 1.1 christos {"subu_s.ph", "d,s,t", 0x7c000350, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2387 1.1 christos {"subuh.qb", "d,s,t", 0x7c000058, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2388 1.1 christos {"subuh_r.qb", "d,s,t", 0x7c0000d8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2389 1.1 christos {"addqh.ph", "d,s,t", 0x7c000218, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2390 1.1 christos {"addqh_r.ph", "d,s,t", 0x7c000298, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2391 1.1 christos {"addqh.w", "d,s,t", 0x7c000418, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2392 1.1 christos {"addqh_r.w", "d,s,t", 0x7c000498, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2393 1.1 christos {"subqh.ph", "d,s,t", 0x7c000258, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2394 1.1 christos {"subqh_r.ph", "d,s,t", 0x7c0002d8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2395 1.1 christos {"subqh.w", "d,s,t", 0x7c000458, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2396 1.1 christos {"subqh_r.w", "d,s,t", 0x7c0004d8, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, D33, 0 }, 2397 1.1 christos {"dpax.w.ph", "7,s,t", 0x7c000230, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2398 1.1 christos {"dpsx.w.ph", "7,s,t", 0x7c000270, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2399 1.1 christos {"dpaqx_s.w.ph", "7,s,t", 0x7c000630, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2400 1.1 christos {"dpaqx_sa.w.ph", "7,s,t", 0x7c0006b0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2401 1.1 christos {"dpsqx_s.w.ph", "7,s,t", 0x7c000670, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2402 1.1 christos {"dpsqx_sa.w.ph", "7,s,t", 0x7c0006f0, 0xfc00e7ff, RD_2|RD_3|MOD_a, 0, 0, D33, 0 }, 2403 1.1 christos /* ST Microelectronics Loongson-2E and -2F. */ 2404 1.1 christos {"mult.g", "d,s,t", 0x7c000018, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2405 1.1 christos {"mult.g", "d,s,t", 0x70000010, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2406 1.8 christos {"gsmult", "d,s,t", 0x70000010, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2407 1.1 christos {"multu.g", "d,s,t", 0x7c000019, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2408 1.1 christos {"multu.g", "d,s,t", 0x70000012, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2409 1.8 christos {"gsmultu", "d,s,t", 0x70000012, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2410 1.1 christos {"dmult.g", "d,s,t", 0x7c00001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2411 1.1 christos {"dmult.g", "d,s,t", 0x70000011, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2412 1.8 christos {"gsdmult", "d,s,t", 0x70000011, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2413 1.1 christos {"dmultu.g", "d,s,t", 0x7c00001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2414 1.1 christos {"dmultu.g", "d,s,t", 0x70000013, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2415 1.8 christos {"gsdmultu", "d,s,t", 0x70000013, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2416 1.1 christos {"div.g", "d,s,t", 0x7c00001a, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2417 1.1 christos {"div.g", "d,s,t", 0x70000014, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2418 1.8 christos {"gsdiv", "d,s,t", 0x70000014, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2419 1.1 christos {"divu.g", "d,s,t", 0x7c00001b, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2420 1.1 christos {"divu.g", "d,s,t", 0x70000016, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2421 1.8 christos {"gsdivu", "d,s,t", 0x70000016, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2422 1.1 christos {"ddiv.g", "d,s,t", 0x7c00001e, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2423 1.1 christos {"ddiv.g", "d,s,t", 0x70000015, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2424 1.8 christos {"gsddiv", "d,s,t", 0x70000015, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2425 1.1 christos {"ddivu.g", "d,s,t", 0x7c00001f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2426 1.1 christos {"ddivu.g", "d,s,t", 0x70000017, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2427 1.8 christos {"gsddivu", "d,s,t", 0x70000017, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2428 1.1 christos {"mod.g", "d,s,t", 0x7c000022, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2429 1.1 christos {"mod.g", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2430 1.8 christos {"gsmod", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2431 1.1 christos {"modu.g", "d,s,t", 0x7c000023, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2432 1.1 christos {"modu.g", "d,s,t", 0x7000001e, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2433 1.8 christos {"gsmodu", "d,s,t", 0x7000001e, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2434 1.1 christos {"dmod.g", "d,s,t", 0x7c000026, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2435 1.1 christos {"dmod.g", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2436 1.8 christos {"gsdmod", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2437 1.1 christos {"dmodu.g", "d,s,t", 0x7c000027, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2E, 0, 0 }, 2438 1.1 christos {"dmodu.g", "d,s,t", 0x7000001f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, IL2F, 0, 0 }, 2439 1.8 christos {"gsdmodu", "d,s,t", 0x7000001f, 0xfc0007ff, WR_1|RD_2|RD_3, 0, 0, LEXT, 0 }, 2440 1.1 christos {"packsshb", "D,S,T", 0x47400002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2441 1.8 christos {"packsshb", "D,S,T", 0x4b400002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2442 1.1 christos {"packsswh", "D,S,T", 0x47200002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2443 1.8 christos {"packsswh", "D,S,T", 0x4b200002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2444 1.1 christos {"packushb", "D,S,T", 0x47600002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2445 1.8 christos {"packushb", "D,S,T", 0x4b600002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2446 1.1 christos {"paddb", "D,S,T", 0x47c00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2447 1.8 christos {"paddb", "D,S,T", 0x4bc00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2448 1.1 christos {"paddb", "d,s,t", 0x70000208, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2449 1.1 christos {"paddh", "D,S,T", 0x47400000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2450 1.1 christos {"paddh", "d,s,t", 0x70000108, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2451 1.8 christos {"paddh", "D,S,T", 0x4b400000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2452 1.1 christos {"paddw", "D,S,T", 0x47600000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2453 1.8 christos {"paddw", "D,S,T", 0x4b600000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2454 1.1 christos {"paddw", "d,s,t", 0x70000008, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2455 1.1 christos {"paddd", "D,S,T", 0x47e00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2456 1.8 christos {"paddd", "D,S,T", 0x4be00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2457 1.1 christos {"paddsb", "D,S,T", 0x47800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2458 1.8 christos {"paddsb", "D,S,T", 0x4b800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2459 1.1 christos {"paddsb", "d,s,t", 0x70000608, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2460 1.1 christos {"paddsh", "D,S,T", 0x47000000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2461 1.8 christos {"paddsh", "D,S,T", 0x4b000000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2462 1.1 christos {"paddsh", "d,s,t", 0x70000508, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2463 1.1 christos {"paddusb", "D,S,T", 0x47a00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2464 1.8 christos {"paddusb", "D,S,T", 0x4ba00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2465 1.1 christos {"paddush", "D,S,T", 0x47200000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2466 1.8 christos {"paddush", "D,S,T", 0x4b200000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2467 1.1 christos {"pandn", "D,S,T", 0x47e00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2468 1.8 christos {"pandn", "D,S,T", 0x4be00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2469 1.1 christos {"pavgb", "D,S,T", 0x46600000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2470 1.8 christos {"pavgb", "D,S,T", 0x4b200008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2471 1.1 christos {"pavgh", "D,S,T", 0x46400000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2472 1.8 christos {"pavgh", "D,S,T", 0x4b000008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2473 1.1 christos {"pcmpeqb", "D,S,T", 0x46c00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2474 1.8 christos {"pcmpeqb", "D,S,T", 0x4b800009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2475 1.1 christos {"pcmpeqh", "D,S,T", 0x46800001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2476 1.8 christos {"pcmpeqh", "D,S,T", 0x4b400009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2477 1.1 christos {"pcmpeqw", "D,S,T", 0x46400001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2478 1.8 christos {"pcmpeqw", "D,S,T", 0x4b000009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2479 1.1 christos {"pcmpgtb", "D,S,T", 0x46e00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2480 1.8 christos {"pcmpgtb", "D,S,T", 0x4ba00009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2481 1.1 christos {"pcmpgth", "D,S,T", 0x46a00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2482 1.8 christos {"pcmpgth", "D,S,T", 0x4b600009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2483 1.1 christos {"pcmpgtw", "D,S,T", 0x46600001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2484 1.8 christos {"pcmpgtw", "D,S,T", 0x4b200009, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2485 1.1 christos {"pextrh", "D,S,T", 0x45c00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2486 1.8 christos {"pextrh", "D,S,T", 0x4b40000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2487 1.1 christos {"pinsrh_0", "D,S,T", 0x47800003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2488 1.8 christos {"pinsrh_0", "D,S,T", 0x4b800003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2489 1.1 christos {"pinsrh_1", "D,S,T", 0x47a00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2490 1.8 christos {"pinsrh_1", "D,S,T", 0x4ba00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2491 1.1 christos {"pinsrh_2", "D,S,T", 0x47c00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2492 1.8 christos {"pinsrh_2", "D,S,T", 0x4bc00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2493 1.1 christos {"pinsrh_3", "D,S,T", 0x47e00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2494 1.8 christos {"pinsrh_3", "D,S,T", 0x4be00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2495 1.1 christos {"pmaddhw", "D,S,T", 0x45e00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2496 1.8 christos {"pmaddhw", "D,S,T", 0x4b60000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2497 1.1 christos {"pmaxsh", "D,S,T", 0x46800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2498 1.8 christos {"pmaxsh", "D,S,T", 0x4b400008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2499 1.1 christos {"pmaxub", "D,S,T", 0x46c00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2500 1.8 christos {"pmaxub", "D,S,T", 0x4b800008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2501 1.1 christos {"pminsh", "D,S,T", 0x46a00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2502 1.8 christos {"pminsh", "D,S,T", 0x4b600008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2503 1.1 christos {"pminub", "D,S,T", 0x46e00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2504 1.8 christos {"pminub", "D,S,T", 0x4ba00008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2505 1.1 christos {"pmovmskb", "D,S", 0x46a00005, 0xffff003f, WR_1|RD_2|FP_D, 0, IL2E, 0, 0 }, 2506 1.8 christos {"pmovmskb", "D,S", 0x4ba0000f, 0xffff003f, WR_1|RD_2|FP_D, 0, 0, LMMI, 0 }, 2507 1.1 christos {"pmulhuh", "D,S,T", 0x46e00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2508 1.8 christos {"pmulhuh", "D,S,T", 0x4ba0000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2509 1.1 christos {"pmulhh", "D,S,T", 0x46a00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2510 1.8 christos {"pmulhh", "D,S,T", 0x4b60000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2511 1.1 christos {"pmullh", "D,S,T", 0x46800002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2512 1.8 christos {"pmullh", "D,S,T", 0x4b40000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2513 1.1 christos {"pmuluw", "D,S,T", 0x46c00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2514 1.8 christos {"pmuluw", "D,S,T", 0x4b80000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2515 1.1 christos {"pasubub", "D,S,T", 0x45a00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2516 1.8 christos {"pasubub", "D,S,T", 0x4b20000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2517 1.1 christos {"biadd", "D,S", 0x46800005, 0xffff003f, WR_1|RD_2|FP_D, 0, IL2E, 0, 0 }, 2518 1.8 christos {"biadd", "D,S", 0x4b80000f, 0xffff003f, WR_1|RD_2|FP_D, 0, 0, LMMI, 0 }, 2519 1.1 christos {"pshufh", "D,S,T", 0x47000002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2520 1.8 christos {"pshufh", "D,S,T", 0x4b000002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2521 1.1 christos {"psllh", "D,S,T", 0x46600002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2522 1.8 christos {"psllh", "D,S,T", 0x4b20000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2523 1.1 christos {"psllh", "d,t,<", 0x70000034, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2524 1.1 christos {"psllw", "D,S,T", 0x46400002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2525 1.8 christos {"psllw", "D,S,T", 0x4b00000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2526 1.1 christos {"psllw", "d,t,<", 0x7000003c, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2527 1.1 christos {"psrah", "D,S,T", 0x46a00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2528 1.8 christos {"psrah", "D,S,T", 0x4b60000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2529 1.1 christos {"psrah", "d,t,<", 0x70000037, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2530 1.1 christos {"psraw", "D,S,T", 0x46800003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2531 1.8 christos {"psraw", "D,S,T", 0x4b40000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2532 1.1 christos {"psraw", "d,t,<", 0x7000003f, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2533 1.1 christos {"psrlh", "D,S,T", 0x46600003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2534 1.8 christos {"psrlh", "D,S,T", 0x4b20000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2535 1.1 christos {"psrlh", "d,t,<", 0x70000036, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2536 1.1 christos {"psrlw", "D,S,T", 0x46400003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2537 1.8 christos {"psrlw", "D,S,T", 0x4b00000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2538 1.1 christos {"psrlw", "d,t,<", 0x7000003e, 0xffe0003f, WR_1|RD_2, 0, MMI, 0, 0 }, 2539 1.1 christos {"psubb", "D,S,T", 0x47c00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2540 1.8 christos {"psubb", "D,S,T", 0x4bc00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2541 1.1 christos {"psubb", "d,s,t", 0x70000248, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2542 1.1 christos {"psubh", "D,S,T", 0x47400001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2543 1.8 christos {"psubh", "D,S,T", 0x4b400001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2544 1.1 christos {"psubh", "d,s,t", 0x70000148, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2545 1.1 christos {"psubw", "D,S,T", 0x47600001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2546 1.8 christos {"psubw", "D,S,T", 0x4b600001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2547 1.1 christos {"psubw", "d,s,t", 0x70000048, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2548 1.1 christos {"psubd", "D,S,T", 0x47e00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2549 1.8 christos {"psubd", "D,S,T", 0x4be00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2550 1.1 christos {"psubsb", "D,S,T", 0x47800001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2551 1.8 christos {"psubsb", "D,S,T", 0x4b800001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2552 1.1 christos {"psubsb", "d,s,t", 0x70000648, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2553 1.1 christos {"psubsh", "D,S,T", 0x47000001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2554 1.8 christos {"psubsh", "D,S,T", 0x4b000001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2555 1.1 christos {"psubsh", "d,s,t", 0x70000548, 0xfc0007ff, WR_1|RD_2|RD_3, 0, MMI, 0, 0 }, 2556 1.1 christos {"psubusb", "D,S,T", 0x47a00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2557 1.8 christos {"psubusb", "D,S,T", 0x4ba00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2558 1.1 christos {"psubush", "D,S,T", 0x47200001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2559 1.8 christos {"psubush", "D,S,T", 0x4b200001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2560 1.1 christos {"punpckhbh", "D,S,T", 0x47600003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2561 1.8 christos {"punpckhbh", "D,S,T", 0x4b600003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2562 1.1 christos {"punpckhhw", "D,S,T", 0x47200003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2563 1.8 christos {"punpckhhw", "D,S,T", 0x4b200003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2564 1.1 christos {"punpckhwd", "D,S,T", 0x46e00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2565 1.8 christos {"punpckhwd", "D,S,T", 0x4ba0000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2566 1.1 christos {"punpcklbh", "D,S,T", 0x47400003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2567 1.8 christos {"punpcklbh", "D,S,T", 0x4b400003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2568 1.1 christos {"punpcklhw", "D,S,T", 0x47000003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2569 1.8 christos {"punpcklhw", "D,S,T", 0x4b000003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2570 1.1 christos {"punpcklwd", "D,S,T", 0x46c00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 }, 2571 1.8 christos {"punpcklwd", "D,S,T", 0x4b80000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, 0, LMMI, 0 }, 2572 1.1 christos {"sequ", "S,T", 0x46800032, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, IL2E, 0, 0 }, 2573 1.8 christos {"sequ", "S,T", 0x4b80000c, 0xffe007ff, RD_1|RD_2|WR_CC|FP_D, 0, 0, LMMI, 0 }, 2574 1.1 christos /* MIPS Enhanced VA Scheme */ 2575 1.1 christos {"lbue", "t,+j(b)", 0x7c000028, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2576 1.1 christos {"lbue", "t,A(b)", 0, (int) M_LBUE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2577 1.1 christos {"lhue", "t,+j(b)", 0x7c000029, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2578 1.1 christos {"lhue", "t,A(b)", 0, (int) M_LHUE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2579 1.1 christos {"lbe", "t,+j(b)", 0x7c00002c, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2580 1.1 christos {"lbe", "t,A(b)", 0, (int) M_LBE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2581 1.1 christos {"lhe", "t,+j(b)", 0x7c00002d, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2582 1.1 christos {"lhe", "t,A(b)", 0, (int) M_LHE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2583 1.1 christos {"lle", "t,+j(b)", 0x7c00002e, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2584 1.1 christos {"lle", "t,A(b)", 0, (int) M_LLE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2585 1.9 christos {"llwpe", "t,d,s", 0x7c00006e, 0xfc0007ff, WR_1|WR_2|RD_3|LM, 0, 0, EVAR6, 0 }, 2586 1.9 christos {"llwpe", "t,d,A(b)", 0, (int) M_LLWPE_AB, INSN_MACRO, 0, 0, EVAR6, 0 }, 2587 1.1 christos {"lwe", "t,+j(b)", 0x7c00002f, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, 0 }, 2588 1.1 christos {"lwe", "t,A(b)", 0, (int) M_LWE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2589 1.3 christos {"lwle", "t,+j(b)", 0x7c000019, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, I37 }, 2590 1.3 christos {"lwle", "t,A(b)", 0, (int) M_LWLE_AB, INSN_MACRO, 0, 0, EVA, I37 }, 2591 1.3 christos {"lwre", "t,+j(b)", 0x7c00001a, 0xfc00007f, WR_1|RD_3|LM, 0, 0, EVA, I37 }, 2592 1.3 christos {"lwre", "t,A(b)", 0, (int) M_LWRE_AB, INSN_MACRO, 0, 0, EVA, I37 }, 2593 1.1 christos {"sbe", "t,+j(b)", 0x7c00001c, 0xfc00007f, RD_1|RD_3|SM, 0, 0, EVA, 0 }, 2594 1.1 christos {"sbe", "t,A(b)", 0, (int) M_SBE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2595 1.1 christos {"sce", "t,+j(b)", 0x7c00001e, 0xfc00007f, MOD_1|RD_3|SM, 0, 0, EVA, 0 }, 2596 1.1 christos {"sce", "t,A(b)", 0, (int) M_SCE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2597 1.9 christos {"scwpe", "t,d,s", 0x7c00005e, 0xfc0007ff, MOD_1|RD_2|RD_3|SM, 0, 0, EVAR6, 0 }, 2598 1.9 christos {"scwpe", "t,d,A(b)", 0, (int) M_SCWPE_AB, INSN_MACRO, 0, 0, EVAR6, 0 }, 2599 1.1 christos {"she", "t,+j(b)", 0x7c00001d, 0xfc00007f, RD_1|RD_3|SM, 0, 0, EVA, 0 }, 2600 1.1 christos {"she", "t,A(b)", 0, (int) M_SHE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2601 1.1 christos {"swe", "t,+j(b)", 0x7c00001f, 0xfc00007f, RD_1|RD_3|SM, 0, 0, EVA, 0 }, 2602 1.1 christos {"swe", "t,A(b)", 0, (int) M_SWE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2603 1.3 christos {"swle", "t,+j(b)", 0x7c000021, 0xfc00007f, RD_1|RD_3|SM, 0, 0, EVA, I37 }, 2604 1.3 christos {"swle", "t,A(b)", 0, (int) M_SWLE_AB, INSN_MACRO, 0, 0, EVA, I37 }, 2605 1.3 christos {"swre", "t,+j(b)", 0x7c000022, 0xfc00007f, RD_1|RD_3|SM, 0, 0, EVA, I37 }, 2606 1.3 christos {"swre", "t,A(b)", 0, (int) M_SWRE_AB, INSN_MACRO, 0, 0, EVA, I37 }, 2607 1.1 christos {"cachee", "k,+j(b)", 0x7c00001b, 0xfc00007f, RD_3, 0, 0, EVA, 0 }, 2608 1.1 christos {"cachee", "k,A(b)", 0, (int) M_CACHEE_AB,INSN_MACRO, 0, 0, EVA, 0 }, 2609 1.1 christos {"prefe", "k,+j(b)", 0x7c000023, 0xfc00007f, RD_3|LM, 0, 0, EVA, 0 }, 2610 1.1 christos {"prefe", "k,A(b)", 0, (int) M_PREFE_AB, INSN_MACRO, 0, 0, EVA, 0 }, 2611 1.1 christos /* MSA Extension. */ 2612 1.1 christos {"sll.b", "+d,+e,+h", 0x7800000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2613 1.1 christos {"sll.h", "+d,+e,+h", 0x7820000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2614 1.1 christos {"sll.w", "+d,+e,+h", 0x7840000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2615 1.1 christos {"sll.d", "+d,+e,+h", 0x7860000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2616 1.1 christos {"slli.b", "+d,+e,+!", 0x78700009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2617 1.1 christos {"slli.h", "+d,+e,+@", 0x78600009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2618 1.1 christos {"slli.w", "+d,+e,+x", 0x78400009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2619 1.1 christos {"slli.d", "+d,+e,+#", 0x78000009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2620 1.1 christos {"sra.b", "+d,+e,+h", 0x7880000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2621 1.1 christos {"sra.h", "+d,+e,+h", 0x78a0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2622 1.1 christos {"sra.w", "+d,+e,+h", 0x78c0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2623 1.1 christos {"sra.d", "+d,+e,+h", 0x78e0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2624 1.1 christos {"srai.b", "+d,+e,+!", 0x78f00009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2625 1.1 christos {"srai.h", "+d,+e,+@", 0x78e00009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2626 1.1 christos {"srai.w", "+d,+e,+x", 0x78c00009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2627 1.1 christos {"srai.d", "+d,+e,+#", 0x78800009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2628 1.1 christos {"srl.b", "+d,+e,+h", 0x7900000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2629 1.1 christos {"srl.h", "+d,+e,+h", 0x7920000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2630 1.1 christos {"srl.w", "+d,+e,+h", 0x7940000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2631 1.1 christos {"srl.d", "+d,+e,+h", 0x7960000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2632 1.1 christos {"srli.b", "+d,+e,+!", 0x79700009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2633 1.1 christos {"srli.h", "+d,+e,+@", 0x79600009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2634 1.1 christos {"srli.w", "+d,+e,+x", 0x79400009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2635 1.1 christos {"srli.d", "+d,+e,+#", 0x79000009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2636 1.1 christos {"bclr.b", "+d,+e,+h", 0x7980000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2637 1.1 christos {"bclr.h", "+d,+e,+h", 0x79a0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2638 1.1 christos {"bclr.w", "+d,+e,+h", 0x79c0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2639 1.1 christos {"bclr.d", "+d,+e,+h", 0x79e0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2640 1.1 christos {"bclri.b", "+d,+e,+!", 0x79f00009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2641 1.1 christos {"bclri.h", "+d,+e,+@", 0x79e00009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2642 1.1 christos {"bclri.w", "+d,+e,+x", 0x79c00009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2643 1.1 christos {"bclri.d", "+d,+e,+#", 0x79800009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2644 1.1 christos {"bset.b", "+d,+e,+h", 0x7a00000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2645 1.1 christos {"bset.h", "+d,+e,+h", 0x7a20000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2646 1.1 christos {"bset.w", "+d,+e,+h", 0x7a40000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2647 1.1 christos {"bset.d", "+d,+e,+h", 0x7a60000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2648 1.1 christos {"bseti.b", "+d,+e,+!", 0x7a700009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2649 1.1 christos {"bseti.h", "+d,+e,+@", 0x7a600009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2650 1.1 christos {"bseti.w", "+d,+e,+x", 0x7a400009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2651 1.1 christos {"bseti.d", "+d,+e,+#", 0x7a000009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2652 1.1 christos {"bneg.b", "+d,+e,+h", 0x7a80000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2653 1.1 christos {"bneg.h", "+d,+e,+h", 0x7aa0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2654 1.1 christos {"bneg.w", "+d,+e,+h", 0x7ac0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2655 1.1 christos {"bneg.d", "+d,+e,+h", 0x7ae0000d, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2656 1.1 christos {"bnegi.b", "+d,+e,+!", 0x7af00009, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2657 1.1 christos {"bnegi.h", "+d,+e,+@", 0x7ae00009, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2658 1.1 christos {"bnegi.w", "+d,+e,+x", 0x7ac00009, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2659 1.1 christos {"bnegi.d", "+d,+e,+#", 0x7a800009, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2660 1.1 christos {"binsl.b", "+d,+e,+h", 0x7b00000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2661 1.1 christos {"binsl.h", "+d,+e,+h", 0x7b20000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2662 1.1 christos {"binsl.w", "+d,+e,+h", 0x7b40000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2663 1.1 christos {"binsl.d", "+d,+e,+h", 0x7b60000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2664 1.1 christos {"binsli.b", "+d,+e,+!", 0x7b700009, 0xfff8003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2665 1.1 christos {"binsli.h", "+d,+e,+@", 0x7b600009, 0xfff0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2666 1.1 christos {"binsli.w", "+d,+e,+x", 0x7b400009, 0xffe0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2667 1.1 christos {"binsli.d", "+d,+e,+#", 0x7b000009, 0xffc0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2668 1.1 christos {"binsr.b", "+d,+e,+h", 0x7b80000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2669 1.1 christos {"binsr.h", "+d,+e,+h", 0x7ba0000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2670 1.1 christos {"binsr.w", "+d,+e,+h", 0x7bc0000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2671 1.1 christos {"binsr.d", "+d,+e,+h", 0x7be0000d, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2672 1.1 christos {"binsri.b", "+d,+e,+!", 0x7bf00009, 0xfff8003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2673 1.1 christos {"binsri.h", "+d,+e,+@", 0x7be00009, 0xfff0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2674 1.1 christos {"binsri.w", "+d,+e,+x", 0x7bc00009, 0xffe0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2675 1.1 christos {"binsri.d", "+d,+e,+#", 0x7b800009, 0xffc0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2676 1.1 christos {"addv.b", "+d,+e,+h", 0x7800000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2677 1.1 christos {"addv.h", "+d,+e,+h", 0x7820000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2678 1.1 christos {"addv.w", "+d,+e,+h", 0x7840000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2679 1.1 christos {"addv.d", "+d,+e,+h", 0x7860000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2680 1.1 christos {"addvi.b", "+d,+e,+$", 0x78000006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2681 1.1 christos {"addvi.h", "+d,+e,+$", 0x78200006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2682 1.1 christos {"addvi.w", "+d,+e,+$", 0x78400006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2683 1.1 christos {"addvi.d", "+d,+e,+$", 0x78600006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2684 1.1 christos {"subv.b", "+d,+e,+h", 0x7880000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2685 1.1 christos {"subv.h", "+d,+e,+h", 0x78a0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2686 1.1 christos {"subv.w", "+d,+e,+h", 0x78c0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2687 1.1 christos {"subv.d", "+d,+e,+h", 0x78e0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2688 1.1 christos {"subvi.b", "+d,+e,+$", 0x78800006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2689 1.1 christos {"subvi.h", "+d,+e,+$", 0x78a00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2690 1.1 christos {"subvi.w", "+d,+e,+$", 0x78c00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2691 1.1 christos {"subvi.d", "+d,+e,+$", 0x78e00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2692 1.1 christos {"max_s.b", "+d,+e,+h", 0x7900000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2693 1.1 christos {"max_s.h", "+d,+e,+h", 0x7920000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2694 1.1 christos {"max_s.w", "+d,+e,+h", 0x7940000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2695 1.1 christos {"max_s.d", "+d,+e,+h", 0x7960000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2696 1.1 christos {"maxi_s.b", "+d,+e,+%", 0x79000006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2697 1.1 christos {"maxi_s.h", "+d,+e,+%", 0x79200006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2698 1.1 christos {"maxi_s.w", "+d,+e,+%", 0x79400006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2699 1.1 christos {"maxi_s.d", "+d,+e,+%", 0x79600006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2700 1.1 christos {"max_u.b", "+d,+e,+h", 0x7980000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2701 1.1 christos {"max_u.h", "+d,+e,+h", 0x79a0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2702 1.1 christos {"max_u.w", "+d,+e,+h", 0x79c0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2703 1.1 christos {"max_u.d", "+d,+e,+h", 0x79e0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2704 1.1 christos {"maxi_u.b", "+d,+e,+$", 0x79800006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2705 1.1 christos {"maxi_u.h", "+d,+e,+$", 0x79a00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2706 1.1 christos {"maxi_u.w", "+d,+e,+$", 0x79c00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2707 1.1 christos {"maxi_u.d", "+d,+e,+$", 0x79e00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2708 1.1 christos {"min_s.b", "+d,+e,+h", 0x7a00000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2709 1.1 christos {"min_s.h", "+d,+e,+h", 0x7a20000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2710 1.1 christos {"min_s.w", "+d,+e,+h", 0x7a40000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2711 1.1 christos {"min_s.d", "+d,+e,+h", 0x7a60000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2712 1.1 christos {"mini_s.b", "+d,+e,+%", 0x7a000006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2713 1.1 christos {"mini_s.h", "+d,+e,+%", 0x7a200006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2714 1.1 christos {"mini_s.w", "+d,+e,+%", 0x7a400006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2715 1.1 christos {"mini_s.d", "+d,+e,+%", 0x7a600006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2716 1.1 christos {"min_u.b", "+d,+e,+h", 0x7a80000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2717 1.1 christos {"min_u.h", "+d,+e,+h", 0x7aa0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2718 1.1 christos {"min_u.w", "+d,+e,+h", 0x7ac0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2719 1.1 christos {"min_u.d", "+d,+e,+h", 0x7ae0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2720 1.1 christos {"mini_u.b", "+d,+e,+$", 0x7a800006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2721 1.1 christos {"mini_u.h", "+d,+e,+$", 0x7aa00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2722 1.1 christos {"mini_u.w", "+d,+e,+$", 0x7ac00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2723 1.1 christos {"mini_u.d", "+d,+e,+$", 0x7ae00006, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2724 1.1 christos {"max_a.b", "+d,+e,+h", 0x7b00000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2725 1.1 christos {"max_a.h", "+d,+e,+h", 0x7b20000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2726 1.1 christos {"max_a.w", "+d,+e,+h", 0x7b40000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2727 1.1 christos {"max_a.d", "+d,+e,+h", 0x7b60000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2728 1.1 christos {"min_a.b", "+d,+e,+h", 0x7b80000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2729 1.1 christos {"min_a.h", "+d,+e,+h", 0x7ba0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2730 1.1 christos {"min_a.w", "+d,+e,+h", 0x7bc0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2731 1.1 christos {"min_a.d", "+d,+e,+h", 0x7be0000e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2732 1.1 christos {"ceq.b", "+d,+e,+h", 0x7800000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2733 1.1 christos {"ceq.h", "+d,+e,+h", 0x7820000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2734 1.1 christos {"ceq.w", "+d,+e,+h", 0x7840000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2735 1.1 christos {"ceq.d", "+d,+e,+h", 0x7860000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2736 1.1 christos {"ceqi.b", "+d,+e,+%", 0x78000007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2737 1.1 christos {"ceqi.h", "+d,+e,+%", 0x78200007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2738 1.1 christos {"ceqi.w", "+d,+e,+%", 0x78400007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2739 1.1 christos {"ceqi.d", "+d,+e,+%", 0x78600007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2740 1.1 christos {"clt_s.b", "+d,+e,+h", 0x7900000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2741 1.1 christos {"clt_s.h", "+d,+e,+h", 0x7920000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2742 1.1 christos {"clt_s.w", "+d,+e,+h", 0x7940000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2743 1.1 christos {"clt_s.d", "+d,+e,+h", 0x7960000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2744 1.1 christos {"clti_s.b", "+d,+e,+%", 0x79000007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2745 1.1 christos {"clti_s.h", "+d,+e,+%", 0x79200007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2746 1.1 christos {"clti_s.w", "+d,+e,+%", 0x79400007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2747 1.1 christos {"clti_s.d", "+d,+e,+%", 0x79600007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2748 1.1 christos {"clt_u.b", "+d,+e,+h", 0x7980000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2749 1.1 christos {"clt_u.h", "+d,+e,+h", 0x79a0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2750 1.1 christos {"clt_u.w", "+d,+e,+h", 0x79c0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2751 1.1 christos {"clt_u.d", "+d,+e,+h", 0x79e0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2752 1.1 christos {"clti_u.b", "+d,+e,+$", 0x79800007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2753 1.1 christos {"clti_u.h", "+d,+e,+$", 0x79a00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2754 1.1 christos {"clti_u.w", "+d,+e,+$", 0x79c00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2755 1.1 christos {"clti_u.d", "+d,+e,+$", 0x79e00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2756 1.1 christos {"cle_s.b", "+d,+e,+h", 0x7a00000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2757 1.1 christos {"cle_s.h", "+d,+e,+h", 0x7a20000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2758 1.1 christos {"cle_s.w", "+d,+e,+h", 0x7a40000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2759 1.1 christos {"cle_s.d", "+d,+e,+h", 0x7a60000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2760 1.1 christos {"clei_s.b", "+d,+e,+%", 0x7a000007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2761 1.1 christos {"clei_s.h", "+d,+e,+%", 0x7a200007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2762 1.1 christos {"clei_s.w", "+d,+e,+%", 0x7a400007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2763 1.1 christos {"clei_s.d", "+d,+e,+%", 0x7a600007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2764 1.1 christos {"cle_u.b", "+d,+e,+h", 0x7a80000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2765 1.1 christos {"cle_u.h", "+d,+e,+h", 0x7aa0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2766 1.1 christos {"cle_u.w", "+d,+e,+h", 0x7ac0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2767 1.1 christos {"cle_u.d", "+d,+e,+h", 0x7ae0000f, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2768 1.1 christos {"clei_u.b", "+d,+e,+$", 0x7a800007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2769 1.1 christos {"clei_u.h", "+d,+e,+$", 0x7aa00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2770 1.1 christos {"clei_u.w", "+d,+e,+$", 0x7ac00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2771 1.1 christos {"clei_u.d", "+d,+e,+$", 0x7ae00007, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2772 1.1 christos {"ld.b", "+d,+T(d)", 0x78000020, 0xfc00003f, WR_1|RD_3|LM, 0, 0, MSA, 0 }, 2773 1.1 christos {"ld.h", "+d,+U(d)", 0x78000021, 0xfc00003f, WR_1|RD_3|LM, 0, 0, MSA, 0 }, 2774 1.1 christos {"ld.w", "+d,+V(d)", 0x78000022, 0xfc00003f, WR_1|RD_3|LM, 0, 0, MSA, 0 }, 2775 1.1 christos {"ld.d", "+d,+W(d)", 0x78000023, 0xfc00003f, WR_1|RD_3|LM, 0, 0, MSA, 0 }, 2776 1.1 christos {"st.b", "+d,+T(d)", 0x78000024, 0xfc00003f, RD_1|RD_3|SM, 0, 0, MSA, 0 }, 2777 1.1 christos {"st.h", "+d,+U(d)", 0x78000025, 0xfc00003f, RD_1|RD_3|SM, 0, 0, MSA, 0 }, 2778 1.1 christos {"st.w", "+d,+V(d)", 0x78000026, 0xfc00003f, RD_1|RD_3|SM, 0, 0, MSA, 0 }, 2779 1.1 christos {"st.d", "+d,+W(d)", 0x78000027, 0xfc00003f, RD_1|RD_3|SM, 0, 0, MSA, 0 }, 2780 1.1 christos {"sat_s.b", "+d,+e,+!", 0x7870000a, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2781 1.1 christos {"sat_s.h", "+d,+e,+@", 0x7860000a, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2782 1.1 christos {"sat_s.w", "+d,+e,+x", 0x7840000a, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2783 1.1 christos {"sat_s.d", "+d,+e,+#", 0x7800000a, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2784 1.1 christos {"sat_u.b", "+d,+e,+!", 0x78f0000a, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2785 1.1 christos {"sat_u.h", "+d,+e,+@", 0x78e0000a, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2786 1.1 christos {"sat_u.w", "+d,+e,+x", 0x78c0000a, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2787 1.1 christos {"sat_u.d", "+d,+e,+#", 0x7880000a, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2788 1.1 christos {"add_a.b", "+d,+e,+h", 0x78000010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2789 1.1 christos {"add_a.h", "+d,+e,+h", 0x78200010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2790 1.1 christos {"add_a.w", "+d,+e,+h", 0x78400010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2791 1.1 christos {"add_a.d", "+d,+e,+h", 0x78600010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2792 1.1 christos {"adds_a.b", "+d,+e,+h", 0x78800010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2793 1.1 christos {"adds_a.h", "+d,+e,+h", 0x78a00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2794 1.1 christos {"adds_a.w", "+d,+e,+h", 0x78c00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2795 1.1 christos {"adds_a.d", "+d,+e,+h", 0x78e00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2796 1.1 christos {"adds_s.b", "+d,+e,+h", 0x79000010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2797 1.1 christos {"adds_s.h", "+d,+e,+h", 0x79200010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2798 1.1 christos {"adds_s.w", "+d,+e,+h", 0x79400010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2799 1.1 christos {"adds_s.d", "+d,+e,+h", 0x79600010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2800 1.1 christos {"adds_u.b", "+d,+e,+h", 0x79800010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2801 1.1 christos {"adds_u.h", "+d,+e,+h", 0x79a00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2802 1.1 christos {"adds_u.w", "+d,+e,+h", 0x79c00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2803 1.1 christos {"adds_u.d", "+d,+e,+h", 0x79e00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2804 1.1 christos {"ave_s.b", "+d,+e,+h", 0x7a000010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2805 1.1 christos {"ave_s.h", "+d,+e,+h", 0x7a200010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2806 1.1 christos {"ave_s.w", "+d,+e,+h", 0x7a400010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2807 1.1 christos {"ave_s.d", "+d,+e,+h", 0x7a600010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2808 1.1 christos {"ave_u.b", "+d,+e,+h", 0x7a800010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2809 1.1 christos {"ave_u.h", "+d,+e,+h", 0x7aa00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2810 1.1 christos {"ave_u.w", "+d,+e,+h", 0x7ac00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2811 1.1 christos {"ave_u.d", "+d,+e,+h", 0x7ae00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2812 1.1 christos {"aver_s.b", "+d,+e,+h", 0x7b000010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2813 1.1 christos {"aver_s.h", "+d,+e,+h", 0x7b200010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2814 1.1 christos {"aver_s.w", "+d,+e,+h", 0x7b400010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2815 1.1 christos {"aver_s.d", "+d,+e,+h", 0x7b600010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2816 1.1 christos {"aver_u.b", "+d,+e,+h", 0x7b800010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2817 1.1 christos {"aver_u.h", "+d,+e,+h", 0x7ba00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2818 1.1 christos {"aver_u.w", "+d,+e,+h", 0x7bc00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2819 1.1 christos {"aver_u.d", "+d,+e,+h", 0x7be00010, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2820 1.1 christos {"subs_s.b", "+d,+e,+h", 0x78000011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2821 1.1 christos {"subs_s.h", "+d,+e,+h", 0x78200011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2822 1.1 christos {"subs_s.w", "+d,+e,+h", 0x78400011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2823 1.1 christos {"subs_s.d", "+d,+e,+h", 0x78600011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2824 1.1 christos {"subs_u.b", "+d,+e,+h", 0x78800011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2825 1.1 christos {"subs_u.h", "+d,+e,+h", 0x78a00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2826 1.1 christos {"subs_u.w", "+d,+e,+h", 0x78c00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2827 1.1 christos {"subs_u.d", "+d,+e,+h", 0x78e00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2828 1.1 christos {"subsus_u.b", "+d,+e,+h", 0x79000011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2829 1.1 christos {"subsus_u.h", "+d,+e,+h", 0x79200011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2830 1.1 christos {"subsus_u.w", "+d,+e,+h", 0x79400011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2831 1.1 christos {"subsus_u.d", "+d,+e,+h", 0x79600011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2832 1.1 christos {"subsuu_s.b", "+d,+e,+h", 0x79800011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2833 1.1 christos {"subsuu_s.h", "+d,+e,+h", 0x79a00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2834 1.1 christos {"subsuu_s.w", "+d,+e,+h", 0x79c00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2835 1.1 christos {"subsuu_s.d", "+d,+e,+h", 0x79e00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2836 1.1 christos {"asub_s.b", "+d,+e,+h", 0x7a000011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2837 1.1 christos {"asub_s.h", "+d,+e,+h", 0x7a200011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2838 1.1 christos {"asub_s.w", "+d,+e,+h", 0x7a400011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2839 1.1 christos {"asub_s.d", "+d,+e,+h", 0x7a600011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2840 1.1 christos {"asub_u.b", "+d,+e,+h", 0x7a800011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2841 1.1 christos {"asub_u.h", "+d,+e,+h", 0x7aa00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2842 1.1 christos {"asub_u.w", "+d,+e,+h", 0x7ac00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2843 1.1 christos {"asub_u.d", "+d,+e,+h", 0x7ae00011, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2844 1.1 christos {"mulv.b", "+d,+e,+h", 0x78000012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2845 1.1 christos {"mulv.h", "+d,+e,+h", 0x78200012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2846 1.1 christos {"mulv.w", "+d,+e,+h", 0x78400012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2847 1.1 christos {"mulv.d", "+d,+e,+h", 0x78600012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2848 1.1 christos {"maddv.b", "+d,+e,+h", 0x78800012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2849 1.1 christos {"maddv.h", "+d,+e,+h", 0x78a00012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2850 1.1 christos {"maddv.w", "+d,+e,+h", 0x78c00012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2851 1.1 christos {"maddv.d", "+d,+e,+h", 0x78e00012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2852 1.1 christos {"msubv.b", "+d,+e,+h", 0x79000012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2853 1.1 christos {"msubv.h", "+d,+e,+h", 0x79200012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2854 1.1 christos {"msubv.w", "+d,+e,+h", 0x79400012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2855 1.1 christos {"msubv.d", "+d,+e,+h", 0x79600012, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2856 1.1 christos {"div_s.b", "+d,+e,+h", 0x7a000012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2857 1.1 christos {"div_s.h", "+d,+e,+h", 0x7a200012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2858 1.1 christos {"div_s.w", "+d,+e,+h", 0x7a400012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2859 1.1 christos {"div_s.d", "+d,+e,+h", 0x7a600012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2860 1.1 christos {"div_u.b", "+d,+e,+h", 0x7a800012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2861 1.1 christos {"div_u.h", "+d,+e,+h", 0x7aa00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2862 1.1 christos {"div_u.w", "+d,+e,+h", 0x7ac00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2863 1.1 christos {"div_u.d", "+d,+e,+h", 0x7ae00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2864 1.1 christos {"mod_s.b", "+d,+e,+h", 0x7b000012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2865 1.1 christos {"mod_s.h", "+d,+e,+h", 0x7b200012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2866 1.1 christos {"mod_s.w", "+d,+e,+h", 0x7b400012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2867 1.1 christos {"mod_s.d", "+d,+e,+h", 0x7b600012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2868 1.1 christos {"mod_u.b", "+d,+e,+h", 0x7b800012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2869 1.1 christos {"mod_u.h", "+d,+e,+h", 0x7ba00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2870 1.1 christos {"mod_u.w", "+d,+e,+h", 0x7bc00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2871 1.1 christos {"mod_u.d", "+d,+e,+h", 0x7be00012, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2872 1.1 christos {"dotp_s.h", "+d,+e,+h", 0x78200013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2873 1.1 christos {"dotp_s.w", "+d,+e,+h", 0x78400013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2874 1.1 christos {"dotp_s.d", "+d,+e,+h", 0x78600013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2875 1.1 christos {"dotp_u.h", "+d,+e,+h", 0x78a00013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2876 1.1 christos {"dotp_u.w", "+d,+e,+h", 0x78c00013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2877 1.1 christos {"dotp_u.d", "+d,+e,+h", 0x78e00013, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2878 1.1 christos {"dpadd_s.h", "+d,+e,+h", 0x79200013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2879 1.1 christos {"dpadd_s.w", "+d,+e,+h", 0x79400013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2880 1.1 christos {"dpadd_s.d", "+d,+e,+h", 0x79600013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2881 1.1 christos {"dpadd_u.h", "+d,+e,+h", 0x79a00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2882 1.1 christos {"dpadd_u.w", "+d,+e,+h", 0x79c00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2883 1.1 christos {"dpadd_u.d", "+d,+e,+h", 0x79e00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2884 1.1 christos {"dpsub_s.h", "+d,+e,+h", 0x7a200013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2885 1.1 christos {"dpsub_s.w", "+d,+e,+h", 0x7a400013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2886 1.1 christos {"dpsub_s.d", "+d,+e,+h", 0x7a600013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2887 1.1 christos {"dpsub_u.h", "+d,+e,+h", 0x7aa00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2888 1.1 christos {"dpsub_u.w", "+d,+e,+h", 0x7ac00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2889 1.1 christos {"dpsub_u.d", "+d,+e,+h", 0x7ae00013, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2890 1.1 christos {"sld.b", "+d,+e+*", 0x78000014, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2891 1.1 christos {"sld.h", "+d,+e+*", 0x78200014, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2892 1.1 christos {"sld.w", "+d,+e+*", 0x78400014, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2893 1.1 christos {"sld.d", "+d,+e+*", 0x78600014, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2894 1.1 christos {"sldi.b", "+d,+e+o", 0x78000019, 0xfff0003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2895 1.1 christos {"sldi.h", "+d,+e+u", 0x78200019, 0xfff8003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2896 1.1 christos {"sldi.w", "+d,+e+v", 0x78300019, 0xfffc003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2897 1.1 christos {"sldi.d", "+d,+e+w", 0x78380019, 0xfffe003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2898 1.1 christos {"splat.b", "+d,+e+*", 0x78800014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2899 1.1 christos {"splat.h", "+d,+e+*", 0x78a00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2900 1.1 christos {"splat.w", "+d,+e+*", 0x78c00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2901 1.1 christos {"splat.d", "+d,+e+*", 0x78e00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2902 1.1 christos {"splati.b", "+d,+e+o", 0x78400019, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2903 1.1 christos {"splati.h", "+d,+e+u", 0x78600019, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2904 1.1 christos {"splati.w", "+d,+e+v", 0x78700019, 0xfffc003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2905 1.1 christos {"splati.d", "+d,+e+w", 0x78780019, 0xfffe003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2906 1.1 christos {"pckev.b", "+d,+e,+h", 0x79000014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2907 1.1 christos {"pckev.h", "+d,+e,+h", 0x79200014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2908 1.1 christos {"pckev.w", "+d,+e,+h", 0x79400014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2909 1.1 christos {"pckev.d", "+d,+e,+h", 0x79600014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2910 1.1 christos {"pckod.b", "+d,+e,+h", 0x79800014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2911 1.1 christos {"pckod.h", "+d,+e,+h", 0x79a00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2912 1.1 christos {"pckod.w", "+d,+e,+h", 0x79c00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2913 1.1 christos {"pckod.d", "+d,+e,+h", 0x79e00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2914 1.1 christos {"ilvl.b", "+d,+e,+h", 0x7a000014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2915 1.1 christos {"ilvl.h", "+d,+e,+h", 0x7a200014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2916 1.1 christos {"ilvl.w", "+d,+e,+h", 0x7a400014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2917 1.1 christos {"ilvl.d", "+d,+e,+h", 0x7a600014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2918 1.1 christos {"ilvr.b", "+d,+e,+h", 0x7a800014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2919 1.1 christos {"ilvr.h", "+d,+e,+h", 0x7aa00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2920 1.1 christos {"ilvr.w", "+d,+e,+h", 0x7ac00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2921 1.1 christos {"ilvr.d", "+d,+e,+h", 0x7ae00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2922 1.1 christos {"ilvev.b", "+d,+e,+h", 0x7b000014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2923 1.1 christos {"ilvev.h", "+d,+e,+h", 0x7b200014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2924 1.1 christos {"ilvev.w", "+d,+e,+h", 0x7b400014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2925 1.1 christos {"ilvev.d", "+d,+e,+h", 0x7b600014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2926 1.1 christos {"ilvod.b", "+d,+e,+h", 0x7b800014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2927 1.1 christos {"ilvod.h", "+d,+e,+h", 0x7ba00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2928 1.1 christos {"ilvod.w", "+d,+e,+h", 0x7bc00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2929 1.1 christos {"ilvod.d", "+d,+e,+h", 0x7be00014, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2930 1.1 christos {"vshf.b", "+d,+e,+h", 0x78000015, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2931 1.1 christos {"vshf.h", "+d,+e,+h", 0x78200015, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2932 1.1 christos {"vshf.w", "+d,+e,+h", 0x78400015, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2933 1.1 christos {"vshf.d", "+d,+e,+h", 0x78600015, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2934 1.1 christos {"srar.b", "+d,+e,+h", 0x78800015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2935 1.1 christos {"srar.h", "+d,+e,+h", 0x78a00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2936 1.1 christos {"srar.w", "+d,+e,+h", 0x78c00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2937 1.1 christos {"srar.d", "+d,+e,+h", 0x78e00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2938 1.1 christos {"srari.b", "+d,+e,+!", 0x7970000a, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2939 1.1 christos {"srari.h", "+d,+e,+@", 0x7960000a, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2940 1.1 christos {"srari.w", "+d,+e,+x", 0x7940000a, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2941 1.1 christos {"srari.d", "+d,+e,+#", 0x7900000a, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2942 1.1 christos {"srlr.b", "+d,+e,+h", 0x79000015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2943 1.1 christos {"srlr.h", "+d,+e,+h", 0x79200015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2944 1.1 christos {"srlr.w", "+d,+e,+h", 0x79400015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2945 1.1 christos {"srlr.d", "+d,+e,+h", 0x79600015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2946 1.1 christos {"srlri.b", "+d,+e,+!", 0x79f0000a, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2947 1.1 christos {"srlri.h", "+d,+e,+@", 0x79e0000a, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2948 1.1 christos {"srlri.w", "+d,+e,+x", 0x79c0000a, 0xffe0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2949 1.1 christos {"srlri.d", "+d,+e,+#", 0x7980000a, 0xffc0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2950 1.1 christos {"hadd_s.h", "+d,+e,+h", 0x7a200015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2951 1.1 christos {"hadd_s.w", "+d,+e,+h", 0x7a400015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2952 1.1 christos {"hadd_s.d", "+d,+e,+h", 0x7a600015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2953 1.1 christos {"hadd_u.h", "+d,+e,+h", 0x7aa00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2954 1.1 christos {"hadd_u.w", "+d,+e,+h", 0x7ac00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2955 1.1 christos {"hadd_u.d", "+d,+e,+h", 0x7ae00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2956 1.1 christos {"hsub_s.h", "+d,+e,+h", 0x7b200015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2957 1.1 christos {"hsub_s.w", "+d,+e,+h", 0x7b400015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2958 1.1 christos {"hsub_s.d", "+d,+e,+h", 0x7b600015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2959 1.1 christos {"hsub_u.h", "+d,+e,+h", 0x7ba00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2960 1.1 christos {"hsub_u.w", "+d,+e,+h", 0x7bc00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2961 1.1 christos {"hsub_u.d", "+d,+e,+h", 0x7be00015, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2962 1.1 christos {"and.v", "+d,+e,+h", 0x7800001e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2963 1.1 christos {"andi.b", "+d,+e,+|", 0x78000000, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2964 1.1 christos {"or.v", "+d,+e,+h", 0x7820001e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2965 1.1 christos {"ori.b", "+d,+e,+|", 0x79000000, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2966 1.1 christos {"nor.v", "+d,+e,+h", 0x7840001e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2967 1.1 christos {"nori.b", "+d,+e,+|", 0x7a000000, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2968 1.1 christos {"xor.v", "+d,+e,+h", 0x7860001e, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2969 1.1 christos {"xori.b", "+d,+e,+|", 0x7b000000, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2970 1.1 christos {"bmnz.v", "+d,+e,+h", 0x7880001e, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2971 1.1 christos {"bmnzi.b", "+d,+e,+|", 0x78000001, 0xff00003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2972 1.1 christos {"bmz.v", "+d,+e,+h", 0x78a0001e, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2973 1.1 christos {"bmzi.b", "+d,+e,+|", 0x79000001, 0xff00003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2974 1.1 christos {"bsel.v", "+d,+e,+h", 0x78c0001e, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 2975 1.1 christos {"bseli.b", "+d,+e,+|", 0x7a000001, 0xff00003f, MOD_1|RD_2, 0, 0, MSA, 0 }, 2976 1.1 christos {"shf.b", "+d,+e,+|", 0x78000002, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2977 1.1 christos {"shf.h", "+d,+e,+|", 0x79000002, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2978 1.1 christos {"shf.w", "+d,+e,+|", 0x7a000002, 0xff00003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2979 1.1 christos {"bnz.v", "+h,p", 0x45e00000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 2980 1.1 christos {"bz.v", "+h,p", 0x45600000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 2981 1.1 christos {"fill.b", "+d,d", 0x7b00001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2982 1.1 christos {"fill.h", "+d,d", 0x7b01001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2983 1.1 christos {"fill.w", "+d,d", 0x7b02001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2984 1.1 christos {"fill.d", "+d,d", 0x7b03001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA64, 0 }, 2985 1.1 christos {"pcnt.b", "+d,+e", 0x7b04001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2986 1.1 christos {"pcnt.h", "+d,+e", 0x7b05001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2987 1.1 christos {"pcnt.w", "+d,+e", 0x7b06001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2988 1.1 christos {"pcnt.d", "+d,+e", 0x7b07001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2989 1.1 christos {"nloc.b", "+d,+e", 0x7b08001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2990 1.1 christos {"nloc.h", "+d,+e", 0x7b09001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2991 1.1 christos {"nloc.w", "+d,+e", 0x7b0a001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2992 1.1 christos {"nloc.d", "+d,+e", 0x7b0b001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2993 1.1 christos {"nlzc.b", "+d,+e", 0x7b0c001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2994 1.1 christos {"nlzc.h", "+d,+e", 0x7b0d001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2995 1.1 christos {"nlzc.w", "+d,+e", 0x7b0e001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2996 1.1 christos {"nlzc.d", "+d,+e", 0x7b0f001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2997 1.1 christos {"copy_s.b", "+k,+e+o", 0x78800019, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2998 1.1 christos {"copy_s.h", "+k,+e+u", 0x78a00019, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 2999 1.1 christos {"copy_s.w", "+k,+e+v", 0x78b00019, 0xfffc003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3000 1.1 christos {"copy_s.d", "+k,+e+w", 0x78b80019, 0xfffe003f, WR_1|RD_2, 0, 0, MSA64, 0 }, 3001 1.1 christos {"copy_u.b", "+k,+e+o", 0x78c00019, 0xfff0003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3002 1.1 christos {"copy_u.h", "+k,+e+u", 0x78e00019, 0xfff8003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3003 1.6 christos {"copy_u.w", "+k,+e+v", 0x78f00019, 0xfffc003f, WR_1|RD_2, 0, 0, MSA64, 0 }, 3004 1.1 christos {"insert.b", "+d+o,d", 0x79000019, 0xfff0003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3005 1.1 christos {"insert.h", "+d+u,d", 0x79200019, 0xfff8003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3006 1.1 christos {"insert.w", "+d+v,d", 0x79300019, 0xfffc003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3007 1.1 christos {"insert.d", "+d+w,d", 0x79380019, 0xfffe003f, MOD_1|RD_3, 0, 0, MSA64, 0 }, 3008 1.1 christos {"insve.b", "+d+o,+e+&", 0x79400019, 0xfff0003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3009 1.1 christos {"insve.h", "+d+u,+e+&", 0x79600019, 0xfff8003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3010 1.1 christos {"insve.w", "+d+v,+e+&", 0x79700019, 0xfffc003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3011 1.1 christos {"insve.d", "+d+w,+e+&", 0x79780019, 0xfffe003f, MOD_1|RD_3, 0, 0, MSA, 0 }, 3012 1.1 christos {"bnz.b", "+h,p", 0x47800000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3013 1.1 christos {"bnz.h", "+h,p", 0x47a00000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3014 1.1 christos {"bnz.w", "+h,p", 0x47c00000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3015 1.1 christos {"bnz.d", "+h,p", 0x47e00000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3016 1.1 christos {"bz.b", "+h,p", 0x47000000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3017 1.1 christos {"bz.h", "+h,p", 0x47200000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3018 1.1 christos {"bz.w", "+h,p", 0x47400000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3019 1.1 christos {"bz.d", "+h,p", 0x47600000, 0xffe00000, RD_1|CBD, 0, 0, MSA, 0 }, 3020 1.1 christos {"ldi.b", "+d,+^", 0x7b000007, 0xffe0003f, WR_1, 0, 0, MSA, 0 }, 3021 1.1 christos {"ldi.h", "+d,+^", 0x7b200007, 0xffe0003f, WR_1, 0, 0, MSA, 0 }, 3022 1.1 christos {"ldi.w", "+d,+^", 0x7b400007, 0xffe0003f, WR_1, 0, 0, MSA, 0 }, 3023 1.1 christos {"ldi.d", "+d,+^", 0x7b600007, 0xffe0003f, WR_1, 0, 0, MSA, 0 }, 3024 1.1 christos {"fcaf.w", "+d,+e,+h", 0x7800001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3025 1.1 christos {"fcaf.d", "+d,+e,+h", 0x7820001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3026 1.1 christos {"fcun.w", "+d,+e,+h", 0x7840001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3027 1.1 christos {"fcun.d", "+d,+e,+h", 0x7860001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3028 1.1 christos {"fceq.w", "+d,+e,+h", 0x7880001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3029 1.1 christos {"fceq.d", "+d,+e,+h", 0x78a0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3030 1.1 christos {"fcueq.w", "+d,+e,+h", 0x78c0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3031 1.1 christos {"fcueq.d", "+d,+e,+h", 0x78e0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3032 1.1 christos {"fclt.w", "+d,+e,+h", 0x7900001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3033 1.1 christos {"fclt.d", "+d,+e,+h", 0x7920001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3034 1.1 christos {"fcult.w", "+d,+e,+h", 0x7940001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3035 1.1 christos {"fcult.d", "+d,+e,+h", 0x7960001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3036 1.1 christos {"fcle.w", "+d,+e,+h", 0x7980001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3037 1.1 christos {"fcle.d", "+d,+e,+h", 0x79a0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3038 1.1 christos {"fcule.w", "+d,+e,+h", 0x79c0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3039 1.1 christos {"fcule.d", "+d,+e,+h", 0x79e0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3040 1.1 christos {"fsaf.w", "+d,+e,+h", 0x7a00001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3041 1.1 christos {"fsaf.d", "+d,+e,+h", 0x7a20001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3042 1.1 christos {"fsun.w", "+d,+e,+h", 0x7a40001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3043 1.1 christos {"fsun.d", "+d,+e,+h", 0x7a60001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3044 1.1 christos {"fseq.w", "+d,+e,+h", 0x7a80001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3045 1.1 christos {"fseq.d", "+d,+e,+h", 0x7aa0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3046 1.1 christos {"fsueq.w", "+d,+e,+h", 0x7ac0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3047 1.1 christos {"fsueq.d", "+d,+e,+h", 0x7ae0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3048 1.1 christos {"fslt.w", "+d,+e,+h", 0x7b00001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3049 1.1 christos {"fslt.d", "+d,+e,+h", 0x7b20001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3050 1.1 christos {"fsult.w", "+d,+e,+h", 0x7b40001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3051 1.1 christos {"fsult.d", "+d,+e,+h", 0x7b60001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3052 1.1 christos {"fsle.w", "+d,+e,+h", 0x7b80001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3053 1.1 christos {"fsle.d", "+d,+e,+h", 0x7ba0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3054 1.1 christos {"fsule.w", "+d,+e,+h", 0x7bc0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3055 1.1 christos {"fsule.d", "+d,+e,+h", 0x7be0001a, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3056 1.1 christos {"fadd.w", "+d,+e,+h", 0x7800001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3057 1.1 christos {"fadd.d", "+d,+e,+h", 0x7820001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3058 1.1 christos {"fsub.w", "+d,+e,+h", 0x7840001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3059 1.1 christos {"fsub.d", "+d,+e,+h", 0x7860001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3060 1.1 christos {"fmul.w", "+d,+e,+h", 0x7880001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3061 1.1 christos {"fmul.d", "+d,+e,+h", 0x78a0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3062 1.1 christos {"fdiv.w", "+d,+e,+h", 0x78c0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3063 1.1 christos {"fdiv.d", "+d,+e,+h", 0x78e0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3064 1.1 christos {"fmadd.w", "+d,+e,+h", 0x7900001b, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3065 1.1 christos {"fmadd.d", "+d,+e,+h", 0x7920001b, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3066 1.1 christos {"fmsub.w", "+d,+e,+h", 0x7940001b, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3067 1.1 christos {"fmsub.d", "+d,+e,+h", 0x7960001b, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3068 1.1 christos {"fexp2.w", "+d,+e,+h", 0x79c0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3069 1.1 christos {"fexp2.d", "+d,+e,+h", 0x79e0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3070 1.1 christos {"fexdo.h", "+d,+e,+h", 0x7a00001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3071 1.1 christos {"fexdo.w", "+d,+e,+h", 0x7a20001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3072 1.1 christos {"ftq.h", "+d,+e,+h", 0x7a80001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3073 1.1 christos {"ftq.w", "+d,+e,+h", 0x7aa0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3074 1.1 christos {"fmin.w", "+d,+e,+h", 0x7b00001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3075 1.1 christos {"fmin.d", "+d,+e,+h", 0x7b20001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3076 1.1 christos {"fmin_a.w", "+d,+e,+h", 0x7b40001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3077 1.1 christos {"fmin_a.d", "+d,+e,+h", 0x7b60001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3078 1.1 christos {"fmax.w", "+d,+e,+h", 0x7b80001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3079 1.1 christos {"fmax.d", "+d,+e,+h", 0x7ba0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3080 1.1 christos {"fmax_a.w", "+d,+e,+h", 0x7bc0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3081 1.1 christos {"fmax_a.d", "+d,+e,+h", 0x7be0001b, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3082 1.1 christos {"fcor.w", "+d,+e,+h", 0x7840001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3083 1.1 christos {"fcor.d", "+d,+e,+h", 0x7860001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3084 1.1 christos {"fcune.w", "+d,+e,+h", 0x7880001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3085 1.1 christos {"fcune.d", "+d,+e,+h", 0x78a0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3086 1.1 christos {"fcne.w", "+d,+e,+h", 0x78c0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3087 1.1 christos {"fcne.d", "+d,+e,+h", 0x78e0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3088 1.1 christos {"mul_q.h", "+d,+e,+h", 0x7900001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3089 1.1 christos {"mul_q.w", "+d,+e,+h", 0x7920001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3090 1.1 christos {"madd_q.h", "+d,+e,+h", 0x7940001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3091 1.1 christos {"madd_q.w", "+d,+e,+h", 0x7960001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3092 1.1 christos {"msub_q.h", "+d,+e,+h", 0x7980001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3093 1.1 christos {"msub_q.w", "+d,+e,+h", 0x79a0001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3094 1.1 christos {"fsor.w", "+d,+e,+h", 0x7a40001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3095 1.1 christos {"fsor.d", "+d,+e,+h", 0x7a60001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3096 1.1 christos {"fsune.w", "+d,+e,+h", 0x7a80001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3097 1.1 christos {"fsune.d", "+d,+e,+h", 0x7aa0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3098 1.1 christos {"fsne.w", "+d,+e,+h", 0x7ac0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3099 1.1 christos {"fsne.d", "+d,+e,+h", 0x7ae0001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3100 1.1 christos {"mulr_q.h", "+d,+e,+h", 0x7b00001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3101 1.1 christos {"mulr_q.w", "+d,+e,+h", 0x7b20001c, 0xffe0003f, WR_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3102 1.1 christos {"maddr_q.h", "+d,+e,+h", 0x7b40001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3103 1.1 christos {"maddr_q.w", "+d,+e,+h", 0x7b60001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3104 1.1 christos {"msubr_q.h", "+d,+e,+h", 0x7b80001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3105 1.1 christos {"msubr_q.w", "+d,+e,+h", 0x7ba0001c, 0xffe0003f, MOD_1|RD_2|RD_3, 0, 0, MSA, 0 }, 3106 1.1 christos {"fclass.w", "+d,+e", 0x7b20001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3107 1.1 christos {"fclass.d", "+d,+e", 0x7b21001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3108 1.1 christos {"ftrunc_s.w", "+d,+e", 0x7b22001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3109 1.1 christos {"ftrunc_s.d", "+d,+e", 0x7b23001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3110 1.1 christos {"ftrunc_u.w", "+d,+e", 0x7b24001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3111 1.1 christos {"ftrunc_u.d", "+d,+e", 0x7b25001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3112 1.1 christos {"fsqrt.w", "+d,+e", 0x7b26001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3113 1.1 christos {"fsqrt.d", "+d,+e", 0x7b27001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3114 1.1 christos {"frsqrt.w", "+d,+e", 0x7b28001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3115 1.1 christos {"frsqrt.d", "+d,+e", 0x7b29001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3116 1.1 christos {"frcp.w", "+d,+e", 0x7b2a001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3117 1.1 christos {"frcp.d", "+d,+e", 0x7b2b001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3118 1.1 christos {"frint.w", "+d,+e", 0x7b2c001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3119 1.1 christos {"frint.d", "+d,+e", 0x7b2d001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3120 1.1 christos {"flog2.w", "+d,+e", 0x7b2e001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3121 1.1 christos {"flog2.d", "+d,+e", 0x7b2f001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3122 1.1 christos {"fexupl.w", "+d,+e", 0x7b30001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3123 1.1 christos {"fexupl.d", "+d,+e", 0x7b31001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3124 1.1 christos {"fexupr.w", "+d,+e", 0x7b32001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3125 1.1 christos {"fexupr.d", "+d,+e", 0x7b33001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3126 1.1 christos {"ffql.w", "+d,+e", 0x7b34001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3127 1.1 christos {"ffql.d", "+d,+e", 0x7b35001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3128 1.1 christos {"ffqr.w", "+d,+e", 0x7b36001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3129 1.1 christos {"ffqr.d", "+d,+e", 0x7b37001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3130 1.1 christos {"ftint_s.w", "+d,+e", 0x7b38001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3131 1.1 christos {"ftint_s.d", "+d,+e", 0x7b39001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3132 1.1 christos {"ftint_u.w", "+d,+e", 0x7b3a001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3133 1.1 christos {"ftint_u.d", "+d,+e", 0x7b3b001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3134 1.1 christos {"ffint_s.w", "+d,+e", 0x7b3c001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3135 1.1 christos {"ffint_s.d", "+d,+e", 0x7b3d001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3136 1.1 christos {"ffint_u.w", "+d,+e", 0x7b3e001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3137 1.1 christos {"ffint_u.d", "+d,+e", 0x7b3f001e, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3138 1.3 christos {"ctcmsa", "+l,d", 0x783e0019, 0xffff003f, RD_2|CM, 0, 0, MSA, 0 }, 3139 1.3 christos {"cfcmsa", "+k,+n", 0x787e0019, 0xffff003f, WR_1|CM, 0, 0, MSA, 0 }, 3140 1.1 christos {"move.v", "+d,+e", 0x78be0019, 0xffff003f, WR_1|RD_2, 0, 0, MSA, 0 }, 3141 1.8 christos {"lsa", "d,v,t,+~", 0x00000005, 0xfc00073f, WR_1|RD_2|RD_3, 0, I37, MSA, 0 }, 3142 1.8 christos {"dlsa", "d,v,t,+~", 0x00000015, 0xfc00073f, WR_1|RD_2|RD_3, 0, I69, MSA64, 0 }, 3143 1.8 christos 3144 1.8 christos /* interAptiv MR2 instruction extensions. */ 3145 1.8 christos {"restore", "-m", 0x7000001f, 0xfc00603f, WR_31|NODS, MOD_SP, IAMR2, 0, 0 }, 3146 1.8 christos {"save", "-m", 0x7000201f, 0xfc00603f, NODS, RD_31|MOD_SP, IAMR2, 0, 0 }, 3147 1.3 christos 3148 1.3 christos /* User Defined Instruction. */ 3149 1.3 christos {"udi0", "s,t,d,+1", 0x70000010, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3150 1.3 christos {"udi0", "s,t,+2", 0x70000010, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3151 1.3 christos {"udi0", "s,+3", 0x70000010, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3152 1.3 christos {"udi0", "+4", 0x70000010, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3153 1.3 christos {"udi1", "s,t,d,+1", 0x70000011, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3154 1.3 christos {"udi1", "s,t,+2", 0x70000011, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3155 1.3 christos {"udi1", "s,+3", 0x70000011, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3156 1.3 christos {"udi1", "+4", 0x70000011, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3157 1.3 christos {"udi2", "s,t,d,+1", 0x70000012, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3158 1.3 christos {"udi2", "s,t,+2", 0x70000012, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3159 1.3 christos {"udi2", "s,+3", 0x70000012, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3160 1.3 christos {"udi2", "+4", 0x70000012, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3161 1.3 christos {"udi3", "s,t,d,+1", 0x70000013, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3162 1.3 christos {"udi3", "s,t,+2", 0x70000013, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3163 1.3 christos {"udi3", "s,+3", 0x70000013, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3164 1.3 christos {"udi3", "+4", 0x70000013, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3165 1.3 christos {"udi4", "s,t,d,+1", 0x70000014, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3166 1.3 christos {"udi4", "s,t,+2", 0x70000014, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3167 1.3 christos {"udi4", "s,+3", 0x70000014, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3168 1.3 christos {"udi4", "+4", 0x70000014, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3169 1.3 christos {"udi5", "s,t,d,+1", 0x70000015, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3170 1.3 christos {"udi5", "s,t,+2", 0x70000015, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3171 1.3 christos {"udi5", "s,+3", 0x70000015, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3172 1.3 christos {"udi5", "+4", 0x70000015, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3173 1.3 christos {"udi6", "s,t,d,+1", 0x70000016, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3174 1.3 christos {"udi6", "s,t,+2", 0x70000016, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3175 1.3 christos {"udi6", "s,+3", 0x70000016, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3176 1.3 christos {"udi6", "+4", 0x70000016, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3177 1.3 christos {"udi7", "s,t,d,+1", 0x70000017, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3178 1.3 christos {"udi7", "s,t,+2", 0x70000017, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3179 1.3 christos {"udi7", "s,+3", 0x70000017, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3180 1.3 christos {"udi7", "+4", 0x70000017, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3181 1.3 christos {"udi8", "s,t,d,+1", 0x70000018, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3182 1.3 christos {"udi8", "s,t,+2", 0x70000018, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3183 1.3 christos {"udi8", "s,+3", 0x70000018, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3184 1.3 christos {"udi8", "+4", 0x70000018, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3185 1.3 christos {"udi9", "s,t,d,+1", 0x70000019, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3186 1.3 christos {"udi9", "s,t,+2", 0x70000019, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3187 1.3 christos {"udi9", "s,+3", 0x70000019, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3188 1.3 christos {"udi9", "+4", 0x70000019, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3189 1.3 christos {"udi10", "s,t,d,+1", 0x7000001a, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3190 1.3 christos {"udi10", "s,t,+2", 0x7000001a, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3191 1.3 christos {"udi10", "s,+3", 0x7000001a, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3192 1.3 christos {"udi10", "+4", 0x7000001a, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3193 1.3 christos {"udi11", "s,t,d,+1", 0x7000001b, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3194 1.3 christos {"udi11", "s,t,+2", 0x7000001b, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3195 1.3 christos {"udi11", "s,+3", 0x7000001b, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3196 1.3 christos {"udi11", "+4", 0x7000001b, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3197 1.3 christos {"udi12", "s,t,d,+1", 0x7000001c, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3198 1.3 christos {"udi12", "s,t,+2", 0x7000001c, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3199 1.3 christos {"udi12", "s,+3", 0x7000001c, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3200 1.3 christos {"udi12", "+4", 0x7000001c, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3201 1.3 christos {"udi13", "s,t,d,+1", 0x7000001d, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3202 1.3 christos {"udi13", "s,t,+2", 0x7000001d, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3203 1.3 christos {"udi13", "s,+3", 0x7000001d, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3204 1.3 christos {"udi13", "+4", 0x7000001d, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3205 1.3 christos {"udi14", "s,t,d,+1", 0x7000001e, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3206 1.3 christos {"udi14", "s,t,+2", 0x7000001e, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3207 1.3 christos {"udi14", "s,+3", 0x7000001e, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3208 1.3 christos {"udi14", "+4", 0x7000001e, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3209 1.3 christos {"udi15", "s,t,d,+1", 0x7000001f, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3210 1.3 christos {"udi15", "s,t,+2", 0x7000001f, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3211 1.3 christos {"udi15", "s,+3", 0x7000001f, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3212 1.3 christos {"udi15", "+4", 0x7000001f, 0xfc00003f, UDI, 0, I33, 0, 0 }, 3213 1.8 christos 3214 1.3 christos /* MIPS r6. */ 3215 1.3 christos {"aui", "t,s,u", 0x3c000000, 0xfc000000, WR_1|RD_2, 0, I37, 0, 0 }, 3216 1.3 christos {"auipc", "s,u", 0xec1e0000, 0xfc1f0000, WR_1, RD_pc, I37, 0, 0 }, 3217 1.9 christos {"daui", "t,-s,u", 0x74000000, 0xfc000000, WR_1|RD_2, 0, I37, 0, 0 }, 3218 1.3 christos {"dahi", "s,-d,u", 0x04060000, 0xfc1f0000, MOD_1, 0, I69, 0, 0 }, 3219 1.3 christos {"dati", "s,-d,u", 0x041e0000, 0xfc1f0000, MOD_1, 0, I69, 0, 0 }, 3220 1.3 christos 3221 1.3 christos {"align", "d,s,t,+I", 0x7c000220, 0xfc00073f, WR_1|RD_2|RD_3, 0, I37, 0, 0 }, 3222 1.3 christos {"dalign", "d,s,t,+O", 0x7c000224, 0xfc00063f, WR_1|RD_2|RD_3, 0, I69, 0, 0 }, 3223 1.3 christos {"bitswap", "d,t", 0x7c000020, 0xffe007ff, WR_1|RD_2, 0, I37, 0, 0 }, 3224 1.3 christos {"dbitswap", "d,t", 0x7c000024, 0xffe007ff, WR_1|RD_2, 0, I69, 0, 0 }, 3225 1.3 christos 3226 1.3 christos {"bovc", "s,-w,p", 0x20000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3227 1.3 christos {"bovc", "t,-x,p", 0x20000000, 0xfc000000, RD_1|RD_2|NODS, FS|INSN2_ALIAS, I37, 0, 0 }, 3228 1.3 christos {"beqzalc", "-t,p", 0x20000000, 0xffe00000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3229 1.3 christos {"beqc", "-s,-u,p", 0x20000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3230 1.3 christos {"beqc", "t,-y,p", 0x20000000, 0xfc000000, RD_1|RD_2|NODS, FS|INSN2_ALIAS, I37, 0, 0 }, 3231 1.3 christos {"bnvc", "s,-w,p", 0x60000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3232 1.3 christos {"bnvc", "t,-x,p", 0x60000000, 0xfc000000, RD_1|RD_2|NODS, FS|INSN2_ALIAS, I37, 0, 0 }, 3233 1.3 christos {"bnezalc", "-t,p", 0x60000000, 0xffe00000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3234 1.3 christos {"bnec", "-s,-u,p", 0x60000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3235 1.3 christos {"bnec", "t,-y,p", 0x60000000, 0xfc000000, RD_1|RD_2|NODS, FS|INSN2_ALIAS, I37, 0, 0 }, 3236 1.3 christos 3237 1.3 christos {"blezc", "-t,p", 0x58000000, 0xffe00000, RD_1|NODS, FS, I37, 0, 0 }, 3238 1.3 christos {"bgezc", "+;,p", 0x58000000, 0xfc000000, RD_1|NODS, FS, I37, 0, 0 }, 3239 1.3 christos {"bgec", "-s,-v,p", 0x58000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3240 1.3 christos {"bgtzc", "-t,p", 0x5c000000, 0xffe00000, RD_1|NODS, FS, I37, 0, 0 }, 3241 1.3 christos {"bltzc", "+;,p", 0x5c000000, 0xfc000000, RD_1|NODS, FS, I37, 0, 0 }, 3242 1.3 christos {"bltc", "-s,-v,p", 0x5c000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3243 1.3 christos {"blezalc", "-t,p", 0x18000000, 0xffe00000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3244 1.3 christos {"bgezalc", "+;,p", 0x18000000, 0xfc000000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3245 1.3 christos {"bgeuc", "-s,-v,p", 0x18000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3246 1.3 christos {"bgtzalc", "-t,p", 0x1c000000, 0xffe00000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3247 1.3 christos {"bltzalc", "+;,p", 0x1c000000, 0xfc000000, RD_1|WR_31|NODS, FS, I37, 0, 0 }, 3248 1.3 christos {"bltuc", "-s,-v,p", 0x1c000000, 0xfc000000, RD_1|RD_2|NODS, FS, I37, 0, 0 }, 3249 1.3 christos 3250 1.3 christos {"beqzc", "-s,+\"", 0xd8000000, 0xfc000000, RD_1|NODS, FS, I37, 0, 0 }, 3251 1.3 christos {"jrc", "t", 0xd8000000, 0xffe0ffff, RD_1|NODS, INSN2_ALIAS, I37, 0, 0 }, 3252 1.3 christos {"jic", "t,j", 0xd8000000, 0xffe00000, RD_1|NODS, 0, I37, 0, 0 }, 3253 1.3 christos 3254 1.3 christos {"bnezc", "-s,+\"", 0xf8000000, 0xfc000000, RD_1|NODS, FS, I37, 0, 0 }, 3255 1.3 christos {"jalrc", "t", 0xf8000000, 0xffe0ffff, RD_1|NODS, 0, I37, 0, 0 }, 3256 1.3 christos {"jialc", "t,j", 0xf8000000, 0xffe00000, RD_1|NODS, 0, I37, 0, 0 }, 3257 1.3 christos 3258 1.3 christos {"cmp.af.s", "D,S,T", 0x46800000, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3259 1.3 christos {"cmp.af.d", "D,S,T", 0x46a00000, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3260 1.3 christos {"cmp.eq.s", "D,S,T", 0x46800002, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3261 1.3 christos {"cmp.eq.d", "D,S,T", 0x46a00002, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3262 1.3 christos {"cmp.le.s", "D,S,T", 0x46800006, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3263 1.3 christos {"cmp.le.d", "D,S,T", 0x46a00006, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3264 1.3 christos {"cmp.lt.s", "D,S,T", 0x46800004, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3265 1.3 christos {"cmp.lt.d", "D,S,T", 0x46a00004, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3266 1.3 christos {"cmp.ne.s", "D,S,T", 0x46800013, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3267 1.3 christos {"cmp.ne.d", "D,S,T", 0x46a00013, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3268 1.3 christos {"cmp.or.s", "D,S,T", 0x46800011, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3269 1.3 christos {"cmp.or.d", "D,S,T", 0x46a00011, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3270 1.3 christos {"cmp.ueq.s", "D,S,T", 0x46800003, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3271 1.3 christos {"cmp.ueq.d", "D,S,T", 0x46a00003, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3272 1.3 christos {"cmp.ule.s", "D,S,T", 0x46800007, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3273 1.3 christos {"cmp.ule.d", "D,S,T", 0x46a00007, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3274 1.3 christos {"cmp.ult.s", "D,S,T", 0x46800005, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3275 1.3 christos {"cmp.ult.d", "D,S,T", 0x46a00005, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3276 1.3 christos {"cmp.un.s", "D,S,T", 0x46800001, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3277 1.3 christos {"cmp.un.d", "D,S,T", 0x46a00001, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3278 1.3 christos {"cmp.une.s", "D,S,T", 0x46800012, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3279 1.3 christos {"cmp.une.d", "D,S,T", 0x46a00012, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3280 1.3 christos {"cmp.saf.s", "D,S,T", 0x46800008, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3281 1.3 christos {"cmp.saf.d", "D,S,T", 0x46a00008, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3282 1.3 christos {"cmp.seq.s", "D,S,T", 0x4680000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3283 1.3 christos {"cmp.seq.d", "D,S,T", 0x46a0000a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3284 1.3 christos {"cmp.sle.s", "D,S,T", 0x4680000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3285 1.3 christos {"cmp.sle.d", "D,S,T", 0x46a0000e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3286 1.3 christos {"cmp.slt.s", "D,S,T", 0x4680000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3287 1.3 christos {"cmp.slt.d", "D,S,T", 0x46a0000c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3288 1.3 christos {"cmp.sne.s", "D,S,T", 0x4680001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3289 1.3 christos {"cmp.sne.d", "D,S,T", 0x46a0001b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3290 1.3 christos {"cmp.sor.s", "D,S,T", 0x46800019, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3291 1.3 christos {"cmp.sor.d", "D,S,T", 0x46a00019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3292 1.3 christos {"cmp.sueq.s", "D,S,T", 0x4680000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3293 1.3 christos {"cmp.sueq.d", "D,S,T", 0x46a0000b, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3294 1.3 christos {"cmp.sule.s", "D,S,T", 0x4680000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3295 1.3 christos {"cmp.sule.d", "D,S,T", 0x46a0000f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3296 1.3 christos {"cmp.sult.s", "D,S,T", 0x4680000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3297 1.3 christos {"cmp.sult.d", "D,S,T", 0x46a0000d, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3298 1.3 christos {"cmp.sun.s", "D,S,T", 0x46800009, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3299 1.3 christos {"cmp.sun.d", "D,S,T", 0x46a00009, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3300 1.3 christos {"cmp.sune.s", "D,S,T", 0x4680001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3301 1.3 christos {"cmp.sune.d", "D,S,T", 0x46a0001a, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3302 1.3 christos 3303 1.3 christos {"maddf.s", "D,S,T", 0x46000018, 0xffe0003f, MOD_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3304 1.3 christos {"msubf.s", "D,S,T", 0x46000019, 0xffe0003f, MOD_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3305 1.3 christos {"maddf.d", "D,S,T", 0x46200018, 0xffe0003f, MOD_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3306 1.3 christos {"msubf.d", "D,S,T", 0x46200019, 0xffe0003f, MOD_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3307 1.3 christos 3308 1.3 christos {"rint.s", "D,S", 0x4600001a, 0xffff003f, WR_1|RD_2|FP_S, 0, I37, 0, 0 }, 3309 1.3 christos {"rint.d", "D,S", 0x4620001a, 0xffff003f, WR_1|RD_2|FP_D, 0, I37, 0, 0 }, 3310 1.3 christos {"class.s", "D,S", 0x4600001b, 0xffff003f, WR_1|RD_2|FP_S, 0, I37, 0, 0 }, 3311 1.3 christos {"class.d", "D,S", 0x4620001b, 0xffff003f, WR_1|RD_2|FP_D, 0, I37, 0, 0 }, 3312 1.3 christos {"min.d", "D,S,T", 0x4620001c, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3313 1.3 christos {"max.d", "D,S,T", 0x4620001e, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3314 1.3 christos {"mina.s", "D,S,T", 0x4600001d, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3315 1.3 christos {"mina.d", "D,S,T", 0x4620001d, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3316 1.3 christos {"maxa.s", "D,S,T", 0x4600001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3317 1.3 christos {"maxa.d", "D,S,T", 0x4620001f, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3318 1.3 christos 3319 1.3 christos {"sel.s", "D,S,T", 0x46000010, 0xffe0003f, MOD_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3320 1.3 christos {"sel.d", "D,S,T", 0x46200010, 0xffe0003f, MOD_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3321 1.3 christos {"selnez", "d,s,t", 0x00000037, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0 }, 3322 1.3 christos {"selnez.s", "D,S,T", 0x46000017, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3323 1.3 christos {"selnez.d", "D,S,T", 0x46200017, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3324 1.3 christos {"seleqz", "d,s,t", 0x00000035, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I37, 0, 0 }, 3325 1.3 christos {"seleqz.s", "D,S,T", 0x46000014, 0xffe0003f, WR_1|RD_2|RD_3|FP_S, 0, I37, 0, 0 }, 3326 1.3 christos {"seleqz.d", "D,S,T", 0x46200014, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, I37, 0, 0 }, 3327 1.3 christos 3328 1.3 christos {"aluipc", "s,u", 0xec1f0000, 0xfc1f0000, WR_1, RD_pc, I37, 0, 0 }, 3329 1.3 christos 3330 1.8 christos /* MIPS cyclic redundancy check (CRC) ASE. */ 3331 1.8 christos {"crc32b", "t,s,-d", 0x7c00000f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3332 1.8 christos {"crc32h", "t,s,-d", 0x7c00004f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3333 1.8 christos {"crc32w", "t,s,-d", 0x7c00008f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3334 1.8 christos {"crc32d", "t,s,-d", 0x7c0000cf, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC64, 0 }, 3335 1.8 christos {"crc32cb", "t,s,-d", 0x7c00010f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3336 1.8 christos {"crc32ch", "t,s,-d", 0x7c00014f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3337 1.8 christos {"crc32cw", "t,s,-d", 0x7c00018f, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC, 0 }, 3338 1.8 christos {"crc32cd", "t,s,-d", 0x7c0001cf, 0xfc00ffff, MOD_1|RD_2, 0, 0, CRC64, 0 }, 3339 1.8 christos 3340 1.8 christos /* MIPS Global INValidate (GINV) ASE. */ 3341 1.8 christos {"ginvi", "s", 0x7c00003d, 0xfc1fffff, RD_1, 0, 0, GINV, 0 }, 3342 1.8 christos {"ginvt", "s,+\\", 0x7c0000bd, 0xfc1ffcff, RD_1, 0, 0, GINV, 0 }, 3343 1.8 christos 3344 1.10 christos /* Move bc0* after mftr and mttr to avoid opcode collision. */ 3345 1.10 christos {"bc0f", "p", 0x41000000, 0xffff0000, RD_CC|CBD, 0, I1, 0, I4_32 }, 3346 1.10 christos {"bc0fl", "p", 0x41020000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, I4_32 }, 3347 1.10 christos {"bc0t", "p", 0x41010000, 0xffff0000, RD_CC|CBD, 0, I1, 0, I4_32 }, 3348 1.10 christos {"bc0tl", "p", 0x41030000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, I4_32 }, 3349 1.10 christos 3350 1.10 christos /* Coprocessor 0 move instructions cfc0 and ctc0 conflict with the 3351 1.10 christos mfhc0 and mthc0 XPA instructions, so they have been placed here 3352 1.10 christos to allow the XPA instructions to take precedence. */ 3353 1.10 christos {"cfc0", "t,g", 0x40400000, 0xffe007ff, WR_1|RD_C0|LC, 0, I1, 0, I32 }, 3354 1.10 christos {"ctc0", "t,g", 0x40c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, I32 }, 3355 1.10 christos 3356 1.10 christos /* RFE conflicts with the new Virt spec instruction tlbgp. */ 3357 1.11 christos {"rfe", "", 0x42000010, 0xffffffff, 0, 0, I1|T3, 0, I3_32|AL }, 3358 1.10 christos 3359 1.10 christos /* Coprocessor 2 move/branch operations overlap with VR5400 .ob format 3360 1.10 christos instructions so they are here for the latters to take precedence. */ 3361 1.10 christos {"bc2eqz", "E,p", 0x49200000, 0xffe00000, RD_C2|CBD, 0, I37, 0, 0 }, 3362 1.10 christos {"bc2f", "p", 0x49000000, 0xffff0000, RD_CC|CBD, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|I37 }, 3363 1.10 christos {"bc2f", "N,p", 0x49000000, 0xffe30000, RD_CC|CBD, 0, I32, 0, IOCT|IOCTP|IOCT2|I37 }, 3364 1.10 christos {"bc2fl", "p", 0x49020000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, N54|IOCT|IOCTP|IOCT2|I37 }, 3365 1.10 christos {"bc2fl", "N,p", 0x49020000, 0xffe30000, RD_CC|CBL, 0, I32, 0, IOCT|IOCTP|IOCT2|I37 }, 3366 1.10 christos {"bc2nez", "E,p", 0x49a00000, 0xffe00000, RD_C2|CBD, 0, I37, 0, 0 }, 3367 1.10 christos {"bc2t", "p", 0x49010000, 0xffff0000, RD_CC|CBD, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|I37 }, 3368 1.10 christos {"bc2t", "N,p", 0x49010000, 0xffe30000, RD_CC|CBD, 0, I32, 0, IOCT|IOCTP|IOCT2|I37 }, 3369 1.10 christos {"bc2tl", "p", 0x49030000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, N54|IOCT|IOCTP|IOCT2|I37 }, 3370 1.10 christos {"bc2tl", "N,p", 0x49030000, 0xffe30000, RD_CC|CBL, 0, I32, 0, IOCT|IOCTP|IOCT2|I37 }, 3371 1.10 christos {"cfc2", "t,g", 0x48400000, 0xffe007ff, WR_1|RD_C2|LC, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3372 1.10 christos {"cfc2", "t,+9", 0x48400000, 0xffe007ff, WR_1|RD_C2|LC, 0, EE, 0, 0 }, 3373 1.10 christos {"cfc2.i", "t,+9", 0x48400001, 0xffe007ff, WR_1|RD_C2|LC, 0, EE, 0, 0 }, 3374 1.10 christos {"cfc2.ni", "t,+9", 0x48400000, 0xffe007ff, WR_1|RD_C2|LC, 0, EE, 0, 0 }, 3375 1.10 christos {"ctc2", "t,g", 0x48c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3376 1.10 christos {"ctc2", "t,+9", 0x48c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, EE, 0, 0 }, 3377 1.10 christos {"ctc2.i", "t,+9", 0x48c00001, 0xffe007ff, RD_1|WR_CC|CM, 0, EE, 0, 0 }, 3378 1.10 christos {"ctc2.ni", "t,+9", 0x48c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, EE, 0, 0 }, 3379 1.10 christos {"dmfc2", "t,i", 0x48200000, 0xffe00000, WR_1|RD_C2|LC, 0, IOCT, 0, 0 }, 3380 1.10 christos {"dmfc2", "t,G", 0x48200000, 0xffe007ff, WR_1|RD_C2|LC, 0, I3, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3381 1.10 christos {"dmfc2", "t,G,H", 0x48200000, 0xffe007f8, WR_1|RD_C2|LC, 0, I64, 0, IOCT|IOCTP|IOCT2 }, 3382 1.10 christos {"dmtc2", "t,i", 0x48a00000, 0xffe00000, RD_1|WR_C2|WR_CC|CM, 0, IOCT, 0, 0 }, 3383 1.10 christos {"dmtc2", "t,G", 0x48a00000, 0xffe007ff, RD_1|WR_C2|WR_CC|CM, 0, I3, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3384 1.10 christos {"dmtc2", "t,G,H", 0x48a00000, 0xffe007f8, RD_1|WR_C2|WR_CC|CM, 0, I64, 0, IOCT|IOCTP|IOCT2 }, 3385 1.10 christos {"mfc2", "t,G", 0x48000000, 0xffe007ff, WR_1|RD_C2|LC, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3386 1.10 christos {"mfc2", "t,G,H", 0x48000000, 0xffe007f8, WR_1|RD_C2|LC, 0, I32, 0, IOCT|IOCTP|IOCT2 }, 3387 1.10 christos {"mfhc2", "t,G", 0x48600000, 0xffe007ff, WR_1|RD_C2|LC, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3388 1.10 christos {"mfhc2", "t,G,H", 0x48600000, 0xffe007f8, WR_1|RD_C2|LC, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3389 1.10 christos {"mfhc2", "t,i", 0x48600000, 0xffe00000, WR_1|RD_C2|LC, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3390 1.11 christos {"mfic", "t,G", 0x70000024, 0xffe007ff, WR_1|RD_C0|LC, 0, AL, 0, 0 }, 3391 1.10 christos {"mtc2", "t,G", 0x48800000, 0xffe007ff, RD_1|WR_C2|WR_CC|CM, 0, I1, 0, N54|IOCT|IOCTP|IOCT2|EE }, 3392 1.10 christos {"mtc2", "t,G,H", 0x48800000, 0xffe007f8, RD_1|WR_C2|WR_CC|CM, 0, I32, 0, IOCT|IOCTP|IOCT2 }, 3393 1.10 christos {"mthc2", "t,G", 0x48e00000, 0xffe007ff, RD_1|WR_C2|WR_CC|CM, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3394 1.10 christos {"mthc2", "t,G,H", 0x48e00000, 0xffe007f8, RD_1|WR_C2|WR_CC|CM, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3395 1.10 christos {"mthc2", "t,i", 0x48e00000, 0xffe00000, RD_1|WR_C2|WR_CC|CM, 0, I33, 0, IOCT|IOCTP|IOCT2 }, 3396 1.11 christos {"mtic", "t,G", 0x70000026, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, AL, 0, 0 }, 3397 1.10 christos {"qmfc2", "t,+6", 0x48200000, 0xffe007ff, WR_1|RD_C2, 0, EE, 0, 0 }, 3398 1.10 christos {"qmfc2.i", "t,+6", 0x48200001, 0xffe007ff, WR_1|RD_C2, 0, EE, 0, 0 }, 3399 1.10 christos {"qmfc2.ni", "t,+6", 0x48200000, 0xffe007ff, WR_1|RD_C2, 0, EE, 0, 0 }, 3400 1.10 christos {"qmtc2", "t,+6", 0x48a00000, 0xffe007ff, RD_1|WR_C2, 0, EE, 0, 0 }, 3401 1.10 christos {"qmtc2.i", "t,+6", 0x48a00001, 0xffe007ff, RD_1|WR_C2, 0, EE, 0, 0 }, 3402 1.10 christos {"qmtc2.ni", "t,+6", 0x48a00000, 0xffe007ff, RD_1|WR_C2, 0, EE, 0, 0 }, 3403 1.10 christos 3404 1.10 christos /* Coprocessor 3 move/branch operations overlap with MIPS IV COP1X 3405 1.10 christos instructions, so they are here for the latters to take precedence. */ 3406 1.11 christos {"bc3f", "p", 0x4d000000, 0xffff0000, RD_CC|CBD, 0, I1, 0, I3_33|EE|AL }, 3407 1.11 christos {"bc3fl", "p", 0x4d020000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, I3_33|EE|AL }, 3408 1.11 christos {"bc3t", "p", 0x4d010000, 0xffff0000, RD_CC|CBD, 0, I1, 0, I3_33|EE|AL }, 3409 1.11 christos {"bc3tl", "p", 0x4d030000, 0xffff0000, RD_CC|CBL, 0, I2|T3, 0, I3_33|EE|AL }, 3410 1.11 christos {"cfc3", "t,g", 0x4c400000, 0xffe007ff, WR_1|RD_C3|LC, 0, I1, 0, I3_33|EE|AL }, 3411 1.11 christos {"ctc3", "t,g", 0x4cc00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, I3_33|EE|AL }, 3412 1.11 christos {"mfc3", "t,G", 0x4c000000, 0xffe007ff, WR_1|RD_C3|LC, 0, I1, 0, I3_33|EE|AL }, 3413 1.11 christos {"mfc3", "t,G,H", 0x4c000000, 0xffe007f8, WR_1|RD_C3|LC, 0, I32, 0, I3_33|EE|AL }, 3414 1.11 christos {"mtc3", "t,G", 0x4c800000, 0xffe007ff, RD_1|WR_C3|WR_CC|CM, 0, I1, 0, I3_33|EE|AL }, 3415 1.11 christos {"mtc3", "t,G,H", 0x4c800000, 0xffe007f8, RD_1|WR_C3|WR_CC|CM, 0, I32, 0, I3_33|EE|AL }, 3416 1.10 christos 3417 1.1 christos /* No hazard protection on coprocessor instructions--they shouldn't 3418 1.1 christos change the state of the processor and if they do it's up to the 3419 1.1 christos user to put in nops as necessary. These are at the end so that the 3420 1.1 christos disassembler recognizes more specific versions first. */ 3421 1.1 christos {"c0", "C", 0x42000000, 0xfe000000, CP, 0, I1, 0, IOCT|IOCTP|IOCT2 }, 3422 1.1 christos {"c1", "C", 0x46000000, 0xfe000000, FP_S, 0, I1, 0, 0 }, 3423 1.10 christos {"c2", "C", 0x4a000000, 0xfe000000, CP, 0, I1, 0, N54|IOCT|IOCTP|IOCT2 }, 3424 1.10 christos {"c3", "C", 0x4e000000, 0xfe000000, CP, 0, I1, 0, I3_33 }, 3425 1.1 christos {"cop0", "C", 0, (int) M_COP0, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2 }, 3426 1.1 christos {"cop1", "C", 0, (int) M_COP1, INSN_MACRO, INSN2_M_FP_S, I1, 0, 0 }, 3427 1.10 christos {"cop2", "C", 0, (int) M_COP2, INSN_MACRO, 0, I1, 0, N54|IOCT|IOCTP|IOCT2 }, 3428 1.10 christos {"cop3", "C", 0, (int) M_COP3, INSN_MACRO, 0, I1, 0, I3_33 }, 3429 1.1 christos }; 3430 1.1 christos 3431 1.1 christos #define MIPS_NUM_OPCODES \ 3432 1.1 christos ((sizeof mips_builtin_opcodes) / (sizeof (mips_builtin_opcodes[0]))) 3433 1.1 christos const int bfd_mips_num_builtin_opcodes = MIPS_NUM_OPCODES; 3434 1.1 christos 3435 1.1 christos /* const removed from the following to allow for dynamic extensions to the 3436 1.1 christos * built-in instruction set. */ 3437 1.1 christos struct mips_opcode *mips_opcodes = 3438 1.1 christos (struct mips_opcode *) mips_builtin_opcodes; 3439 1.1 christos int bfd_mips_num_opcodes = MIPS_NUM_OPCODES; 3440 1.1 christos #undef MIPS_NUM_OPCODES 3441