Home | History | Annotate | Line # | Download | only in opcodes
iq2000-opc.c revision 1.1
      1  1.1  skrll /* Instruction opcode table for iq2000.
      2  1.1  skrll 
      3  1.1  skrll THIS FILE IS MACHINE GENERATED WITH CGEN.
      4  1.1  skrll 
      5  1.1  skrll Copyright 1996-2007 Free Software Foundation, Inc.
      6  1.1  skrll 
      7  1.1  skrll This file is part of the GNU Binutils and/or GDB, the GNU debugger.
      8  1.1  skrll 
      9  1.1  skrll    This file is free software; you can redistribute it and/or modify
     10  1.1  skrll    it under the terms of the GNU General Public License as published by
     11  1.1  skrll    the Free Software Foundation; either version 3, or (at your option)
     12  1.1  skrll    any later version.
     13  1.1  skrll 
     14  1.1  skrll    It is distributed in the hope that it will be useful, but WITHOUT
     15  1.1  skrll    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     16  1.1  skrll    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     17  1.1  skrll    License for more details.
     18  1.1  skrll 
     19  1.1  skrll    You should have received a copy of the GNU General Public License along
     20  1.1  skrll    with this program; if not, write to the Free Software Foundation, Inc.,
     21  1.1  skrll    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
     22  1.1  skrll 
     23  1.1  skrll */
     24  1.1  skrll 
     25  1.1  skrll #include "sysdep.h"
     26  1.1  skrll #include "ansidecl.h"
     27  1.1  skrll #include "bfd.h"
     28  1.1  skrll #include "symcat.h"
     29  1.1  skrll #include "iq2000-desc.h"
     30  1.1  skrll #include "iq2000-opc.h"
     31  1.1  skrll #include "libiberty.h"
     32  1.1  skrll 
     33  1.1  skrll /* The hash functions are recorded here to help keep assembler code out of
     34  1.1  skrll    the disassembler and vice versa.  */
     35  1.1  skrll 
     36  1.1  skrll static int asm_hash_insn_p        (const CGEN_INSN *);
     37  1.1  skrll static unsigned int asm_hash_insn (const char *);
     38  1.1  skrll static int dis_hash_insn_p        (const CGEN_INSN *);
     39  1.1  skrll static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
     40  1.1  skrll 
     41  1.1  skrll /* Instruction formats.  */
     42  1.1  skrll 
     43  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
     44  1.1  skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_##f]
     45  1.1  skrll #else
     46  1.1  skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_/**/f]
     47  1.1  skrll #endif
     48  1.1  skrll static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
     49  1.1  skrll   0, 0, 0x0, { { 0 } }
     50  1.1  skrll };
     51  1.1  skrll 
     52  1.1  skrll static const CGEN_IFMT ifmt_add2 ATTRIBUTE_UNUSED = {
     53  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     54  1.1  skrll };
     55  1.1  skrll 
     56  1.1  skrll static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
     57  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     58  1.1  skrll };
     59  1.1  skrll 
     60  1.1  skrll static const CGEN_IFMT ifmt_addi2 ATTRIBUTE_UNUSED = {
     61  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
     62  1.1  skrll };
     63  1.1  skrll 
     64  1.1  skrll static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
     65  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
     66  1.1  skrll };
     67  1.1  skrll 
     68  1.1  skrll static const CGEN_IFMT ifmt_ram ATTRIBUTE_UNUSED = {
     69  1.1  skrll   32, 32, 0xfc000020, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_5) }, { F (F_MASKL) }, { 0 } }
     70  1.1  skrll };
     71  1.1  skrll 
     72  1.1  skrll static const CGEN_IFMT ifmt_sll ATTRIBUTE_UNUSED = {
     73  1.1  skrll   32, 32, 0xffe0003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     74  1.1  skrll };
     75  1.1  skrll 
     76  1.1  skrll static const CGEN_IFMT ifmt_sllv2 ATTRIBUTE_UNUSED = {
     77  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     78  1.1  skrll };
     79  1.1  skrll 
     80  1.1  skrll static const CGEN_IFMT ifmt_slmv2 ATTRIBUTE_UNUSED = {
     81  1.1  skrll   32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     82  1.1  skrll };
     83  1.1  skrll 
     84  1.1  skrll static const CGEN_IFMT ifmt_slmv ATTRIBUTE_UNUSED = {
     85  1.1  skrll   32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     86  1.1  skrll };
     87  1.1  skrll 
     88  1.1  skrll static const CGEN_IFMT ifmt_slti2 ATTRIBUTE_UNUSED = {
     89  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
     90  1.1  skrll };
     91  1.1  skrll 
     92  1.1  skrll static const CGEN_IFMT ifmt_slti ATTRIBUTE_UNUSED = {
     93  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
     94  1.1  skrll };
     95  1.1  skrll 
     96  1.1  skrll static const CGEN_IFMT ifmt_sra2 ATTRIBUTE_UNUSED = {
     97  1.1  skrll   32, 32, 0xffe0003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RD_RT) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
     98  1.1  skrll };
     99  1.1  skrll 
    100  1.1  skrll static const CGEN_IFMT ifmt_bbi ATTRIBUTE_UNUSED = {
    101  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
    102  1.1  skrll };
    103  1.1  skrll 
    104  1.1  skrll static const CGEN_IFMT ifmt_bbv ATTRIBUTE_UNUSED = {
    105  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
    106  1.1  skrll };
    107  1.1  skrll 
    108  1.1  skrll static const CGEN_IFMT ifmt_bgez ATTRIBUTE_UNUSED = {
    109  1.1  skrll   32, 32, 0xfc1f0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
    110  1.1  skrll };
    111  1.1  skrll 
    112  1.1  skrll static const CGEN_IFMT ifmt_jalr ATTRIBUTE_UNUSED = {
    113  1.1  skrll   32, 32, 0xfc1f07ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    114  1.1  skrll };
    115  1.1  skrll 
    116  1.1  skrll static const CGEN_IFMT ifmt_jr ATTRIBUTE_UNUSED = {
    117  1.1  skrll   32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    118  1.1  skrll };
    119  1.1  skrll 
    120  1.1  skrll static const CGEN_IFMT ifmt_lb ATTRIBUTE_UNUSED = {
    121  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
    122  1.1  skrll };
    123  1.1  skrll 
    124  1.1  skrll static const CGEN_IFMT ifmt_lui ATTRIBUTE_UNUSED = {
    125  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
    126  1.1  skrll };
    127  1.1  skrll 
    128  1.1  skrll static const CGEN_IFMT ifmt_break ATTRIBUTE_UNUSED = {
    129  1.1  skrll   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    130  1.1  skrll };
    131  1.1  skrll 
    132  1.1  skrll static const CGEN_IFMT ifmt_syscall ATTRIBUTE_UNUSED = {
    133  1.1  skrll   32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_EXCODE) }, { F (F_FUNC) }, { 0 } }
    134  1.1  skrll };
    135  1.1  skrll 
    136  1.1  skrll static const CGEN_IFMT ifmt_andoui ATTRIBUTE_UNUSED = {
    137  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
    138  1.1  skrll };
    139  1.1  skrll 
    140  1.1  skrll static const CGEN_IFMT ifmt_andoui2 ATTRIBUTE_UNUSED = {
    141  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RT_RS) }, { F (F_IMM) }, { 0 } }
    142  1.1  skrll };
    143  1.1  skrll 
    144  1.1  skrll static const CGEN_IFMT ifmt_mrgb ATTRIBUTE_UNUSED = {
    145  1.1  skrll   32, 32, 0xfc00043f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_10) }, { F (F_MASK) }, { F (F_FUNC) }, { 0 } }
    146  1.1  skrll };
    147  1.1  skrll 
    148  1.1  skrll static const CGEN_IFMT ifmt_mrgb2 ATTRIBUTE_UNUSED = {
    149  1.1  skrll   32, 32, 0xfc00043f, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_10) }, { F (F_MASK) }, { F (F_FUNC) }, { 0 } }
    150  1.1  skrll };
    151  1.1  skrll 
    152  1.1  skrll static const CGEN_IFMT ifmt_bc0f ATTRIBUTE_UNUSED = {
    153  1.1  skrll   32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_OFFSET) }, { 0 } }
    154  1.1  skrll };
    155  1.1  skrll 
    156  1.1  skrll static const CGEN_IFMT ifmt_cfc0 ATTRIBUTE_UNUSED = {
    157  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_10_11) }, { 0 } }
    158  1.1  skrll };
    159  1.1  skrll 
    160  1.1  skrll static const CGEN_IFMT ifmt_chkhdr ATTRIBUTE_UNUSED = {
    161  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    162  1.1  skrll };
    163  1.1  skrll 
    164  1.1  skrll static const CGEN_IFMT ifmt_lulck ATTRIBUTE_UNUSED = {
    165  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    166  1.1  skrll };
    167  1.1  skrll 
    168  1.1  skrll static const CGEN_IFMT ifmt_pkrlr1 ATTRIBUTE_UNUSED = {
    169  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_COUNT) }, { F (F_INDEX) }, { 0 } }
    170  1.1  skrll };
    171  1.1  skrll 
    172  1.1  skrll static const CGEN_IFMT ifmt_rfe ATTRIBUTE_UNUSED = {
    173  1.1  skrll   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_25) }, { F (F_24_19) }, { F (F_FUNC) }, { 0 } }
    174  1.1  skrll };
    175  1.1  skrll 
    176  1.1  skrll static const CGEN_IFMT ifmt_j ATTRIBUTE_UNUSED = {
    177  1.1  skrll   32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RSRVD) }, { F (F_JTARG) }, { 0 } }
    178  1.1  skrll };
    179  1.1  skrll 
    180  1.1  skrll static const CGEN_IFMT ifmt_mrgbq10 ATTRIBUTE_UNUSED = {
    181  1.1  skrll   32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_MASKQ10) }, { F (F_FUNC) }, { 0 } }
    182  1.1  skrll };
    183  1.1  skrll 
    184  1.1  skrll static const CGEN_IFMT ifmt_mrgbq102 ATTRIBUTE_UNUSED = {
    185  1.1  skrll   32, 32, 0xfc00003f, { { F (F_OPCODE) }, { F (F_RT) }, { F (F_RD_RS) }, { F (F_MASKQ10) }, { F (F_FUNC) }, { 0 } }
    186  1.1  skrll };
    187  1.1  skrll 
    188  1.1  skrll static const CGEN_IFMT ifmt_jq10 ATTRIBUTE_UNUSED = {
    189  1.1  skrll   32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_JTARG) }, { 0 } }
    190  1.1  skrll };
    191  1.1  skrll 
    192  1.1  skrll static const CGEN_IFMT ifmt_jalq10 ATTRIBUTE_UNUSED = {
    193  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_JTARG) }, { 0 } }
    194  1.1  skrll };
    195  1.1  skrll 
    196  1.1  skrll static const CGEN_IFMT ifmt_avail ATTRIBUTE_UNUSED = {
    197  1.1  skrll   32, 32, 0xffff07ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    198  1.1  skrll };
    199  1.1  skrll 
    200  1.1  skrll static const CGEN_IFMT ifmt_rbi ATTRIBUTE_UNUSED = {
    201  1.1  skrll   32, 32, 0xfc000700, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
    202  1.1  skrll };
    203  1.1  skrll 
    204  1.1  skrll static const CGEN_IFMT ifmt_cam36 ATTRIBUTE_UNUSED = {
    205  1.1  skrll   32, 32, 0xffe007c0, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
    206  1.1  skrll };
    207  1.1  skrll 
    208  1.1  skrll static const CGEN_IFMT ifmt_cm32and ATTRIBUTE_UNUSED = {
    209  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
    210  1.1  skrll };
    211  1.1  skrll 
    212  1.1  skrll static const CGEN_IFMT ifmt_cm32rd ATTRIBUTE_UNUSED = {
    213  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
    214  1.1  skrll };
    215  1.1  skrll 
    216  1.1  skrll static const CGEN_IFMT ifmt_cm128ria3 ATTRIBUTE_UNUSED = {
    217  1.1  skrll   32, 32, 0xfc0007fc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
    218  1.1  skrll };
    219  1.1  skrll 
    220  1.1  skrll static const CGEN_IFMT ifmt_cm128ria4 ATTRIBUTE_UNUSED = {
    221  1.1  skrll   32, 32, 0xfc0007f8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
    222  1.1  skrll };
    223  1.1  skrll 
    224  1.1  skrll static const CGEN_IFMT ifmt_ctc ATTRIBUTE_UNUSED = {
    225  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
    226  1.1  skrll };
    227  1.1  skrll 
    228  1.1  skrll #undef F
    229  1.1  skrll 
    230  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
    231  1.1  skrll #define A(a) (1 << CGEN_INSN_##a)
    232  1.1  skrll #else
    233  1.1  skrll #define A(a) (1 << CGEN_INSN_/**/a)
    234  1.1  skrll #endif
    235  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
    236  1.1  skrll #define OPERAND(op) IQ2000_OPERAND_##op
    237  1.1  skrll #else
    238  1.1  skrll #define OPERAND(op) IQ2000_OPERAND_/**/op
    239  1.1  skrll #endif
    240  1.1  skrll #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
    241  1.1  skrll #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
    242  1.1  skrll 
    243  1.1  skrll /* The instruction table.  */
    244  1.1  skrll 
    245  1.1  skrll static const CGEN_OPCODE iq2000_cgen_insn_opcode_table[MAX_INSNS] =
    246  1.1  skrll {
    247  1.1  skrll   /* Special null first entry.
    248  1.1  skrll      A `num' value of zero is thus invalid.
    249  1.1  skrll      Also, the special `invalid' insn resides here.  */
    250  1.1  skrll   { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
    251  1.1  skrll /* add ${rd-rs},$rt */
    252  1.1  skrll   {
    253  1.1  skrll     { 0, 0, 0, 0 },
    254  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    255  1.1  skrll     & ifmt_add2, { 0x20 }
    256  1.1  skrll   },
    257  1.1  skrll /* add $rd,$rs,$rt */
    258  1.1  skrll   {
    259  1.1  skrll     { 0, 0, 0, 0 },
    260  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    261  1.1  skrll     & ifmt_add, { 0x20 }
    262  1.1  skrll   },
    263  1.1  skrll /* addi ${rt-rs},$lo16 */
    264  1.1  skrll   {
    265  1.1  skrll     { 0, 0, 0, 0 },
    266  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    267  1.1  skrll     & ifmt_addi2, { 0x20000000 }
    268  1.1  skrll   },
    269  1.1  skrll /* addi $rt,$rs,$lo16 */
    270  1.1  skrll   {
    271  1.1  skrll     { 0, 0, 0, 0 },
    272  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    273  1.1  skrll     & ifmt_addi, { 0x20000000 }
    274  1.1  skrll   },
    275  1.1  skrll /* addiu ${rt-rs},$lo16 */
    276  1.1  skrll   {
    277  1.1  skrll     { 0, 0, 0, 0 },
    278  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    279  1.1  skrll     & ifmt_addi2, { 0x24000000 }
    280  1.1  skrll   },
    281  1.1  skrll /* addiu $rt,$rs,$lo16 */
    282  1.1  skrll   {
    283  1.1  skrll     { 0, 0, 0, 0 },
    284  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    285  1.1  skrll     & ifmt_addi, { 0x24000000 }
    286  1.1  skrll   },
    287  1.1  skrll /* addu ${rd-rs},$rt */
    288  1.1  skrll   {
    289  1.1  skrll     { 0, 0, 0, 0 },
    290  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    291  1.1  skrll     & ifmt_add2, { 0x21 }
    292  1.1  skrll   },
    293  1.1  skrll /* addu $rd,$rs,$rt */
    294  1.1  skrll   {
    295  1.1  skrll     { 0, 0, 0, 0 },
    296  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    297  1.1  skrll     & ifmt_add, { 0x21 }
    298  1.1  skrll   },
    299  1.1  skrll /* ado16 ${rd-rs},$rt */
    300  1.1  skrll   {
    301  1.1  skrll     { 0, 0, 0, 0 },
    302  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    303  1.1  skrll     & ifmt_add2, { 0x29 }
    304  1.1  skrll   },
    305  1.1  skrll /* ado16 $rd,$rs,$rt */
    306  1.1  skrll   {
    307  1.1  skrll     { 0, 0, 0, 0 },
    308  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    309  1.1  skrll     & ifmt_add, { 0x29 }
    310  1.1  skrll   },
    311  1.1  skrll /* and ${rd-rs},$rt */
    312  1.1  skrll   {
    313  1.1  skrll     { 0, 0, 0, 0 },
    314  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    315  1.1  skrll     & ifmt_add2, { 0x24 }
    316  1.1  skrll   },
    317  1.1  skrll /* and $rd,$rs,$rt */
    318  1.1  skrll   {
    319  1.1  skrll     { 0, 0, 0, 0 },
    320  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    321  1.1  skrll     & ifmt_add, { 0x24 }
    322  1.1  skrll   },
    323  1.1  skrll /* andi ${rt-rs},$lo16 */
    324  1.1  skrll   {
    325  1.1  skrll     { 0, 0, 0, 0 },
    326  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    327  1.1  skrll     & ifmt_addi2, { 0x30000000 }
    328  1.1  skrll   },
    329  1.1  skrll /* andi $rt,$rs,$lo16 */
    330  1.1  skrll   {
    331  1.1  skrll     { 0, 0, 0, 0 },
    332  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    333  1.1  skrll     & ifmt_addi, { 0x30000000 }
    334  1.1  skrll   },
    335  1.1  skrll /* andoi ${rt-rs},$lo16 */
    336  1.1  skrll   {
    337  1.1  skrll     { 0, 0, 0, 0 },
    338  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    339  1.1  skrll     & ifmt_addi2, { 0xb0000000 }
    340  1.1  skrll   },
    341  1.1  skrll /* andoi $rt,$rs,$lo16 */
    342  1.1  skrll   {
    343  1.1  skrll     { 0, 0, 0, 0 },
    344  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    345  1.1  skrll     & ifmt_addi, { 0xb0000000 }
    346  1.1  skrll   },
    347  1.1  skrll /* nor ${rd-rs},$rt */
    348  1.1  skrll   {
    349  1.1  skrll     { 0, 0, 0, 0 },
    350  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    351  1.1  skrll     & ifmt_add2, { 0x27 }
    352  1.1  skrll   },
    353  1.1  skrll /* nor $rd,$rs,$rt */
    354  1.1  skrll   {
    355  1.1  skrll     { 0, 0, 0, 0 },
    356  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    357  1.1  skrll     & ifmt_add, { 0x27 }
    358  1.1  skrll   },
    359  1.1  skrll /* or ${rd-rs},$rt */
    360  1.1  skrll   {
    361  1.1  skrll     { 0, 0, 0, 0 },
    362  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    363  1.1  skrll     & ifmt_add2, { 0x25 }
    364  1.1  skrll   },
    365  1.1  skrll /* or $rd,$rs,$rt */
    366  1.1  skrll   {
    367  1.1  skrll     { 0, 0, 0, 0 },
    368  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    369  1.1  skrll     & ifmt_add, { 0x25 }
    370  1.1  skrll   },
    371  1.1  skrll /* ori ${rt-rs},$lo16 */
    372  1.1  skrll   {
    373  1.1  skrll     { 0, 0, 0, 0 },
    374  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    375  1.1  skrll     & ifmt_addi2, { 0x34000000 }
    376  1.1  skrll   },
    377  1.1  skrll /* ori $rt,$rs,$lo16 */
    378  1.1  skrll   {
    379  1.1  skrll     { 0, 0, 0, 0 },
    380  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    381  1.1  skrll     & ifmt_addi, { 0x34000000 }
    382  1.1  skrll   },
    383  1.1  skrll /* ram $rd,$rt,$shamt,$maskl,$maskr */
    384  1.1  skrll   {
    385  1.1  skrll     { 0, 0, 0, 0 },
    386  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), ',', OP (MASKL), ',', OP (MASKR), 0 } },
    387  1.1  skrll     & ifmt_ram, { 0x9c000000 }
    388  1.1  skrll   },
    389  1.1  skrll /* sll $rd,$rt,$shamt */
    390  1.1  skrll   {
    391  1.1  skrll     { 0, 0, 0, 0 },
    392  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
    393  1.1  skrll     & ifmt_sll, { 0x0 }
    394  1.1  skrll   },
    395  1.1  skrll /* sllv ${rd-rt},$rs */
    396  1.1  skrll   {
    397  1.1  skrll     { 0, 0, 0, 0 },
    398  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
    399  1.1  skrll     & ifmt_sllv2, { 0x4 }
    400  1.1  skrll   },
    401  1.1  skrll /* sllv $rd,$rt,$rs */
    402  1.1  skrll   {
    403  1.1  skrll     { 0, 0, 0, 0 },
    404  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
    405  1.1  skrll     & ifmt_add, { 0x4 }
    406  1.1  skrll   },
    407  1.1  skrll /* slmv ${rd-rt},$rs,$shamt */
    408  1.1  skrll   {
    409  1.1  skrll     { 0, 0, 0, 0 },
    410  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
    411  1.1  skrll     & ifmt_slmv2, { 0x1 }
    412  1.1  skrll   },
    413  1.1  skrll /* slmv $rd,$rt,$rs,$shamt */
    414  1.1  skrll   {
    415  1.1  skrll     { 0, 0, 0, 0 },
    416  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
    417  1.1  skrll     & ifmt_slmv, { 0x1 }
    418  1.1  skrll   },
    419  1.1  skrll /* slt ${rd-rs},$rt */
    420  1.1  skrll   {
    421  1.1  skrll     { 0, 0, 0, 0 },
    422  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    423  1.1  skrll     & ifmt_add2, { 0x2a }
    424  1.1  skrll   },
    425  1.1  skrll /* slt $rd,$rs,$rt */
    426  1.1  skrll   {
    427  1.1  skrll     { 0, 0, 0, 0 },
    428  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    429  1.1  skrll     & ifmt_add, { 0x2a }
    430  1.1  skrll   },
    431  1.1  skrll /* slti ${rt-rs},$imm */
    432  1.1  skrll   {
    433  1.1  skrll     { 0, 0, 0, 0 },
    434  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (IMM), 0 } },
    435  1.1  skrll     & ifmt_slti2, { 0x28000000 }
    436  1.1  skrll   },
    437  1.1  skrll /* slti $rt,$rs,$imm */
    438  1.1  skrll   {
    439  1.1  skrll     { 0, 0, 0, 0 },
    440  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
    441  1.1  skrll     & ifmt_slti, { 0x28000000 }
    442  1.1  skrll   },
    443  1.1  skrll /* sltiu ${rt-rs},$imm */
    444  1.1  skrll   {
    445  1.1  skrll     { 0, 0, 0, 0 },
    446  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (IMM), 0 } },
    447  1.1  skrll     & ifmt_slti2, { 0x2c000000 }
    448  1.1  skrll   },
    449  1.1  skrll /* sltiu $rt,$rs,$imm */
    450  1.1  skrll   {
    451  1.1  skrll     { 0, 0, 0, 0 },
    452  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
    453  1.1  skrll     & ifmt_slti, { 0x2c000000 }
    454  1.1  skrll   },
    455  1.1  skrll /* sltu ${rd-rs},$rt */
    456  1.1  skrll   {
    457  1.1  skrll     { 0, 0, 0, 0 },
    458  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    459  1.1  skrll     & ifmt_add2, { 0x2b }
    460  1.1  skrll   },
    461  1.1  skrll /* sltu $rd,$rs,$rt */
    462  1.1  skrll   {
    463  1.1  skrll     { 0, 0, 0, 0 },
    464  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    465  1.1  skrll     & ifmt_add, { 0x2b }
    466  1.1  skrll   },
    467  1.1  skrll /* sra ${rd-rt},$shamt */
    468  1.1  skrll   {
    469  1.1  skrll     { 0, 0, 0, 0 },
    470  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (SHAMT), 0 } },
    471  1.1  skrll     & ifmt_sra2, { 0x3 }
    472  1.1  skrll   },
    473  1.1  skrll /* sra $rd,$rt,$shamt */
    474  1.1  skrll   {
    475  1.1  skrll     { 0, 0, 0, 0 },
    476  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
    477  1.1  skrll     & ifmt_sll, { 0x3 }
    478  1.1  skrll   },
    479  1.1  skrll /* srav ${rd-rt},$rs */
    480  1.1  skrll   {
    481  1.1  skrll     { 0, 0, 0, 0 },
    482  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
    483  1.1  skrll     & ifmt_sllv2, { 0x7 }
    484  1.1  skrll   },
    485  1.1  skrll /* srav $rd,$rt,$rs */
    486  1.1  skrll   {
    487  1.1  skrll     { 0, 0, 0, 0 },
    488  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
    489  1.1  skrll     & ifmt_add, { 0x7 }
    490  1.1  skrll   },
    491  1.1  skrll /* srl $rd,$rt,$shamt */
    492  1.1  skrll   {
    493  1.1  skrll     { 0, 0, 0, 0 },
    494  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (SHAMT), 0 } },
    495  1.1  skrll     & ifmt_sll, { 0x2 }
    496  1.1  skrll   },
    497  1.1  skrll /* srlv ${rd-rt},$rs */
    498  1.1  skrll   {
    499  1.1  skrll     { 0, 0, 0, 0 },
    500  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (RS), 0 } },
    501  1.1  skrll     & ifmt_sllv2, { 0x6 }
    502  1.1  skrll   },
    503  1.1  skrll /* srlv $rd,$rt,$rs */
    504  1.1  skrll   {
    505  1.1  skrll     { 0, 0, 0, 0 },
    506  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
    507  1.1  skrll     & ifmt_add, { 0x6 }
    508  1.1  skrll   },
    509  1.1  skrll /* srmv ${rd-rt},$rs,$shamt */
    510  1.1  skrll   {
    511  1.1  skrll     { 0, 0, 0, 0 },
    512  1.1  skrll     { { MNEM, ' ', OP (RD_RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
    513  1.1  skrll     & ifmt_slmv2, { 0x5 }
    514  1.1  skrll   },
    515  1.1  skrll /* srmv $rd,$rt,$rs,$shamt */
    516  1.1  skrll   {
    517  1.1  skrll     { 0, 0, 0, 0 },
    518  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), ',', OP (SHAMT), 0 } },
    519  1.1  skrll     & ifmt_slmv, { 0x5 }
    520  1.1  skrll   },
    521  1.1  skrll /* sub ${rd-rs},$rt */
    522  1.1  skrll   {
    523  1.1  skrll     { 0, 0, 0, 0 },
    524  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    525  1.1  skrll     & ifmt_add2, { 0x22 }
    526  1.1  skrll   },
    527  1.1  skrll /* sub $rd,$rs,$rt */
    528  1.1  skrll   {
    529  1.1  skrll     { 0, 0, 0, 0 },
    530  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    531  1.1  skrll     & ifmt_add, { 0x22 }
    532  1.1  skrll   },
    533  1.1  skrll /* subu ${rd-rs},$rt */
    534  1.1  skrll   {
    535  1.1  skrll     { 0, 0, 0, 0 },
    536  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    537  1.1  skrll     & ifmt_add2, { 0x23 }
    538  1.1  skrll   },
    539  1.1  skrll /* subu $rd,$rs,$rt */
    540  1.1  skrll   {
    541  1.1  skrll     { 0, 0, 0, 0 },
    542  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    543  1.1  skrll     & ifmt_add, { 0x23 }
    544  1.1  skrll   },
    545  1.1  skrll /* xor ${rd-rs},$rt */
    546  1.1  skrll   {
    547  1.1  skrll     { 0, 0, 0, 0 },
    548  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), 0 } },
    549  1.1  skrll     & ifmt_add2, { 0x26 }
    550  1.1  skrll   },
    551  1.1  skrll /* xor $rd,$rs,$rt */
    552  1.1  skrll   {
    553  1.1  skrll     { 0, 0, 0, 0 },
    554  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
    555  1.1  skrll     & ifmt_add, { 0x26 }
    556  1.1  skrll   },
    557  1.1  skrll /* xori ${rt-rs},$lo16 */
    558  1.1  skrll   {
    559  1.1  skrll     { 0, 0, 0, 0 },
    560  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (LO16), 0 } },
    561  1.1  skrll     & ifmt_addi2, { 0x38000000 }
    562  1.1  skrll   },
    563  1.1  skrll /* xori $rt,$rs,$lo16 */
    564  1.1  skrll   {
    565  1.1  skrll     { 0, 0, 0, 0 },
    566  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
    567  1.1  skrll     & ifmt_addi, { 0x38000000 }
    568  1.1  skrll   },
    569  1.1  skrll /* bbi $rs($bitnum),$offset */
    570  1.1  skrll   {
    571  1.1  skrll     { 0, 0, 0, 0 },
    572  1.1  skrll     { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
    573  1.1  skrll     & ifmt_bbi, { 0x70000000 }
    574  1.1  skrll   },
    575  1.1  skrll /* bbin $rs($bitnum),$offset */
    576  1.1  skrll   {
    577  1.1  skrll     { 0, 0, 0, 0 },
    578  1.1  skrll     { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
    579  1.1  skrll     & ifmt_bbi, { 0x78000000 }
    580  1.1  skrll   },
    581  1.1  skrll /* bbv $rs,$rt,$offset */
    582  1.1  skrll   {
    583  1.1  skrll     { 0, 0, 0, 0 },
    584  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    585  1.1  skrll     & ifmt_bbv, { 0x74000000 }
    586  1.1  skrll   },
    587  1.1  skrll /* bbvn $rs,$rt,$offset */
    588  1.1  skrll   {
    589  1.1  skrll     { 0, 0, 0, 0 },
    590  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    591  1.1  skrll     & ifmt_bbv, { 0x7c000000 }
    592  1.1  skrll   },
    593  1.1  skrll /* beq $rs,$rt,$offset */
    594  1.1  skrll   {
    595  1.1  skrll     { 0, 0, 0, 0 },
    596  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    597  1.1  skrll     & ifmt_bbv, { 0x10000000 }
    598  1.1  skrll   },
    599  1.1  skrll /* beql $rs,$rt,$offset */
    600  1.1  skrll   {
    601  1.1  skrll     { 0, 0, 0, 0 },
    602  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    603  1.1  skrll     & ifmt_bbv, { 0x50000000 }
    604  1.1  skrll   },
    605  1.1  skrll /* bgez $rs,$offset */
    606  1.1  skrll   {
    607  1.1  skrll     { 0, 0, 0, 0 },
    608  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    609  1.1  skrll     & ifmt_bgez, { 0x4010000 }
    610  1.1  skrll   },
    611  1.1  skrll /* bgezal $rs,$offset */
    612  1.1  skrll   {
    613  1.1  skrll     { 0, 0, 0, 0 },
    614  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    615  1.1  skrll     & ifmt_bgez, { 0x4110000 }
    616  1.1  skrll   },
    617  1.1  skrll /* bgezall $rs,$offset */
    618  1.1  skrll   {
    619  1.1  skrll     { 0, 0, 0, 0 },
    620  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    621  1.1  skrll     & ifmt_bgez, { 0x4130000 }
    622  1.1  skrll   },
    623  1.1  skrll /* bgezl $rs,$offset */
    624  1.1  skrll   {
    625  1.1  skrll     { 0, 0, 0, 0 },
    626  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    627  1.1  skrll     & ifmt_bgez, { 0x4030000 }
    628  1.1  skrll   },
    629  1.1  skrll /* bltz $rs,$offset */
    630  1.1  skrll   {
    631  1.1  skrll     { 0, 0, 0, 0 },
    632  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    633  1.1  skrll     & ifmt_bgez, { 0x4000000 }
    634  1.1  skrll   },
    635  1.1  skrll /* bltzl $rs,$offset */
    636  1.1  skrll   {
    637  1.1  skrll     { 0, 0, 0, 0 },
    638  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    639  1.1  skrll     & ifmt_bgez, { 0x4020000 }
    640  1.1  skrll   },
    641  1.1  skrll /* bltzal $rs,$offset */
    642  1.1  skrll   {
    643  1.1  skrll     { 0, 0, 0, 0 },
    644  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    645  1.1  skrll     & ifmt_bgez, { 0x4100000 }
    646  1.1  skrll   },
    647  1.1  skrll /* bltzall $rs,$offset */
    648  1.1  skrll   {
    649  1.1  skrll     { 0, 0, 0, 0 },
    650  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    651  1.1  skrll     & ifmt_bgez, { 0x4120000 }
    652  1.1  skrll   },
    653  1.1  skrll /* bmb0 $rs,$rt,$offset */
    654  1.1  skrll   {
    655  1.1  skrll     { 0, 0, 0, 0 },
    656  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    657  1.1  skrll     & ifmt_bbv, { 0x60000000 }
    658  1.1  skrll   },
    659  1.1  skrll /* bmb1 $rs,$rt,$offset */
    660  1.1  skrll   {
    661  1.1  skrll     { 0, 0, 0, 0 },
    662  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    663  1.1  skrll     & ifmt_bbv, { 0x64000000 }
    664  1.1  skrll   },
    665  1.1  skrll /* bmb2 $rs,$rt,$offset */
    666  1.1  skrll   {
    667  1.1  skrll     { 0, 0, 0, 0 },
    668  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    669  1.1  skrll     & ifmt_bbv, { 0x68000000 }
    670  1.1  skrll   },
    671  1.1  skrll /* bmb3 $rs,$rt,$offset */
    672  1.1  skrll   {
    673  1.1  skrll     { 0, 0, 0, 0 },
    674  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    675  1.1  skrll     & ifmt_bbv, { 0x6c000000 }
    676  1.1  skrll   },
    677  1.1  skrll /* bne $rs,$rt,$offset */
    678  1.1  skrll   {
    679  1.1  skrll     { 0, 0, 0, 0 },
    680  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    681  1.1  skrll     & ifmt_bbv, { 0x14000000 }
    682  1.1  skrll   },
    683  1.1  skrll /* bnel $rs,$rt,$offset */
    684  1.1  skrll   {
    685  1.1  skrll     { 0, 0, 0, 0 },
    686  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
    687  1.1  skrll     & ifmt_bbv, { 0x54000000 }
    688  1.1  skrll   },
    689  1.1  skrll /* jalr $rd,$rs */
    690  1.1  skrll   {
    691  1.1  skrll     { 0, 0, 0, 0 },
    692  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
    693  1.1  skrll     & ifmt_jalr, { 0x9 }
    694  1.1  skrll   },
    695  1.1  skrll /* jr $rs */
    696  1.1  skrll   {
    697  1.1  skrll     { 0, 0, 0, 0 },
    698  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
    699  1.1  skrll     & ifmt_jr, { 0x8 }
    700  1.1  skrll   },
    701  1.1  skrll /* lb $rt,$lo16($base) */
    702  1.1  skrll   {
    703  1.1  skrll     { 0, 0, 0, 0 },
    704  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    705  1.1  skrll     & ifmt_lb, { 0x80000000 }
    706  1.1  skrll   },
    707  1.1  skrll /* lbu $rt,$lo16($base) */
    708  1.1  skrll   {
    709  1.1  skrll     { 0, 0, 0, 0 },
    710  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    711  1.1  skrll     & ifmt_lb, { 0x90000000 }
    712  1.1  skrll   },
    713  1.1  skrll /* lh $rt,$lo16($base) */
    714  1.1  skrll   {
    715  1.1  skrll     { 0, 0, 0, 0 },
    716  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    717  1.1  skrll     & ifmt_lb, { 0x84000000 }
    718  1.1  skrll   },
    719  1.1  skrll /* lhu $rt,$lo16($base) */
    720  1.1  skrll   {
    721  1.1  skrll     { 0, 0, 0, 0 },
    722  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    723  1.1  skrll     & ifmt_lb, { 0x94000000 }
    724  1.1  skrll   },
    725  1.1  skrll /* lui $rt,$hi16 */
    726  1.1  skrll   {
    727  1.1  skrll     { 0, 0, 0, 0 },
    728  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (HI16), 0 } },
    729  1.1  skrll     & ifmt_lui, { 0x3c000000 }
    730  1.1  skrll   },
    731  1.1  skrll /* lw $rt,$lo16($base) */
    732  1.1  skrll   {
    733  1.1  skrll     { 0, 0, 0, 0 },
    734  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    735  1.1  skrll     & ifmt_lb, { 0x8c000000 }
    736  1.1  skrll   },
    737  1.1  skrll /* sb $rt,$lo16($base) */
    738  1.1  skrll   {
    739  1.1  skrll     { 0, 0, 0, 0 },
    740  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    741  1.1  skrll     & ifmt_lb, { 0xa0000000 }
    742  1.1  skrll   },
    743  1.1  skrll /* sh $rt,$lo16($base) */
    744  1.1  skrll   {
    745  1.1  skrll     { 0, 0, 0, 0 },
    746  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    747  1.1  skrll     & ifmt_lb, { 0xa4000000 }
    748  1.1  skrll   },
    749  1.1  skrll /* sw $rt,$lo16($base) */
    750  1.1  skrll   {
    751  1.1  skrll     { 0, 0, 0, 0 },
    752  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
    753  1.1  skrll     & ifmt_lb, { 0xac000000 }
    754  1.1  skrll   },
    755  1.1  skrll /* break */
    756  1.1  skrll   {
    757  1.1  skrll     { 0, 0, 0, 0 },
    758  1.1  skrll     { { MNEM, 0 } },
    759  1.1  skrll     & ifmt_break, { 0xd }
    760  1.1  skrll   },
    761  1.1  skrll /* syscall */
    762  1.1  skrll   {
    763  1.1  skrll     { 0, 0, 0, 0 },
    764  1.1  skrll     { { MNEM, 0 } },
    765  1.1  skrll     & ifmt_syscall, { 0xc }
    766  1.1  skrll   },
    767  1.1  skrll /* andoui $rt,$rs,$hi16 */
    768  1.1  skrll   {
    769  1.1  skrll     { 0, 0, 0, 0 },
    770  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
    771  1.1  skrll     & ifmt_andoui, { 0xfc000000 }
    772  1.1  skrll   },
    773  1.1  skrll /* andoui ${rt-rs},$hi16 */
    774  1.1  skrll   {
    775  1.1  skrll     { 0, 0, 0, 0 },
    776  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
    777  1.1  skrll     & ifmt_andoui2, { 0xfc000000 }
    778  1.1  skrll   },
    779  1.1  skrll /* orui ${rt-rs},$hi16 */
    780  1.1  skrll   {
    781  1.1  skrll     { 0, 0, 0, 0 },
    782  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
    783  1.1  skrll     & ifmt_andoui2, { 0xbc000000 }
    784  1.1  skrll   },
    785  1.1  skrll /* orui $rt,$rs,$hi16 */
    786  1.1  skrll   {
    787  1.1  skrll     { 0, 0, 0, 0 },
    788  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
    789  1.1  skrll     & ifmt_andoui, { 0xbc000000 }
    790  1.1  skrll   },
    791  1.1  skrll /* bgtz $rs,$offset */
    792  1.1  skrll   {
    793  1.1  skrll     { 0, 0, 0, 0 },
    794  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    795  1.1  skrll     & ifmt_bgez, { 0x1c000000 }
    796  1.1  skrll   },
    797  1.1  skrll /* bgtzl $rs,$offset */
    798  1.1  skrll   {
    799  1.1  skrll     { 0, 0, 0, 0 },
    800  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    801  1.1  skrll     & ifmt_bgez, { 0x5c000000 }
    802  1.1  skrll   },
    803  1.1  skrll /* blez $rs,$offset */
    804  1.1  skrll   {
    805  1.1  skrll     { 0, 0, 0, 0 },
    806  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    807  1.1  skrll     & ifmt_bgez, { 0x18000000 }
    808  1.1  skrll   },
    809  1.1  skrll /* blezl $rs,$offset */
    810  1.1  skrll   {
    811  1.1  skrll     { 0, 0, 0, 0 },
    812  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    813  1.1  skrll     & ifmt_bgez, { 0x58000000 }
    814  1.1  skrll   },
    815  1.1  skrll /* mrgb $rd,$rs,$rt,$mask */
    816  1.1  skrll   {
    817  1.1  skrll     { 0, 0, 0, 0 },
    818  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (MASK), 0 } },
    819  1.1  skrll     & ifmt_mrgb, { 0x2d }
    820  1.1  skrll   },
    821  1.1  skrll /* mrgb ${rd-rs},$rt,$mask */
    822  1.1  skrll   {
    823  1.1  skrll     { 0, 0, 0, 0 },
    824  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), ',', OP (MASK), 0 } },
    825  1.1  skrll     & ifmt_mrgb2, { 0x2d }
    826  1.1  skrll   },
    827  1.1  skrll /* bctxt $rs,$offset */
    828  1.1  skrll   {
    829  1.1  skrll     { 0, 0, 0, 0 },
    830  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
    831  1.1  skrll     & ifmt_bgez, { 0x4060000 }
    832  1.1  skrll   },
    833  1.1  skrll /* bc0f $offset */
    834  1.1  skrll   {
    835  1.1  skrll     { 0, 0, 0, 0 },
    836  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    837  1.1  skrll     & ifmt_bc0f, { 0x41000000 }
    838  1.1  skrll   },
    839  1.1  skrll /* bc0fl $offset */
    840  1.1  skrll   {
    841  1.1  skrll     { 0, 0, 0, 0 },
    842  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    843  1.1  skrll     & ifmt_bc0f, { 0x41020000 }
    844  1.1  skrll   },
    845  1.1  skrll /* bc3f $offset */
    846  1.1  skrll   {
    847  1.1  skrll     { 0, 0, 0, 0 },
    848  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    849  1.1  skrll     & ifmt_bc0f, { 0x4d000000 }
    850  1.1  skrll   },
    851  1.1  skrll /* bc3fl $offset */
    852  1.1  skrll   {
    853  1.1  skrll     { 0, 0, 0, 0 },
    854  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    855  1.1  skrll     & ifmt_bc0f, { 0x4d020000 }
    856  1.1  skrll   },
    857  1.1  skrll /* bc0t $offset */
    858  1.1  skrll   {
    859  1.1  skrll     { 0, 0, 0, 0 },
    860  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    861  1.1  skrll     & ifmt_bc0f, { 0x41010000 }
    862  1.1  skrll   },
    863  1.1  skrll /* bc0tl $offset */
    864  1.1  skrll   {
    865  1.1  skrll     { 0, 0, 0, 0 },
    866  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    867  1.1  skrll     & ifmt_bc0f, { 0x41030000 }
    868  1.1  skrll   },
    869  1.1  skrll /* bc3t $offset */
    870  1.1  skrll   {
    871  1.1  skrll     { 0, 0, 0, 0 },
    872  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    873  1.1  skrll     & ifmt_bc0f, { 0x4d010000 }
    874  1.1  skrll   },
    875  1.1  skrll /* bc3tl $offset */
    876  1.1  skrll   {
    877  1.1  skrll     { 0, 0, 0, 0 },
    878  1.1  skrll     { { MNEM, ' ', OP (OFFSET), 0 } },
    879  1.1  skrll     & ifmt_bc0f, { 0x4d030000 }
    880  1.1  skrll   },
    881  1.1  skrll /* cfc0 $rt,$rd */
    882  1.1  skrll   {
    883  1.1  skrll     { 0, 0, 0, 0 },
    884  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    885  1.1  skrll     & ifmt_cfc0, { 0x40400000 }
    886  1.1  skrll   },
    887  1.1  skrll /* cfc1 $rt,$rd */
    888  1.1  skrll   {
    889  1.1  skrll     { 0, 0, 0, 0 },
    890  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    891  1.1  skrll     & ifmt_cfc0, { 0x44400000 }
    892  1.1  skrll   },
    893  1.1  skrll /* cfc2 $rt,$rd */
    894  1.1  skrll   {
    895  1.1  skrll     { 0, 0, 0, 0 },
    896  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    897  1.1  skrll     & ifmt_cfc0, { 0x48400000 }
    898  1.1  skrll   },
    899  1.1  skrll /* cfc3 $rt,$rd */
    900  1.1  skrll   {
    901  1.1  skrll     { 0, 0, 0, 0 },
    902  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    903  1.1  skrll     & ifmt_cfc0, { 0x4c400000 }
    904  1.1  skrll   },
    905  1.1  skrll /* chkhdr $rd,$rt */
    906  1.1  skrll   {
    907  1.1  skrll     { 0, 0, 0, 0 },
    908  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
    909  1.1  skrll     & ifmt_chkhdr, { 0x4d200000 }
    910  1.1  skrll   },
    911  1.1  skrll /* ctc0 $rt,$rd */
    912  1.1  skrll   {
    913  1.1  skrll     { 0, 0, 0, 0 },
    914  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    915  1.1  skrll     & ifmt_cfc0, { 0x40c00000 }
    916  1.1  skrll   },
    917  1.1  skrll /* ctc1 $rt,$rd */
    918  1.1  skrll   {
    919  1.1  skrll     { 0, 0, 0, 0 },
    920  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    921  1.1  skrll     & ifmt_cfc0, { 0x44c00000 }
    922  1.1  skrll   },
    923  1.1  skrll /* ctc2 $rt,$rd */
    924  1.1  skrll   {
    925  1.1  skrll     { 0, 0, 0, 0 },
    926  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    927  1.1  skrll     & ifmt_cfc0, { 0x48c00000 }
    928  1.1  skrll   },
    929  1.1  skrll /* ctc3 $rt,$rd */
    930  1.1  skrll   {
    931  1.1  skrll     { 0, 0, 0, 0 },
    932  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    933  1.1  skrll     & ifmt_cfc0, { 0x4cc00000 }
    934  1.1  skrll   },
    935  1.1  skrll /* jcr $rs */
    936  1.1  skrll   {
    937  1.1  skrll     { 0, 0, 0, 0 },
    938  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
    939  1.1  skrll     & ifmt_jr, { 0xa }
    940  1.1  skrll   },
    941  1.1  skrll /* luc32 $rt,$rd */
    942  1.1  skrll   {
    943  1.1  skrll     { 0, 0, 0, 0 },
    944  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    945  1.1  skrll     & ifmt_chkhdr, { 0x48200003 }
    946  1.1  skrll   },
    947  1.1  skrll /* luc32l $rt,$rd */
    948  1.1  skrll   {
    949  1.1  skrll     { 0, 0, 0, 0 },
    950  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    951  1.1  skrll     & ifmt_chkhdr, { 0x48200007 }
    952  1.1  skrll   },
    953  1.1  skrll /* luc64 $rt,$rd */
    954  1.1  skrll   {
    955  1.1  skrll     { 0, 0, 0, 0 },
    956  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    957  1.1  skrll     & ifmt_chkhdr, { 0x4820000b }
    958  1.1  skrll   },
    959  1.1  skrll /* luc64l $rt,$rd */
    960  1.1  skrll   {
    961  1.1  skrll     { 0, 0, 0, 0 },
    962  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    963  1.1  skrll     & ifmt_chkhdr, { 0x4820000f }
    964  1.1  skrll   },
    965  1.1  skrll /* luk $rt,$rd */
    966  1.1  skrll   {
    967  1.1  skrll     { 0, 0, 0, 0 },
    968  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    969  1.1  skrll     & ifmt_chkhdr, { 0x48200008 }
    970  1.1  skrll   },
    971  1.1  skrll /* lulck $rt */
    972  1.1  skrll   {
    973  1.1  skrll     { 0, 0, 0, 0 },
    974  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
    975  1.1  skrll     & ifmt_lulck, { 0x48200004 }
    976  1.1  skrll   },
    977  1.1  skrll /* lum32 $rt,$rd */
    978  1.1  skrll   {
    979  1.1  skrll     { 0, 0, 0, 0 },
    980  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    981  1.1  skrll     & ifmt_chkhdr, { 0x48200002 }
    982  1.1  skrll   },
    983  1.1  skrll /* lum32l $rt,$rd */
    984  1.1  skrll   {
    985  1.1  skrll     { 0, 0, 0, 0 },
    986  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    987  1.1  skrll     & ifmt_chkhdr, { 0x48200006 }
    988  1.1  skrll   },
    989  1.1  skrll /* lum64 $rt,$rd */
    990  1.1  skrll   {
    991  1.1  skrll     { 0, 0, 0, 0 },
    992  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    993  1.1  skrll     & ifmt_chkhdr, { 0x4820000a }
    994  1.1  skrll   },
    995  1.1  skrll /* lum64l $rt,$rd */
    996  1.1  skrll   {
    997  1.1  skrll     { 0, 0, 0, 0 },
    998  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
    999  1.1  skrll     & ifmt_chkhdr, { 0x4820000e }
   1000  1.1  skrll   },
   1001  1.1  skrll /* lur $rt,$rd */
   1002  1.1  skrll   {
   1003  1.1  skrll     { 0, 0, 0, 0 },
   1004  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1005  1.1  skrll     & ifmt_chkhdr, { 0x48200001 }
   1006  1.1  skrll   },
   1007  1.1  skrll /* lurl $rt,$rd */
   1008  1.1  skrll   {
   1009  1.1  skrll     { 0, 0, 0, 0 },
   1010  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1011  1.1  skrll     & ifmt_chkhdr, { 0x48200005 }
   1012  1.1  skrll   },
   1013  1.1  skrll /* luulck $rt */
   1014  1.1  skrll   {
   1015  1.1  skrll     { 0, 0, 0, 0 },
   1016  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   1017  1.1  skrll     & ifmt_lulck, { 0x48200000 }
   1018  1.1  skrll   },
   1019  1.1  skrll /* mfc0 $rt,$rd */
   1020  1.1  skrll   {
   1021  1.1  skrll     { 0, 0, 0, 0 },
   1022  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1023  1.1  skrll     & ifmt_cfc0, { 0x40000000 }
   1024  1.1  skrll   },
   1025  1.1  skrll /* mfc1 $rt,$rd */
   1026  1.1  skrll   {
   1027  1.1  skrll     { 0, 0, 0, 0 },
   1028  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1029  1.1  skrll     & ifmt_cfc0, { 0x44000000 }
   1030  1.1  skrll   },
   1031  1.1  skrll /* mfc2 $rt,$rd */
   1032  1.1  skrll   {
   1033  1.1  skrll     { 0, 0, 0, 0 },
   1034  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1035  1.1  skrll     & ifmt_cfc0, { 0x48000000 }
   1036  1.1  skrll   },
   1037  1.1  skrll /* mfc3 $rt,$rd */
   1038  1.1  skrll   {
   1039  1.1  skrll     { 0, 0, 0, 0 },
   1040  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1041  1.1  skrll     & ifmt_cfc0, { 0x4c000000 }
   1042  1.1  skrll   },
   1043  1.1  skrll /* mtc0 $rt,$rd */
   1044  1.1  skrll   {
   1045  1.1  skrll     { 0, 0, 0, 0 },
   1046  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1047  1.1  skrll     & ifmt_cfc0, { 0x40800000 }
   1048  1.1  skrll   },
   1049  1.1  skrll /* mtc1 $rt,$rd */
   1050  1.1  skrll   {
   1051  1.1  skrll     { 0, 0, 0, 0 },
   1052  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1053  1.1  skrll     & ifmt_cfc0, { 0x44800000 }
   1054  1.1  skrll   },
   1055  1.1  skrll /* mtc2 $rt,$rd */
   1056  1.1  skrll   {
   1057  1.1  skrll     { 0, 0, 0, 0 },
   1058  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1059  1.1  skrll     & ifmt_cfc0, { 0x48800000 }
   1060  1.1  skrll   },
   1061  1.1  skrll /* mtc3 $rt,$rd */
   1062  1.1  skrll   {
   1063  1.1  skrll     { 0, 0, 0, 0 },
   1064  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1065  1.1  skrll     & ifmt_cfc0, { 0x4c800000 }
   1066  1.1  skrll   },
   1067  1.1  skrll /* pkrl $rd,$rt */
   1068  1.1  skrll   {
   1069  1.1  skrll     { 0, 0, 0, 0 },
   1070  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1071  1.1  skrll     & ifmt_chkhdr, { 0x4c200007 }
   1072  1.1  skrll   },
   1073  1.1  skrll /* pkrlr1 $rt,$_index,$count */
   1074  1.1  skrll   {
   1075  1.1  skrll     { 0, 0, 0, 0 },
   1076  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1077  1.1  skrll     & ifmt_pkrlr1, { 0x4fa00000 }
   1078  1.1  skrll   },
   1079  1.1  skrll /* pkrlr30 $rt,$_index,$count */
   1080  1.1  skrll   {
   1081  1.1  skrll     { 0, 0, 0, 0 },
   1082  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1083  1.1  skrll     & ifmt_pkrlr1, { 0x4fe00000 }
   1084  1.1  skrll   },
   1085  1.1  skrll /* rb $rd,$rt */
   1086  1.1  skrll   {
   1087  1.1  skrll     { 0, 0, 0, 0 },
   1088  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1089  1.1  skrll     & ifmt_chkhdr, { 0x4c200004 }
   1090  1.1  skrll   },
   1091  1.1  skrll /* rbr1 $rt,$_index,$count */
   1092  1.1  skrll   {
   1093  1.1  skrll     { 0, 0, 0, 0 },
   1094  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1095  1.1  skrll     & ifmt_pkrlr1, { 0x4f000000 }
   1096  1.1  skrll   },
   1097  1.1  skrll /* rbr30 $rt,$_index,$count */
   1098  1.1  skrll   {
   1099  1.1  skrll     { 0, 0, 0, 0 },
   1100  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1101  1.1  skrll     & ifmt_pkrlr1, { 0x4f400000 }
   1102  1.1  skrll   },
   1103  1.1  skrll /* rfe */
   1104  1.1  skrll   {
   1105  1.1  skrll     { 0, 0, 0, 0 },
   1106  1.1  skrll     { { MNEM, 0 } },
   1107  1.1  skrll     & ifmt_rfe, { 0x42000010 }
   1108  1.1  skrll   },
   1109  1.1  skrll /* rx $rd,$rt */
   1110  1.1  skrll   {
   1111  1.1  skrll     { 0, 0, 0, 0 },
   1112  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1113  1.1  skrll     & ifmt_chkhdr, { 0x4c200006 }
   1114  1.1  skrll   },
   1115  1.1  skrll /* rxr1 $rt,$_index,$count */
   1116  1.1  skrll   {
   1117  1.1  skrll     { 0, 0, 0, 0 },
   1118  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1119  1.1  skrll     & ifmt_pkrlr1, { 0x4f800000 }
   1120  1.1  skrll   },
   1121  1.1  skrll /* rxr30 $rt,$_index,$count */
   1122  1.1  skrll   {
   1123  1.1  skrll     { 0, 0, 0, 0 },
   1124  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1125  1.1  skrll     & ifmt_pkrlr1, { 0x4fc00000 }
   1126  1.1  skrll   },
   1127  1.1  skrll /* sleep */
   1128  1.1  skrll   {
   1129  1.1  skrll     { 0, 0, 0, 0 },
   1130  1.1  skrll     { { MNEM, 0 } },
   1131  1.1  skrll     & ifmt_syscall, { 0xe }
   1132  1.1  skrll   },
   1133  1.1  skrll /* srrd $rt */
   1134  1.1  skrll   {
   1135  1.1  skrll     { 0, 0, 0, 0 },
   1136  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   1137  1.1  skrll     & ifmt_lulck, { 0x48200010 }
   1138  1.1  skrll   },
   1139  1.1  skrll /* srrdl $rt */
   1140  1.1  skrll   {
   1141  1.1  skrll     { 0, 0, 0, 0 },
   1142  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   1143  1.1  skrll     & ifmt_lulck, { 0x48200014 }
   1144  1.1  skrll   },
   1145  1.1  skrll /* srulck $rt */
   1146  1.1  skrll   {
   1147  1.1  skrll     { 0, 0, 0, 0 },
   1148  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   1149  1.1  skrll     & ifmt_lulck, { 0x48200016 }
   1150  1.1  skrll   },
   1151  1.1  skrll /* srwr $rt,$rd */
   1152  1.1  skrll   {
   1153  1.1  skrll     { 0, 0, 0, 0 },
   1154  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1155  1.1  skrll     & ifmt_chkhdr, { 0x48200011 }
   1156  1.1  skrll   },
   1157  1.1  skrll /* srwru $rt,$rd */
   1158  1.1  skrll   {
   1159  1.1  skrll     { 0, 0, 0, 0 },
   1160  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RD), 0 } },
   1161  1.1  skrll     & ifmt_chkhdr, { 0x48200015 }
   1162  1.1  skrll   },
   1163  1.1  skrll /* trapqfl */
   1164  1.1  skrll   {
   1165  1.1  skrll     { 0, 0, 0, 0 },
   1166  1.1  skrll     { { MNEM, 0 } },
   1167  1.1  skrll     & ifmt_break, { 0x4c200008 }
   1168  1.1  skrll   },
   1169  1.1  skrll /* trapqne */
   1170  1.1  skrll   {
   1171  1.1  skrll     { 0, 0, 0, 0 },
   1172  1.1  skrll     { { MNEM, 0 } },
   1173  1.1  skrll     & ifmt_break, { 0x4c200009 }
   1174  1.1  skrll   },
   1175  1.1  skrll /* traprel $rt */
   1176  1.1  skrll   {
   1177  1.1  skrll     { 0, 0, 0, 0 },
   1178  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   1179  1.1  skrll     & ifmt_lulck, { 0x4c20000a }
   1180  1.1  skrll   },
   1181  1.1  skrll /* wb $rd,$rt */
   1182  1.1  skrll   {
   1183  1.1  skrll     { 0, 0, 0, 0 },
   1184  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1185  1.1  skrll     & ifmt_chkhdr, { 0x4c200000 }
   1186  1.1  skrll   },
   1187  1.1  skrll /* wbu $rd,$rt */
   1188  1.1  skrll   {
   1189  1.1  skrll     { 0, 0, 0, 0 },
   1190  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1191  1.1  skrll     & ifmt_chkhdr, { 0x4c200001 }
   1192  1.1  skrll   },
   1193  1.1  skrll /* wbr1 $rt,$_index,$count */
   1194  1.1  skrll   {
   1195  1.1  skrll     { 0, 0, 0, 0 },
   1196  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1197  1.1  skrll     & ifmt_pkrlr1, { 0x4e000000 }
   1198  1.1  skrll   },
   1199  1.1  skrll /* wbr1u $rt,$_index,$count */
   1200  1.1  skrll   {
   1201  1.1  skrll     { 0, 0, 0, 0 },
   1202  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1203  1.1  skrll     & ifmt_pkrlr1, { 0x4e200000 }
   1204  1.1  skrll   },
   1205  1.1  skrll /* wbr30 $rt,$_index,$count */
   1206  1.1  skrll   {
   1207  1.1  skrll     { 0, 0, 0, 0 },
   1208  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1209  1.1  skrll     & ifmt_pkrlr1, { 0x4e400000 }
   1210  1.1  skrll   },
   1211  1.1  skrll /* wbr30u $rt,$_index,$count */
   1212  1.1  skrll   {
   1213  1.1  skrll     { 0, 0, 0, 0 },
   1214  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1215  1.1  skrll     & ifmt_pkrlr1, { 0x4e600000 }
   1216  1.1  skrll   },
   1217  1.1  skrll /* wx $rd,$rt */
   1218  1.1  skrll   {
   1219  1.1  skrll     { 0, 0, 0, 0 },
   1220  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1221  1.1  skrll     & ifmt_chkhdr, { 0x4c200002 }
   1222  1.1  skrll   },
   1223  1.1  skrll /* wxu $rd,$rt */
   1224  1.1  skrll   {
   1225  1.1  skrll     { 0, 0, 0, 0 },
   1226  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1227  1.1  skrll     & ifmt_chkhdr, { 0x4c200003 }
   1228  1.1  skrll   },
   1229  1.1  skrll /* wxr1 $rt,$_index,$count */
   1230  1.1  skrll   {
   1231  1.1  skrll     { 0, 0, 0, 0 },
   1232  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1233  1.1  skrll     & ifmt_pkrlr1, { 0x4e800000 }
   1234  1.1  skrll   },
   1235  1.1  skrll /* wxr1u $rt,$_index,$count */
   1236  1.1  skrll   {
   1237  1.1  skrll     { 0, 0, 0, 0 },
   1238  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1239  1.1  skrll     & ifmt_pkrlr1, { 0x4ea00000 }
   1240  1.1  skrll   },
   1241  1.1  skrll /* wxr30 $rt,$_index,$count */
   1242  1.1  skrll   {
   1243  1.1  skrll     { 0, 0, 0, 0 },
   1244  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1245  1.1  skrll     & ifmt_pkrlr1, { 0x4ec00000 }
   1246  1.1  skrll   },
   1247  1.1  skrll /* wxr30u $rt,$_index,$count */
   1248  1.1  skrll   {
   1249  1.1  skrll     { 0, 0, 0, 0 },
   1250  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (_INDEX), ',', OP (COUNT), 0 } },
   1251  1.1  skrll     & ifmt_pkrlr1, { 0x4ee00000 }
   1252  1.1  skrll   },
   1253  1.1  skrll /* ldw $rt,$lo16($base) */
   1254  1.1  skrll   {
   1255  1.1  skrll     { 0, 0, 0, 0 },
   1256  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
   1257  1.1  skrll     & ifmt_lb, { 0xc0000000 }
   1258  1.1  skrll   },
   1259  1.1  skrll /* sdw $rt,$lo16($base) */
   1260  1.1  skrll   {
   1261  1.1  skrll     { 0, 0, 0, 0 },
   1262  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), '(', OP (BASE), ')', 0 } },
   1263  1.1  skrll     & ifmt_lb, { 0xe0000000 }
   1264  1.1  skrll   },
   1265  1.1  skrll /* j $jmptarg */
   1266  1.1  skrll   {
   1267  1.1  skrll     { 0, 0, 0, 0 },
   1268  1.1  skrll     { { MNEM, ' ', OP (JMPTARG), 0 } },
   1269  1.1  skrll     & ifmt_j, { 0x8000000 }
   1270  1.1  skrll   },
   1271  1.1  skrll /* jal $jmptarg */
   1272  1.1  skrll   {
   1273  1.1  skrll     { 0, 0, 0, 0 },
   1274  1.1  skrll     { { MNEM, ' ', OP (JMPTARG), 0 } },
   1275  1.1  skrll     & ifmt_j, { 0xc000000 }
   1276  1.1  skrll   },
   1277  1.1  skrll /* bmb $rs,$rt,$offset */
   1278  1.1  skrll   {
   1279  1.1  skrll     { 0, 0, 0, 0 },
   1280  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
   1281  1.1  skrll     & ifmt_bbv, { 0xb4000000 }
   1282  1.1  skrll   },
   1283  1.1  skrll /* andoui $rt,$rs,$hi16 */
   1284  1.1  skrll   {
   1285  1.1  skrll     { 0, 0, 0, 0 },
   1286  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
   1287  1.1  skrll     & ifmt_andoui, { 0xbc000000 }
   1288  1.1  skrll   },
   1289  1.1  skrll /* andoui ${rt-rs},$hi16 */
   1290  1.1  skrll   {
   1291  1.1  skrll     { 0, 0, 0, 0 },
   1292  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
   1293  1.1  skrll     & ifmt_andoui2, { 0xbc000000 }
   1294  1.1  skrll   },
   1295  1.1  skrll /* orui $rt,$rs,$hi16 */
   1296  1.1  skrll   {
   1297  1.1  skrll     { 0, 0, 0, 0 },
   1298  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (HI16), 0 } },
   1299  1.1  skrll     & ifmt_andoui, { 0x3c000000 }
   1300  1.1  skrll   },
   1301  1.1  skrll /* orui ${rt-rs},$hi16 */
   1302  1.1  skrll   {
   1303  1.1  skrll     { 0, 0, 0, 0 },
   1304  1.1  skrll     { { MNEM, ' ', OP (RT_RS), ',', OP (HI16), 0 } },
   1305  1.1  skrll     & ifmt_andoui2, { 0x3c000000 }
   1306  1.1  skrll   },
   1307  1.1  skrll /* mrgb $rd,$rs,$rt,$maskq10 */
   1308  1.1  skrll   {
   1309  1.1  skrll     { 0, 0, 0, 0 },
   1310  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (MASKQ10), 0 } },
   1311  1.1  skrll     & ifmt_mrgbq10, { 0x2d }
   1312  1.1  skrll   },
   1313  1.1  skrll /* mrgb ${rd-rs},$rt,$maskq10 */
   1314  1.1  skrll   {
   1315  1.1  skrll     { 0, 0, 0, 0 },
   1316  1.1  skrll     { { MNEM, ' ', OP (RD_RS), ',', OP (RT), ',', OP (MASKQ10), 0 } },
   1317  1.1  skrll     & ifmt_mrgbq102, { 0x2d }
   1318  1.1  skrll   },
   1319  1.1  skrll /* j $jmptarg */
   1320  1.1  skrll   {
   1321  1.1  skrll     { 0, 0, 0, 0 },
   1322  1.1  skrll     { { MNEM, ' ', OP (JMPTARG), 0 } },
   1323  1.1  skrll     & ifmt_jq10, { 0x8000000 }
   1324  1.1  skrll   },
   1325  1.1  skrll /* jal $rt,$jmptarg */
   1326  1.1  skrll   {
   1327  1.1  skrll     { 0, 0, 0, 0 },
   1328  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (JMPTARG), 0 } },
   1329  1.1  skrll     & ifmt_jalq10, { 0xc000000 }
   1330  1.1  skrll   },
   1331  1.1  skrll /* jal $jmptarg */
   1332  1.1  skrll   {
   1333  1.1  skrll     { 0, 0, 0, 0 },
   1334  1.1  skrll     { { MNEM, ' ', OP (JMPTARG), 0 } },
   1335  1.1  skrll     & ifmt_jq10, { 0xc1f0000 }
   1336  1.1  skrll   },
   1337  1.1  skrll /* bbil $rs($bitnum),$offset */
   1338  1.1  skrll   {
   1339  1.1  skrll     { 0, 0, 0, 0 },
   1340  1.1  skrll     { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
   1341  1.1  skrll     & ifmt_bbi, { 0xf0000000 }
   1342  1.1  skrll   },
   1343  1.1  skrll /* bbinl $rs($bitnum),$offset */
   1344  1.1  skrll   {
   1345  1.1  skrll     { 0, 0, 0, 0 },
   1346  1.1  skrll     { { MNEM, ' ', OP (RS), '(', OP (BITNUM), ')', ',', OP (OFFSET), 0 } },
   1347  1.1  skrll     & ifmt_bbi, { 0xf8000000 }
   1348  1.1  skrll   },
   1349  1.1  skrll /* bbvl $rs,$rt,$offset */
   1350  1.1  skrll   {
   1351  1.1  skrll     { 0, 0, 0, 0 },
   1352  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
   1353  1.1  skrll     & ifmt_bbv, { 0xf4000000 }
   1354  1.1  skrll   },
   1355  1.1  skrll /* bbvnl $rs,$rt,$offset */
   1356  1.1  skrll   {
   1357  1.1  skrll     { 0, 0, 0, 0 },
   1358  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
   1359  1.1  skrll     & ifmt_bbv, { 0xfc000000 }
   1360  1.1  skrll   },
   1361  1.1  skrll /* bgtzal $rs,$offset */
   1362  1.1  skrll   {
   1363  1.1  skrll     { 0, 0, 0, 0 },
   1364  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1365  1.1  skrll     & ifmt_bgez, { 0x4150000 }
   1366  1.1  skrll   },
   1367  1.1  skrll /* bgtzall $rs,$offset */
   1368  1.1  skrll   {
   1369  1.1  skrll     { 0, 0, 0, 0 },
   1370  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1371  1.1  skrll     & ifmt_bgez, { 0x4170000 }
   1372  1.1  skrll   },
   1373  1.1  skrll /* blezal $rs,$offset */
   1374  1.1  skrll   {
   1375  1.1  skrll     { 0, 0, 0, 0 },
   1376  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1377  1.1  skrll     & ifmt_bgez, { 0x4140000 }
   1378  1.1  skrll   },
   1379  1.1  skrll /* blezall $rs,$offset */
   1380  1.1  skrll   {
   1381  1.1  skrll     { 0, 0, 0, 0 },
   1382  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1383  1.1  skrll     & ifmt_bgez, { 0x4160000 }
   1384  1.1  skrll   },
   1385  1.1  skrll /* bgtz $rs,$offset */
   1386  1.1  skrll   {
   1387  1.1  skrll     { 0, 0, 0, 0 },
   1388  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1389  1.1  skrll     & ifmt_bgez, { 0x4050000 }
   1390  1.1  skrll   },
   1391  1.1  skrll /* bgtzl $rs,$offset */
   1392  1.1  skrll   {
   1393  1.1  skrll     { 0, 0, 0, 0 },
   1394  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1395  1.1  skrll     & ifmt_bgez, { 0x4070000 }
   1396  1.1  skrll   },
   1397  1.1  skrll /* blez $rs,$offset */
   1398  1.1  skrll   {
   1399  1.1  skrll     { 0, 0, 0, 0 },
   1400  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1401  1.1  skrll     & ifmt_bgez, { 0x4040000 }
   1402  1.1  skrll   },
   1403  1.1  skrll /* blezl $rs,$offset */
   1404  1.1  skrll   {
   1405  1.1  skrll     { 0, 0, 0, 0 },
   1406  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1407  1.1  skrll     & ifmt_bgez, { 0x4060000 }
   1408  1.1  skrll   },
   1409  1.1  skrll /* bmb $rs,$rt,$offset */
   1410  1.1  skrll   {
   1411  1.1  skrll     { 0, 0, 0, 0 },
   1412  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
   1413  1.1  skrll     & ifmt_bbv, { 0x18000000 }
   1414  1.1  skrll   },
   1415  1.1  skrll /* bmbl $rs,$rt,$offset */
   1416  1.1  skrll   {
   1417  1.1  skrll     { 0, 0, 0, 0 },
   1418  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (OFFSET), 0 } },
   1419  1.1  skrll     & ifmt_bbv, { 0x58000000 }
   1420  1.1  skrll   },
   1421  1.1  skrll /* bri $rs,$offset */
   1422  1.1  skrll   {
   1423  1.1  skrll     { 0, 0, 0, 0 },
   1424  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1425  1.1  skrll     & ifmt_bgez, { 0x4080000 }
   1426  1.1  skrll   },
   1427  1.1  skrll /* brv $rs,$offset */
   1428  1.1  skrll   {
   1429  1.1  skrll     { 0, 0, 0, 0 },
   1430  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1431  1.1  skrll     & ifmt_bgez, { 0x4090000 }
   1432  1.1  skrll   },
   1433  1.1  skrll /* bctx $rs,$offset */
   1434  1.1  skrll   {
   1435  1.1  skrll     { 0, 0, 0, 0 },
   1436  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (OFFSET), 0 } },
   1437  1.1  skrll     & ifmt_bgez, { 0x40c0000 }
   1438  1.1  skrll   },
   1439  1.1  skrll /* yield */
   1440  1.1  skrll   {
   1441  1.1  skrll     { 0, 0, 0, 0 },
   1442  1.1  skrll     { { MNEM, 0 } },
   1443  1.1  skrll     & ifmt_break, { 0xe }
   1444  1.1  skrll   },
   1445  1.1  skrll /* crc32 $rd,$rs,$rt */
   1446  1.1  skrll   {
   1447  1.1  skrll     { 0, 0, 0, 0 },
   1448  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1449  1.1  skrll     & ifmt_add, { 0x4c000014 }
   1450  1.1  skrll   },
   1451  1.1  skrll /* crc32b $rd,$rs,$rt */
   1452  1.1  skrll   {
   1453  1.1  skrll     { 0, 0, 0, 0 },
   1454  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1455  1.1  skrll     & ifmt_add, { 0x4c000015 }
   1456  1.1  skrll   },
   1457  1.1  skrll /* cnt1s $rd,$rs */
   1458  1.1  skrll   {
   1459  1.1  skrll     { 0, 0, 0, 0 },
   1460  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
   1461  1.1  skrll     & ifmt_add, { 0x2e }
   1462  1.1  skrll   },
   1463  1.1  skrll /* avail $rd */
   1464  1.1  skrll   {
   1465  1.1  skrll     { 0, 0, 0, 0 },
   1466  1.1  skrll     { { MNEM, ' ', OP (RD), 0 } },
   1467  1.1  skrll     & ifmt_avail, { 0x4c000024 }
   1468  1.1  skrll   },
   1469  1.1  skrll /* free $rd,$rs */
   1470  1.1  skrll   {
   1471  1.1  skrll     { 0, 0, 0, 0 },
   1472  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
   1473  1.1  skrll     & ifmt_jalr, { 0x4c000025 }
   1474  1.1  skrll   },
   1475  1.1  skrll /* tstod $rd,$rs */
   1476  1.1  skrll   {
   1477  1.1  skrll     { 0, 0, 0, 0 },
   1478  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
   1479  1.1  skrll     & ifmt_jalr, { 0x4c000027 }
   1480  1.1  skrll   },
   1481  1.1  skrll /* cmphdr $rd */
   1482  1.1  skrll   {
   1483  1.1  skrll     { 0, 0, 0, 0 },
   1484  1.1  skrll     { { MNEM, ' ', OP (RD), 0 } },
   1485  1.1  skrll     & ifmt_avail, { 0x4c00002c }
   1486  1.1  skrll   },
   1487  1.1  skrll /* mcid $rd,$rt */
   1488  1.1  skrll   {
   1489  1.1  skrll     { 0, 0, 0, 0 },
   1490  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1491  1.1  skrll     & ifmt_chkhdr, { 0x4c000020 }
   1492  1.1  skrll   },
   1493  1.1  skrll /* dba $rd */
   1494  1.1  skrll   {
   1495  1.1  skrll     { 0, 0, 0, 0 },
   1496  1.1  skrll     { { MNEM, ' ', OP (RD), 0 } },
   1497  1.1  skrll     & ifmt_avail, { 0x4c000022 }
   1498  1.1  skrll   },
   1499  1.1  skrll /* dbd $rd,$rs,$rt */
   1500  1.1  skrll   {
   1501  1.1  skrll     { 0, 0, 0, 0 },
   1502  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1503  1.1  skrll     & ifmt_add, { 0x4c000021 }
   1504  1.1  skrll   },
   1505  1.1  skrll /* dpwt $rd,$rs */
   1506  1.1  skrll   {
   1507  1.1  skrll     { 0, 0, 0, 0 },
   1508  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
   1509  1.1  skrll     & ifmt_jalr, { 0x4c000023 }
   1510  1.1  skrll   },
   1511  1.1  skrll /* chkhdr $rd,$rs */
   1512  1.1  skrll   {
   1513  1.1  skrll     { 0, 0, 0, 0 },
   1514  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), 0 } },
   1515  1.1  skrll     & ifmt_jalr, { 0x4c000026 }
   1516  1.1  skrll   },
   1517  1.1  skrll /* rba $rd,$rs,$rt */
   1518  1.1  skrll   {
   1519  1.1  skrll     { 0, 0, 0, 0 },
   1520  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1521  1.1  skrll     & ifmt_add, { 0x4c000008 }
   1522  1.1  skrll   },
   1523  1.1  skrll /* rbal $rd,$rs,$rt */
   1524  1.1  skrll   {
   1525  1.1  skrll     { 0, 0, 0, 0 },
   1526  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1527  1.1  skrll     & ifmt_add, { 0x4c000009 }
   1528  1.1  skrll   },
   1529  1.1  skrll /* rbar $rd,$rs,$rt */
   1530  1.1  skrll   {
   1531  1.1  skrll     { 0, 0, 0, 0 },
   1532  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1533  1.1  skrll     & ifmt_add, { 0x4c00000a }
   1534  1.1  skrll   },
   1535  1.1  skrll /* wba $rd,$rs,$rt */
   1536  1.1  skrll   {
   1537  1.1  skrll     { 0, 0, 0, 0 },
   1538  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1539  1.1  skrll     & ifmt_add, { 0x4c000010 }
   1540  1.1  skrll   },
   1541  1.1  skrll /* wbau $rd,$rs,$rt */
   1542  1.1  skrll   {
   1543  1.1  skrll     { 0, 0, 0, 0 },
   1544  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1545  1.1  skrll     & ifmt_add, { 0x4c000011 }
   1546  1.1  skrll   },
   1547  1.1  skrll /* wbac $rd,$rs,$rt */
   1548  1.1  skrll   {
   1549  1.1  skrll     { 0, 0, 0, 0 },
   1550  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1551  1.1  skrll     & ifmt_add, { 0x4c000012 }
   1552  1.1  skrll   },
   1553  1.1  skrll /* rbi $rd,$rs,$rt,$bytecount */
   1554  1.1  skrll   {
   1555  1.1  skrll     { 0, 0, 0, 0 },
   1556  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1557  1.1  skrll     & ifmt_rbi, { 0x4c000200 }
   1558  1.1  skrll   },
   1559  1.1  skrll /* rbil $rd,$rs,$rt,$bytecount */
   1560  1.1  skrll   {
   1561  1.1  skrll     { 0, 0, 0, 0 },
   1562  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1563  1.1  skrll     & ifmt_rbi, { 0x4c000300 }
   1564  1.1  skrll   },
   1565  1.1  skrll /* rbir $rd,$rs,$rt,$bytecount */
   1566  1.1  skrll   {
   1567  1.1  skrll     { 0, 0, 0, 0 },
   1568  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1569  1.1  skrll     & ifmt_rbi, { 0x4c000100 }
   1570  1.1  skrll   },
   1571  1.1  skrll /* wbi $rd,$rs,$rt,$bytecount */
   1572  1.1  skrll   {
   1573  1.1  skrll     { 0, 0, 0, 0 },
   1574  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1575  1.1  skrll     & ifmt_rbi, { 0x4c000600 }
   1576  1.1  skrll   },
   1577  1.1  skrll /* wbic $rd,$rs,$rt,$bytecount */
   1578  1.1  skrll   {
   1579  1.1  skrll     { 0, 0, 0, 0 },
   1580  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1581  1.1  skrll     & ifmt_rbi, { 0x4c000500 }
   1582  1.1  skrll   },
   1583  1.1  skrll /* wbiu $rd,$rs,$rt,$bytecount */
   1584  1.1  skrll   {
   1585  1.1  skrll     { 0, 0, 0, 0 },
   1586  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1587  1.1  skrll     & ifmt_rbi, { 0x4c000700 }
   1588  1.1  skrll   },
   1589  1.1  skrll /* pkrli $rd,$rs,$rt,$bytecount */
   1590  1.1  skrll   {
   1591  1.1  skrll     { 0, 0, 0, 0 },
   1592  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1593  1.1  skrll     & ifmt_rbi, { 0x48000000 }
   1594  1.1  skrll   },
   1595  1.1  skrll /* pkrlih $rd,$rs,$rt,$bytecount */
   1596  1.1  skrll   {
   1597  1.1  skrll     { 0, 0, 0, 0 },
   1598  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1599  1.1  skrll     & ifmt_rbi, { 0x48000200 }
   1600  1.1  skrll   },
   1601  1.1  skrll /* pkrliu $rd,$rs,$rt,$bytecount */
   1602  1.1  skrll   {
   1603  1.1  skrll     { 0, 0, 0, 0 },
   1604  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1605  1.1  skrll     & ifmt_rbi, { 0x48000100 }
   1606  1.1  skrll   },
   1607  1.1  skrll /* pkrlic $rd,$rs,$rt,$bytecount */
   1608  1.1  skrll   {
   1609  1.1  skrll     { 0, 0, 0, 0 },
   1610  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   1611  1.1  skrll     & ifmt_rbi, { 0x48000300 }
   1612  1.1  skrll   },
   1613  1.1  skrll /* pkrla $rd,$rs,$rt */
   1614  1.1  skrll   {
   1615  1.1  skrll     { 0, 0, 0, 0 },
   1616  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1617  1.1  skrll     & ifmt_add, { 0x4c000028 }
   1618  1.1  skrll   },
   1619  1.1  skrll /* pkrlau $rd,$rs,$rt */
   1620  1.1  skrll   {
   1621  1.1  skrll     { 0, 0, 0, 0 },
   1622  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1623  1.1  skrll     & ifmt_add, { 0x4c000029 }
   1624  1.1  skrll   },
   1625  1.1  skrll /* pkrlah $rd,$rs,$rt */
   1626  1.1  skrll   {
   1627  1.1  skrll     { 0, 0, 0, 0 },
   1628  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1629  1.1  skrll     & ifmt_add, { 0x4c00002a }
   1630  1.1  skrll   },
   1631  1.1  skrll /* pkrlac $rd,$rs,$rt */
   1632  1.1  skrll   {
   1633  1.1  skrll     { 0, 0, 0, 0 },
   1634  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1635  1.1  skrll     & ifmt_add, { 0x4c00002b }
   1636  1.1  skrll   },
   1637  1.1  skrll /* lock $rd,$rt */
   1638  1.1  skrll   {
   1639  1.1  skrll     { 0, 0, 0, 0 },
   1640  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1641  1.1  skrll     & ifmt_chkhdr, { 0x4c000001 }
   1642  1.1  skrll   },
   1643  1.1  skrll /* unlk $rd,$rt */
   1644  1.1  skrll   {
   1645  1.1  skrll     { 0, 0, 0, 0 },
   1646  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1647  1.1  skrll     & ifmt_chkhdr, { 0x4c000003 }
   1648  1.1  skrll   },
   1649  1.1  skrll /* swrd $rd,$rt */
   1650  1.1  skrll   {
   1651  1.1  skrll     { 0, 0, 0, 0 },
   1652  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1653  1.1  skrll     & ifmt_chkhdr, { 0x4c000004 }
   1654  1.1  skrll   },
   1655  1.1  skrll /* swrdl $rd,$rt */
   1656  1.1  skrll   {
   1657  1.1  skrll     { 0, 0, 0, 0 },
   1658  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1659  1.1  skrll     & ifmt_chkhdr, { 0x4c000005 }
   1660  1.1  skrll   },
   1661  1.1  skrll /* swwr $rd,$rs,$rt */
   1662  1.1  skrll   {
   1663  1.1  skrll     { 0, 0, 0, 0 },
   1664  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1665  1.1  skrll     & ifmt_add, { 0x4c000006 }
   1666  1.1  skrll   },
   1667  1.1  skrll /* swwru $rd,$rs,$rt */
   1668  1.1  skrll   {
   1669  1.1  skrll     { 0, 0, 0, 0 },
   1670  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1671  1.1  skrll     & ifmt_add, { 0x4c000007 }
   1672  1.1  skrll   },
   1673  1.1  skrll /* dwrd $rd,$rt */
   1674  1.1  skrll   {
   1675  1.1  skrll     { 0, 0, 0, 0 },
   1676  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1677  1.1  skrll     & ifmt_chkhdr, { 0x4c00000c }
   1678  1.1  skrll   },
   1679  1.1  skrll /* dwrdl $rd,$rt */
   1680  1.1  skrll   {
   1681  1.1  skrll     { 0, 0, 0, 0 },
   1682  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1683  1.1  skrll     & ifmt_chkhdr, { 0x4c00000d }
   1684  1.1  skrll   },
   1685  1.1  skrll /* cam36 $rd,$rt,${cam-z},${cam-y} */
   1686  1.1  skrll   {
   1687  1.1  skrll     { 0, 0, 0, 0 },
   1688  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), ',', OP (CAM_Y), 0 } },
   1689  1.1  skrll     & ifmt_cam36, { 0x4c000400 }
   1690  1.1  skrll   },
   1691  1.1  skrll /* cam72 $rd,$rt,${cam-y},${cam-z} */
   1692  1.1  skrll   {
   1693  1.1  skrll     { 0, 0, 0, 0 },
   1694  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
   1695  1.1  skrll     & ifmt_cam36, { 0x4c000440 }
   1696  1.1  skrll   },
   1697  1.1  skrll /* cam144 $rd,$rt,${cam-y},${cam-z} */
   1698  1.1  skrll   {
   1699  1.1  skrll     { 0, 0, 0, 0 },
   1700  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
   1701  1.1  skrll     & ifmt_cam36, { 0x4c000480 }
   1702  1.1  skrll   },
   1703  1.1  skrll /* cam288 $rd,$rt,${cam-y},${cam-z} */
   1704  1.1  skrll   {
   1705  1.1  skrll     { 0, 0, 0, 0 },
   1706  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Y), ',', OP (CAM_Z), 0 } },
   1707  1.1  skrll     & ifmt_cam36, { 0x4c0004c0 }
   1708  1.1  skrll   },
   1709  1.1  skrll /* cm32and $rd,$rs,$rt */
   1710  1.1  skrll   {
   1711  1.1  skrll     { 0, 0, 0, 0 },
   1712  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1713  1.1  skrll     & ifmt_cm32and, { 0x4c0000ab }
   1714  1.1  skrll   },
   1715  1.1  skrll /* cm32andn $rd,$rs,$rt */
   1716  1.1  skrll   {
   1717  1.1  skrll     { 0, 0, 0, 0 },
   1718  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1719  1.1  skrll     & ifmt_cm32and, { 0x4c0000a3 }
   1720  1.1  skrll   },
   1721  1.1  skrll /* cm32or $rd,$rs,$rt */
   1722  1.1  skrll   {
   1723  1.1  skrll     { 0, 0, 0, 0 },
   1724  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1725  1.1  skrll     & ifmt_cm32and, { 0x4c0000aa }
   1726  1.1  skrll   },
   1727  1.1  skrll /* cm32ra $rd,$rs,$rt */
   1728  1.1  skrll   {
   1729  1.1  skrll     { 0, 0, 0, 0 },
   1730  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1731  1.1  skrll     & ifmt_add, { 0x4c0000b0 }
   1732  1.1  skrll   },
   1733  1.1  skrll /* cm32rd $rd,$rt */
   1734  1.1  skrll   {
   1735  1.1  skrll     { 0, 0, 0, 0 },
   1736  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1737  1.1  skrll     & ifmt_cm32rd, { 0x4c0000a1 }
   1738  1.1  skrll   },
   1739  1.1  skrll /* cm32ri $rd,$rt */
   1740  1.1  skrll   {
   1741  1.1  skrll     { 0, 0, 0, 0 },
   1742  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1743  1.1  skrll     & ifmt_cm32rd, { 0x4c0000a4 }
   1744  1.1  skrll   },
   1745  1.1  skrll /* cm32rs $rd,$rs,$rt */
   1746  1.1  skrll   {
   1747  1.1  skrll     { 0, 0, 0, 0 },
   1748  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1749  1.1  skrll     & ifmt_add, { 0x4c0000a0 }
   1750  1.1  skrll   },
   1751  1.1  skrll /* cm32sa $rd,$rs,$rt */
   1752  1.1  skrll   {
   1753  1.1  skrll     { 0, 0, 0, 0 },
   1754  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1755  1.1  skrll     & ifmt_cm32and, { 0x4c0000b8 }
   1756  1.1  skrll   },
   1757  1.1  skrll /* cm32sd $rd,$rt */
   1758  1.1  skrll   {
   1759  1.1  skrll     { 0, 0, 0, 0 },
   1760  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1761  1.1  skrll     & ifmt_cm32rd, { 0x4c0000a9 }
   1762  1.1  skrll   },
   1763  1.1  skrll /* cm32si $rd,$rt */
   1764  1.1  skrll   {
   1765  1.1  skrll     { 0, 0, 0, 0 },
   1766  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1767  1.1  skrll     & ifmt_cm32rd, { 0x4c0000ac }
   1768  1.1  skrll   },
   1769  1.1  skrll /* cm32ss $rd,$rs,$rt */
   1770  1.1  skrll   {
   1771  1.1  skrll     { 0, 0, 0, 0 },
   1772  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1773  1.1  skrll     & ifmt_cm32and, { 0x4c0000a8 }
   1774  1.1  skrll   },
   1775  1.1  skrll /* cm32xor $rd,$rs,$rt */
   1776  1.1  skrll   {
   1777  1.1  skrll     { 0, 0, 0, 0 },
   1778  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1779  1.1  skrll     & ifmt_cm32and, { 0x4c0000a2 }
   1780  1.1  skrll   },
   1781  1.1  skrll /* cm64clr $rd,$rt */
   1782  1.1  skrll   {
   1783  1.1  skrll     { 0, 0, 0, 0 },
   1784  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1785  1.1  skrll     & ifmt_cm32rd, { 0x4c000085 }
   1786  1.1  skrll   },
   1787  1.1  skrll /* cm64ra $rd,$rs,$rt */
   1788  1.1  skrll   {
   1789  1.1  skrll     { 0, 0, 0, 0 },
   1790  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1791  1.1  skrll     & ifmt_cm32and, { 0x4c000090 }
   1792  1.1  skrll   },
   1793  1.1  skrll /* cm64rd $rd,$rt */
   1794  1.1  skrll   {
   1795  1.1  skrll     { 0, 0, 0, 0 },
   1796  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1797  1.1  skrll     & ifmt_cm32rd, { 0x4c000081 }
   1798  1.1  skrll   },
   1799  1.1  skrll /* cm64ri $rd,$rt */
   1800  1.1  skrll   {
   1801  1.1  skrll     { 0, 0, 0, 0 },
   1802  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1803  1.1  skrll     & ifmt_cm32rd, { 0x4c000084 }
   1804  1.1  skrll   },
   1805  1.1  skrll /* cm64ria2 $rd,$rs,$rt */
   1806  1.1  skrll   {
   1807  1.1  skrll     { 0, 0, 0, 0 },
   1808  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1809  1.1  skrll     & ifmt_cm32and, { 0x4c000094 }
   1810  1.1  skrll   },
   1811  1.1  skrll /* cm64rs $rd,$rs,$rt */
   1812  1.1  skrll   {
   1813  1.1  skrll     { 0, 0, 0, 0 },
   1814  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1815  1.1  skrll     & ifmt_cm32and, { 0x4c000080 }
   1816  1.1  skrll   },
   1817  1.1  skrll /* cm64sa $rd,$rs,$rt */
   1818  1.1  skrll   {
   1819  1.1  skrll     { 0, 0, 0, 0 },
   1820  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1821  1.1  skrll     & ifmt_cm32and, { 0x4c000098 }
   1822  1.1  skrll   },
   1823  1.1  skrll /* cm64sd $rd,$rt */
   1824  1.1  skrll   {
   1825  1.1  skrll     { 0, 0, 0, 0 },
   1826  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1827  1.1  skrll     & ifmt_cm32rd, { 0x4c000089 }
   1828  1.1  skrll   },
   1829  1.1  skrll /* cm64si $rd,$rt */
   1830  1.1  skrll   {
   1831  1.1  skrll     { 0, 0, 0, 0 },
   1832  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1833  1.1  skrll     & ifmt_cm32rd, { 0x4c00008c }
   1834  1.1  skrll   },
   1835  1.1  skrll /* cm64sia2 $rd,$rs,$rt */
   1836  1.1  skrll   {
   1837  1.1  skrll     { 0, 0, 0, 0 },
   1838  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1839  1.1  skrll     & ifmt_cm32and, { 0x4c00009c }
   1840  1.1  skrll   },
   1841  1.1  skrll /* cm64ss $rd,$rs,$rt */
   1842  1.1  skrll   {
   1843  1.1  skrll     { 0, 0, 0, 0 },
   1844  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1845  1.1  skrll     & ifmt_cm32and, { 0x4c000088 }
   1846  1.1  skrll   },
   1847  1.1  skrll /* cm128ria2 $rd,$rs,$rt */
   1848  1.1  skrll   {
   1849  1.1  skrll     { 0, 0, 0, 0 },
   1850  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1851  1.1  skrll     & ifmt_cm32and, { 0x4c000095 }
   1852  1.1  skrll   },
   1853  1.1  skrll /* cm128ria3 $rd,$rs,$rt,${cm-3z} */
   1854  1.1  skrll   {
   1855  1.1  skrll     { 0, 0, 0, 0 },
   1856  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
   1857  1.1  skrll     & ifmt_cm128ria3, { 0x4c000090 }
   1858  1.1  skrll   },
   1859  1.1  skrll /* cm128ria4 $rd,$rs,$rt,${cm-4z} */
   1860  1.1  skrll   {
   1861  1.1  skrll     { 0, 0, 0, 0 },
   1862  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
   1863  1.1  skrll     & ifmt_cm128ria4, { 0x4c0000b0 }
   1864  1.1  skrll   },
   1865  1.1  skrll /* cm128sia2 $rd,$rs,$rt */
   1866  1.1  skrll   {
   1867  1.1  skrll     { 0, 0, 0, 0 },
   1868  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1869  1.1  skrll     & ifmt_cm32and, { 0x4c00009d }
   1870  1.1  skrll   },
   1871  1.1  skrll /* cm128sia3 $rd,$rs,$rt,${cm-3z} */
   1872  1.1  skrll   {
   1873  1.1  skrll     { 0, 0, 0, 0 },
   1874  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
   1875  1.1  skrll     & ifmt_cm128ria3, { 0x4c000098 }
   1876  1.1  skrll   },
   1877  1.1  skrll /* cm128sia4 $rd,$rs,$rt,${cm-4z} */
   1878  1.1  skrll   {
   1879  1.1  skrll     { 0, 0, 0, 0 },
   1880  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
   1881  1.1  skrll     & ifmt_cm128ria4, { 0x4c0000b8 }
   1882  1.1  skrll   },
   1883  1.1  skrll /* cm128vsa $rd,$rs,$rt */
   1884  1.1  skrll   {
   1885  1.1  skrll     { 0, 0, 0, 0 },
   1886  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RS), ',', OP (RT), 0 } },
   1887  1.1  skrll     & ifmt_cm32and, { 0x4c0000a6 }
   1888  1.1  skrll   },
   1889  1.1  skrll /* cfc $rd,$rt */
   1890  1.1  skrll   {
   1891  1.1  skrll     { 0, 0, 0, 0 },
   1892  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   1893  1.1  skrll     & ifmt_chkhdr, { 0x4c000000 }
   1894  1.1  skrll   },
   1895  1.1  skrll /* ctc $rs,$rt */
   1896  1.1  skrll   {
   1897  1.1  skrll     { 0, 0, 0, 0 },
   1898  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   1899  1.1  skrll     & ifmt_ctc, { 0x4c000002 }
   1900  1.1  skrll   },
   1901  1.1  skrll };
   1902  1.1  skrll 
   1903  1.1  skrll #undef A
   1904  1.1  skrll #undef OPERAND
   1905  1.1  skrll #undef MNEM
   1906  1.1  skrll #undef OP
   1907  1.1  skrll 
   1908  1.1  skrll /* Formats for ALIAS macro-insns.  */
   1909  1.1  skrll 
   1910  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
   1911  1.1  skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_##f]
   1912  1.1  skrll #else
   1913  1.1  skrll #define F(f) & iq2000_cgen_ifld_table[IQ2000_/**/f]
   1914  1.1  skrll #endif
   1915  1.1  skrll static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
   1916  1.1  skrll   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1917  1.1  skrll };
   1918  1.1  skrll 
   1919  1.1  skrll static const CGEN_IFMT ifmt_li ATTRIBUTE_UNUSED = {
   1920  1.1  skrll   32, 32, 0xfc1f0000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1921  1.1  skrll };
   1922  1.1  skrll 
   1923  1.1  skrll static const CGEN_IFMT ifmt_move ATTRIBUTE_UNUSED = {
   1924  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1925  1.1  skrll };
   1926  1.1  skrll 
   1927  1.1  skrll static const CGEN_IFMT ifmt_lb_base_0 ATTRIBUTE_UNUSED = {
   1928  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1929  1.1  skrll };
   1930  1.1  skrll 
   1931  1.1  skrll static const CGEN_IFMT ifmt_lbu_base_0 ATTRIBUTE_UNUSED = {
   1932  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1933  1.1  skrll };
   1934  1.1  skrll 
   1935  1.1  skrll static const CGEN_IFMT ifmt_lh_base_0 ATTRIBUTE_UNUSED = {
   1936  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1937  1.1  skrll };
   1938  1.1  skrll 
   1939  1.1  skrll static const CGEN_IFMT ifmt_lw_base_0 ATTRIBUTE_UNUSED = {
   1940  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1941  1.1  skrll };
   1942  1.1  skrll 
   1943  1.1  skrll static const CGEN_IFMT ifmt_m_add ATTRIBUTE_UNUSED = {
   1944  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1945  1.1  skrll };
   1946  1.1  skrll 
   1947  1.1  skrll static const CGEN_IFMT ifmt_m_addu ATTRIBUTE_UNUSED = {
   1948  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1949  1.1  skrll };
   1950  1.1  skrll 
   1951  1.1  skrll static const CGEN_IFMT ifmt_m_and ATTRIBUTE_UNUSED = {
   1952  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1953  1.1  skrll };
   1954  1.1  skrll 
   1955  1.1  skrll static const CGEN_IFMT ifmt_m_j ATTRIBUTE_UNUSED = {
   1956  1.1  skrll   32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1957  1.1  skrll };
   1958  1.1  skrll 
   1959  1.1  skrll static const CGEN_IFMT ifmt_m_or ATTRIBUTE_UNUSED = {
   1960  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1961  1.1  skrll };
   1962  1.1  skrll 
   1963  1.1  skrll static const CGEN_IFMT ifmt_m_sll ATTRIBUTE_UNUSED = {
   1964  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1965  1.1  skrll };
   1966  1.1  skrll 
   1967  1.1  skrll static const CGEN_IFMT ifmt_m_slt ATTRIBUTE_UNUSED = {
   1968  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1969  1.1  skrll };
   1970  1.1  skrll 
   1971  1.1  skrll static const CGEN_IFMT ifmt_m_sltu ATTRIBUTE_UNUSED = {
   1972  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1973  1.1  skrll };
   1974  1.1  skrll 
   1975  1.1  skrll static const CGEN_IFMT ifmt_m_sra ATTRIBUTE_UNUSED = {
   1976  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1977  1.1  skrll };
   1978  1.1  skrll 
   1979  1.1  skrll static const CGEN_IFMT ifmt_m_srl ATTRIBUTE_UNUSED = {
   1980  1.1  skrll   32, 32, 0xfc0007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1981  1.1  skrll };
   1982  1.1  skrll 
   1983  1.1  skrll static const CGEN_IFMT ifmt_not ATTRIBUTE_UNUSED = {
   1984  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   1985  1.1  skrll };
   1986  1.1  skrll 
   1987  1.1  skrll static const CGEN_IFMT ifmt_subi ATTRIBUTE_UNUSED = {
   1988  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1989  1.1  skrll };
   1990  1.1  skrll 
   1991  1.1  skrll static const CGEN_IFMT ifmt_m_sub ATTRIBUTE_UNUSED = {
   1992  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1993  1.1  skrll };
   1994  1.1  skrll 
   1995  1.1  skrll static const CGEN_IFMT ifmt_m_subu ATTRIBUTE_UNUSED = {
   1996  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   1997  1.1  skrll };
   1998  1.1  skrll 
   1999  1.1  skrll static const CGEN_IFMT ifmt_sb_base_0 ATTRIBUTE_UNUSED = {
   2000  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2001  1.1  skrll };
   2002  1.1  skrll 
   2003  1.1  skrll static const CGEN_IFMT ifmt_sh_base_0 ATTRIBUTE_UNUSED = {
   2004  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2005  1.1  skrll };
   2006  1.1  skrll 
   2007  1.1  skrll static const CGEN_IFMT ifmt_sw_base_0 ATTRIBUTE_UNUSED = {
   2008  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2009  1.1  skrll };
   2010  1.1  skrll 
   2011  1.1  skrll static const CGEN_IFMT ifmt_m_xor ATTRIBUTE_UNUSED = {
   2012  1.1  skrll   32, 32, 0xfc000000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2013  1.1  skrll };
   2014  1.1  skrll 
   2015  1.1  skrll static const CGEN_IFMT ifmt_ldw_base_0 ATTRIBUTE_UNUSED = {
   2016  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2017  1.1  skrll };
   2018  1.1  skrll 
   2019  1.1  skrll static const CGEN_IFMT ifmt_sdw_base_0 ATTRIBUTE_UNUSED = {
   2020  1.1  skrll   32, 32, 0xffe00000, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_IMM) }, { 0 } }
   2021  1.1  skrll };
   2022  1.1  skrll 
   2023  1.1  skrll static const CGEN_IFMT ifmt_m_avail ATTRIBUTE_UNUSED = {
   2024  1.1  skrll   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2025  1.1  skrll };
   2026  1.1  skrll 
   2027  1.1  skrll static const CGEN_IFMT ifmt_m_cam36 ATTRIBUTE_UNUSED = {
   2028  1.1  skrll   32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
   2029  1.1  skrll };
   2030  1.1  skrll 
   2031  1.1  skrll static const CGEN_IFMT ifmt_m_cam72 ATTRIBUTE_UNUSED = {
   2032  1.1  skrll   32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
   2033  1.1  skrll };
   2034  1.1  skrll 
   2035  1.1  skrll static const CGEN_IFMT ifmt_m_cam144 ATTRIBUTE_UNUSED = {
   2036  1.1  skrll   32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
   2037  1.1  skrll };
   2038  1.1  skrll 
   2039  1.1  skrll static const CGEN_IFMT ifmt_m_cam288 ATTRIBUTE_UNUSED = {
   2040  1.1  skrll   32, 32, 0xffe007c7, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP_10) }, { F (F_CAM_Z) }, { F (F_CAM_Y) }, { 0 } }
   2041  1.1  skrll };
   2042  1.1  skrll 
   2043  1.1  skrll static const CGEN_IFMT ifmt_m_cm32read ATTRIBUTE_UNUSED = {
   2044  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2045  1.1  skrll };
   2046  1.1  skrll 
   2047  1.1  skrll static const CGEN_IFMT ifmt_m_cm64read ATTRIBUTE_UNUSED = {
   2048  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2049  1.1  skrll };
   2050  1.1  skrll 
   2051  1.1  skrll static const CGEN_IFMT ifmt_m_cm32mlog ATTRIBUTE_UNUSED = {
   2052  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2053  1.1  skrll };
   2054  1.1  skrll 
   2055  1.1  skrll static const CGEN_IFMT ifmt_m_cm32and ATTRIBUTE_UNUSED = {
   2056  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2057  1.1  skrll };
   2058  1.1  skrll 
   2059  1.1  skrll static const CGEN_IFMT ifmt_m_cm32andn ATTRIBUTE_UNUSED = {
   2060  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2061  1.1  skrll };
   2062  1.1  skrll 
   2063  1.1  skrll static const CGEN_IFMT ifmt_m_cm32or ATTRIBUTE_UNUSED = {
   2064  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2065  1.1  skrll };
   2066  1.1  skrll 
   2067  1.1  skrll static const CGEN_IFMT ifmt_m_cm32ra ATTRIBUTE_UNUSED = {
   2068  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2069  1.1  skrll };
   2070  1.1  skrll 
   2071  1.1  skrll static const CGEN_IFMT ifmt_m_cm32rd ATTRIBUTE_UNUSED = {
   2072  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2073  1.1  skrll };
   2074  1.1  skrll 
   2075  1.1  skrll static const CGEN_IFMT ifmt_m_cm32ri ATTRIBUTE_UNUSED = {
   2076  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2077  1.1  skrll };
   2078  1.1  skrll 
   2079  1.1  skrll static const CGEN_IFMT ifmt_m_cm32rs ATTRIBUTE_UNUSED = {
   2080  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2081  1.1  skrll };
   2082  1.1  skrll 
   2083  1.1  skrll static const CGEN_IFMT ifmt_m_cm32sa ATTRIBUTE_UNUSED = {
   2084  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2085  1.1  skrll };
   2086  1.1  skrll 
   2087  1.1  skrll static const CGEN_IFMT ifmt_m_cm32sd ATTRIBUTE_UNUSED = {
   2088  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2089  1.1  skrll };
   2090  1.1  skrll 
   2091  1.1  skrll static const CGEN_IFMT ifmt_m_cm32si ATTRIBUTE_UNUSED = {
   2092  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2093  1.1  skrll };
   2094  1.1  skrll 
   2095  1.1  skrll static const CGEN_IFMT ifmt_m_cm32ss ATTRIBUTE_UNUSED = {
   2096  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2097  1.1  skrll };
   2098  1.1  skrll 
   2099  1.1  skrll static const CGEN_IFMT ifmt_m_cm32xor ATTRIBUTE_UNUSED = {
   2100  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2101  1.1  skrll };
   2102  1.1  skrll 
   2103  1.1  skrll static const CGEN_IFMT ifmt_m_cm64clr ATTRIBUTE_UNUSED = {
   2104  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2105  1.1  skrll };
   2106  1.1  skrll 
   2107  1.1  skrll static const CGEN_IFMT ifmt_m_cm64ra ATTRIBUTE_UNUSED = {
   2108  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2109  1.1  skrll };
   2110  1.1  skrll 
   2111  1.1  skrll static const CGEN_IFMT ifmt_m_cm64rd ATTRIBUTE_UNUSED = {
   2112  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2113  1.1  skrll };
   2114  1.1  skrll 
   2115  1.1  skrll static const CGEN_IFMT ifmt_m_cm64ri ATTRIBUTE_UNUSED = {
   2116  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2117  1.1  skrll };
   2118  1.1  skrll 
   2119  1.1  skrll static const CGEN_IFMT ifmt_m_cm64ria2 ATTRIBUTE_UNUSED = {
   2120  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2121  1.1  skrll };
   2122  1.1  skrll 
   2123  1.1  skrll static const CGEN_IFMT ifmt_m_cm64rs ATTRIBUTE_UNUSED = {
   2124  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2125  1.1  skrll };
   2126  1.1  skrll 
   2127  1.1  skrll static const CGEN_IFMT ifmt_m_cm64sa ATTRIBUTE_UNUSED = {
   2128  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2129  1.1  skrll };
   2130  1.1  skrll 
   2131  1.1  skrll static const CGEN_IFMT ifmt_m_cm64sd ATTRIBUTE_UNUSED = {
   2132  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2133  1.1  skrll };
   2134  1.1  skrll 
   2135  1.1  skrll static const CGEN_IFMT ifmt_m_cm64si ATTRIBUTE_UNUSED = {
   2136  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2137  1.1  skrll };
   2138  1.1  skrll 
   2139  1.1  skrll static const CGEN_IFMT ifmt_m_cm64sia2 ATTRIBUTE_UNUSED = {
   2140  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2141  1.1  skrll };
   2142  1.1  skrll 
   2143  1.1  skrll static const CGEN_IFMT ifmt_m_cm64ss ATTRIBUTE_UNUSED = {
   2144  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2145  1.1  skrll };
   2146  1.1  skrll 
   2147  1.1  skrll static const CGEN_IFMT ifmt_m_cm128ria2 ATTRIBUTE_UNUSED = {
   2148  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2149  1.1  skrll };
   2150  1.1  skrll 
   2151  1.1  skrll static const CGEN_IFMT ifmt_m_cm128ria3 ATTRIBUTE_UNUSED = {
   2152  1.1  skrll   32, 32, 0xfc00fffc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
   2153  1.1  skrll };
   2154  1.1  skrll 
   2155  1.1  skrll static const CGEN_IFMT ifmt_m_cm128ria4 ATTRIBUTE_UNUSED = {
   2156  1.1  skrll   32, 32, 0xfc00fff8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
   2157  1.1  skrll };
   2158  1.1  skrll 
   2159  1.1  skrll static const CGEN_IFMT ifmt_m_cm128sia2 ATTRIBUTE_UNUSED = {
   2160  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_FUNC) }, { 0 } }
   2161  1.1  skrll };
   2162  1.1  skrll 
   2163  1.1  skrll static const CGEN_IFMT ifmt_m_cm128sia3 ATTRIBUTE_UNUSED = {
   2164  1.1  skrll   32, 32, 0xfc00fffc, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_4FUNC) }, { F (F_CM_3Z) }, { 0 } }
   2165  1.1  skrll };
   2166  1.1  skrll 
   2167  1.1  skrll static const CGEN_IFMT ifmt_m_cm128sia4 ATTRIBUTE_UNUSED = {
   2168  1.1  skrll   32, 32, 0xfc00fff8, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_CP_GRP) }, { F (F_CM_3FUNC) }, { F (F_CM_4Z) }, { 0 } }
   2169  1.1  skrll };
   2170  1.1  skrll 
   2171  1.1  skrll static const CGEN_IFMT ifmt_m_cmphdr ATTRIBUTE_UNUSED = {
   2172  1.1  skrll   32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2173  1.1  skrll };
   2174  1.1  skrll 
   2175  1.1  skrll static const CGEN_IFMT ifmt_m_dbd ATTRIBUTE_UNUSED = {
   2176  1.1  skrll   32, 32, 0xffe007ff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2177  1.1  skrll };
   2178  1.1  skrll 
   2179  1.1  skrll static const CGEN_IFMT ifmt_m2_dbd ATTRIBUTE_UNUSED = {
   2180  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2181  1.1  skrll };
   2182  1.1  skrll 
   2183  1.1  skrll static const CGEN_IFMT ifmt_m_dpwt ATTRIBUTE_UNUSED = {
   2184  1.1  skrll   32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2185  1.1  skrll };
   2186  1.1  skrll 
   2187  1.1  skrll static const CGEN_IFMT ifmt_m_free ATTRIBUTE_UNUSED = {
   2188  1.1  skrll   32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2189  1.1  skrll };
   2190  1.1  skrll 
   2191  1.1  skrll static const CGEN_IFMT ifmt_m_lock ATTRIBUTE_UNUSED = {
   2192  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2193  1.1  skrll };
   2194  1.1  skrll 
   2195  1.1  skrll static const CGEN_IFMT ifmt_m_pkrla ATTRIBUTE_UNUSED = {
   2196  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2197  1.1  skrll };
   2198  1.1  skrll 
   2199  1.1  skrll static const CGEN_IFMT ifmt_m_pkrlac ATTRIBUTE_UNUSED = {
   2200  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2201  1.1  skrll };
   2202  1.1  skrll 
   2203  1.1  skrll static const CGEN_IFMT ifmt_m_pkrlah ATTRIBUTE_UNUSED = {
   2204  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2205  1.1  skrll };
   2206  1.1  skrll 
   2207  1.1  skrll static const CGEN_IFMT ifmt_m_pkrlau ATTRIBUTE_UNUSED = {
   2208  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2209  1.1  skrll };
   2210  1.1  skrll 
   2211  1.1  skrll static const CGEN_IFMT ifmt_m_pkrli ATTRIBUTE_UNUSED = {
   2212  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2213  1.1  skrll };
   2214  1.1  skrll 
   2215  1.1  skrll static const CGEN_IFMT ifmt_m_pkrlic ATTRIBUTE_UNUSED = {
   2216  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2217  1.1  skrll };
   2218  1.1  skrll 
   2219  1.1  skrll static const CGEN_IFMT ifmt_m_pkrlih ATTRIBUTE_UNUSED = {
   2220  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2221  1.1  skrll };
   2222  1.1  skrll 
   2223  1.1  skrll static const CGEN_IFMT ifmt_m_pkrliu ATTRIBUTE_UNUSED = {
   2224  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2225  1.1  skrll };
   2226  1.1  skrll 
   2227  1.1  skrll static const CGEN_IFMT ifmt_m_rba ATTRIBUTE_UNUSED = {
   2228  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2229  1.1  skrll };
   2230  1.1  skrll 
   2231  1.1  skrll static const CGEN_IFMT ifmt_m_rbal ATTRIBUTE_UNUSED = {
   2232  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2233  1.1  skrll };
   2234  1.1  skrll 
   2235  1.1  skrll static const CGEN_IFMT ifmt_m_rbar ATTRIBUTE_UNUSED = {
   2236  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2237  1.1  skrll };
   2238  1.1  skrll 
   2239  1.1  skrll static const CGEN_IFMT ifmt_m_rbi ATTRIBUTE_UNUSED = {
   2240  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2241  1.1  skrll };
   2242  1.1  skrll 
   2243  1.1  skrll static const CGEN_IFMT ifmt_m_rbil ATTRIBUTE_UNUSED = {
   2244  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2245  1.1  skrll };
   2246  1.1  skrll 
   2247  1.1  skrll static const CGEN_IFMT ifmt_m_rbir ATTRIBUTE_UNUSED = {
   2248  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2249  1.1  skrll };
   2250  1.1  skrll 
   2251  1.1  skrll static const CGEN_IFMT ifmt_m_swwr ATTRIBUTE_UNUSED = {
   2252  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2253  1.1  skrll };
   2254  1.1  skrll 
   2255  1.1  skrll static const CGEN_IFMT ifmt_m_swwru ATTRIBUTE_UNUSED = {
   2256  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2257  1.1  skrll };
   2258  1.1  skrll 
   2259  1.1  skrll static const CGEN_IFMT ifmt_m_tstod ATTRIBUTE_UNUSED = {
   2260  1.1  skrll   32, 32, 0xfc1fffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2261  1.1  skrll };
   2262  1.1  skrll 
   2263  1.1  skrll static const CGEN_IFMT ifmt_m_unlk ATTRIBUTE_UNUSED = {
   2264  1.1  skrll   32, 32, 0xffe0ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2265  1.1  skrll };
   2266  1.1  skrll 
   2267  1.1  skrll static const CGEN_IFMT ifmt_m_wba ATTRIBUTE_UNUSED = {
   2268  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2269  1.1  skrll };
   2270  1.1  skrll 
   2271  1.1  skrll static const CGEN_IFMT ifmt_m_wbac ATTRIBUTE_UNUSED = {
   2272  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2273  1.1  skrll };
   2274  1.1  skrll 
   2275  1.1  skrll static const CGEN_IFMT ifmt_m_wbau ATTRIBUTE_UNUSED = {
   2276  1.1  skrll   32, 32, 0xfc00ffff, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_SHAMT) }, { F (F_FUNC) }, { 0 } }
   2277  1.1  skrll };
   2278  1.1  skrll 
   2279  1.1  skrll static const CGEN_IFMT ifmt_m_wbi ATTRIBUTE_UNUSED = {
   2280  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2281  1.1  skrll };
   2282  1.1  skrll 
   2283  1.1  skrll static const CGEN_IFMT ifmt_m_wbic ATTRIBUTE_UNUSED = {
   2284  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2285  1.1  skrll };
   2286  1.1  skrll 
   2287  1.1  skrll static const CGEN_IFMT ifmt_m_wbiu ATTRIBUTE_UNUSED = {
   2288  1.1  skrll   32, 32, 0xfc00ff00, { { F (F_OPCODE) }, { F (F_RS) }, { F (F_RT) }, { F (F_RD) }, { F (F_CP_OP) }, { F (F_BYTECOUNT) }, { 0 } }
   2289  1.1  skrll };
   2290  1.1  skrll 
   2291  1.1  skrll #undef F
   2292  1.1  skrll 
   2293  1.1  skrll /* Each non-simple macro entry points to an array of expansion possibilities.  */
   2294  1.1  skrll 
   2295  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
   2296  1.1  skrll #define A(a) (1 << CGEN_INSN_##a)
   2297  1.1  skrll #else
   2298  1.1  skrll #define A(a) (1 << CGEN_INSN_/**/a)
   2299  1.1  skrll #endif
   2300  1.1  skrll #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
   2301  1.1  skrll #define OPERAND(op) IQ2000_OPERAND_##op
   2302  1.1  skrll #else
   2303  1.1  skrll #define OPERAND(op) IQ2000_OPERAND_/**/op
   2304  1.1  skrll #endif
   2305  1.1  skrll #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
   2306  1.1  skrll #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
   2307  1.1  skrll 
   2308  1.1  skrll /* The macro instruction table.  */
   2309  1.1  skrll 
   2310  1.1  skrll static const CGEN_IBASE iq2000_cgen_macro_insn_table[] =
   2311  1.1  skrll {
   2312  1.1  skrll /* nop */
   2313  1.1  skrll   {
   2314  1.1  skrll     -1, "nop", "nop", 32,
   2315  1.1  skrll     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2316  1.1  skrll   },
   2317  1.1  skrll /* li $rs,$imm */
   2318  1.1  skrll   {
   2319  1.1  skrll     -1, "li", "li", 32,
   2320  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2321  1.1  skrll   },
   2322  1.1  skrll /* move $rd,$rt */
   2323  1.1  skrll   {
   2324  1.1  skrll     -1, "move", "move", 32,
   2325  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2326  1.1  skrll   },
   2327  1.1  skrll /* lb $rt,$lo16 */
   2328  1.1  skrll   {
   2329  1.1  skrll     -1, "lb-base-0", "lb", 32,
   2330  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2331  1.1  skrll   },
   2332  1.1  skrll /* lbu $rt,$lo16 */
   2333  1.1  skrll   {
   2334  1.1  skrll     -1, "lbu-base-0", "lbu", 32,
   2335  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2336  1.1  skrll   },
   2337  1.1  skrll /* lh $rt,$lo16 */
   2338  1.1  skrll   {
   2339  1.1  skrll     -1, "lh-base-0", "lh", 32,
   2340  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2341  1.1  skrll   },
   2342  1.1  skrll /* lw $rt,$lo16 */
   2343  1.1  skrll   {
   2344  1.1  skrll     -1, "lw-base-0", "lw", 32,
   2345  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2346  1.1  skrll   },
   2347  1.1  skrll /* add $rt,$rs,$lo16 */
   2348  1.1  skrll   {
   2349  1.1  skrll     -1, "m-add", "add", 32,
   2350  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2351  1.1  skrll   },
   2352  1.1  skrll /* addu $rt,$rs,$lo16 */
   2353  1.1  skrll   {
   2354  1.1  skrll     -1, "m-addu", "addu", 32,
   2355  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2356  1.1  skrll   },
   2357  1.1  skrll /* and $rt,$rs,$lo16 */
   2358  1.1  skrll   {
   2359  1.1  skrll     -1, "m-and", "and", 32,
   2360  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2361  1.1  skrll   },
   2362  1.1  skrll /* j $rs */
   2363  1.1  skrll   {
   2364  1.1  skrll     -1, "m-j", "j", 32,
   2365  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2366  1.1  skrll   },
   2367  1.1  skrll /* or $rt,$rs,$lo16 */
   2368  1.1  skrll   {
   2369  1.1  skrll     -1, "m-or", "or", 32,
   2370  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2371  1.1  skrll   },
   2372  1.1  skrll /* sll $rd,$rt,$rs */
   2373  1.1  skrll   {
   2374  1.1  skrll     -1, "m-sll", "sll", 32,
   2375  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2376  1.1  skrll   },
   2377  1.1  skrll /* slt $rt,$rs,$imm */
   2378  1.1  skrll   {
   2379  1.1  skrll     -1, "m-slt", "slt", 32,
   2380  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2381  1.1  skrll   },
   2382  1.1  skrll /* sltu $rt,$rs,$imm */
   2383  1.1  skrll   {
   2384  1.1  skrll     -1, "m-sltu", "sltu", 32,
   2385  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2386  1.1  skrll   },
   2387  1.1  skrll /* sra $rd,$rt,$rs */
   2388  1.1  skrll   {
   2389  1.1  skrll     -1, "m-sra", "sra", 32,
   2390  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2391  1.1  skrll   },
   2392  1.1  skrll /* srl $rd,$rt,$rs */
   2393  1.1  skrll   {
   2394  1.1  skrll     -1, "m-srl", "srl", 32,
   2395  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2396  1.1  skrll   },
   2397  1.1  skrll /* not $rd,$rt */
   2398  1.1  skrll   {
   2399  1.1  skrll     -1, "not", "not", 32,
   2400  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2401  1.1  skrll   },
   2402  1.1  skrll /* subi $rt,$rs,$mlo16 */
   2403  1.1  skrll   {
   2404  1.1  skrll     -1, "subi", "subi", 32,
   2405  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2406  1.1  skrll   },
   2407  1.1  skrll /* sub $rt,$rs,$mlo16 */
   2408  1.1  skrll   {
   2409  1.1  skrll     -1, "m-sub", "sub", 32,
   2410  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2411  1.1  skrll   },
   2412  1.1  skrll /* subu $rt,$rs,$mlo16 */
   2413  1.1  skrll   {
   2414  1.1  skrll     -1, "m-subu", "subu", 32,
   2415  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2416  1.1  skrll   },
   2417  1.1  skrll /* sb $rt,$lo16 */
   2418  1.1  skrll   {
   2419  1.1  skrll     -1, "sb-base-0", "sb", 32,
   2420  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2421  1.1  skrll   },
   2422  1.1  skrll /* sh $rt,$lo16 */
   2423  1.1  skrll   {
   2424  1.1  skrll     -1, "sh-base-0", "sh", 32,
   2425  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2426  1.1  skrll   },
   2427  1.1  skrll /* sw $rt,$lo16 */
   2428  1.1  skrll   {
   2429  1.1  skrll     -1, "sw-base-0", "sw", 32,
   2430  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2431  1.1  skrll   },
   2432  1.1  skrll /* xor $rt,$rs,$lo16 */
   2433  1.1  skrll   {
   2434  1.1  skrll     -1, "m-xor", "xor", 32,
   2435  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2436  1.1  skrll   },
   2437  1.1  skrll /* ldw $rt,$lo16 */
   2438  1.1  skrll   {
   2439  1.1  skrll     -1, "ldw-base-0", "ldw", 32,
   2440  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(USES_RT)|A(LOAD_DELAY)|A(EVEN_REG_NUM)|A(ALIAS), { { { (1<<MACH_IQ2000), 0 } } } }
   2441  1.1  skrll   },
   2442  1.1  skrll /* sdw $rt,$lo16 */
   2443  1.1  skrll   {
   2444  1.1  skrll     -1, "sdw-base-0", "sdw", 32,
   2445  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(EVEN_REG_NUM)|A(ALIAS), { { { (1<<MACH_IQ2000), 0 } } } }
   2446  1.1  skrll   },
   2447  1.1  skrll /* avail */
   2448  1.1  skrll   {
   2449  1.1  skrll     -1, "m-avail", "avail", 32,
   2450  1.1  skrll     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2451  1.1  skrll   },
   2452  1.1  skrll /* cam36 $rd,$rt,${cam-z} */
   2453  1.1  skrll   {
   2454  1.1  skrll     -1, "m-cam36", "cam36", 32,
   2455  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2456  1.1  skrll   },
   2457  1.1  skrll /* cam72 $rd,$rt,${cam-z} */
   2458  1.1  skrll   {
   2459  1.1  skrll     -1, "m-cam72", "cam72", 32,
   2460  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2461  1.1  skrll   },
   2462  1.1  skrll /* cam144 $rd,$rt,${cam-z} */
   2463  1.1  skrll   {
   2464  1.1  skrll     -1, "m-cam144", "cam144", 32,
   2465  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2466  1.1  skrll   },
   2467  1.1  skrll /* cam288 $rd,$rt,${cam-z} */
   2468  1.1  skrll   {
   2469  1.1  skrll     -1, "m-cam288", "cam288", 32,
   2470  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2471  1.1  skrll   },
   2472  1.1  skrll /* cm32read $rd,$rt */
   2473  1.1  skrll   {
   2474  1.1  skrll     -1, "m-cm32read", "cm32read", 32,
   2475  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2476  1.1  skrll   },
   2477  1.1  skrll /* cm64read $rd,$rt */
   2478  1.1  skrll   {
   2479  1.1  skrll     -1, "m-cm64read", "cm64read", 32,
   2480  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2481  1.1  skrll   },
   2482  1.1  skrll /* cm32mlog $rs,$rt */
   2483  1.1  skrll   {
   2484  1.1  skrll     -1, "m-cm32mlog", "cm32mlog", 32,
   2485  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2486  1.1  skrll   },
   2487  1.1  skrll /* cm32and $rs,$rt */
   2488  1.1  skrll   {
   2489  1.1  skrll     -1, "m-cm32and", "cm32and", 32,
   2490  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2491  1.1  skrll   },
   2492  1.1  skrll /* cm32andn $rs,$rt */
   2493  1.1  skrll   {
   2494  1.1  skrll     -1, "m-cm32andn", "cm32andn", 32,
   2495  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2496  1.1  skrll   },
   2497  1.1  skrll /* cm32or $rs,$rt */
   2498  1.1  skrll   {
   2499  1.1  skrll     -1, "m-cm32or", "cm32or", 32,
   2500  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2501  1.1  skrll   },
   2502  1.1  skrll /* cm32ra $rs,$rt */
   2503  1.1  skrll   {
   2504  1.1  skrll     -1, "m-cm32ra", "cm32ra", 32,
   2505  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2506  1.1  skrll   },
   2507  1.1  skrll /* cm32rd $rt */
   2508  1.1  skrll   {
   2509  1.1  skrll     -1, "m-cm32rd", "cm32rd", 32,
   2510  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2511  1.1  skrll   },
   2512  1.1  skrll /* cm32ri $rt */
   2513  1.1  skrll   {
   2514  1.1  skrll     -1, "m-cm32ri", "cm32ri", 32,
   2515  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2516  1.1  skrll   },
   2517  1.1  skrll /* cm32rs $rs,$rt */
   2518  1.1  skrll   {
   2519  1.1  skrll     -1, "m-cm32rs", "cm32rs", 32,
   2520  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2521  1.1  skrll   },
   2522  1.1  skrll /* cm32sa $rs,$rt */
   2523  1.1  skrll   {
   2524  1.1  skrll     -1, "m-cm32sa", "cm32sa", 32,
   2525  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2526  1.1  skrll   },
   2527  1.1  skrll /* cm32sd $rt */
   2528  1.1  skrll   {
   2529  1.1  skrll     -1, "m-cm32sd", "cm32sd", 32,
   2530  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2531  1.1  skrll   },
   2532  1.1  skrll /* cm32si $rt */
   2533  1.1  skrll   {
   2534  1.1  skrll     -1, "m-cm32si", "cm32si", 32,
   2535  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2536  1.1  skrll   },
   2537  1.1  skrll /* cm32ss $rs,$rt */
   2538  1.1  skrll   {
   2539  1.1  skrll     -1, "m-cm32ss", "cm32ss", 32,
   2540  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2541  1.1  skrll   },
   2542  1.1  skrll /* cm32xor $rs,$rt */
   2543  1.1  skrll   {
   2544  1.1  skrll     -1, "m-cm32xor", "cm32xor", 32,
   2545  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2546  1.1  skrll   },
   2547  1.1  skrll /* cm64clr $rt */
   2548  1.1  skrll   {
   2549  1.1  skrll     -1, "m-cm64clr", "cm64clr", 32,
   2550  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2551  1.1  skrll   },
   2552  1.1  skrll /* cm64ra $rs,$rt */
   2553  1.1  skrll   {
   2554  1.1  skrll     -1, "m-cm64ra", "cm64ra", 32,
   2555  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2556  1.1  skrll   },
   2557  1.1  skrll /* cm64rd $rt */
   2558  1.1  skrll   {
   2559  1.1  skrll     -1, "m-cm64rd", "cm64rd", 32,
   2560  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2561  1.1  skrll   },
   2562  1.1  skrll /* cm64ri $rt */
   2563  1.1  skrll   {
   2564  1.1  skrll     -1, "m-cm64ri", "cm64ri", 32,
   2565  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2566  1.1  skrll   },
   2567  1.1  skrll /* cm64ria2 $rs,$rt */
   2568  1.1  skrll   {
   2569  1.1  skrll     -1, "m-cm64ria2", "cm64ria2", 32,
   2570  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2571  1.1  skrll   },
   2572  1.1  skrll /* cm64rs $rs,$rt */
   2573  1.1  skrll   {
   2574  1.1  skrll     -1, "m-cm64rs", "cm64rs", 32,
   2575  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2576  1.1  skrll   },
   2577  1.1  skrll /* cm64sa $rs,$rt */
   2578  1.1  skrll   {
   2579  1.1  skrll     -1, "m-cm64sa", "cm64sa", 32,
   2580  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2581  1.1  skrll   },
   2582  1.1  skrll /* cm64sd $rt */
   2583  1.1  skrll   {
   2584  1.1  skrll     -1, "m-cm64sd", "cm64sd", 32,
   2585  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2586  1.1  skrll   },
   2587  1.1  skrll /* cm64si $rt */
   2588  1.1  skrll   {
   2589  1.1  skrll     -1, "m-cm64si", "cm64si", 32,
   2590  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2591  1.1  skrll   },
   2592  1.1  skrll /* cm64sia2 $rs,$rt */
   2593  1.1  skrll   {
   2594  1.1  skrll     -1, "m-cm64sia2", "cm64sia2", 32,
   2595  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2596  1.1  skrll   },
   2597  1.1  skrll /* cm64ss $rs,$rt */
   2598  1.1  skrll   {
   2599  1.1  skrll     -1, "m-cm64ss", "cm64ss", 32,
   2600  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2601  1.1  skrll   },
   2602  1.1  skrll /* cm128ria2 $rs,$rt */
   2603  1.1  skrll   {
   2604  1.1  skrll     -1, "m-cm128ria2", "cm128ria2", 32,
   2605  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2606  1.1  skrll   },
   2607  1.1  skrll /* cm128ria3 $rs,$rt,${cm-3z} */
   2608  1.1  skrll   {
   2609  1.1  skrll     -1, "m-cm128ria3", "cm128ria3", 32,
   2610  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2611  1.1  skrll   },
   2612  1.1  skrll /* cm128ria4 $rs,$rt,${cm-4z} */
   2613  1.1  skrll   {
   2614  1.1  skrll     -1, "m-cm128ria4", "cm128ria4", 32,
   2615  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2616  1.1  skrll   },
   2617  1.1  skrll /* cm128sia2 $rs,$rt */
   2618  1.1  skrll   {
   2619  1.1  skrll     -1, "m-cm128sia2", "cm128sia2", 32,
   2620  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2621  1.1  skrll   },
   2622  1.1  skrll /* cm128sia3 $rs,$rt,${cm-3z} */
   2623  1.1  skrll   {
   2624  1.1  skrll     -1, "m-cm128sia3", "cm128sia3", 32,
   2625  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2626  1.1  skrll   },
   2627  1.1  skrll /* cm128sia4 $rs,$rt,${cm-4z} */
   2628  1.1  skrll   {
   2629  1.1  skrll     -1, "m-cm128sia4", "cm128sia4", 32,
   2630  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2631  1.1  skrll   },
   2632  1.1  skrll /* cmphdr */
   2633  1.1  skrll   {
   2634  1.1  skrll     -1, "m-cmphdr", "cmphdr", 32,
   2635  1.1  skrll     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2636  1.1  skrll   },
   2637  1.1  skrll /* dbd $rd,$rt */
   2638  1.1  skrll   {
   2639  1.1  skrll     -1, "m-dbd", "dbd", 32,
   2640  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2641  1.1  skrll   },
   2642  1.1  skrll /* dbd $rt */
   2643  1.1  skrll   {
   2644  1.1  skrll     -1, "m2-dbd", "dbd", 32,
   2645  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2646  1.1  skrll   },
   2647  1.1  skrll /* dpwt $rs */
   2648  1.1  skrll   {
   2649  1.1  skrll     -1, "m-dpwt", "dpwt", 32,
   2650  1.1  skrll     { 0|A(NO_DIS)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2651  1.1  skrll   },
   2652  1.1  skrll /* free $rs */
   2653  1.1  skrll   {
   2654  1.1  skrll     -1, "m-free", "free", 32,
   2655  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2656  1.1  skrll   },
   2657  1.1  skrll /* lock $rt */
   2658  1.1  skrll   {
   2659  1.1  skrll     -1, "m-lock", "lock", 32,
   2660  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2661  1.1  skrll   },
   2662  1.1  skrll /* pkrla $rs,$rt */
   2663  1.1  skrll   {
   2664  1.1  skrll     -1, "m-pkrla", "pkrla", 32,
   2665  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2666  1.1  skrll   },
   2667  1.1  skrll /* pkrlac $rs,$rt */
   2668  1.1  skrll   {
   2669  1.1  skrll     -1, "m-pkrlac", "pkrlac", 32,
   2670  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2671  1.1  skrll   },
   2672  1.1  skrll /* pkrlah $rs,$rt */
   2673  1.1  skrll   {
   2674  1.1  skrll     -1, "m-pkrlah", "pkrlah", 32,
   2675  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2676  1.1  skrll   },
   2677  1.1  skrll /* pkrlau $rs,$rt */
   2678  1.1  skrll   {
   2679  1.1  skrll     -1, "m-pkrlau", "pkrlau", 32,
   2680  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2681  1.1  skrll   },
   2682  1.1  skrll /* pkrli $rs,$rt,$bytecount */
   2683  1.1  skrll   {
   2684  1.1  skrll     -1, "m-pkrli", "pkrli", 32,
   2685  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2686  1.1  skrll   },
   2687  1.1  skrll /* pkrlic $rs,$rt,$bytecount */
   2688  1.1  skrll   {
   2689  1.1  skrll     -1, "m-pkrlic", "pkrlic", 32,
   2690  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2691  1.1  skrll   },
   2692  1.1  skrll /* pkrlih $rs,$rt,$bytecount */
   2693  1.1  skrll   {
   2694  1.1  skrll     -1, "m-pkrlih", "pkrlih", 32,
   2695  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2696  1.1  skrll   },
   2697  1.1  skrll /* pkrliu $rs,$rt,$bytecount */
   2698  1.1  skrll   {
   2699  1.1  skrll     -1, "m-pkrliu", "pkrliu", 32,
   2700  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2701  1.1  skrll   },
   2702  1.1  skrll /* rba $rs,$rt */
   2703  1.1  skrll   {
   2704  1.1  skrll     -1, "m-rba", "rba", 32,
   2705  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2706  1.1  skrll   },
   2707  1.1  skrll /* rbal $rs,$rt */
   2708  1.1  skrll   {
   2709  1.1  skrll     -1, "m-rbal", "rbal", 32,
   2710  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2711  1.1  skrll   },
   2712  1.1  skrll /* rbar $rs,$rt */
   2713  1.1  skrll   {
   2714  1.1  skrll     -1, "m-rbar", "rbar", 32,
   2715  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2716  1.1  skrll   },
   2717  1.1  skrll /* rbi $rs,$rt,$bytecount */
   2718  1.1  skrll   {
   2719  1.1  skrll     -1, "m-rbi", "rbi", 32,
   2720  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2721  1.1  skrll   },
   2722  1.1  skrll /* rbil $rs,$rt,$bytecount */
   2723  1.1  skrll   {
   2724  1.1  skrll     -1, "m-rbil", "rbil", 32,
   2725  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2726  1.1  skrll   },
   2727  1.1  skrll /* rbir $rs,$rt,$bytecount */
   2728  1.1  skrll   {
   2729  1.1  skrll     -1, "m-rbir", "rbir", 32,
   2730  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2731  1.1  skrll   },
   2732  1.1  skrll /* swwr $rs,$rt */
   2733  1.1  skrll   {
   2734  1.1  skrll     -1, "m-swwr", "swwr", 32,
   2735  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2736  1.1  skrll   },
   2737  1.1  skrll /* swwru $rs,$rt */
   2738  1.1  skrll   {
   2739  1.1  skrll     -1, "m-swwru", "swwru", 32,
   2740  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2741  1.1  skrll   },
   2742  1.1  skrll /* tstod $rs */
   2743  1.1  skrll   {
   2744  1.1  skrll     -1, "m-tstod", "tstod", 32,
   2745  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2746  1.1  skrll   },
   2747  1.1  skrll /* unlk $rt */
   2748  1.1  skrll   {
   2749  1.1  skrll     -1, "m-unlk", "unlk", 32,
   2750  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2751  1.1  skrll   },
   2752  1.1  skrll /* wba $rs,$rt */
   2753  1.1  skrll   {
   2754  1.1  skrll     -1, "m-wba", "wba", 32,
   2755  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2756  1.1  skrll   },
   2757  1.1  skrll /* wbac $rs,$rt */
   2758  1.1  skrll   {
   2759  1.1  skrll     -1, "m-wbac", "wbac", 32,
   2760  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2761  1.1  skrll   },
   2762  1.1  skrll /* wbau $rs,$rt */
   2763  1.1  skrll   {
   2764  1.1  skrll     -1, "m-wbau", "wbau", 32,
   2765  1.1  skrll     { 0|A(NO_DIS)|A(USES_RD)|A(USES_RT)|A(USES_RS)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2766  1.1  skrll   },
   2767  1.1  skrll /* wbi $rs,$rt,$bytecount */
   2768  1.1  skrll   {
   2769  1.1  skrll     -1, "m-wbi", "wbi", 32,
   2770  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2771  1.1  skrll   },
   2772  1.1  skrll /* wbic $rs,$rt,$bytecount */
   2773  1.1  skrll   {
   2774  1.1  skrll     -1, "m-wbic", "wbic", 32,
   2775  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2776  1.1  skrll   },
   2777  1.1  skrll /* wbiu $rs,$rt,$bytecount */
   2778  1.1  skrll   {
   2779  1.1  skrll     -1, "m-wbiu", "wbiu", 32,
   2780  1.1  skrll     { 0|A(NO_DIS)|A(USES_RT)|A(USES_RS)|A(USES_RD)|A(ALIAS), { { { (1<<MACH_IQ10), 0 } } } }
   2781  1.1  skrll   },
   2782  1.1  skrll };
   2783  1.1  skrll 
   2784  1.1  skrll /* The macro instruction opcode table.  */
   2785  1.1  skrll 
   2786  1.1  skrll static const CGEN_OPCODE iq2000_cgen_macro_insn_opcode_table[] =
   2787  1.1  skrll {
   2788  1.1  skrll /* nop */
   2789  1.1  skrll   {
   2790  1.1  skrll     { 0, 0, 0, 0 },
   2791  1.1  skrll     { { MNEM, 0 } },
   2792  1.1  skrll     & ifmt_nop, { 0x0 }
   2793  1.1  skrll   },
   2794  1.1  skrll /* li $rs,$imm */
   2795  1.1  skrll   {
   2796  1.1  skrll     { 0, 0, 0, 0 },
   2797  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (IMM), 0 } },
   2798  1.1  skrll     & ifmt_li, { 0x34000000 }
   2799  1.1  skrll   },
   2800  1.1  skrll /* move $rd,$rt */
   2801  1.1  skrll   {
   2802  1.1  skrll     { 0, 0, 0, 0 },
   2803  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   2804  1.1  skrll     & ifmt_move, { 0x25 }
   2805  1.1  skrll   },
   2806  1.1  skrll /* lb $rt,$lo16 */
   2807  1.1  skrll   {
   2808  1.1  skrll     { 0, 0, 0, 0 },
   2809  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2810  1.1  skrll     & ifmt_lb_base_0, { 0x80000000 }
   2811  1.1  skrll   },
   2812  1.1  skrll /* lbu $rt,$lo16 */
   2813  1.1  skrll   {
   2814  1.1  skrll     { 0, 0, 0, 0 },
   2815  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2816  1.1  skrll     & ifmt_lbu_base_0, { 0x90000000 }
   2817  1.1  skrll   },
   2818  1.1  skrll /* lh $rt,$lo16 */
   2819  1.1  skrll   {
   2820  1.1  skrll     { 0, 0, 0, 0 },
   2821  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2822  1.1  skrll     & ifmt_lh_base_0, { 0x84000000 }
   2823  1.1  skrll   },
   2824  1.1  skrll /* lw $rt,$lo16 */
   2825  1.1  skrll   {
   2826  1.1  skrll     { 0, 0, 0, 0 },
   2827  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2828  1.1  skrll     & ifmt_lw_base_0, { 0x8c000000 }
   2829  1.1  skrll   },
   2830  1.1  skrll /* add $rt,$rs,$lo16 */
   2831  1.1  skrll   {
   2832  1.1  skrll     { 0, 0, 0, 0 },
   2833  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
   2834  1.1  skrll     & ifmt_m_add, { 0x20000000 }
   2835  1.1  skrll   },
   2836  1.1  skrll /* addu $rt,$rs,$lo16 */
   2837  1.1  skrll   {
   2838  1.1  skrll     { 0, 0, 0, 0 },
   2839  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
   2840  1.1  skrll     & ifmt_m_addu, { 0x24000000 }
   2841  1.1  skrll   },
   2842  1.1  skrll /* and $rt,$rs,$lo16 */
   2843  1.1  skrll   {
   2844  1.1  skrll     { 0, 0, 0, 0 },
   2845  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
   2846  1.1  skrll     & ifmt_m_and, { 0x30000000 }
   2847  1.1  skrll   },
   2848  1.1  skrll /* j $rs */
   2849  1.1  skrll   {
   2850  1.1  skrll     { 0, 0, 0, 0 },
   2851  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
   2852  1.1  skrll     & ifmt_m_j, { 0x8 }
   2853  1.1  skrll   },
   2854  1.1  skrll /* or $rt,$rs,$lo16 */
   2855  1.1  skrll   {
   2856  1.1  skrll     { 0, 0, 0, 0 },
   2857  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
   2858  1.1  skrll     & ifmt_m_or, { 0x34000000 }
   2859  1.1  skrll   },
   2860  1.1  skrll /* sll $rd,$rt,$rs */
   2861  1.1  skrll   {
   2862  1.1  skrll     { 0, 0, 0, 0 },
   2863  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
   2864  1.1  skrll     & ifmt_m_sll, { 0x4 }
   2865  1.1  skrll   },
   2866  1.1  skrll /* slt $rt,$rs,$imm */
   2867  1.1  skrll   {
   2868  1.1  skrll     { 0, 0, 0, 0 },
   2869  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
   2870  1.1  skrll     & ifmt_m_slt, { 0x28000000 }
   2871  1.1  skrll   },
   2872  1.1  skrll /* sltu $rt,$rs,$imm */
   2873  1.1  skrll   {
   2874  1.1  skrll     { 0, 0, 0, 0 },
   2875  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (IMM), 0 } },
   2876  1.1  skrll     & ifmt_m_sltu, { 0x2c000000 }
   2877  1.1  skrll   },
   2878  1.1  skrll /* sra $rd,$rt,$rs */
   2879  1.1  skrll   {
   2880  1.1  skrll     { 0, 0, 0, 0 },
   2881  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
   2882  1.1  skrll     & ifmt_m_sra, { 0x7 }
   2883  1.1  skrll   },
   2884  1.1  skrll /* srl $rd,$rt,$rs */
   2885  1.1  skrll   {
   2886  1.1  skrll     { 0, 0, 0, 0 },
   2887  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (RS), 0 } },
   2888  1.1  skrll     & ifmt_m_srl, { 0x6 }
   2889  1.1  skrll   },
   2890  1.1  skrll /* not $rd,$rt */
   2891  1.1  skrll   {
   2892  1.1  skrll     { 0, 0, 0, 0 },
   2893  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   2894  1.1  skrll     & ifmt_not, { 0x27 }
   2895  1.1  skrll   },
   2896  1.1  skrll /* subi $rt,$rs,$mlo16 */
   2897  1.1  skrll   {
   2898  1.1  skrll     { 0, 0, 0, 0 },
   2899  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
   2900  1.1  skrll     & ifmt_subi, { 0x24000000 }
   2901  1.1  skrll   },
   2902  1.1  skrll /* sub $rt,$rs,$mlo16 */
   2903  1.1  skrll   {
   2904  1.1  skrll     { 0, 0, 0, 0 },
   2905  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
   2906  1.1  skrll     & ifmt_m_sub, { 0x24000000 }
   2907  1.1  skrll   },
   2908  1.1  skrll /* subu $rt,$rs,$mlo16 */
   2909  1.1  skrll   {
   2910  1.1  skrll     { 0, 0, 0, 0 },
   2911  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (MLO16), 0 } },
   2912  1.1  skrll     & ifmt_m_subu, { 0x24000000 }
   2913  1.1  skrll   },
   2914  1.1  skrll /* sb $rt,$lo16 */
   2915  1.1  skrll   {
   2916  1.1  skrll     { 0, 0, 0, 0 },
   2917  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2918  1.1  skrll     & ifmt_sb_base_0, { 0xa0000000 }
   2919  1.1  skrll   },
   2920  1.1  skrll /* sh $rt,$lo16 */
   2921  1.1  skrll   {
   2922  1.1  skrll     { 0, 0, 0, 0 },
   2923  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2924  1.1  skrll     & ifmt_sh_base_0, { 0xa4000000 }
   2925  1.1  skrll   },
   2926  1.1  skrll /* sw $rt,$lo16 */
   2927  1.1  skrll   {
   2928  1.1  skrll     { 0, 0, 0, 0 },
   2929  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2930  1.1  skrll     & ifmt_sw_base_0, { 0xac000000 }
   2931  1.1  skrll   },
   2932  1.1  skrll /* xor $rt,$rs,$lo16 */
   2933  1.1  skrll   {
   2934  1.1  skrll     { 0, 0, 0, 0 },
   2935  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (RS), ',', OP (LO16), 0 } },
   2936  1.1  skrll     & ifmt_m_xor, { 0x38000000 }
   2937  1.1  skrll   },
   2938  1.1  skrll /* ldw $rt,$lo16 */
   2939  1.1  skrll   {
   2940  1.1  skrll     { 0, 0, 0, 0 },
   2941  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2942  1.1  skrll     & ifmt_ldw_base_0, { 0xc0000000 }
   2943  1.1  skrll   },
   2944  1.1  skrll /* sdw $rt,$lo16 */
   2945  1.1  skrll   {
   2946  1.1  skrll     { 0, 0, 0, 0 },
   2947  1.1  skrll     { { MNEM, ' ', OP (RT), ',', OP (LO16), 0 } },
   2948  1.1  skrll     & ifmt_sdw_base_0, { 0xe0000000 }
   2949  1.1  skrll   },
   2950  1.1  skrll /* avail */
   2951  1.1  skrll   {
   2952  1.1  skrll     { 0, 0, 0, 0 },
   2953  1.1  skrll     { { MNEM, 0 } },
   2954  1.1  skrll     & ifmt_m_avail, { 0x4c000024 }
   2955  1.1  skrll   },
   2956  1.1  skrll /* cam36 $rd,$rt,${cam-z} */
   2957  1.1  skrll   {
   2958  1.1  skrll     { 0, 0, 0, 0 },
   2959  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
   2960  1.1  skrll     & ifmt_m_cam36, { 0x4c000400 }
   2961  1.1  skrll   },
   2962  1.1  skrll /* cam72 $rd,$rt,${cam-z} */
   2963  1.1  skrll   {
   2964  1.1  skrll     { 0, 0, 0, 0 },
   2965  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
   2966  1.1  skrll     & ifmt_m_cam72, { 0x4c000440 }
   2967  1.1  skrll   },
   2968  1.1  skrll /* cam144 $rd,$rt,${cam-z} */
   2969  1.1  skrll   {
   2970  1.1  skrll     { 0, 0, 0, 0 },
   2971  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
   2972  1.1  skrll     & ifmt_m_cam144, { 0x4c000480 }
   2973  1.1  skrll   },
   2974  1.1  skrll /* cam288 $rd,$rt,${cam-z} */
   2975  1.1  skrll   {
   2976  1.1  skrll     { 0, 0, 0, 0 },
   2977  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), ',', OP (CAM_Z), 0 } },
   2978  1.1  skrll     & ifmt_m_cam288, { 0x4c0004c0 }
   2979  1.1  skrll   },
   2980  1.1  skrll /* cm32read $rd,$rt */
   2981  1.1  skrll   {
   2982  1.1  skrll     { 0, 0, 0, 0 },
   2983  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   2984  1.1  skrll     & ifmt_m_cm32read, { 0x4c0000b0 }
   2985  1.1  skrll   },
   2986  1.1  skrll /* cm64read $rd,$rt */
   2987  1.1  skrll   {
   2988  1.1  skrll     { 0, 0, 0, 0 },
   2989  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   2990  1.1  skrll     & ifmt_m_cm64read, { 0x4c000090 }
   2991  1.1  skrll   },
   2992  1.1  skrll /* cm32mlog $rs,$rt */
   2993  1.1  skrll   {
   2994  1.1  skrll     { 0, 0, 0, 0 },
   2995  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   2996  1.1  skrll     & ifmt_m_cm32mlog, { 0x4c0000aa }
   2997  1.1  skrll   },
   2998  1.1  skrll /* cm32and $rs,$rt */
   2999  1.1  skrll   {
   3000  1.1  skrll     { 0, 0, 0, 0 },
   3001  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3002  1.1  skrll     & ifmt_m_cm32and, { 0x4c0000ab }
   3003  1.1  skrll   },
   3004  1.1  skrll /* cm32andn $rs,$rt */
   3005  1.1  skrll   {
   3006  1.1  skrll     { 0, 0, 0, 0 },
   3007  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3008  1.1  skrll     & ifmt_m_cm32andn, { 0x4c0000a3 }
   3009  1.1  skrll   },
   3010  1.1  skrll /* cm32or $rs,$rt */
   3011  1.1  skrll   {
   3012  1.1  skrll     { 0, 0, 0, 0 },
   3013  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3014  1.1  skrll     & ifmt_m_cm32or, { 0x4c0000aa }
   3015  1.1  skrll   },
   3016  1.1  skrll /* cm32ra $rs,$rt */
   3017  1.1  skrll   {
   3018  1.1  skrll     { 0, 0, 0, 0 },
   3019  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3020  1.1  skrll     & ifmt_m_cm32ra, { 0x4c0000b0 }
   3021  1.1  skrll   },
   3022  1.1  skrll /* cm32rd $rt */
   3023  1.1  skrll   {
   3024  1.1  skrll     { 0, 0, 0, 0 },
   3025  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3026  1.1  skrll     & ifmt_m_cm32rd, { 0x4c0000a1 }
   3027  1.1  skrll   },
   3028  1.1  skrll /* cm32ri $rt */
   3029  1.1  skrll   {
   3030  1.1  skrll     { 0, 0, 0, 0 },
   3031  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3032  1.1  skrll     & ifmt_m_cm32ri, { 0x4c0000a4 }
   3033  1.1  skrll   },
   3034  1.1  skrll /* cm32rs $rs,$rt */
   3035  1.1  skrll   {
   3036  1.1  skrll     { 0, 0, 0, 0 },
   3037  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3038  1.1  skrll     & ifmt_m_cm32rs, { 0x4c0000a0 }
   3039  1.1  skrll   },
   3040  1.1  skrll /* cm32sa $rs,$rt */
   3041  1.1  skrll   {
   3042  1.1  skrll     { 0, 0, 0, 0 },
   3043  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3044  1.1  skrll     & ifmt_m_cm32sa, { 0x4c0000b8 }
   3045  1.1  skrll   },
   3046  1.1  skrll /* cm32sd $rt */
   3047  1.1  skrll   {
   3048  1.1  skrll     { 0, 0, 0, 0 },
   3049  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3050  1.1  skrll     & ifmt_m_cm32sd, { 0x4c0000a9 }
   3051  1.1  skrll   },
   3052  1.1  skrll /* cm32si $rt */
   3053  1.1  skrll   {
   3054  1.1  skrll     { 0, 0, 0, 0 },
   3055  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3056  1.1  skrll     & ifmt_m_cm32si, { 0x4c0000ac }
   3057  1.1  skrll   },
   3058  1.1  skrll /* cm32ss $rs,$rt */
   3059  1.1  skrll   {
   3060  1.1  skrll     { 0, 0, 0, 0 },
   3061  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3062  1.1  skrll     & ifmt_m_cm32ss, { 0x4c0000a8 }
   3063  1.1  skrll   },
   3064  1.1  skrll /* cm32xor $rs,$rt */
   3065  1.1  skrll   {
   3066  1.1  skrll     { 0, 0, 0, 0 },
   3067  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3068  1.1  skrll     & ifmt_m_cm32xor, { 0x4c0000a2 }
   3069  1.1  skrll   },
   3070  1.1  skrll /* cm64clr $rt */
   3071  1.1  skrll   {
   3072  1.1  skrll     { 0, 0, 0, 0 },
   3073  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3074  1.1  skrll     & ifmt_m_cm64clr, { 0x4c000085 }
   3075  1.1  skrll   },
   3076  1.1  skrll /* cm64ra $rs,$rt */
   3077  1.1  skrll   {
   3078  1.1  skrll     { 0, 0, 0, 0 },
   3079  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3080  1.1  skrll     & ifmt_m_cm64ra, { 0x4c000090 }
   3081  1.1  skrll   },
   3082  1.1  skrll /* cm64rd $rt */
   3083  1.1  skrll   {
   3084  1.1  skrll     { 0, 0, 0, 0 },
   3085  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3086  1.1  skrll     & ifmt_m_cm64rd, { 0x4c000081 }
   3087  1.1  skrll   },
   3088  1.1  skrll /* cm64ri $rt */
   3089  1.1  skrll   {
   3090  1.1  skrll     { 0, 0, 0, 0 },
   3091  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3092  1.1  skrll     & ifmt_m_cm64ri, { 0x4c000084 }
   3093  1.1  skrll   },
   3094  1.1  skrll /* cm64ria2 $rs,$rt */
   3095  1.1  skrll   {
   3096  1.1  skrll     { 0, 0, 0, 0 },
   3097  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3098  1.1  skrll     & ifmt_m_cm64ria2, { 0x4c000094 }
   3099  1.1  skrll   },
   3100  1.1  skrll /* cm64rs $rs,$rt */
   3101  1.1  skrll   {
   3102  1.1  skrll     { 0, 0, 0, 0 },
   3103  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3104  1.1  skrll     & ifmt_m_cm64rs, { 0x4c000080 }
   3105  1.1  skrll   },
   3106  1.1  skrll /* cm64sa $rs,$rt */
   3107  1.1  skrll   {
   3108  1.1  skrll     { 0, 0, 0, 0 },
   3109  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3110  1.1  skrll     & ifmt_m_cm64sa, { 0x4c000098 }
   3111  1.1  skrll   },
   3112  1.1  skrll /* cm64sd $rt */
   3113  1.1  skrll   {
   3114  1.1  skrll     { 0, 0, 0, 0 },
   3115  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3116  1.1  skrll     & ifmt_m_cm64sd, { 0x4c000089 }
   3117  1.1  skrll   },
   3118  1.1  skrll /* cm64si $rt */
   3119  1.1  skrll   {
   3120  1.1  skrll     { 0, 0, 0, 0 },
   3121  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3122  1.1  skrll     & ifmt_m_cm64si, { 0x4c00008c }
   3123  1.1  skrll   },
   3124  1.1  skrll /* cm64sia2 $rs,$rt */
   3125  1.1  skrll   {
   3126  1.1  skrll     { 0, 0, 0, 0 },
   3127  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3128  1.1  skrll     & ifmt_m_cm64sia2, { 0x4c00009c }
   3129  1.1  skrll   },
   3130  1.1  skrll /* cm64ss $rs,$rt */
   3131  1.1  skrll   {
   3132  1.1  skrll     { 0, 0, 0, 0 },
   3133  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3134  1.1  skrll     & ifmt_m_cm64ss, { 0x4c000088 }
   3135  1.1  skrll   },
   3136  1.1  skrll /* cm128ria2 $rs,$rt */
   3137  1.1  skrll   {
   3138  1.1  skrll     { 0, 0, 0, 0 },
   3139  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3140  1.1  skrll     & ifmt_m_cm128ria2, { 0x4c000095 }
   3141  1.1  skrll   },
   3142  1.1  skrll /* cm128ria3 $rs,$rt,${cm-3z} */
   3143  1.1  skrll   {
   3144  1.1  skrll     { 0, 0, 0, 0 },
   3145  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
   3146  1.1  skrll     & ifmt_m_cm128ria3, { 0x4c000090 }
   3147  1.1  skrll   },
   3148  1.1  skrll /* cm128ria4 $rs,$rt,${cm-4z} */
   3149  1.1  skrll   {
   3150  1.1  skrll     { 0, 0, 0, 0 },
   3151  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
   3152  1.1  skrll     & ifmt_m_cm128ria4, { 0x4c0000b0 }
   3153  1.1  skrll   },
   3154  1.1  skrll /* cm128sia2 $rs,$rt */
   3155  1.1  skrll   {
   3156  1.1  skrll     { 0, 0, 0, 0 },
   3157  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3158  1.1  skrll     & ifmt_m_cm128sia2, { 0x4c00009d }
   3159  1.1  skrll   },
   3160  1.1  skrll /* cm128sia3 $rs,$rt,${cm-3z} */
   3161  1.1  skrll   {
   3162  1.1  skrll     { 0, 0, 0, 0 },
   3163  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_3Z), 0 } },
   3164  1.1  skrll     & ifmt_m_cm128sia3, { 0x4c000098 }
   3165  1.1  skrll   },
   3166  1.1  skrll /* cm128sia4 $rs,$rt,${cm-4z} */
   3167  1.1  skrll   {
   3168  1.1  skrll     { 0, 0, 0, 0 },
   3169  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (CM_4Z), 0 } },
   3170  1.1  skrll     & ifmt_m_cm128sia4, { 0x4c0000b8 }
   3171  1.1  skrll   },
   3172  1.1  skrll /* cmphdr */
   3173  1.1  skrll   {
   3174  1.1  skrll     { 0, 0, 0, 0 },
   3175  1.1  skrll     { { MNEM, 0 } },
   3176  1.1  skrll     & ifmt_m_cmphdr, { 0x4c00002c }
   3177  1.1  skrll   },
   3178  1.1  skrll /* dbd $rd,$rt */
   3179  1.1  skrll   {
   3180  1.1  skrll     { 0, 0, 0, 0 },
   3181  1.1  skrll     { { MNEM, ' ', OP (RD), ',', OP (RT), 0 } },
   3182  1.1  skrll     & ifmt_m_dbd, { 0x4c000021 }
   3183  1.1  skrll   },
   3184  1.1  skrll /* dbd $rt */
   3185  1.1  skrll   {
   3186  1.1  skrll     { 0, 0, 0, 0 },
   3187  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3188  1.1  skrll     & ifmt_m2_dbd, { 0x4c000021 }
   3189  1.1  skrll   },
   3190  1.1  skrll /* dpwt $rs */
   3191  1.1  skrll   {
   3192  1.1  skrll     { 0, 0, 0, 0 },
   3193  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
   3194  1.1  skrll     & ifmt_m_dpwt, { 0x4c000023 }
   3195  1.1  skrll   },
   3196  1.1  skrll /* free $rs */
   3197  1.1  skrll   {
   3198  1.1  skrll     { 0, 0, 0, 0 },
   3199  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
   3200  1.1  skrll     & ifmt_m_free, { 0x4c000025 }
   3201  1.1  skrll   },
   3202  1.1  skrll /* lock $rt */
   3203  1.1  skrll   {
   3204  1.1  skrll     { 0, 0, 0, 0 },
   3205  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3206  1.1  skrll     & ifmt_m_lock, { 0x4c000001 }
   3207  1.1  skrll   },
   3208  1.1  skrll /* pkrla $rs,$rt */
   3209  1.1  skrll   {
   3210  1.1  skrll     { 0, 0, 0, 0 },
   3211  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3212  1.1  skrll     & ifmt_m_pkrla, { 0x4c000028 }
   3213  1.1  skrll   },
   3214  1.1  skrll /* pkrlac $rs,$rt */
   3215  1.1  skrll   {
   3216  1.1  skrll     { 0, 0, 0, 0 },
   3217  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3218  1.1  skrll     & ifmt_m_pkrlac, { 0x4c00002b }
   3219  1.1  skrll   },
   3220  1.1  skrll /* pkrlah $rs,$rt */
   3221  1.1  skrll   {
   3222  1.1  skrll     { 0, 0, 0, 0 },
   3223  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3224  1.1  skrll     & ifmt_m_pkrlah, { 0x4c00002a }
   3225  1.1  skrll   },
   3226  1.1  skrll /* pkrlau $rs,$rt */
   3227  1.1  skrll   {
   3228  1.1  skrll     { 0, 0, 0, 0 },
   3229  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3230  1.1  skrll     & ifmt_m_pkrlau, { 0x4c000029 }
   3231  1.1  skrll   },
   3232  1.1  skrll /* pkrli $rs,$rt,$bytecount */
   3233  1.1  skrll   {
   3234  1.1  skrll     { 0, 0, 0, 0 },
   3235  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3236  1.1  skrll     & ifmt_m_pkrli, { 0x48000000 }
   3237  1.1  skrll   },
   3238  1.1  skrll /* pkrlic $rs,$rt,$bytecount */
   3239  1.1  skrll   {
   3240  1.1  skrll     { 0, 0, 0, 0 },
   3241  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3242  1.1  skrll     & ifmt_m_pkrlic, { 0x48000300 }
   3243  1.1  skrll   },
   3244  1.1  skrll /* pkrlih $rs,$rt,$bytecount */
   3245  1.1  skrll   {
   3246  1.1  skrll     { 0, 0, 0, 0 },
   3247  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3248  1.1  skrll     & ifmt_m_pkrlih, { 0x48000200 }
   3249  1.1  skrll   },
   3250  1.1  skrll /* pkrliu $rs,$rt,$bytecount */
   3251  1.1  skrll   {
   3252  1.1  skrll     { 0, 0, 0, 0 },
   3253  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3254  1.1  skrll     & ifmt_m_pkrliu, { 0x48000100 }
   3255  1.1  skrll   },
   3256  1.1  skrll /* rba $rs,$rt */
   3257  1.1  skrll   {
   3258  1.1  skrll     { 0, 0, 0, 0 },
   3259  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3260  1.1  skrll     & ifmt_m_rba, { 0x4c000008 }
   3261  1.1  skrll   },
   3262  1.1  skrll /* rbal $rs,$rt */
   3263  1.1  skrll   {
   3264  1.1  skrll     { 0, 0, 0, 0 },
   3265  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3266  1.1  skrll     & ifmt_m_rbal, { 0x4c000009 }
   3267  1.1  skrll   },
   3268  1.1  skrll /* rbar $rs,$rt */
   3269  1.1  skrll   {
   3270  1.1  skrll     { 0, 0, 0, 0 },
   3271  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3272  1.1  skrll     & ifmt_m_rbar, { 0x4c00000a }
   3273  1.1  skrll   },
   3274  1.1  skrll /* rbi $rs,$rt,$bytecount */
   3275  1.1  skrll   {
   3276  1.1  skrll     { 0, 0, 0, 0 },
   3277  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3278  1.1  skrll     & ifmt_m_rbi, { 0x4c000200 }
   3279  1.1  skrll   },
   3280  1.1  skrll /* rbil $rs,$rt,$bytecount */
   3281  1.1  skrll   {
   3282  1.1  skrll     { 0, 0, 0, 0 },
   3283  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3284  1.1  skrll     & ifmt_m_rbil, { 0x4c000300 }
   3285  1.1  skrll   },
   3286  1.1  skrll /* rbir $rs,$rt,$bytecount */
   3287  1.1  skrll   {
   3288  1.1  skrll     { 0, 0, 0, 0 },
   3289  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3290  1.1  skrll     & ifmt_m_rbir, { 0x4c000100 }
   3291  1.1  skrll   },
   3292  1.1  skrll /* swwr $rs,$rt */
   3293  1.1  skrll   {
   3294  1.1  skrll     { 0, 0, 0, 0 },
   3295  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3296  1.1  skrll     & ifmt_m_swwr, { 0x4c000006 }
   3297  1.1  skrll   },
   3298  1.1  skrll /* swwru $rs,$rt */
   3299  1.1  skrll   {
   3300  1.1  skrll     { 0, 0, 0, 0 },
   3301  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3302  1.1  skrll     & ifmt_m_swwru, { 0x4c000007 }
   3303  1.1  skrll   },
   3304  1.1  skrll /* tstod $rs */
   3305  1.1  skrll   {
   3306  1.1  skrll     { 0, 0, 0, 0 },
   3307  1.1  skrll     { { MNEM, ' ', OP (RS), 0 } },
   3308  1.1  skrll     & ifmt_m_tstod, { 0x4c000027 }
   3309  1.1  skrll   },
   3310  1.1  skrll /* unlk $rt */
   3311  1.1  skrll   {
   3312  1.1  skrll     { 0, 0, 0, 0 },
   3313  1.1  skrll     { { MNEM, ' ', OP (RT), 0 } },
   3314  1.1  skrll     & ifmt_m_unlk, { 0x4c000003 }
   3315  1.1  skrll   },
   3316  1.1  skrll /* wba $rs,$rt */
   3317  1.1  skrll   {
   3318  1.1  skrll     { 0, 0, 0, 0 },
   3319  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3320  1.1  skrll     & ifmt_m_wba, { 0x4c000010 }
   3321  1.1  skrll   },
   3322  1.1  skrll /* wbac $rs,$rt */
   3323  1.1  skrll   {
   3324  1.1  skrll     { 0, 0, 0, 0 },
   3325  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3326  1.1  skrll     & ifmt_m_wbac, { 0x4c000012 }
   3327  1.1  skrll   },
   3328  1.1  skrll /* wbau $rs,$rt */
   3329  1.1  skrll   {
   3330  1.1  skrll     { 0, 0, 0, 0 },
   3331  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), 0 } },
   3332  1.1  skrll     & ifmt_m_wbau, { 0x4c000011 }
   3333  1.1  skrll   },
   3334  1.1  skrll /* wbi $rs,$rt,$bytecount */
   3335  1.1  skrll   {
   3336  1.1  skrll     { 0, 0, 0, 0 },
   3337  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3338  1.1  skrll     & ifmt_m_wbi, { 0x4c000600 }
   3339  1.1  skrll   },
   3340  1.1  skrll /* wbic $rs,$rt,$bytecount */
   3341  1.1  skrll   {
   3342  1.1  skrll     { 0, 0, 0, 0 },
   3343  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3344  1.1  skrll     & ifmt_m_wbic, { 0x4c000500 }
   3345  1.1  skrll   },
   3346  1.1  skrll /* wbiu $rs,$rt,$bytecount */
   3347  1.1  skrll   {
   3348  1.1  skrll     { 0, 0, 0, 0 },
   3349  1.1  skrll     { { MNEM, ' ', OP (RS), ',', OP (RT), ',', OP (BYTECOUNT), 0 } },
   3350  1.1  skrll     & ifmt_m_wbiu, { 0x4c000700 }
   3351  1.1  skrll   },
   3352  1.1  skrll };
   3353  1.1  skrll 
   3354  1.1  skrll #undef A
   3355  1.1  skrll #undef OPERAND
   3356  1.1  skrll #undef MNEM
   3357  1.1  skrll #undef OP
   3358  1.1  skrll 
   3359  1.1  skrll #ifndef CGEN_ASM_HASH_P
   3360  1.1  skrll #define CGEN_ASM_HASH_P(insn) 1
   3361  1.1  skrll #endif
   3362  1.1  skrll 
   3363  1.1  skrll #ifndef CGEN_DIS_HASH_P
   3364  1.1  skrll #define CGEN_DIS_HASH_P(insn) 1
   3365  1.1  skrll #endif
   3366  1.1  skrll 
   3367  1.1  skrll /* Return non-zero if INSN is to be added to the hash table.
   3368  1.1  skrll    Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file.  */
   3369  1.1  skrll 
   3370  1.1  skrll static int
   3371  1.1  skrll asm_hash_insn_p (insn)
   3372  1.1  skrll      const CGEN_INSN *insn ATTRIBUTE_UNUSED;
   3373  1.1  skrll {
   3374  1.1  skrll   return CGEN_ASM_HASH_P (insn);
   3375  1.1  skrll }
   3376  1.1  skrll 
   3377  1.1  skrll static int
   3378  1.1  skrll dis_hash_insn_p (insn)
   3379  1.1  skrll      const CGEN_INSN *insn;
   3380  1.1  skrll {
   3381  1.1  skrll   /* If building the hash table and the NO-DIS attribute is present,
   3382  1.1  skrll      ignore.  */
   3383  1.1  skrll   if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
   3384  1.1  skrll     return 0;
   3385  1.1  skrll   return CGEN_DIS_HASH_P (insn);
   3386  1.1  skrll }
   3387  1.1  skrll 
   3388  1.1  skrll #ifndef CGEN_ASM_HASH
   3389  1.1  skrll #define CGEN_ASM_HASH_SIZE 127
   3390  1.1  skrll #ifdef CGEN_MNEMONIC_OPERANDS
   3391  1.1  skrll #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
   3392  1.1  skrll #else
   3393  1.1  skrll #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
   3394  1.1  skrll #endif
   3395  1.1  skrll #endif
   3396  1.1  skrll 
   3397  1.1  skrll /* It doesn't make much sense to provide a default here,
   3398  1.1  skrll    but while this is under development we do.
   3399  1.1  skrll    BUFFER is a pointer to the bytes of the insn, target order.
   3400  1.1  skrll    VALUE is the first base_insn_bitsize bits as an int in host order.  */
   3401  1.1  skrll 
   3402  1.1  skrll #ifndef CGEN_DIS_HASH
   3403  1.1  skrll #define CGEN_DIS_HASH_SIZE 256
   3404  1.1  skrll #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
   3405  1.1  skrll #endif
   3406  1.1  skrll 
   3407  1.1  skrll /* The result is the hash value of the insn.
   3408  1.1  skrll    Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file.  */
   3409  1.1  skrll 
   3410  1.1  skrll static unsigned int
   3411  1.1  skrll asm_hash_insn (mnem)
   3412  1.1  skrll      const char * mnem;
   3413  1.1  skrll {
   3414  1.1  skrll   return CGEN_ASM_HASH (mnem);
   3415  1.1  skrll }
   3416  1.1  skrll 
   3417  1.1  skrll /* BUF is a pointer to the bytes of the insn, target order.
   3418  1.1  skrll    VALUE is the first base_insn_bitsize bits as an int in host order.  */
   3419  1.1  skrll 
   3420  1.1  skrll static unsigned int
   3421  1.1  skrll dis_hash_insn (buf, value)
   3422  1.1  skrll      const char * buf ATTRIBUTE_UNUSED;
   3423  1.1  skrll      CGEN_INSN_INT value ATTRIBUTE_UNUSED;
   3424  1.1  skrll {
   3425  1.1  skrll   return CGEN_DIS_HASH (buf, value);
   3426  1.1  skrll }
   3427  1.1  skrll 
   3428  1.1  skrll /* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
   3429  1.1  skrll 
   3430  1.1  skrll static void
   3431  1.1  skrll set_fields_bitsize (CGEN_FIELDS *fields, int size)
   3432  1.1  skrll {
   3433  1.1  skrll   CGEN_FIELDS_BITSIZE (fields) = size;
   3434  1.1  skrll }
   3435  1.1  skrll 
   3436  1.1  skrll /* Function to call before using the operand instance table.
   3437  1.1  skrll    This plugs the opcode entries and macro instructions into the cpu table.  */
   3438  1.1  skrll 
   3439  1.1  skrll void
   3440  1.1  skrll iq2000_cgen_init_opcode_table (CGEN_CPU_DESC cd)
   3441  1.1  skrll {
   3442  1.1  skrll   int i;
   3443  1.1  skrll   int num_macros = (sizeof (iq2000_cgen_macro_insn_table) /
   3444  1.1  skrll 		    sizeof (iq2000_cgen_macro_insn_table[0]));
   3445  1.1  skrll   const CGEN_IBASE *ib = & iq2000_cgen_macro_insn_table[0];
   3446  1.1  skrll   const CGEN_OPCODE *oc = & iq2000_cgen_macro_insn_opcode_table[0];
   3447  1.1  skrll   CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
   3448  1.1  skrll 
   3449  1.1  skrll   memset (insns, 0, num_macros * sizeof (CGEN_INSN));
   3450  1.1  skrll   for (i = 0; i < num_macros; ++i)
   3451  1.1  skrll     {
   3452  1.1  skrll       insns[i].base = &ib[i];
   3453  1.1  skrll       insns[i].opcode = &oc[i];
   3454  1.1  skrll       iq2000_cgen_build_insn_regex (& insns[i]);
   3455  1.1  skrll     }
   3456  1.1  skrll   cd->macro_insn_table.init_entries = insns;
   3457  1.1  skrll   cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
   3458  1.1  skrll   cd->macro_insn_table.num_init_entries = num_macros;
   3459  1.1  skrll 
   3460  1.1  skrll   oc = & iq2000_cgen_insn_opcode_table[0];
   3461  1.1  skrll   insns = (CGEN_INSN *) cd->insn_table.init_entries;
   3462  1.1  skrll   for (i = 0; i < MAX_INSNS; ++i)
   3463  1.1  skrll     {
   3464  1.1  skrll       insns[i].opcode = &oc[i];
   3465  1.1  skrll       iq2000_cgen_build_insn_regex (& insns[i]);
   3466  1.1  skrll     }
   3467  1.1  skrll 
   3468  1.1  skrll   cd->sizeof_fields = sizeof (CGEN_FIELDS);
   3469  1.1  skrll   cd->set_fields_bitsize = set_fields_bitsize;
   3470  1.1  skrll 
   3471  1.1  skrll   cd->asm_hash_p = asm_hash_insn_p;
   3472  1.1  skrll   cd->asm_hash = asm_hash_insn;
   3473  1.1  skrll   cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
   3474  1.1  skrll 
   3475  1.1  skrll   cd->dis_hash_p = dis_hash_insn_p;
   3476  1.1  skrll   cd->dis_hash = dis_hash_insn;
   3477  1.1  skrll   cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
   3478  1.1  skrll }
   3479