Home | History | Annotate | Download | only in opcodes
      1 /* Instruction opcode table for epiphany.
      2 
      3 THIS FILE IS MACHINE GENERATED WITH CGEN.
      4 
      5 Copyright (C) 1996-2016 Free Software Foundation, Inc.
      6 
      7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
      8 
      9    This file is free software; you can redistribute it and/or modify
     10    it under the terms of the GNU General Public License as published by
     11    the Free Software Foundation; either version 3, or (at your option)
     12    any later version.
     13 
     14    It is distributed in the hope that it will be useful, but WITHOUT
     15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     17    License for more details.
     18 
     19    You should have received a copy of the GNU General Public License along
     20    with this program; if not, write to the Free Software Foundation, Inc.,
     21    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
     22 
     23 */
     24 
     25 #include "sysdep.h"
     26 #include "ansidecl.h"
     27 #include "bfd.h"
     28 #include "symcat.h"
     29 #include "epiphany-desc.h"
     30 #include "epiphany-opc.h"
     31 #include "libiberty.h"
     32 
     33 /* -- opc.c */
     34 
     35 
     36 
     37 /* -- asm.c */
     39 /* The hash functions are recorded here to help keep assembler code out of
     40    the disassembler and vice versa.  */
     41 
     42 static int asm_hash_insn_p        (const CGEN_INSN *);
     43 static unsigned int asm_hash_insn (const char *);
     44 static int dis_hash_insn_p        (const CGEN_INSN *);
     45 static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
     46 
     47 /* Instruction formats.  */
     48 
     49 #define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
     50 static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
     51   0, 0, 0x0, { { 0 } }
     52 };
     53 
     54 static const CGEN_IFMT ifmt_beq16 ATTRIBUTE_UNUSED = {
     55   16, 16, 0xff, { { F (F_SIMM8) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
     56 };
     57 
     58 static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
     59   32, 32, 0xff, { { F (F_SIMM24) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
     60 };
     61 
     62 static const CGEN_IFMT ifmt_jr16 ATTRIBUTE_UNUSED = {
     63   16, 16, 0xe3ff, { { F (F_DC_15_3) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
     64 };
     65 
     66 static const CGEN_IFMT ifmt_rts ATTRIBUTE_UNUSED = {
     67   32, 32, 0xffffffff, { { F (F_DC_31_3) }, { F (F_RN_X) }, { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_DC_15_3) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
     68 };
     69 
     70 static const CGEN_IFMT ifmt_jr ATTRIBUTE_UNUSED = {
     71   32, 32, 0xe3ffe3ff, { { F (F_DC_31_3) }, { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_DC_15_3) }, { F (F_RN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
     72 };
     73 
     74 static const CGEN_IFMT ifmt_ldrbx16_s ATTRIBUTE_UNUSED = {
     75   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
     76 };
     77 
     78 static const CGEN_IFMT ifmt_ldrbx_l ATTRIBUTE_UNUSED = {
     79   32, 32, 0x6f007f, { { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_ADDSUBX) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
     80 };
     81 
     82 static const CGEN_IFMT ifmt_ldrbp_l ATTRIBUTE_UNUSED = {
     83   32, 32, 0x6f007f, { { F (F_DC_22_2) }, { F (F_ADDSUBX) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
     84 };
     85 
     86 static const CGEN_IFMT ifmt_ldrbd16_s ATTRIBUTE_UNUSED = {
     87   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
     88 };
     89 
     90 static const CGEN_IFMT ifmt_ldrbd_l ATTRIBUTE_UNUSED = {
     91   32, 32, 0x200007f, { { F (F_PM) }, { F (F_SUBD) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_DISP11) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC) }, { 0 } }
     92 };
     93 
     94 static const CGEN_IFMT ifmt_cmov16EQ ATTRIBUTE_UNUSED = {
     95   16, 16, 0x3ff, { { F (F_RD) }, { F (F_RN) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
     96 };
     97 
     98 static const CGEN_IFMT ifmt_cmovEQ ATTRIBUTE_UNUSED = {
     99   32, 32, 0x3ff03ff, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } }
    100 };
    101 
    102 static const CGEN_IFMT ifmt_movts16 ATTRIBUTE_UNUSED = {
    103   16, 16, 0x3ff, { { F (F_RD) }, { F (F_SN) }, { F (F_DC_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    104 };
    105 
    106 static const CGEN_IFMT ifmt_movts6 ATTRIBUTE_UNUSED = {
    107   32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
    108 };
    109 
    110 static const CGEN_IFMT ifmt_movtsdma ATTRIBUTE_UNUSED = {
    111   32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
    112 };
    113 
    114 static const CGEN_IFMT ifmt_movtsmem ATTRIBUTE_UNUSED = {
    115   32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
    116 };
    117 
    118 static const CGEN_IFMT ifmt_movtsmesh ATTRIBUTE_UNUSED = {
    119   32, 32, 0x3ff03ff, { { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_SN6) }, { F (F_DC_9_1) }, { F (F_OPC_8_1) }, { F (F_DC_7_4) }, { F (F_OPC) }, { 0 } }
    120 };
    121 
    122 static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
    123   16, 16, 0xffff, { { F (F_DC_15_7) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    124 };
    125 
    126 static const CGEN_IFMT ifmt_unimpl ATTRIBUTE_UNUSED = {
    127   32, 32, 0xffffffff, { { F (F_OPC_31_32) }, { 0 } }
    128 };
    129 
    130 static const CGEN_IFMT ifmt_gien ATTRIBUTE_UNUSED = {
    131   16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_GIEN_GIDIS_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    132 };
    133 
    134 static const CGEN_IFMT ifmt_swi_num ATTRIBUTE_UNUSED = {
    135   16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    136 };
    137 
    138 static const CGEN_IFMT ifmt_swi ATTRIBUTE_UNUSED = {
    139   16, 16, 0xffff, { { F (F_DC_15_6) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    140 };
    141 
    142 static const CGEN_IFMT ifmt_trap16 ATTRIBUTE_UNUSED = {
    143   16, 16, 0x3ff, { { F (F_TRAP_NUM) }, { F (F_TRAP_SWI_9_1) }, { F (F_OPC_8_5) }, { F (F_OPC) }, { 0 } }
    144 };
    145 
    146 static const CGEN_IFMT ifmt_add16 ATTRIBUTE_UNUSED = {
    147   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    148 };
    149 
    150 static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
    151   32, 32, 0x7f007f, { { F (F_DC_22_3) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    152 };
    153 
    154 static const CGEN_IFMT ifmt_addi16 ATTRIBUTE_UNUSED = {
    155   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    156 };
    157 
    158 static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
    159   32, 32, 0x300007f, { { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    160 };
    161 
    162 static const CGEN_IFMT ifmt_lsri16 ATTRIBUTE_UNUSED = {
    163   16, 16, 0x1f, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    164 };
    165 
    166 static const CGEN_IFMT ifmt_lsri32 ATTRIBUTE_UNUSED = {
    167   32, 32, 0x3ff001f, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    168 };
    169 
    170 static const CGEN_IFMT ifmt_bitr16 ATTRIBUTE_UNUSED = {
    171   16, 16, 0x3ff, { { F (F_RD) }, { F (F_RN) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    172 };
    173 
    174 static const CGEN_IFMT ifmt_bitr ATTRIBUTE_UNUSED = {
    175   32, 32, 0x3ff03ff, { { F (F_DC_25_6) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    176 };
    177 
    178 static const CGEN_IFMT ifmt_fext ATTRIBUTE_UNUSED = {
    179   32, 32, 0x7f007f, { { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    180 };
    181 
    182 static const CGEN_IFMT ifmt_mov8 ATTRIBUTE_UNUSED = {
    183   16, 16, 0x1f, { { F (F_RD) }, { F (F_IMM8) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    184 };
    185 
    186 static const CGEN_IFMT ifmt_mov16 ATTRIBUTE_UNUSED = {
    187   32, 32, 0x100f001f, { { F (F_DC_28_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_IMM16) }, { F (F_OPC_4_1) }, { F (F_OPC) }, { 0 } }
    188 };
    189 
    190 static const CGEN_IFMT ifmt_f_absf16 ATTRIBUTE_UNUSED = {
    191   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    192 };
    193 
    194 static const CGEN_IFMT ifmt_f_absf32 ATTRIBUTE_UNUSED = {
    195   32, 32, 0x7f007f, { { F (F_DC_22_3) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    196 };
    197 
    198 static const CGEN_IFMT ifmt_f_loatf16 ATTRIBUTE_UNUSED = {
    199   16, 16, 0x7f, { { F (F_RD) }, { F (F_RN) }, { F (F_RN) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    200 };
    201 
    202 static const CGEN_IFMT ifmt_f_recipf32 ATTRIBUTE_UNUSED = {
    203   32, 32, 0x7f007f, { { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_OPC_19_4) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { F (F_OPC_6_3) }, { F (F_OPC) }, { 0 } }
    204 };
    205 
    206 #undef F
    207 
    208 #define A(a) (1 << CGEN_INSN_##a)
    209 #define OPERAND(op) EPIPHANY_OPERAND_##op
    210 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
    211 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
    212 
    213 /* The instruction table.  */
    214 
    215 static const CGEN_OPCODE epiphany_cgen_insn_opcode_table[MAX_INSNS] =
    216 {
    217   /* Special null first entry.
    218      A `num' value of zero is thus invalid.
    219      Also, the special `invalid' insn resides here.  */
    220   { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
    221 /* beq.s $simm8 */
    222   {
    223     { 0, 0, 0, 0 },
    224     { { MNEM, ' ', OP (SIMM8), 0 } },
    225     & ifmt_beq16, { 0x0 }
    226   },
    227 /* beq.l $simm24 */
    228   {
    229     { 0, 0, 0, 0 },
    230     { { MNEM, ' ', OP (SIMM24), 0 } },
    231     & ifmt_beq, { 0x8 }
    232   },
    233 /* bne.s $simm8 */
    234   {
    235     { 0, 0, 0, 0 },
    236     { { MNEM, ' ', OP (SIMM8), 0 } },
    237     & ifmt_beq16, { 0x10 }
    238   },
    239 /* bne.l $simm24 */
    240   {
    241     { 0, 0, 0, 0 },
    242     { { MNEM, ' ', OP (SIMM24), 0 } },
    243     & ifmt_beq, { 0x18 }
    244   },
    245 /* bgtu.s $simm8 */
    246   {
    247     { 0, 0, 0, 0 },
    248     { { MNEM, ' ', OP (SIMM8), 0 } },
    249     & ifmt_beq16, { 0x20 }
    250   },
    251 /* bgtu.l $simm24 */
    252   {
    253     { 0, 0, 0, 0 },
    254     { { MNEM, ' ', OP (SIMM24), 0 } },
    255     & ifmt_beq, { 0x28 }
    256   },
    257 /* bgteu.s $simm8 */
    258   {
    259     { 0, 0, 0, 0 },
    260     { { MNEM, ' ', OP (SIMM8), 0 } },
    261     & ifmt_beq16, { 0x30 }
    262   },
    263 /* bgteu.l $simm24 */
    264   {
    265     { 0, 0, 0, 0 },
    266     { { MNEM, ' ', OP (SIMM24), 0 } },
    267     & ifmt_beq, { 0x38 }
    268   },
    269 /* blteu.s $simm8 */
    270   {
    271     { 0, 0, 0, 0 },
    272     { { MNEM, ' ', OP (SIMM8), 0 } },
    273     & ifmt_beq16, { 0x40 }
    274   },
    275 /* blteu.l $simm24 */
    276   {
    277     { 0, 0, 0, 0 },
    278     { { MNEM, ' ', OP (SIMM24), 0 } },
    279     & ifmt_beq, { 0x48 }
    280   },
    281 /* bltu.s $simm8 */
    282   {
    283     { 0, 0, 0, 0 },
    284     { { MNEM, ' ', OP (SIMM8), 0 } },
    285     & ifmt_beq16, { 0x50 }
    286   },
    287 /* bltu.l $simm24 */
    288   {
    289     { 0, 0, 0, 0 },
    290     { { MNEM, ' ', OP (SIMM24), 0 } },
    291     & ifmt_beq, { 0x58 }
    292   },
    293 /* bgt.s $simm8 */
    294   {
    295     { 0, 0, 0, 0 },
    296     { { MNEM, ' ', OP (SIMM8), 0 } },
    297     & ifmt_beq16, { 0x60 }
    298   },
    299 /* bgt.l $simm24 */
    300   {
    301     { 0, 0, 0, 0 },
    302     { { MNEM, ' ', OP (SIMM24), 0 } },
    303     & ifmt_beq, { 0x68 }
    304   },
    305 /* bgte.s $simm8 */
    306   {
    307     { 0, 0, 0, 0 },
    308     { { MNEM, ' ', OP (SIMM8), 0 } },
    309     & ifmt_beq16, { 0x70 }
    310   },
    311 /* bgte.l $simm24 */
    312   {
    313     { 0, 0, 0, 0 },
    314     { { MNEM, ' ', OP (SIMM24), 0 } },
    315     & ifmt_beq, { 0x78 }
    316   },
    317 /* blt.s $simm8 */
    318   {
    319     { 0, 0, 0, 0 },
    320     { { MNEM, ' ', OP (SIMM8), 0 } },
    321     & ifmt_beq16, { 0x80 }
    322   },
    323 /* blt.l $simm24 */
    324   {
    325     { 0, 0, 0, 0 },
    326     { { MNEM, ' ', OP (SIMM24), 0 } },
    327     & ifmt_beq, { 0x88 }
    328   },
    329 /* blte.s $simm8 */
    330   {
    331     { 0, 0, 0, 0 },
    332     { { MNEM, ' ', OP (SIMM8), 0 } },
    333     & ifmt_beq16, { 0x90 }
    334   },
    335 /* blte.l $simm24 */
    336   {
    337     { 0, 0, 0, 0 },
    338     { { MNEM, ' ', OP (SIMM24), 0 } },
    339     & ifmt_beq, { 0x98 }
    340   },
    341 /* bbeq.s $simm8 */
    342   {
    343     { 0, 0, 0, 0 },
    344     { { MNEM, ' ', OP (SIMM8), 0 } },
    345     & ifmt_beq16, { 0xa0 }
    346   },
    347 /* bbeq.l $simm24 */
    348   {
    349     { 0, 0, 0, 0 },
    350     { { MNEM, ' ', OP (SIMM24), 0 } },
    351     & ifmt_beq, { 0xa8 }
    352   },
    353 /* bbne.s $simm8 */
    354   {
    355     { 0, 0, 0, 0 },
    356     { { MNEM, ' ', OP (SIMM8), 0 } },
    357     & ifmt_beq16, { 0xb0 }
    358   },
    359 /* bbne.l $simm24 */
    360   {
    361     { 0, 0, 0, 0 },
    362     { { MNEM, ' ', OP (SIMM24), 0 } },
    363     & ifmt_beq, { 0xb8 }
    364   },
    365 /* bblt.s $simm8 */
    366   {
    367     { 0, 0, 0, 0 },
    368     { { MNEM, ' ', OP (SIMM8), 0 } },
    369     & ifmt_beq16, { 0xc0 }
    370   },
    371 /* bblt.l $simm24 */
    372   {
    373     { 0, 0, 0, 0 },
    374     { { MNEM, ' ', OP (SIMM24), 0 } },
    375     & ifmt_beq, { 0xc8 }
    376   },
    377 /* bblte.s $simm8 */
    378   {
    379     { 0, 0, 0, 0 },
    380     { { MNEM, ' ', OP (SIMM8), 0 } },
    381     & ifmt_beq16, { 0xd0 }
    382   },
    383 /* bblte.l $simm24 */
    384   {
    385     { 0, 0, 0, 0 },
    386     { { MNEM, ' ', OP (SIMM24), 0 } },
    387     & ifmt_beq, { 0xd8 }
    388   },
    389 /* b.s $simm8 */
    390   {
    391     { 0, 0, 0, 0 },
    392     { { MNEM, ' ', OP (SIMM8), 0 } },
    393     & ifmt_beq16, { 0xe0 }
    394   },
    395 /* b.l $simm24 */
    396   {
    397     { 0, 0, 0, 0 },
    398     { { MNEM, ' ', OP (SIMM24), 0 } },
    399     & ifmt_beq, { 0xe8 }
    400   },
    401 /* bl.s $simm8 */
    402   {
    403     { 0, 0, 0, 0 },
    404     { { MNEM, ' ', OP (SIMM8), 0 } },
    405     & ifmt_beq16, { 0xf0 }
    406   },
    407 /* bl.l $simm24 */
    408   {
    409     { 0, 0, 0, 0 },
    410     { { MNEM, ' ', OP (SIMM24), 0 } },
    411     & ifmt_beq, { 0xf8 }
    412   },
    413 /* jr $rn */
    414   {
    415     { 0, 0, 0, 0 },
    416     { { MNEM, ' ', OP (RN), 0 } },
    417     & ifmt_jr16, { 0x142 }
    418   },
    419 /* rts */
    420   {
    421     { 0, 0, 0, 0 },
    422     { { MNEM, 0 } },
    423     & ifmt_rts, { 0x402194f }
    424   },
    425 /* jr $rn6 */
    426   {
    427     { 0, 0, 0, 0 },
    428     { { MNEM, ' ', OP (RN6), 0 } },
    429     & ifmt_jr, { 0x2014f }
    430   },
    431 /* jalr $rn */
    432   {
    433     { 0, 0, 0, 0 },
    434     { { MNEM, ' ', OP (RN), 0 } },
    435     & ifmt_jr16, { 0x152 }
    436   },
    437 /* jalr $rn6 */
    438   {
    439     { 0, 0, 0, 0 },
    440     { { MNEM, ' ', OP (RN6), 0 } },
    441     & ifmt_jr, { 0x2015f }
    442   },
    443 /* ldrb $rd,[$rn,$rm] */
    444   {
    445     { 0, 0, 0, 0 },
    446     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    447     & ifmt_ldrbx16_s, { 0x1 }
    448   },
    449 /* ldrb $rd,[$rn],$rm */
    450   {
    451     { 0, 0, 0, 0 },
    452     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    453     & ifmt_ldrbx16_s, { 0x5 }
    454   },
    455 /* ldrb $rd6,[$rn6,$direction$rm6] */
    456   {
    457     { 0, 0, 0, 0 },
    458     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    459     & ifmt_ldrbx_l, { 0x9 }
    460   },
    461 /* ldrb $rd6,[$rn6],$direction$rm6 */
    462   {
    463     { 0, 0, 0, 0 },
    464     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    465     & ifmt_ldrbp_l, { 0xd }
    466   },
    467 /* ldrb $rd,[$rn,$disp3] */
    468   {
    469     { 0, 0, 0, 0 },
    470     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    471     & ifmt_ldrbd16_s, { 0x4 }
    472   },
    473 /* ldrb $rd6,[$rn6,$dpmi$disp11] */
    474   {
    475     { 0, 0, 0, 0 },
    476     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    477     & ifmt_ldrbd_l, { 0xc }
    478   },
    479 /* ldrb $rd6,[$rn6],$dpmi$disp11 */
    480   {
    481     { 0, 0, 0, 0 },
    482     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    483     & ifmt_ldrbd_l, { 0x200000c }
    484   },
    485 /* ldrh $rd,[$rn,$rm] */
    486   {
    487     { 0, 0, 0, 0 },
    488     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    489     & ifmt_ldrbx16_s, { 0x21 }
    490   },
    491 /* ldrh $rd,[$rn],$rm */
    492   {
    493     { 0, 0, 0, 0 },
    494     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    495     & ifmt_ldrbx16_s, { 0x25 }
    496   },
    497 /* ldrh $rd6,[$rn6,$direction$rm6] */
    498   {
    499     { 0, 0, 0, 0 },
    500     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    501     & ifmt_ldrbx_l, { 0x29 }
    502   },
    503 /* ldrh $rd6,[$rn6],$direction$rm6 */
    504   {
    505     { 0, 0, 0, 0 },
    506     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    507     & ifmt_ldrbp_l, { 0x2d }
    508   },
    509 /* ldrh $rd,[$rn,$disp3] */
    510   {
    511     { 0, 0, 0, 0 },
    512     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    513     & ifmt_ldrbd16_s, { 0x24 }
    514   },
    515 /* ldrh $rd6,[$rn6,$dpmi$disp11] */
    516   {
    517     { 0, 0, 0, 0 },
    518     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    519     & ifmt_ldrbd_l, { 0x2c }
    520   },
    521 /* ldrh $rd6,[$rn6],$dpmi$disp11 */
    522   {
    523     { 0, 0, 0, 0 },
    524     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    525     & ifmt_ldrbd_l, { 0x200002c }
    526   },
    527 /* ldr $rd,[$rn,$rm] */
    528   {
    529     { 0, 0, 0, 0 },
    530     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    531     & ifmt_ldrbx16_s, { 0x41 }
    532   },
    533 /* ldr $rd,[$rn],$rm */
    534   {
    535     { 0, 0, 0, 0 },
    536     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    537     & ifmt_ldrbx16_s, { 0x45 }
    538   },
    539 /* ldr $rd6,[$rn6,$direction$rm6] */
    540   {
    541     { 0, 0, 0, 0 },
    542     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    543     & ifmt_ldrbx_l, { 0x49 }
    544   },
    545 /* ldr $rd6,[$rn6],$direction$rm6 */
    546   {
    547     { 0, 0, 0, 0 },
    548     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    549     & ifmt_ldrbp_l, { 0x4d }
    550   },
    551 /* ldr $rd,[$rn,$disp3] */
    552   {
    553     { 0, 0, 0, 0 },
    554     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    555     & ifmt_ldrbd16_s, { 0x44 }
    556   },
    557 /* ldr $rd6,[$rn6,$dpmi$disp11] */
    558   {
    559     { 0, 0, 0, 0 },
    560     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    561     & ifmt_ldrbd_l, { 0x4c }
    562   },
    563 /* ldr $rd6,[$rn6],$dpmi$disp11 */
    564   {
    565     { 0, 0, 0, 0 },
    566     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    567     & ifmt_ldrbd_l, { 0x200004c }
    568   },
    569 /* ldrd $rd,[$rn,$rm] */
    570   {
    571     { 0, 0, 0, 0 },
    572     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    573     & ifmt_ldrbx16_s, { 0x61 }
    574   },
    575 /* ldrd $rd,[$rn],$rm */
    576   {
    577     { 0, 0, 0, 0 },
    578     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    579     & ifmt_ldrbx16_s, { 0x65 }
    580   },
    581 /* ldrd $rd6,[$rn6,$direction$rm6] */
    582   {
    583     { 0, 0, 0, 0 },
    584     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    585     & ifmt_ldrbx_l, { 0x69 }
    586   },
    587 /* ldrd $rd6,[$rn6],$direction$rm6 */
    588   {
    589     { 0, 0, 0, 0 },
    590     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    591     & ifmt_ldrbp_l, { 0x6d }
    592   },
    593 /* ldrd $rd,[$rn,$disp3] */
    594   {
    595     { 0, 0, 0, 0 },
    596     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    597     & ifmt_ldrbd16_s, { 0x64 }
    598   },
    599 /* ldrd $rd6,[$rn6,$dpmi$disp11] */
    600   {
    601     { 0, 0, 0, 0 },
    602     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    603     & ifmt_ldrbd_l, { 0x6c }
    604   },
    605 /* ldrd $rd6,[$rn6],$dpmi$disp11 */
    606   {
    607     { 0, 0, 0, 0 },
    608     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    609     & ifmt_ldrbd_l, { 0x200006c }
    610   },
    611 /* testsetb $rd6,[$rn6,$direction$rm6] */
    612   {
    613     { 0, 0, 0, 0 },
    614     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    615     & ifmt_ldrbx_l, { 0x200009 }
    616   },
    617 /* testseth $rd6,[$rn6,$direction$rm6] */
    618   {
    619     { 0, 0, 0, 0 },
    620     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    621     & ifmt_ldrbx_l, { 0x200029 }
    622   },
    623 /* testset $rd6,[$rn6,$direction$rm6] */
    624   {
    625     { 0, 0, 0, 0 },
    626     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    627     & ifmt_ldrbx_l, { 0x200049 }
    628   },
    629 /* strb $rd,[$rn,$rm] */
    630   {
    631     { 0, 0, 0, 0 },
    632     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    633     & ifmt_ldrbx16_s, { 0x11 }
    634   },
    635 /* strb $rd6,[$rn6,$direction$rm6] */
    636   {
    637     { 0, 0, 0, 0 },
    638     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    639     & ifmt_ldrbx_l, { 0x19 }
    640   },
    641 /* strb $rd,[$rn],$rm */
    642   {
    643     { 0, 0, 0, 0 },
    644     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    645     & ifmt_ldrbx16_s, { 0x15 }
    646   },
    647 /* strb $rd6,[$rn6],$direction$rm6 */
    648   {
    649     { 0, 0, 0, 0 },
    650     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    651     & ifmt_ldrbp_l, { 0x1d }
    652   },
    653 /* strb $rd,[$rn,$disp3] */
    654   {
    655     { 0, 0, 0, 0 },
    656     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    657     & ifmt_ldrbd16_s, { 0x14 }
    658   },
    659 /* strb $rd6,[$rn6,$dpmi$disp11] */
    660   {
    661     { 0, 0, 0, 0 },
    662     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    663     & ifmt_ldrbd_l, { 0x1c }
    664   },
    665 /* strb $rd6,[$rn6],$dpmi$disp11 */
    666   {
    667     { 0, 0, 0, 0 },
    668     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    669     & ifmt_ldrbd_l, { 0x200001c }
    670   },
    671 /* strh $rd,[$rn,$rm] */
    672   {
    673     { 0, 0, 0, 0 },
    674     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    675     & ifmt_ldrbx16_s, { 0x31 }
    676   },
    677 /* strh $rd6,[$rn6,$direction$rm6] */
    678   {
    679     { 0, 0, 0, 0 },
    680     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    681     & ifmt_ldrbx_l, { 0x39 }
    682   },
    683 /* strh $rd,[$rn],$rm */
    684   {
    685     { 0, 0, 0, 0 },
    686     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    687     & ifmt_ldrbx16_s, { 0x35 }
    688   },
    689 /* strh $rd6,[$rn6],$direction$rm6 */
    690   {
    691     { 0, 0, 0, 0 },
    692     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    693     & ifmt_ldrbp_l, { 0x3d }
    694   },
    695 /* strh $rd,[$rn,$disp3] */
    696   {
    697     { 0, 0, 0, 0 },
    698     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    699     & ifmt_ldrbd16_s, { 0x34 }
    700   },
    701 /* strh $rd6,[$rn6,$dpmi$disp11] */
    702   {
    703     { 0, 0, 0, 0 },
    704     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    705     & ifmt_ldrbd_l, { 0x3c }
    706   },
    707 /* strh $rd6,[$rn6],$dpmi$disp11 */
    708   {
    709     { 0, 0, 0, 0 },
    710     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    711     & ifmt_ldrbd_l, { 0x200003c }
    712   },
    713 /* str $rd,[$rn,$rm] */
    714   {
    715     { 0, 0, 0, 0 },
    716     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    717     & ifmt_ldrbx16_s, { 0x51 }
    718   },
    719 /* str $rd6,[$rn6,$direction$rm6] */
    720   {
    721     { 0, 0, 0, 0 },
    722     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    723     & ifmt_ldrbx_l, { 0x59 }
    724   },
    725 /* str $rd,[$rn],$rm */
    726   {
    727     { 0, 0, 0, 0 },
    728     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    729     & ifmt_ldrbx16_s, { 0x55 }
    730   },
    731 /* str $rd6,[$rn6],$direction$rm6 */
    732   {
    733     { 0, 0, 0, 0 },
    734     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    735     & ifmt_ldrbp_l, { 0x5d }
    736   },
    737 /* str $rd,[$rn,$disp3] */
    738   {
    739     { 0, 0, 0, 0 },
    740     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    741     & ifmt_ldrbd16_s, { 0x54 }
    742   },
    743 /* str $rd6,[$rn6,$dpmi$disp11] */
    744   {
    745     { 0, 0, 0, 0 },
    746     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    747     & ifmt_ldrbd_l, { 0x5c }
    748   },
    749 /* str $rd6,[$rn6],$dpmi$disp11 */
    750   {
    751     { 0, 0, 0, 0 },
    752     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    753     & ifmt_ldrbd_l, { 0x200005c }
    754   },
    755 /* strd $rd,[$rn,$rm] */
    756   {
    757     { 0, 0, 0, 0 },
    758     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (RM), ']', 0 } },
    759     & ifmt_ldrbx16_s, { 0x71 }
    760   },
    761 /* strd $rd6,[$rn6,$direction$rm6] */
    762   {
    763     { 0, 0, 0, 0 },
    764     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
    765     & ifmt_ldrbx_l, { 0x79 }
    766   },
    767 /* strd $rd,[$rn],$rm */
    768   {
    769     { 0, 0, 0, 0 },
    770     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', ',', OP (RM), 0 } },
    771     & ifmt_ldrbx16_s, { 0x75 }
    772   },
    773 /* strd $rd6,[$rn6],$direction$rm6 */
    774   {
    775     { 0, 0, 0, 0 },
    776     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
    777     & ifmt_ldrbp_l, { 0x7d }
    778   },
    779 /* strd $rd,[$rn,$disp3] */
    780   {
    781     { 0, 0, 0, 0 },
    782     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ',', OP (DISP3), ']', 0 } },
    783     & ifmt_ldrbd16_s, { 0x74 }
    784   },
    785 /* strd $rd6,[$rn6,$dpmi$disp11] */
    786   {
    787     { 0, 0, 0, 0 },
    788     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
    789     & ifmt_ldrbd_l, { 0x7c }
    790   },
    791 /* strd $rd6,[$rn6],$dpmi$disp11 */
    792   {
    793     { 0, 0, 0, 0 },
    794     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
    795     & ifmt_ldrbd_l, { 0x200007c }
    796   },
    797 /* moveq $rd,$rn */
    798   {
    799     { 0, 0, 0, 0 },
    800     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    801     & ifmt_cmov16EQ, { 0x2 }
    802   },
    803 /* moveq $rd6,$rn6 */
    804   {
    805     { 0, 0, 0, 0 },
    806     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    807     & ifmt_cmovEQ, { 0x2000f }
    808   },
    809 /* movne $rd,$rn */
    810   {
    811     { 0, 0, 0, 0 },
    812     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    813     & ifmt_cmov16EQ, { 0x12 }
    814   },
    815 /* movne $rd6,$rn6 */
    816   {
    817     { 0, 0, 0, 0 },
    818     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    819     & ifmt_cmovEQ, { 0x2001f }
    820   },
    821 /* movgtu $rd,$rn */
    822   {
    823     { 0, 0, 0, 0 },
    824     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    825     & ifmt_cmov16EQ, { 0x22 }
    826   },
    827 /* movgtu $rd6,$rn6 */
    828   {
    829     { 0, 0, 0, 0 },
    830     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    831     & ifmt_cmovEQ, { 0x2002f }
    832   },
    833 /* movgteu $rd,$rn */
    834   {
    835     { 0, 0, 0, 0 },
    836     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    837     & ifmt_cmov16EQ, { 0x32 }
    838   },
    839 /* movgteu $rd6,$rn6 */
    840   {
    841     { 0, 0, 0, 0 },
    842     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    843     & ifmt_cmovEQ, { 0x2003f }
    844   },
    845 /* movlteu $rd,$rn */
    846   {
    847     { 0, 0, 0, 0 },
    848     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    849     & ifmt_cmov16EQ, { 0x42 }
    850   },
    851 /* movlteu $rd6,$rn6 */
    852   {
    853     { 0, 0, 0, 0 },
    854     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    855     & ifmt_cmovEQ, { 0x2004f }
    856   },
    857 /* movltu $rd,$rn */
    858   {
    859     { 0, 0, 0, 0 },
    860     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    861     & ifmt_cmov16EQ, { 0x52 }
    862   },
    863 /* movltu $rd6,$rn6 */
    864   {
    865     { 0, 0, 0, 0 },
    866     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    867     & ifmt_cmovEQ, { 0x2005f }
    868   },
    869 /* movgt $rd,$rn */
    870   {
    871     { 0, 0, 0, 0 },
    872     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    873     & ifmt_cmov16EQ, { 0x62 }
    874   },
    875 /* movgt $rd6,$rn6 */
    876   {
    877     { 0, 0, 0, 0 },
    878     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    879     & ifmt_cmovEQ, { 0x2006f }
    880   },
    881 /* movgte $rd,$rn */
    882   {
    883     { 0, 0, 0, 0 },
    884     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    885     & ifmt_cmov16EQ, { 0x72 }
    886   },
    887 /* movgte $rd6,$rn6 */
    888   {
    889     { 0, 0, 0, 0 },
    890     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    891     & ifmt_cmovEQ, { 0x2007f }
    892   },
    893 /* movlt $rd,$rn */
    894   {
    895     { 0, 0, 0, 0 },
    896     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    897     & ifmt_cmov16EQ, { 0x82 }
    898   },
    899 /* movlt $rd6,$rn6 */
    900   {
    901     { 0, 0, 0, 0 },
    902     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    903     & ifmt_cmovEQ, { 0x2008f }
    904   },
    905 /* movlte $rd,$rn */
    906   {
    907     { 0, 0, 0, 0 },
    908     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    909     & ifmt_cmov16EQ, { 0x92 }
    910   },
    911 /* movlte $rd6,$rn6 */
    912   {
    913     { 0, 0, 0, 0 },
    914     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    915     & ifmt_cmovEQ, { 0x2009f }
    916   },
    917 /* mov $rd,$rn */
    918   {
    919     { 0, 0, 0, 0 },
    920     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    921     & ifmt_cmov16EQ, { 0xe2 }
    922   },
    923 /* mov $rd6,$rn6 */
    924   {
    925     { 0, 0, 0, 0 },
    926     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    927     & ifmt_cmovEQ, { 0x200ef }
    928   },
    929 /* movbeq $rd,$rn */
    930   {
    931     { 0, 0, 0, 0 },
    932     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    933     & ifmt_cmov16EQ, { 0xa2 }
    934   },
    935 /* movbeq $rd6,$rn6 */
    936   {
    937     { 0, 0, 0, 0 },
    938     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    939     & ifmt_cmovEQ, { 0x200af }
    940   },
    941 /* movbne $rd,$rn */
    942   {
    943     { 0, 0, 0, 0 },
    944     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    945     & ifmt_cmov16EQ, { 0xb2 }
    946   },
    947 /* movbne $rd6,$rn6 */
    948   {
    949     { 0, 0, 0, 0 },
    950     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    951     & ifmt_cmovEQ, { 0x200bf }
    952   },
    953 /* movblt $rd,$rn */
    954   {
    955     { 0, 0, 0, 0 },
    956     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    957     & ifmt_cmov16EQ, { 0xc2 }
    958   },
    959 /* movblt $rd6,$rn6 */
    960   {
    961     { 0, 0, 0, 0 },
    962     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    963     & ifmt_cmovEQ, { 0x200cf }
    964   },
    965 /* movblte $rd,$rn */
    966   {
    967     { 0, 0, 0, 0 },
    968     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
    969     & ifmt_cmov16EQ, { 0xd2 }
    970   },
    971 /* movblte $rd6,$rn6 */
    972   {
    973     { 0, 0, 0, 0 },
    974     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
    975     & ifmt_cmovEQ, { 0x200df }
    976   },
    977 /* movts $sn,$rd */
    978   {
    979     { 0, 0, 0, 0 },
    980     { { MNEM, ' ', OP (SN), ',', OP (RD), 0 } },
    981     & ifmt_movts16, { 0x102 }
    982   },
    983 /* movts $sn6,$rd6 */
    984   {
    985     { 0, 0, 0, 0 },
    986     { { MNEM, ' ', OP (SN6), ',', OP (RD6), 0 } },
    987     & ifmt_movts6, { 0x2010f }
    988   },
    989 /* movts $sndma,$rd6 */
    990   {
    991     { 0, 0, 0, 0 },
    992     { { MNEM, ' ', OP (SNDMA), ',', OP (RD6), 0 } },
    993     & ifmt_movtsdma, { 0x12010f }
    994   },
    995 /* movts $snmem,$rd6 */
    996   {
    997     { 0, 0, 0, 0 },
    998     { { MNEM, ' ', OP (SNMEM), ',', OP (RD6), 0 } },
    999     & ifmt_movtsmem, { 0x22010f }
   1000   },
   1001 /* movts $snmesh,$rd6 */
   1002   {
   1003     { 0, 0, 0, 0 },
   1004     { { MNEM, ' ', OP (SNMESH), ',', OP (RD6), 0 } },
   1005     & ifmt_movtsmesh, { 0x32010f }
   1006   },
   1007 /* movfs $rd,$sn */
   1008   {
   1009     { 0, 0, 0, 0 },
   1010     { { MNEM, ' ', OP (RD), ',', OP (SN), 0 } },
   1011     & ifmt_movts16, { 0x112 }
   1012   },
   1013 /* movfs $rd6,$sn6 */
   1014   {
   1015     { 0, 0, 0, 0 },
   1016     { { MNEM, ' ', OP (RD6), ',', OP (SN6), 0 } },
   1017     & ifmt_movts6, { 0x2011f }
   1018   },
   1019 /* movfs $rd6,$sndma */
   1020   {
   1021     { 0, 0, 0, 0 },
   1022     { { MNEM, ' ', OP (RD6), ',', OP (SNDMA), 0 } },
   1023     & ifmt_movtsdma, { 0x12011f }
   1024   },
   1025 /* movfs $rd6,$snmem */
   1026   {
   1027     { 0, 0, 0, 0 },
   1028     { { MNEM, ' ', OP (RD6), ',', OP (SNMEM), 0 } },
   1029     & ifmt_movtsmem, { 0x22011f }
   1030   },
   1031 /* movfs $rd6,$snmesh */
   1032   {
   1033     { 0, 0, 0, 0 },
   1034     { { MNEM, ' ', OP (RD6), ',', OP (SNMESH), 0 } },
   1035     & ifmt_movtsmesh, { 0x32011f }
   1036   },
   1037 /* nop */
   1038   {
   1039     { 0, 0, 0, 0 },
   1040     { { MNEM, 0 } },
   1041     & ifmt_nop, { 0x1a2 }
   1042   },
   1043 /* snop */
   1044   {
   1045     { 0, 0, 0, 0 },
   1046     { { MNEM, 0 } },
   1047     & ifmt_nop, { 0x3a2 }
   1048   },
   1049 /* unimpl */
   1050   {
   1051     { 0, 0, 0, 0 },
   1052     { { MNEM, 0 } },
   1053     & ifmt_unimpl, { 0xf000f }
   1054   },
   1055 /* idle */
   1056   {
   1057     { 0, 0, 0, 0 },
   1058     { { MNEM, 0 } },
   1059     & ifmt_nop, { 0x1b2 }
   1060   },
   1061 /* bkpt */
   1062   {
   1063     { 0, 0, 0, 0 },
   1064     { { MNEM, 0 } },
   1065     & ifmt_nop, { 0x1c2 }
   1066   },
   1067 /* mbkpt */
   1068   {
   1069     { 0, 0, 0, 0 },
   1070     { { MNEM, 0 } },
   1071     & ifmt_nop, { 0x3c2 }
   1072   },
   1073 /* rti */
   1074   {
   1075     { 0, 0, 0, 0 },
   1076     { { MNEM, 0 } },
   1077     & ifmt_nop, { 0x1d2 }
   1078   },
   1079 /* wand */
   1080   {
   1081     { 0, 0, 0, 0 },
   1082     { { MNEM, 0 } },
   1083     & ifmt_nop, { 0x182 }
   1084   },
   1085 /* sync */
   1086   {
   1087     { 0, 0, 0, 0 },
   1088     { { MNEM, 0 } },
   1089     & ifmt_nop, { 0x1f2 }
   1090   },
   1091 /* gie */
   1092   {
   1093     { 0, 0, 0, 0 },
   1094     { { MNEM, 0 } },
   1095     & ifmt_gien, { 0x192 }
   1096   },
   1097 /* gid */
   1098   {
   1099     { 0, 0, 0, 0 },
   1100     { { MNEM, 0 } },
   1101     & ifmt_gien, { 0x392 }
   1102   },
   1103 /* swi $swi_num */
   1104   {
   1105     { 0, 0, 0, 0 },
   1106     { { MNEM, ' ', OP (SWI_NUM), 0 } },
   1107     & ifmt_swi_num, { 0x1e2 }
   1108   },
   1109 /* swi */
   1110   {
   1111     { 0, 0, 0, 0 },
   1112     { { MNEM, 0 } },
   1113     & ifmt_swi, { 0x1e2 }
   1114   },
   1115 /* trap $trapnum6 */
   1116   {
   1117     { 0, 0, 0, 0 },
   1118     { { MNEM, ' ', OP (TRAPNUM6), 0 } },
   1119     & ifmt_trap16, { 0x3e2 }
   1120   },
   1121 /* add $rd,$rn,$rm */
   1122   {
   1123     { 0, 0, 0, 0 },
   1124     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1125     & ifmt_add16, { 0x1a }
   1126   },
   1127 /* add $rd6,$rn6,$rm6 */
   1128   {
   1129     { 0, 0, 0, 0 },
   1130     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1131     & ifmt_add, { 0xa001f }
   1132   },
   1133 /* sub $rd,$rn,$rm */
   1134   {
   1135     { 0, 0, 0, 0 },
   1136     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1137     & ifmt_add16, { 0x3a }
   1138   },
   1139 /* sub $rd6,$rn6,$rm6 */
   1140   {
   1141     { 0, 0, 0, 0 },
   1142     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1143     & ifmt_add, { 0xa003f }
   1144   },
   1145 /* and $rd,$rn,$rm */
   1146   {
   1147     { 0, 0, 0, 0 },
   1148     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1149     & ifmt_add16, { 0x5a }
   1150   },
   1151 /* and $rd6,$rn6,$rm6 */
   1152   {
   1153     { 0, 0, 0, 0 },
   1154     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1155     & ifmt_add, { 0xa005f }
   1156   },
   1157 /* orr $rd,$rn,$rm */
   1158   {
   1159     { 0, 0, 0, 0 },
   1160     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1161     & ifmt_add16, { 0x7a }
   1162   },
   1163 /* orr $rd6,$rn6,$rm6 */
   1164   {
   1165     { 0, 0, 0, 0 },
   1166     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1167     & ifmt_add, { 0xa007f }
   1168   },
   1169 /* eor $rd,$rn,$rm */
   1170   {
   1171     { 0, 0, 0, 0 },
   1172     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1173     & ifmt_add16, { 0xa }
   1174   },
   1175 /* eor $rd6,$rn6,$rm6 */
   1176   {
   1177     { 0, 0, 0, 0 },
   1178     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1179     & ifmt_add, { 0xa000f }
   1180   },
   1181 /* add.s $rd,$rn,$simm3 */
   1182   {
   1183     { 0, 0, 0, 0 },
   1184     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
   1185     & ifmt_addi16, { 0x13 }
   1186   },
   1187 /* add.l $rd6,$rn6,$simm11 */
   1188   {
   1189     { 0, 0, 0, 0 },
   1190     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   1191     & ifmt_addi, { 0x1b }
   1192   },
   1193 /* sub.s $rd,$rn,$simm3 */
   1194   {
   1195     { 0, 0, 0, 0 },
   1196     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
   1197     & ifmt_addi16, { 0x33 }
   1198   },
   1199 /* sub.l $rd6,$rn6,$simm11 */
   1200   {
   1201     { 0, 0, 0, 0 },
   1202     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   1203     & ifmt_addi, { 0x3b }
   1204   },
   1205 /* asr $rd,$rn,$rm */
   1206   {
   1207     { 0, 0, 0, 0 },
   1208     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1209     & ifmt_add16, { 0x6a }
   1210   },
   1211 /* asr $rd6,$rn6,$rm6 */
   1212   {
   1213     { 0, 0, 0, 0 },
   1214     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1215     & ifmt_add, { 0xa006f }
   1216   },
   1217 /* lsr $rd,$rn,$rm */
   1218   {
   1219     { 0, 0, 0, 0 },
   1220     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1221     & ifmt_add16, { 0x4a }
   1222   },
   1223 /* lsr $rd6,$rn6,$rm6 */
   1224   {
   1225     { 0, 0, 0, 0 },
   1226     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1227     & ifmt_add, { 0xa004f }
   1228   },
   1229 /* lsl $rd,$rn,$rm */
   1230   {
   1231     { 0, 0, 0, 0 },
   1232     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1233     & ifmt_add16, { 0x2a }
   1234   },
   1235 /* lsl $rd6,$rn6,$rm6 */
   1236   {
   1237     { 0, 0, 0, 0 },
   1238     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1239     & ifmt_add, { 0xa002f }
   1240   },
   1241 /* lsr $rd,$rn,$shift */
   1242   {
   1243     { 0, 0, 0, 0 },
   1244     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
   1245     & ifmt_lsri16, { 0x6 }
   1246   },
   1247 /* lsr $rd6,$rn6,$shift */
   1248   {
   1249     { 0, 0, 0, 0 },
   1250     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   1251     & ifmt_lsri32, { 0x6000f }
   1252   },
   1253 /* lsl $rd,$rn,$shift */
   1254   {
   1255     { 0, 0, 0, 0 },
   1256     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
   1257     & ifmt_lsri16, { 0x16 }
   1258   },
   1259 /* lsl $rd6,$rn6,$shift */
   1260   {
   1261     { 0, 0, 0, 0 },
   1262     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   1263     & ifmt_lsri32, { 0x6001f }
   1264   },
   1265 /* asr $rd,$rn,$shift */
   1266   {
   1267     { 0, 0, 0, 0 },
   1268     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SHIFT), 0 } },
   1269     & ifmt_lsri16, { 0xe }
   1270   },
   1271 /* asr $rd6,$rn6,$shift */
   1272   {
   1273     { 0, 0, 0, 0 },
   1274     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   1275     & ifmt_lsri32, { 0xe000f }
   1276   },
   1277 /* bitr $rd,$rn */
   1278   {
   1279     { 0, 0, 0, 0 },
   1280     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
   1281     & ifmt_bitr16, { 0x1e }
   1282   },
   1283 /* bitr $rd6,$rn6 */
   1284   {
   1285     { 0, 0, 0, 0 },
   1286     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   1287     & ifmt_bitr, { 0xe001f }
   1288   },
   1289 /* fext $rd6,$rn6,$rm6 */
   1290   {
   1291     { 0, 0, 0, 0 },
   1292     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1293     & ifmt_fext, { 0x1a000f }
   1294   },
   1295 /* fdep $rd6,$rn6,$rm6 */
   1296   {
   1297     { 0, 0, 0, 0 },
   1298     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1299     & ifmt_fext, { 0x1a001f }
   1300   },
   1301 /* lfsr $rd6,$rn6,$rm6 */
   1302   {
   1303     { 0, 0, 0, 0 },
   1304     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1305     & ifmt_fext, { 0x1a002f }
   1306   },
   1307 /* mov.b $rd,$imm8 */
   1308   {
   1309     { 0, 0, 0, 0 },
   1310     { { MNEM, ' ', OP (RD), ',', OP (IMM8), 0 } },
   1311     & ifmt_mov8, { 0x3 }
   1312   },
   1313 /* mov.l $rd6,$imm16 */
   1314   {
   1315     { 0, 0, 0, 0 },
   1316     { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
   1317     & ifmt_mov16, { 0x2000b }
   1318   },
   1319 /* movt $rd6,$imm16 */
   1320   {
   1321     { 0, 0, 0, 0 },
   1322     { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
   1323     & ifmt_mov16, { 0x1002000b }
   1324   },
   1325 /* fadd $rd,$rn,$rm */
   1326   {
   1327     { 0, 0, 0, 0 },
   1328     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1329     & ifmt_add16, { 0x7 }
   1330   },
   1331 /* fadd $rd6,$rn6,$rm6 */
   1332   {
   1333     { 0, 0, 0, 0 },
   1334     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1335     & ifmt_add, { 0x7000f }
   1336   },
   1337 /* fsub $rd,$rn,$rm */
   1338   {
   1339     { 0, 0, 0, 0 },
   1340     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1341     & ifmt_add16, { 0x17 }
   1342   },
   1343 /* fsub $rd6,$rn6,$rm6 */
   1344   {
   1345     { 0, 0, 0, 0 },
   1346     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1347     & ifmt_add, { 0x7001f }
   1348   },
   1349 /* fmul $rd,$rn,$rm */
   1350   {
   1351     { 0, 0, 0, 0 },
   1352     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1353     & ifmt_add16, { 0x27 }
   1354   },
   1355 /* fmul $rd6,$rn6,$rm6 */
   1356   {
   1357     { 0, 0, 0, 0 },
   1358     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1359     & ifmt_add, { 0x7002f }
   1360   },
   1361 /* fmadd $rd,$rn,$rm */
   1362   {
   1363     { 0, 0, 0, 0 },
   1364     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1365     & ifmt_add16, { 0x37 }
   1366   },
   1367 /* fmadd $rd6,$rn6,$rm6 */
   1368   {
   1369     { 0, 0, 0, 0 },
   1370     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1371     & ifmt_add, { 0x7003f }
   1372   },
   1373 /* fmsub $rd,$rn,$rm */
   1374   {
   1375     { 0, 0, 0, 0 },
   1376     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   1377     & ifmt_add16, { 0x47 }
   1378   },
   1379 /* fmsub $rd6,$rn6,$rm6 */
   1380   {
   1381     { 0, 0, 0, 0 },
   1382     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   1383     & ifmt_add, { 0x7004f }
   1384   },
   1385 /* fabs rd,rn */
   1386   {
   1387     { 0, 0, 0, 0 },
   1388     { { MNEM, ' ', 'r', 'd', ',', 'r', 'n', 0 } },
   1389     & ifmt_f_absf16, { 0x77 }
   1390   },
   1391 /* fabs $rd6,$rn6 */
   1392   {
   1393     { 0, 0, 0, 0 },
   1394     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   1395     & ifmt_f_absf32, { 0x7007f }
   1396   },
   1397 /* float $rd,$rn */
   1398   {
   1399     { 0, 0, 0, 0 },
   1400     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
   1401     & ifmt_f_loatf16, { 0x57 }
   1402   },
   1403 /* float $rd6,$rn6 */
   1404   {
   1405     { 0, 0, 0, 0 },
   1406     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   1407     & ifmt_f_absf32, { 0x7005f }
   1408   },
   1409 /* fix $rd,$rn */
   1410   {
   1411     { 0, 0, 0, 0 },
   1412     { { MNEM, ' ', OP (RD), ',', OP (RN), 0 } },
   1413     & ifmt_f_absf16, { 0x67 }
   1414   },
   1415 /* fix $rd6,$rn6 */
   1416   {
   1417     { 0, 0, 0, 0 },
   1418     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   1419     & ifmt_f_absf32, { 0x7006f }
   1420   },
   1421 /* frecip $frd6,$frn6 */
   1422   {
   1423     { 0, 0, 0, 0 },
   1424     { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
   1425     & ifmt_f_recipf32, { 0x17000f }
   1426   },
   1427 /* fsqrt $frd6,$frn6 */
   1428   {
   1429     { 0, 0, 0, 0 },
   1430     { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
   1431     & ifmt_f_recipf32, { 0x17001f }
   1432   },
   1433 };
   1434 
   1435 #undef A
   1436 #undef OPERAND
   1437 #undef MNEM
   1438 #undef OP
   1439 
   1440 /* Formats for ALIAS macro-insns.  */
   1441 
   1442 #define F(f) & epiphany_cgen_ifld_table[EPIPHANY_##f]
   1443 static const CGEN_IFMT ifmt_beq16r ATTRIBUTE_UNUSED = {
   1444   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1445 };
   1446 
   1447 static const CGEN_IFMT ifmt_beq32r ATTRIBUTE_UNUSED = {
   1448   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1449 };
   1450 
   1451 static const CGEN_IFMT ifmt_bne16r ATTRIBUTE_UNUSED = {
   1452   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1453 };
   1454 
   1455 static const CGEN_IFMT ifmt_bne32r ATTRIBUTE_UNUSED = {
   1456   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1457 };
   1458 
   1459 static const CGEN_IFMT ifmt_bgtu16r ATTRIBUTE_UNUSED = {
   1460   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1461 };
   1462 
   1463 static const CGEN_IFMT ifmt_bgtu32r ATTRIBUTE_UNUSED = {
   1464   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1465 };
   1466 
   1467 static const CGEN_IFMT ifmt_bgteu16r ATTRIBUTE_UNUSED = {
   1468   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1469 };
   1470 
   1471 static const CGEN_IFMT ifmt_bgteu32r ATTRIBUTE_UNUSED = {
   1472   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1473 };
   1474 
   1475 static const CGEN_IFMT ifmt_blteu16r ATTRIBUTE_UNUSED = {
   1476   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1477 };
   1478 
   1479 static const CGEN_IFMT ifmt_blteu32r ATTRIBUTE_UNUSED = {
   1480   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1481 };
   1482 
   1483 static const CGEN_IFMT ifmt_bltu16r ATTRIBUTE_UNUSED = {
   1484   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1485 };
   1486 
   1487 static const CGEN_IFMT ifmt_bltu32r ATTRIBUTE_UNUSED = {
   1488   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1489 };
   1490 
   1491 static const CGEN_IFMT ifmt_bgt16r ATTRIBUTE_UNUSED = {
   1492   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1493 };
   1494 
   1495 static const CGEN_IFMT ifmt_bgt32r ATTRIBUTE_UNUSED = {
   1496   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1497 };
   1498 
   1499 static const CGEN_IFMT ifmt_bgte16r ATTRIBUTE_UNUSED = {
   1500   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1501 };
   1502 
   1503 static const CGEN_IFMT ifmt_bgte32r ATTRIBUTE_UNUSED = {
   1504   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1505 };
   1506 
   1507 static const CGEN_IFMT ifmt_blt16r ATTRIBUTE_UNUSED = {
   1508   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1509 };
   1510 
   1511 static const CGEN_IFMT ifmt_blt32r ATTRIBUTE_UNUSED = {
   1512   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1513 };
   1514 
   1515 static const CGEN_IFMT ifmt_blte16r ATTRIBUTE_UNUSED = {
   1516   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1517 };
   1518 
   1519 static const CGEN_IFMT ifmt_blte32r ATTRIBUTE_UNUSED = {
   1520   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1521 };
   1522 
   1523 static const CGEN_IFMT ifmt_bbeq16r ATTRIBUTE_UNUSED = {
   1524   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1525 };
   1526 
   1527 static const CGEN_IFMT ifmt_bbeq32r ATTRIBUTE_UNUSED = {
   1528   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1529 };
   1530 
   1531 static const CGEN_IFMT ifmt_bbne16r ATTRIBUTE_UNUSED = {
   1532   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1533 };
   1534 
   1535 static const CGEN_IFMT ifmt_bbne32r ATTRIBUTE_UNUSED = {
   1536   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1537 };
   1538 
   1539 static const CGEN_IFMT ifmt_bblt16r ATTRIBUTE_UNUSED = {
   1540   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1541 };
   1542 
   1543 static const CGEN_IFMT ifmt_bblt32r ATTRIBUTE_UNUSED = {
   1544   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1545 };
   1546 
   1547 static const CGEN_IFMT ifmt_bblte16r ATTRIBUTE_UNUSED = {
   1548   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1549 };
   1550 
   1551 static const CGEN_IFMT ifmt_bblte32r ATTRIBUTE_UNUSED = {
   1552   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1553 };
   1554 
   1555 static const CGEN_IFMT ifmt_b16r ATTRIBUTE_UNUSED = {
   1556   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1557 };
   1558 
   1559 static const CGEN_IFMT ifmt_b32r ATTRIBUTE_UNUSED = {
   1560   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1561 };
   1562 
   1563 static const CGEN_IFMT ifmt_bl16r ATTRIBUTE_UNUSED = {
   1564   16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } }
   1565 };
   1566 
   1567 static const CGEN_IFMT ifmt_blr ATTRIBUTE_UNUSED = {
   1568   32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } }
   1569 };
   1570 
   1571 static const CGEN_IFMT ifmt_ldrbx ATTRIBUTE_UNUSED = {
   1572   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1573 };
   1574 
   1575 static const CGEN_IFMT ifmt_ldrbp ATTRIBUTE_UNUSED = {
   1576   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1577 };
   1578 
   1579 static const CGEN_IFMT ifmt_ldrbd ATTRIBUTE_UNUSED = {
   1580   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1581 };
   1582 
   1583 static const CGEN_IFMT ifmt_ldrbdpm ATTRIBUTE_UNUSED = {
   1584   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1585 };
   1586 
   1587 static const CGEN_IFMT ifmt_ldrbds0 ATTRIBUTE_UNUSED = {
   1588   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1589 };
   1590 
   1591 static const CGEN_IFMT ifmt_ldrbdl0 ATTRIBUTE_UNUSED = {
   1592   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1593 };
   1594 
   1595 static const CGEN_IFMT ifmt_ldrbdl0_l ATTRIBUTE_UNUSED = {
   1596   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1597 };
   1598 
   1599 static const CGEN_IFMT ifmt_ldrhx ATTRIBUTE_UNUSED = {
   1600   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1601 };
   1602 
   1603 static const CGEN_IFMT ifmt_ldrhp ATTRIBUTE_UNUSED = {
   1604   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1605 };
   1606 
   1607 static const CGEN_IFMT ifmt_ldrhd ATTRIBUTE_UNUSED = {
   1608   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1609 };
   1610 
   1611 static const CGEN_IFMT ifmt_ldrhdpm ATTRIBUTE_UNUSED = {
   1612   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1613 };
   1614 
   1615 static const CGEN_IFMT ifmt_ldrhds0 ATTRIBUTE_UNUSED = {
   1616   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1617 };
   1618 
   1619 static const CGEN_IFMT ifmt_ldrhdl0 ATTRIBUTE_UNUSED = {
   1620   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1621 };
   1622 
   1623 static const CGEN_IFMT ifmt_ldrhdl0_l ATTRIBUTE_UNUSED = {
   1624   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1625 };
   1626 
   1627 static const CGEN_IFMT ifmt_ldrx ATTRIBUTE_UNUSED = {
   1628   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1629 };
   1630 
   1631 static const CGEN_IFMT ifmt_ldrp ATTRIBUTE_UNUSED = {
   1632   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1633 };
   1634 
   1635 static const CGEN_IFMT ifmt_ldrd ATTRIBUTE_UNUSED = {
   1636   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1637 };
   1638 
   1639 static const CGEN_IFMT ifmt_ldrdpm ATTRIBUTE_UNUSED = {
   1640   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1641 };
   1642 
   1643 static const CGEN_IFMT ifmt_ldrds0 ATTRIBUTE_UNUSED = {
   1644   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1645 };
   1646 
   1647 static const CGEN_IFMT ifmt_ldrdl0 ATTRIBUTE_UNUSED = {
   1648   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1649 };
   1650 
   1651 static const CGEN_IFMT ifmt_ldrdl0_l ATTRIBUTE_UNUSED = {
   1652   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1653 };
   1654 
   1655 static const CGEN_IFMT ifmt_ldrdx ATTRIBUTE_UNUSED = {
   1656   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1657 };
   1658 
   1659 static const CGEN_IFMT ifmt_ldrdp ATTRIBUTE_UNUSED = {
   1660   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1661 };
   1662 
   1663 static const CGEN_IFMT ifmt_ldrdd ATTRIBUTE_UNUSED = {
   1664   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1665 };
   1666 
   1667 static const CGEN_IFMT ifmt_ldrddpm ATTRIBUTE_UNUSED = {
   1668   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1669 };
   1670 
   1671 static const CGEN_IFMT ifmt_ldrdds0 ATTRIBUTE_UNUSED = {
   1672   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1673 };
   1674 
   1675 static const CGEN_IFMT ifmt_ldrddl0 ATTRIBUTE_UNUSED = {
   1676   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1677 };
   1678 
   1679 static const CGEN_IFMT ifmt_ldrddl0_l ATTRIBUTE_UNUSED = {
   1680   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1681 };
   1682 
   1683 static const CGEN_IFMT ifmt_testsetbt_l ATTRIBUTE_UNUSED = {
   1684   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1685 };
   1686 
   1687 static const CGEN_IFMT ifmt_testsetht_l ATTRIBUTE_UNUSED = {
   1688   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1689 };
   1690 
   1691 static const CGEN_IFMT ifmt_testsett_l ATTRIBUTE_UNUSED = {
   1692   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1693 };
   1694 
   1695 static const CGEN_IFMT ifmt_strbx_l ATTRIBUTE_UNUSED = {
   1696   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1697 };
   1698 
   1699 static const CGEN_IFMT ifmt_strbp_l ATTRIBUTE_UNUSED = {
   1700   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1701 };
   1702 
   1703 static const CGEN_IFMT ifmt_strbd_l ATTRIBUTE_UNUSED = {
   1704   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1705 };
   1706 
   1707 static const CGEN_IFMT ifmt_strbdpm_l ATTRIBUTE_UNUSED = {
   1708   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1709 };
   1710 
   1711 static const CGEN_IFMT ifmt_strbds0 ATTRIBUTE_UNUSED = {
   1712   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1713 };
   1714 
   1715 static const CGEN_IFMT ifmt_strbdl0 ATTRIBUTE_UNUSED = {
   1716   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1717 };
   1718 
   1719 static const CGEN_IFMT ifmt_strbdl0_l ATTRIBUTE_UNUSED = {
   1720   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1721 };
   1722 
   1723 static const CGEN_IFMT ifmt_strhx_l ATTRIBUTE_UNUSED = {
   1724   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1725 };
   1726 
   1727 static const CGEN_IFMT ifmt_strhp_l ATTRIBUTE_UNUSED = {
   1728   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1729 };
   1730 
   1731 static const CGEN_IFMT ifmt_strhd_l ATTRIBUTE_UNUSED = {
   1732   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1733 };
   1734 
   1735 static const CGEN_IFMT ifmt_strhdpm_l ATTRIBUTE_UNUSED = {
   1736   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1737 };
   1738 
   1739 static const CGEN_IFMT ifmt_strhds0 ATTRIBUTE_UNUSED = {
   1740   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1741 };
   1742 
   1743 static const CGEN_IFMT ifmt_strhdl0 ATTRIBUTE_UNUSED = {
   1744   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1745 };
   1746 
   1747 static const CGEN_IFMT ifmt_strhdl0_l ATTRIBUTE_UNUSED = {
   1748   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1749 };
   1750 
   1751 static const CGEN_IFMT ifmt_strx_l ATTRIBUTE_UNUSED = {
   1752   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1753 };
   1754 
   1755 static const CGEN_IFMT ifmt_strp_l ATTRIBUTE_UNUSED = {
   1756   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1757 };
   1758 
   1759 static const CGEN_IFMT ifmt_strd_l ATTRIBUTE_UNUSED = {
   1760   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1761 };
   1762 
   1763 static const CGEN_IFMT ifmt_strdpm_l ATTRIBUTE_UNUSED = {
   1764   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1765 };
   1766 
   1767 static const CGEN_IFMT ifmt_strds0 ATTRIBUTE_UNUSED = {
   1768   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1769 };
   1770 
   1771 static const CGEN_IFMT ifmt_strdl0 ATTRIBUTE_UNUSED = {
   1772   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1773 };
   1774 
   1775 static const CGEN_IFMT ifmt_strdl0_l ATTRIBUTE_UNUSED = {
   1776   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1777 };
   1778 
   1779 static const CGEN_IFMT ifmt_strdx_l ATTRIBUTE_UNUSED = {
   1780   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_1) }, { F (F_DC_21_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1781 };
   1782 
   1783 static const CGEN_IFMT ifmt_strdp_l ATTRIBUTE_UNUSED = {
   1784   32, 32, 0x6f007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_ADDSUBX) }, { F (F_RM6) }, { 0 } }
   1785 };
   1786 
   1787 static const CGEN_IFMT ifmt_strdd_l ATTRIBUTE_UNUSED = {
   1788   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1789 };
   1790 
   1791 static const CGEN_IFMT ifmt_strddpm_l ATTRIBUTE_UNUSED = {
   1792   32, 32, 0x200007f, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1793 };
   1794 
   1795 static const CGEN_IFMT ifmt_strdds0 ATTRIBUTE_UNUSED = {
   1796   16, 16, 0x3ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_RD) }, { F (F_RN) }, { F (F_DISP3) }, { 0 } }
   1797 };
   1798 
   1799 static const CGEN_IFMT ifmt_strddl0 ATTRIBUTE_UNUSED = {
   1800   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1801 };
   1802 
   1803 static const CGEN_IFMT ifmt_strddl0_l ATTRIBUTE_UNUSED = {
   1804   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_WORDSIZE) }, { F (F_STORE) }, { F (F_PM) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SUBD) }, { F (F_DISP11) }, { 0 } }
   1805 };
   1806 
   1807 static const CGEN_IFMT ifmt_cmov_lEQ ATTRIBUTE_UNUSED = {
   1808   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1809 };
   1810 
   1811 static const CGEN_IFMT ifmt_cmov_lNE ATTRIBUTE_UNUSED = {
   1812   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1813 };
   1814 
   1815 static const CGEN_IFMT ifmt_cmov_lGTU ATTRIBUTE_UNUSED = {
   1816   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1817 };
   1818 
   1819 static const CGEN_IFMT ifmt_cmov_lGTEU ATTRIBUTE_UNUSED = {
   1820   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1821 };
   1822 
   1823 static const CGEN_IFMT ifmt_cmov_lLTEU ATTRIBUTE_UNUSED = {
   1824   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1825 };
   1826 
   1827 static const CGEN_IFMT ifmt_cmov_lLTU ATTRIBUTE_UNUSED = {
   1828   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1829 };
   1830 
   1831 static const CGEN_IFMT ifmt_cmov_lGT ATTRIBUTE_UNUSED = {
   1832   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1833 };
   1834 
   1835 static const CGEN_IFMT ifmt_cmov_lGTE ATTRIBUTE_UNUSED = {
   1836   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1837 };
   1838 
   1839 static const CGEN_IFMT ifmt_cmov_lLT ATTRIBUTE_UNUSED = {
   1840   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1841 };
   1842 
   1843 static const CGEN_IFMT ifmt_cmov_lLTE ATTRIBUTE_UNUSED = {
   1844   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1845 };
   1846 
   1847 static const CGEN_IFMT ifmt_cmov_lB ATTRIBUTE_UNUSED = {
   1848   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1849 };
   1850 
   1851 static const CGEN_IFMT ifmt_cmov_lBEQ ATTRIBUTE_UNUSED = {
   1852   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1853 };
   1854 
   1855 static const CGEN_IFMT ifmt_cmov_lBNE ATTRIBUTE_UNUSED = {
   1856   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1857 };
   1858 
   1859 static const CGEN_IFMT ifmt_cmov_lBLT ATTRIBUTE_UNUSED = {
   1860   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1861 };
   1862 
   1863 static const CGEN_IFMT ifmt_cmov_lBLTE ATTRIBUTE_UNUSED = {
   1864   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { 0 } }
   1865 };
   1866 
   1867 static const CGEN_IFMT ifmt_movts_l6 ATTRIBUTE_UNUSED = {
   1868   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
   1869 };
   1870 
   1871 static const CGEN_IFMT ifmt_movts_ldma ATTRIBUTE_UNUSED = {
   1872   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
   1873 };
   1874 
   1875 static const CGEN_IFMT ifmt_movts_lmem ATTRIBUTE_UNUSED = {
   1876   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
   1877 };
   1878 
   1879 static const CGEN_IFMT ifmt_movts_lmesh ATTRIBUTE_UNUSED = {
   1880   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_SN6) }, { F (F_RD6) }, { 0 } }
   1881 };
   1882 
   1883 static const CGEN_IFMT ifmt_movfs_l6 ATTRIBUTE_UNUSED = {
   1884   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
   1885 };
   1886 
   1887 static const CGEN_IFMT ifmt_movfs_ldma ATTRIBUTE_UNUSED = {
   1888   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
   1889 };
   1890 
   1891 static const CGEN_IFMT ifmt_movfs_lmem ATTRIBUTE_UNUSED = {
   1892   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
   1893 };
   1894 
   1895 static const CGEN_IFMT ifmt_movfs_lmesh ATTRIBUTE_UNUSED = {
   1896   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_DC_7_4) }, { F (F_OPC_8_1) }, { F (F_DC_9_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_4) }, { F (F_DC_21_2) }, { F (F_RD6) }, { F (F_SN6) }, { 0 } }
   1897 };
   1898 
   1899 static const CGEN_IFMT ifmt_add_l ATTRIBUTE_UNUSED = {
   1900   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1901 };
   1902 
   1903 static const CGEN_IFMT ifmt_sub_l ATTRIBUTE_UNUSED = {
   1904   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1905 };
   1906 
   1907 static const CGEN_IFMT ifmt_and_l ATTRIBUTE_UNUSED = {
   1908   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1909 };
   1910 
   1911 static const CGEN_IFMT ifmt_orr_l ATTRIBUTE_UNUSED = {
   1912   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1913 };
   1914 
   1915 static const CGEN_IFMT ifmt_eor_l ATTRIBUTE_UNUSED = {
   1916   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1917 };
   1918 
   1919 static const CGEN_IFMT ifmt_addir ATTRIBUTE_UNUSED = {
   1920   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { 0 } }
   1921 };
   1922 
   1923 static const CGEN_IFMT ifmt_addi32r ATTRIBUTE_UNUSED = {
   1924   32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
   1925 };
   1926 
   1927 static const CGEN_IFMT ifmt_addi32m ATTRIBUTE_UNUSED = {
   1928   32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
   1929 };
   1930 
   1931 static const CGEN_IFMT ifmt_subir ATTRIBUTE_UNUSED = {
   1932   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_SDISP3) }, { 0 } }
   1933 };
   1934 
   1935 static const CGEN_IFMT ifmt_subi32r ATTRIBUTE_UNUSED = {
   1936   32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
   1937 };
   1938 
   1939 static const CGEN_IFMT ifmt_subi32m ATTRIBUTE_UNUSED = {
   1940   32, 32, 0x300007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_DC_25_2) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SDISP11) }, { 0 } }
   1941 };
   1942 
   1943 static const CGEN_IFMT ifmt_asr_l ATTRIBUTE_UNUSED = {
   1944   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1945 };
   1946 
   1947 static const CGEN_IFMT ifmt_lsr_l ATTRIBUTE_UNUSED = {
   1948   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1949 };
   1950 
   1951 static const CGEN_IFMT ifmt_lsl_l ATTRIBUTE_UNUSED = {
   1952   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1953 };
   1954 
   1955 static const CGEN_IFMT ifmt_lsri32_l ATTRIBUTE_UNUSED = {
   1956   32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
   1957 };
   1958 
   1959 static const CGEN_IFMT ifmt_lsli32_l ATTRIBUTE_UNUSED = {
   1960   32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
   1961 };
   1962 
   1963 static const CGEN_IFMT ifmt_asri32_l ATTRIBUTE_UNUSED = {
   1964   32, 32, 0x3ff001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
   1965 };
   1966 
   1967 static const CGEN_IFMT ifmt_bitrl ATTRIBUTE_UNUSED = {
   1968   32, 32, 0x3ff03ff, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_25_6) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_SHIFT) }, { 0 } }
   1969 };
   1970 
   1971 static const CGEN_IFMT ifmt_fext_l ATTRIBUTE_UNUSED = {
   1972   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1973 };
   1974 
   1975 static const CGEN_IFMT ifmt_fdep_l ATTRIBUTE_UNUSED = {
   1976   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1977 };
   1978 
   1979 static const CGEN_IFMT ifmt_lfsr_l ATTRIBUTE_UNUSED = {
   1980   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   1981 };
   1982 
   1983 static const CGEN_IFMT ifmt_mov8r ATTRIBUTE_UNUSED = {
   1984   16, 16, 0x1f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_RD) }, { F (F_IMM8) }, { 0 } }
   1985 };
   1986 
   1987 static const CGEN_IFMT ifmt_mov16r ATTRIBUTE_UNUSED = {
   1988   32, 32, 0x100f001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_28_1) }, { F (F_RD6) }, { F (F_IMM16) }, { 0 } }
   1989 };
   1990 
   1991 static const CGEN_IFMT ifmt_movtl ATTRIBUTE_UNUSED = {
   1992   32, 32, 0x100f001f, { { F (F_OPC) }, { F (F_OPC_4_1) }, { F (F_OPC_19_4) }, { F (F_DC_28_1) }, { F (F_RD6) }, { F (F_IMM16) }, { 0 } }
   1993 };
   1994 
   1995 static const CGEN_IFMT ifmt_i_addf16 ATTRIBUTE_UNUSED = {
   1996   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
   1997 };
   1998 
   1999 static const CGEN_IFMT ifmt_f_addf32_l ATTRIBUTE_UNUSED = {
   2000   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2001 };
   2002 
   2003 static const CGEN_IFMT ifmt_i_addf32 ATTRIBUTE_UNUSED = {
   2004   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2005 };
   2006 
   2007 static const CGEN_IFMT ifmt_i_addf32_l ATTRIBUTE_UNUSED = {
   2008   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2009 };
   2010 
   2011 static const CGEN_IFMT ifmt_i_subf16 ATTRIBUTE_UNUSED = {
   2012   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
   2013 };
   2014 
   2015 static const CGEN_IFMT ifmt_f_subf32_l ATTRIBUTE_UNUSED = {
   2016   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2017 };
   2018 
   2019 static const CGEN_IFMT ifmt_i_subf32 ATTRIBUTE_UNUSED = {
   2020   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2021 };
   2022 
   2023 static const CGEN_IFMT ifmt_i_subf32_l ATTRIBUTE_UNUSED = {
   2024   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2025 };
   2026 
   2027 static const CGEN_IFMT ifmt_i_mulf16 ATTRIBUTE_UNUSED = {
   2028   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
   2029 };
   2030 
   2031 static const CGEN_IFMT ifmt_f_mulf32_l ATTRIBUTE_UNUSED = {
   2032   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2033 };
   2034 
   2035 static const CGEN_IFMT ifmt_i_mulf32 ATTRIBUTE_UNUSED = {
   2036   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2037 };
   2038 
   2039 static const CGEN_IFMT ifmt_i_mulf32_l ATTRIBUTE_UNUSED = {
   2040   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2041 };
   2042 
   2043 static const CGEN_IFMT ifmt_i_maddf16 ATTRIBUTE_UNUSED = {
   2044   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
   2045 };
   2046 
   2047 static const CGEN_IFMT ifmt_f_maddf32_l ATTRIBUTE_UNUSED = {
   2048   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2049 };
   2050 
   2051 static const CGEN_IFMT ifmt_i_maddf32 ATTRIBUTE_UNUSED = {
   2052   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2053 };
   2054 
   2055 static const CGEN_IFMT ifmt_i_maddf32_l ATTRIBUTE_UNUSED = {
   2056   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2057 };
   2058 
   2059 static const CGEN_IFMT ifmt_i_msubf16 ATTRIBUTE_UNUSED = {
   2060   16, 16, 0x7f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_RD) }, { F (F_RN) }, { F (F_RM) }, { 0 } }
   2061 };
   2062 
   2063 static const CGEN_IFMT ifmt_f_msubf32_l ATTRIBUTE_UNUSED = {
   2064   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2065 };
   2066 
   2067 static const CGEN_IFMT ifmt_i_msubf32 ATTRIBUTE_UNUSED = {
   2068   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2069 };
   2070 
   2071 static const CGEN_IFMT ifmt_i_msubf32_l ATTRIBUTE_UNUSED = {
   2072   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RM6) }, { 0 } }
   2073 };
   2074 
   2075 static const CGEN_IFMT ifmt_f_absf32_l ATTRIBUTE_UNUSED = {
   2076   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
   2077 };
   2078 
   2079 static const CGEN_IFMT ifmt_f_loatf32_l ATTRIBUTE_UNUSED = {
   2080   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
   2081 };
   2082 
   2083 static const CGEN_IFMT ifmt_f_ixf32_l ATTRIBUTE_UNUSED = {
   2084   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_3) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
   2085 };
   2086 
   2087 static const CGEN_IFMT ifmt_f_recipf32_l ATTRIBUTE_UNUSED = {
   2088   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
   2089 };
   2090 
   2091 static const CGEN_IFMT ifmt_f_sqrtf32_l ATTRIBUTE_UNUSED = {
   2092   32, 32, 0x7f007f, { { F (F_OPC) }, { F (F_OPC_6_3) }, { F (F_OPC_19_4) }, { F (F_DC_22_2) }, { F (F_DC_20_1) }, { F (F_RD6) }, { F (F_RN6) }, { F (F_RN6) }, { 0 } }
   2093 };
   2094 
   2095 #undef F
   2096 
   2097 /* Each non-simple macro entry points to an array of expansion possibilities.  */
   2098 
   2099 #define A(a) (1 << CGEN_INSN_##a)
   2100 #define OPERAND(op) EPIPHANY_OPERAND_##op
   2101 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
   2102 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
   2103 
   2104 /* The macro instruction table.  */
   2105 
   2106 static const CGEN_IBASE epiphany_cgen_macro_insn_table[] =
   2107 {
   2108 /* beq $simm8 */
   2109   {
   2110     -1, "beq16r", "beq", 16,
   2111     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2112   },
   2113 /* beq $simm24 */
   2114   {
   2115     -1, "beq32r", "beq", 32,
   2116     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2117   },
   2118 /* bne $simm8 */
   2119   {
   2120     -1, "bne16r", "bne", 16,
   2121     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2122   },
   2123 /* bne $simm24 */
   2124   {
   2125     -1, "bne32r", "bne", 32,
   2126     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2127   },
   2128 /* bgtu $simm8 */
   2129   {
   2130     -1, "bgtu16r", "bgtu", 16,
   2131     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2132   },
   2133 /* bgtu $simm24 */
   2134   {
   2135     -1, "bgtu32r", "bgtu", 32,
   2136     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2137   },
   2138 /* bgteu $simm8 */
   2139   {
   2140     -1, "bgteu16r", "bgteu", 16,
   2141     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2142   },
   2143 /* bgteu $simm24 */
   2144   {
   2145     -1, "bgteu32r", "bgteu", 32,
   2146     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2147   },
   2148 /* blteu $simm8 */
   2149   {
   2150     -1, "blteu16r", "blteu", 16,
   2151     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2152   },
   2153 /* blteu $simm24 */
   2154   {
   2155     -1, "blteu32r", "blteu", 32,
   2156     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2157   },
   2158 /* bltu $simm8 */
   2159   {
   2160     -1, "bltu16r", "bltu", 16,
   2161     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2162   },
   2163 /* bltu $simm24 */
   2164   {
   2165     -1, "bltu32r", "bltu", 32,
   2166     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2167   },
   2168 /* bgt $simm8 */
   2169   {
   2170     -1, "bgt16r", "bgt", 16,
   2171     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2172   },
   2173 /* bgt $simm24 */
   2174   {
   2175     -1, "bgt32r", "bgt", 32,
   2176     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2177   },
   2178 /* bgte $simm8 */
   2179   {
   2180     -1, "bgte16r", "bgte", 16,
   2181     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2182   },
   2183 /* bgte $simm24 */
   2184   {
   2185     -1, "bgte32r", "bgte", 32,
   2186     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2187   },
   2188 /* blt $simm8 */
   2189   {
   2190     -1, "blt16r", "blt", 16,
   2191     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2192   },
   2193 /* blt $simm24 */
   2194   {
   2195     -1, "blt32r", "blt", 32,
   2196     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2197   },
   2198 /* blte $simm8 */
   2199   {
   2200     -1, "blte16r", "blte", 16,
   2201     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2202   },
   2203 /* blte $simm24 */
   2204   {
   2205     -1, "blte32r", "blte", 32,
   2206     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2207   },
   2208 /* bbeq $simm8 */
   2209   {
   2210     -1, "bbeq16r", "bbeq", 16,
   2211     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2212   },
   2213 /* bbeq $simm24 */
   2214   {
   2215     -1, "bbeq32r", "bbeq", 32,
   2216     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2217   },
   2218 /* bbne $simm8 */
   2219   {
   2220     -1, "bbne16r", "bbne", 16,
   2221     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2222   },
   2223 /* bbne $simm24 */
   2224   {
   2225     -1, "bbne32r", "bbne", 32,
   2226     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2227   },
   2228 /* bblt $simm8 */
   2229   {
   2230     -1, "bblt16r", "bblt", 16,
   2231     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2232   },
   2233 /* bblt $simm24 */
   2234   {
   2235     -1, "bblt32r", "bblt", 32,
   2236     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2237   },
   2238 /* bblte $simm8 */
   2239   {
   2240     -1, "bblte16r", "bblte", 16,
   2241     { 0|A(RELAXABLE)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2242   },
   2243 /* bblte $simm24 */
   2244   {
   2245     -1, "bblte32r", "bblte", 32,
   2246     { 0|A(RELAXED)|A(COND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2247   },
   2248 /* b $simm8 */
   2249   {
   2250     -1, "b16r", "b", 16,
   2251     { 0|A(RELAXABLE)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2252   },
   2253 /* b $simm24 */
   2254   {
   2255     -1, "b32r", "b", 32,
   2256     { 0|A(RELAXED)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2257   },
   2258 /* bl $simm8 */
   2259   {
   2260     -1, "bl16r", "bl", 16,
   2261     { 0|A(RELAXABLE)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2262   },
   2263 /* bl $simm24 */
   2264   {
   2265     -1, "blr", "bl", 32,
   2266     { 0|A(RELAXED)|A(UNCOND_CTI)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2267   },
   2268 /* ldrb.l $rd6,[$rn6,$direction$rm6] */
   2269   {
   2270     -1, "ldrbx", "ldrb.l", 32,
   2271     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2272   },
   2273 /* ldrb.l $rd6,[$rn6],$direction$rm6 */
   2274   {
   2275     -1, "ldrbp", "ldrb.l", 32,
   2276     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2277   },
   2278 /* ldrb.l $rd6,[$rn6,$dpmi$disp11] */
   2279   {
   2280     -1, "ldrbd", "ldrb.l", 32,
   2281     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2282   },
   2283 /* ldrb.l $rd6,[$rn6],$dpmi$disp11 */
   2284   {
   2285     -1, "ldrbdpm", "ldrb.l", 32,
   2286     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2287   },
   2288 /* ldrb $rd,[$rn] */
   2289   {
   2290     -1, "ldrbds0", "ldrb", 16,
   2291     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2292   },
   2293 /* ldrb $rd6,[$rn6] */
   2294   {
   2295     -1, "ldrbdl0", "ldrb", 32,
   2296     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2297   },
   2298 /* ldrb.l $rd6,[$rn6] */
   2299   {
   2300     -1, "ldrbdl0.l", "ldrb.l", 32,
   2301     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2302   },
   2303 /* ldrh.l $rd6,[$rn6,$direction$rm6] */
   2304   {
   2305     -1, "ldrhx", "ldrh.l", 32,
   2306     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2307   },
   2308 /* ldrh.l $rd6,[$rn6],$direction$rm6 */
   2309   {
   2310     -1, "ldrhp", "ldrh.l", 32,
   2311     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2312   },
   2313 /* ldrh.l $rd6,[$rn6,$dpmi$disp11] */
   2314   {
   2315     -1, "ldrhd", "ldrh.l", 32,
   2316     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2317   },
   2318 /* ldrh.l $rd6,[$rn6],$dpmi$disp11 */
   2319   {
   2320     -1, "ldrhdpm", "ldrh.l", 32,
   2321     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2322   },
   2323 /* ldrh $rd,[$rn] */
   2324   {
   2325     -1, "ldrhds0", "ldrh", 16,
   2326     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2327   },
   2328 /* ldrh $rd6,[$rn6] */
   2329   {
   2330     -1, "ldrhdl0", "ldrh", 32,
   2331     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2332   },
   2333 /* ldrh.l $rd6,[$rn6] */
   2334   {
   2335     -1, "ldrhdl0.l", "ldrh.l", 32,
   2336     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2337   },
   2338 /* ldr.l $rd6,[$rn6,$direction$rm6] */
   2339   {
   2340     -1, "ldrx", "ldr.l", 32,
   2341     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2342   },
   2343 /* ldr.l $rd6,[$rn6],$direction$rm6 */
   2344   {
   2345     -1, "ldrp", "ldr.l", 32,
   2346     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2347   },
   2348 /* ldr.l $rd6,[$rn6,$dpmi$disp11] */
   2349   {
   2350     -1, "ldrd", "ldr.l", 32,
   2351     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2352   },
   2353 /* ldr.l $rd6,[$rn6],$dpmi$disp11 */
   2354   {
   2355     -1, "ldrdpm", "ldr.l", 32,
   2356     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2357   },
   2358 /* ldr $rd,[$rn] */
   2359   {
   2360     -1, "ldrds0", "ldr", 16,
   2361     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2362   },
   2363 /* ldr $rd6,[$rn6] */
   2364   {
   2365     -1, "ldrdl0", "ldr", 32,
   2366     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2367   },
   2368 /* ldr.l $rd6,[$rn6] */
   2369   {
   2370     -1, "ldrdl0.l", "ldr.l", 32,
   2371     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2372   },
   2373 /* ldrd.l $rd6,[$rn6,$direction$rm6] */
   2374   {
   2375     -1, "ldrdx", "ldrd.l", 32,
   2376     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2377   },
   2378 /* ldrd.l $rd6,[$rn6],$direction$rm6 */
   2379   {
   2380     -1, "ldrdp", "ldrd.l", 32,
   2381     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2382   },
   2383 /* ldrd.l $rd6,[$rn6,$dpmi$disp11] */
   2384   {
   2385     -1, "ldrdd", "ldrd.l", 32,
   2386     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2387   },
   2388 /* ldrd.l $rd6,[$rn6],$dpmi$disp11 */
   2389   {
   2390     -1, "ldrddpm", "ldrd.l", 32,
   2391     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2392   },
   2393 /* ldrd $rd,[$rn] */
   2394   {
   2395     -1, "ldrdds0", "ldrd", 16,
   2396     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2397   },
   2398 /* ldrd $rd6,[$rn6] */
   2399   {
   2400     -1, "ldrddl0", "ldrd", 32,
   2401     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2402   },
   2403 /* ldrd.l $rd6,[$rn6] */
   2404   {
   2405     -1, "ldrddl0.l", "ldrd.l", 32,
   2406     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2407   },
   2408 /* testsetb.l $rd6,[$rn6,$direction$rm6] */
   2409   {
   2410     -1, "testsetbt.l", "testsetb.l", 32,
   2411     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2412   },
   2413 /* testseth.l $rd6,[$rn6,$direction$rm6] */
   2414   {
   2415     -1, "testsetht.l", "testseth.l", 32,
   2416     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2417   },
   2418 /* testset.l $rd6,[$rn6,$direction$rm6] */
   2419   {
   2420     -1, "testsett.l", "testset.l", 32,
   2421     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2422   },
   2423 /* strb.l $rd6,[$rn6,$direction$rm6] */
   2424   {
   2425     -1, "strbx.l", "strb.l", 32,
   2426     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2427   },
   2428 /* strb.l $rd6,[$rn6],$direction$rm6 */
   2429   {
   2430     -1, "strbp.l", "strb.l", 32,
   2431     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2432   },
   2433 /* strb.l $rd6,[$rn6,$dpmi$disp11] */
   2434   {
   2435     -1, "strbd.l", "strb.l", 32,
   2436     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2437   },
   2438 /* strb.l $rd6,[$rn6],$dpmi$disp11 */
   2439   {
   2440     -1, "strbdpm.l", "strb.l", 32,
   2441     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2442   },
   2443 /* strb $rd,[$rn] */
   2444   {
   2445     -1, "strbds0", "strb", 16,
   2446     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2447   },
   2448 /* strb $rd6,[$rn6] */
   2449   {
   2450     -1, "strbdl0", "strb", 32,
   2451     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2452   },
   2453 /* strb.l $rd6,[$rn6] */
   2454   {
   2455     -1, "strbdl0.l", "strb.l", 32,
   2456     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2457   },
   2458 /* strh.l $rd6,[$rn6,$direction$rm6] */
   2459   {
   2460     -1, "strhx.l", "strh.l", 32,
   2461     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2462   },
   2463 /* strh.l $rd6,[$rn6],$direction$rm6 */
   2464   {
   2465     -1, "strhp.l", "strh.l", 32,
   2466     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2467   },
   2468 /* strh.l $rd6,[$rn6,$dpmi$disp11] */
   2469   {
   2470     -1, "strhd.l", "strh.l", 32,
   2471     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2472   },
   2473 /* strh.l $rd6,[$rn6],$dpmi$disp11 */
   2474   {
   2475     -1, "strhdpm.l", "strh.l", 32,
   2476     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2477   },
   2478 /* strh $rd,[$rn] */
   2479   {
   2480     -1, "strhds0", "strh", 16,
   2481     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2482   },
   2483 /* strh $rd6,[$rn6] */
   2484   {
   2485     -1, "strhdl0", "strh", 32,
   2486     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2487   },
   2488 /* strh.l $rd6,[$rn6] */
   2489   {
   2490     -1, "strhdl0.l", "strh.l", 32,
   2491     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2492   },
   2493 /* str.l $rd6,[$rn6,$direction$rm6] */
   2494   {
   2495     -1, "strx.l", "str.l", 32,
   2496     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2497   },
   2498 /* str.l $rd6,[$rn6],$direction$rm6 */
   2499   {
   2500     -1, "strp.l", "str.l", 32,
   2501     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2502   },
   2503 /* str.l $rd6,[$rn6,$dpmi$disp11] */
   2504   {
   2505     -1, "strd.l", "str.l", 32,
   2506     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2507   },
   2508 /* str.l $rd6,[$rn6],$dpmi$disp11 */
   2509   {
   2510     -1, "strdpm.l", "str.l", 32,
   2511     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2512   },
   2513 /* str $rd,[$rn] */
   2514   {
   2515     -1, "strds0", "str", 16,
   2516     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2517   },
   2518 /* str $rd6,[$rn6] */
   2519   {
   2520     -1, "strdl0", "str", 32,
   2521     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2522   },
   2523 /* str.l $rd6,[$rn6] */
   2524   {
   2525     -1, "strdl0.l", "str.l", 32,
   2526     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2527   },
   2528 /* strd.l $rd6,[$rn6,$direction$rm6] */
   2529   {
   2530     -1, "strdx.l", "strd.l", 32,
   2531     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2532   },
   2533 /* strd.l $rd6,[$rn6],$direction$rm6 */
   2534   {
   2535     -1, "strdp.l", "strd.l", 32,
   2536     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2537   },
   2538 /* strd.l $rd6,[$rn6,$dpmi$disp11] */
   2539   {
   2540     -1, "strdd.l", "strd.l", 32,
   2541     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2542   },
   2543 /* strd.l $rd6,[$rn6],$dpmi$disp11 */
   2544   {
   2545     -1, "strddpm.l", "strd.l", 32,
   2546     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2547   },
   2548 /* strd $rd,[$rn] */
   2549   {
   2550     -1, "strdds0", "strd", 16,
   2551     { 0|A(IMM3)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2552   },
   2553 /* strd $rd6,[$rn6] */
   2554   {
   2555     -1, "strddl0", "strd", 32,
   2556     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2557   },
   2558 /* strd.l $rd6,[$rn6] */
   2559   {
   2560     -1, "strddl0.l", "strd.l", 32,
   2561     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2562   },
   2563 /* moveq.l $rd6,$rn6 */
   2564   {
   2565     -1, "cmov.lEQ", "moveq.l", 32,
   2566     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2567   },
   2568 /* movne.l $rd6,$rn6 */
   2569   {
   2570     -1, "cmov.lNE", "movne.l", 32,
   2571     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2572   },
   2573 /* movgtu.l $rd6,$rn6 */
   2574   {
   2575     -1, "cmov.lGTU", "movgtu.l", 32,
   2576     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2577   },
   2578 /* movgteu.l $rd6,$rn6 */
   2579   {
   2580     -1, "cmov.lGTEU", "movgteu.l", 32,
   2581     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2582   },
   2583 /* movlteu.l $rd6,$rn6 */
   2584   {
   2585     -1, "cmov.lLTEU", "movlteu.l", 32,
   2586     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2587   },
   2588 /* movltu.l $rd6,$rn6 */
   2589   {
   2590     -1, "cmov.lLTU", "movltu.l", 32,
   2591     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2592   },
   2593 /* movgt.l $rd6,$rn6 */
   2594   {
   2595     -1, "cmov.lGT", "movgt.l", 32,
   2596     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2597   },
   2598 /* movgte.l $rd6,$rn6 */
   2599   {
   2600     -1, "cmov.lGTE", "movgte.l", 32,
   2601     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2602   },
   2603 /* movlt.l $rd6,$rn6 */
   2604   {
   2605     -1, "cmov.lLT", "movlt.l", 32,
   2606     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2607   },
   2608 /* movlte.l $rd6,$rn6 */
   2609   {
   2610     -1, "cmov.lLTE", "movlte.l", 32,
   2611     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2612   },
   2613 /* mov.l $rd6,$rn6 */
   2614   {
   2615     -1, "cmov.lB", "mov.l", 32,
   2616     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2617   },
   2618 /* movbeq.l $rd6,$rn6 */
   2619   {
   2620     -1, "cmov.lBEQ", "movbeq.l", 32,
   2621     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2622   },
   2623 /* movbne.l $rd6,$rn6 */
   2624   {
   2625     -1, "cmov.lBNE", "movbne.l", 32,
   2626     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2627   },
   2628 /* movblt.l $rd6,$rn6 */
   2629   {
   2630     -1, "cmov.lBLT", "movblt.l", 32,
   2631     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2632   },
   2633 /* movblte.l $rd6,$rn6 */
   2634   {
   2635     -1, "cmov.lBLTE", "movblte.l", 32,
   2636     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2637   },
   2638 /* movts.l $sn6,$rd6 */
   2639   {
   2640     -1, "movts.l6", "movts.l", 32,
   2641     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2642   },
   2643 /* movts.l $sndma,$rd6 */
   2644   {
   2645     -1, "movts.ldma", "movts.l", 32,
   2646     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2647   },
   2648 /* movts.l $snmem,$rd6 */
   2649   {
   2650     -1, "movts.lmem", "movts.l", 32,
   2651     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2652   },
   2653 /* movts.l $snmesh,$rd6 */
   2654   {
   2655     -1, "movts.lmesh", "movts.l", 32,
   2656     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2657   },
   2658 /* movfs.l $rd6,$sn6 */
   2659   {
   2660     -1, "movfs.l6", "movfs.l", 32,
   2661     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2662   },
   2663 /* movfs.l $rd6,$sndma */
   2664   {
   2665     -1, "movfs.ldma", "movfs.l", 32,
   2666     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2667   },
   2668 /* movfs.l $rd6,$snmem */
   2669   {
   2670     -1, "movfs.lmem", "movfs.l", 32,
   2671     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2672   },
   2673 /* movfs.l $rd6,$snmesh */
   2674   {
   2675     -1, "movfs.lmesh", "movfs.l", 32,
   2676     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2677   },
   2678 /* add.l $rd6,$rn6,$rm6 */
   2679   {
   2680     -1, "add.l", "add.l", 32,
   2681     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2682   },
   2683 /* sub.l $rd6,$rn6,$rm6 */
   2684   {
   2685     -1, "sub.l", "sub.l", 32,
   2686     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2687   },
   2688 /* and.l $rd6,$rn6,$rm6 */
   2689   {
   2690     -1, "and.l", "and.l", 32,
   2691     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2692   },
   2693 /* orr.l $rd6,$rn6,$rm6 */
   2694   {
   2695     -1, "orr.l", "orr.l", 32,
   2696     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2697   },
   2698 /* eor.l $rd6,$rn6,$rm6 */
   2699   {
   2700     -1, "eor.l", "eor.l", 32,
   2701     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2702   },
   2703 /* add $rd,$rn,$simm3 */
   2704   {
   2705     -1, "addir", "add", 16,
   2706     { 0|A(IMM3)|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2707   },
   2708 /* add $rd6,$rn6,$simm11 */
   2709   {
   2710     -1, "addi32r", "add", 32,
   2711     { 0|A(RELAXED)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2712   },
   2713 /* add $rd6,$rn6,$simm11 */
   2714   {
   2715     -1, "addi32m", "add", 32,
   2716     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2717   },
   2718 /* sub $rd,$rn,$simm3 */
   2719   {
   2720     -1, "subir", "sub", 16,
   2721     { 0|A(IMM3)|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2722   },
   2723 /* sub $rd6,$rn6,$simm11 */
   2724   {
   2725     -1, "subi32r", "sub", 32,
   2726     { 0|A(RELAXED)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2727   },
   2728 /* sub $rd6,$rn6,$simm11 */
   2729   {
   2730     -1, "subi32m", "sub", 32,
   2731     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2732   },
   2733 /* asr.l $rd6,$rn6,$rm6 */
   2734   {
   2735     -1, "asr.l", "asr.l", 32,
   2736     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2737   },
   2738 /* lsr.l $rd6,$rn6,$rm6 */
   2739   {
   2740     -1, "lsr.l", "lsr.l", 32,
   2741     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2742   },
   2743 /* lsl.l $rd6,$rn6,$rm6 */
   2744   {
   2745     -1, "lsl.l", "lsl.l", 32,
   2746     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2747   },
   2748 /* lsr.l $rd6,$rn6,$shift */
   2749   {
   2750     -1, "lsri32.l", "lsr.l", 32,
   2751     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2752   },
   2753 /* lsl.l $rd6,$rn6,$shift */
   2754   {
   2755     -1, "lsli32.l", "lsl.l", 32,
   2756     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2757   },
   2758 /* asr.l $rd6,$rn6,$shift */
   2759   {
   2760     -1, "asri32.l", "asr.l", 32,
   2761     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2762   },
   2763 /* bitr.l $rd6,$rn6 */
   2764   {
   2765     -1, "bitrl", "bitr.l", 32,
   2766     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2767   },
   2768 /* fext.l $rd6,$rn6,$rm6 */
   2769   {
   2770     -1, "fext.l", "fext.l", 32,
   2771     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2772   },
   2773 /* fdep.l $rd6,$rn6,$rm6 */
   2774   {
   2775     -1, "fdep.l", "fdep.l", 32,
   2776     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2777   },
   2778 /* lfsr.l $rd6,$rn6,$rm6 */
   2779   {
   2780     -1, "lfsr.l", "lfsr.l", 32,
   2781     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2782   },
   2783 /* mov $rd,$imm8 */
   2784   {
   2785     -1, "mov8r", "mov", 16,
   2786     { 0|A(RELAXABLE)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2787   },
   2788 /* mov $rd6,$imm16 */
   2789   {
   2790     -1, "mov16r", "mov", 32,
   2791     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2792   },
   2793 /* movt.l $rd6,$imm16 */
   2794   {
   2795     -1, "movtl", "movt.l", 32,
   2796     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2797   },
   2798 /* iadd $rd,$rn,$rm */
   2799   {
   2800     -1, "i_addf16", "iadd", 16,
   2801     { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2802   },
   2803 /* fadd.l $rd6,$rn6,$rm6 */
   2804   {
   2805     -1, "f_addf32.l", "fadd.l", 32,
   2806     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2807   },
   2808 /* iadd $rd6,$rn6,$rm6 */
   2809   {
   2810     -1, "i_addf32", "iadd", 32,
   2811     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2812   },
   2813 /* iadd.l $rd6,$rn6,$rm6 */
   2814   {
   2815     -1, "i_addf32.l", "iadd.l", 32,
   2816     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2817   },
   2818 /* isub $rd,$rn,$rm */
   2819   {
   2820     -1, "i_subf16", "isub", 16,
   2821     { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2822   },
   2823 /* fsub.l $rd6,$rn6,$rm6 */
   2824   {
   2825     -1, "f_subf32.l", "fsub.l", 32,
   2826     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2827   },
   2828 /* isub $rd6,$rn6,$rm6 */
   2829   {
   2830     -1, "i_subf32", "isub", 32,
   2831     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2832   },
   2833 /* isub.l $rd6,$rn6,$rm6 */
   2834   {
   2835     -1, "i_subf32.l", "isub.l", 32,
   2836     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2837   },
   2838 /* imul $rd,$rn,$rm */
   2839   {
   2840     -1, "i_mulf16", "imul", 16,
   2841     { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2842   },
   2843 /* fmul.l $rd6,$rn6,$rm6 */
   2844   {
   2845     -1, "f_mulf32.l", "fmul.l", 32,
   2846     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2847   },
   2848 /* imul $rd6,$rn6,$rm6 */
   2849   {
   2850     -1, "i_mulf32", "imul", 32,
   2851     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2852   },
   2853 /* imul.l $rd6,$rn6,$rm6 */
   2854   {
   2855     -1, "i_mulf32.l", "imul.l", 32,
   2856     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2857   },
   2858 /* imadd $rd,$rn,$rm */
   2859   {
   2860     -1, "i_maddf16", "imadd", 16,
   2861     { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2862   },
   2863 /* fmadd.l $rd6,$rn6,$rm6 */
   2864   {
   2865     -1, "f_maddf32.l", "fmadd.l", 32,
   2866     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2867   },
   2868 /* imadd $rd6,$rn6,$rm6 */
   2869   {
   2870     -1, "i_maddf32", "imadd", 32,
   2871     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2872   },
   2873 /* imadd.l $rd6,$rn6,$rm6 */
   2874   {
   2875     -1, "i_maddf32.l", "imadd.l", 32,
   2876     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2877   },
   2878 /* imsub $rd,$rn,$rm */
   2879   {
   2880     -1, "i_msubf16", "imsub", 16,
   2881     { 0|A(NO_DIS)|A(SHORT_INSN)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2882   },
   2883 /* fmsub.l $rd6,$rn6,$rm6 */
   2884   {
   2885     -1, "f_msubf32.l", "fmsub.l", 32,
   2886     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2887   },
   2888 /* imsub $rd6,$rn6,$rm6 */
   2889   {
   2890     -1, "i_msubf32", "imsub", 32,
   2891     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2892   },
   2893 /* imsub.l $rd6,$rn6,$rm6 */
   2894   {
   2895     -1, "i_msubf32.l", "imsub.l", 32,
   2896     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2897   },
   2898 /* fabs.l $rd6,$rn6 */
   2899   {
   2900     -1, "f_absf32.l", "fabs.l", 32,
   2901     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2902   },
   2903 /* float.l $rd6,$rn6 */
   2904   {
   2905     -1, "f_loatf32.l", "float.l", 32,
   2906     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2907   },
   2908 /* fix.l $rd6,$rn6 */
   2909   {
   2910     -1, "f_ixf32.l", "fix.l", 32,
   2911     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2912   },
   2913 /* frecip.l $frd6,$frn6 */
   2914   {
   2915     -1, "f_recipf32.l", "frecip.l", 32,
   2916     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2917   },
   2918 /* fsqrt.l $frd6,$frn6 */
   2919   {
   2920     -1, "f_sqrtf32.l", "fsqrt.l", 32,
   2921     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } } } }
   2922   },
   2923 };
   2924 
   2925 /* The macro instruction opcode table.  */
   2926 
   2927 static const CGEN_OPCODE epiphany_cgen_macro_insn_opcode_table[] =
   2928 {
   2929 /* beq $simm8 */
   2930   {
   2931     { 0, 0, 0, 0 },
   2932     { { MNEM, ' ', OP (SIMM8), 0 } },
   2933     & ifmt_beq16r, { 0x0 }
   2934   },
   2935 /* beq $simm24 */
   2936   {
   2937     { 0, 0, 0, 0 },
   2938     { { MNEM, ' ', OP (SIMM24), 0 } },
   2939     & ifmt_beq32r, { 0x8 }
   2940   },
   2941 /* bne $simm8 */
   2942   {
   2943     { 0, 0, 0, 0 },
   2944     { { MNEM, ' ', OP (SIMM8), 0 } },
   2945     & ifmt_bne16r, { 0x10 }
   2946   },
   2947 /* bne $simm24 */
   2948   {
   2949     { 0, 0, 0, 0 },
   2950     { { MNEM, ' ', OP (SIMM24), 0 } },
   2951     & ifmt_bne32r, { 0x18 }
   2952   },
   2953 /* bgtu $simm8 */
   2954   {
   2955     { 0, 0, 0, 0 },
   2956     { { MNEM, ' ', OP (SIMM8), 0 } },
   2957     & ifmt_bgtu16r, { 0x20 }
   2958   },
   2959 /* bgtu $simm24 */
   2960   {
   2961     { 0, 0, 0, 0 },
   2962     { { MNEM, ' ', OP (SIMM24), 0 } },
   2963     & ifmt_bgtu32r, { 0x28 }
   2964   },
   2965 /* bgteu $simm8 */
   2966   {
   2967     { 0, 0, 0, 0 },
   2968     { { MNEM, ' ', OP (SIMM8), 0 } },
   2969     & ifmt_bgteu16r, { 0x30 }
   2970   },
   2971 /* bgteu $simm24 */
   2972   {
   2973     { 0, 0, 0, 0 },
   2974     { { MNEM, ' ', OP (SIMM24), 0 } },
   2975     & ifmt_bgteu32r, { 0x38 }
   2976   },
   2977 /* blteu $simm8 */
   2978   {
   2979     { 0, 0, 0, 0 },
   2980     { { MNEM, ' ', OP (SIMM8), 0 } },
   2981     & ifmt_blteu16r, { 0x40 }
   2982   },
   2983 /* blteu $simm24 */
   2984   {
   2985     { 0, 0, 0, 0 },
   2986     { { MNEM, ' ', OP (SIMM24), 0 } },
   2987     & ifmt_blteu32r, { 0x48 }
   2988   },
   2989 /* bltu $simm8 */
   2990   {
   2991     { 0, 0, 0, 0 },
   2992     { { MNEM, ' ', OP (SIMM8), 0 } },
   2993     & ifmt_bltu16r, { 0x50 }
   2994   },
   2995 /* bltu $simm24 */
   2996   {
   2997     { 0, 0, 0, 0 },
   2998     { { MNEM, ' ', OP (SIMM24), 0 } },
   2999     & ifmt_bltu32r, { 0x58 }
   3000   },
   3001 /* bgt $simm8 */
   3002   {
   3003     { 0, 0, 0, 0 },
   3004     { { MNEM, ' ', OP (SIMM8), 0 } },
   3005     & ifmt_bgt16r, { 0x60 }
   3006   },
   3007 /* bgt $simm24 */
   3008   {
   3009     { 0, 0, 0, 0 },
   3010     { { MNEM, ' ', OP (SIMM24), 0 } },
   3011     & ifmt_bgt32r, { 0x68 }
   3012   },
   3013 /* bgte $simm8 */
   3014   {
   3015     { 0, 0, 0, 0 },
   3016     { { MNEM, ' ', OP (SIMM8), 0 } },
   3017     & ifmt_bgte16r, { 0x70 }
   3018   },
   3019 /* bgte $simm24 */
   3020   {
   3021     { 0, 0, 0, 0 },
   3022     { { MNEM, ' ', OP (SIMM24), 0 } },
   3023     & ifmt_bgte32r, { 0x78 }
   3024   },
   3025 /* blt $simm8 */
   3026   {
   3027     { 0, 0, 0, 0 },
   3028     { { MNEM, ' ', OP (SIMM8), 0 } },
   3029     & ifmt_blt16r, { 0x80 }
   3030   },
   3031 /* blt $simm24 */
   3032   {
   3033     { 0, 0, 0, 0 },
   3034     { { MNEM, ' ', OP (SIMM24), 0 } },
   3035     & ifmt_blt32r, { 0x88 }
   3036   },
   3037 /* blte $simm8 */
   3038   {
   3039     { 0, 0, 0, 0 },
   3040     { { MNEM, ' ', OP (SIMM8), 0 } },
   3041     & ifmt_blte16r, { 0x90 }
   3042   },
   3043 /* blte $simm24 */
   3044   {
   3045     { 0, 0, 0, 0 },
   3046     { { MNEM, ' ', OP (SIMM24), 0 } },
   3047     & ifmt_blte32r, { 0x98 }
   3048   },
   3049 /* bbeq $simm8 */
   3050   {
   3051     { 0, 0, 0, 0 },
   3052     { { MNEM, ' ', OP (SIMM8), 0 } },
   3053     & ifmt_bbeq16r, { 0xa0 }
   3054   },
   3055 /* bbeq $simm24 */
   3056   {
   3057     { 0, 0, 0, 0 },
   3058     { { MNEM, ' ', OP (SIMM24), 0 } },
   3059     & ifmt_bbeq32r, { 0xa8 }
   3060   },
   3061 /* bbne $simm8 */
   3062   {
   3063     { 0, 0, 0, 0 },
   3064     { { MNEM, ' ', OP (SIMM8), 0 } },
   3065     & ifmt_bbne16r, { 0xb0 }
   3066   },
   3067 /* bbne $simm24 */
   3068   {
   3069     { 0, 0, 0, 0 },
   3070     { { MNEM, ' ', OP (SIMM24), 0 } },
   3071     & ifmt_bbne32r, { 0xb8 }
   3072   },
   3073 /* bblt $simm8 */
   3074   {
   3075     { 0, 0, 0, 0 },
   3076     { { MNEM, ' ', OP (SIMM8), 0 } },
   3077     & ifmt_bblt16r, { 0xc0 }
   3078   },
   3079 /* bblt $simm24 */
   3080   {
   3081     { 0, 0, 0, 0 },
   3082     { { MNEM, ' ', OP (SIMM24), 0 } },
   3083     & ifmt_bblt32r, { 0xc8 }
   3084   },
   3085 /* bblte $simm8 */
   3086   {
   3087     { 0, 0, 0, 0 },
   3088     { { MNEM, ' ', OP (SIMM8), 0 } },
   3089     & ifmt_bblte16r, { 0xd0 }
   3090   },
   3091 /* bblte $simm24 */
   3092   {
   3093     { 0, 0, 0, 0 },
   3094     { { MNEM, ' ', OP (SIMM24), 0 } },
   3095     & ifmt_bblte32r, { 0xd8 }
   3096   },
   3097 /* b $simm8 */
   3098   {
   3099     { 0, 0, 0, 0 },
   3100     { { MNEM, ' ', OP (SIMM8), 0 } },
   3101     & ifmt_b16r, { 0xe0 }
   3102   },
   3103 /* b $simm24 */
   3104   {
   3105     { 0, 0, 0, 0 },
   3106     { { MNEM, ' ', OP (SIMM24), 0 } },
   3107     & ifmt_b32r, { 0xe8 }
   3108   },
   3109 /* bl $simm8 */
   3110   {
   3111     { 0, 0, 0, 0 },
   3112     { { MNEM, ' ', OP (SIMM8), 0 } },
   3113     & ifmt_bl16r, { 0xf0 }
   3114   },
   3115 /* bl $simm24 */
   3116   {
   3117     { 0, 0, 0, 0 },
   3118     { { MNEM, ' ', OP (SIMM24), 0 } },
   3119     & ifmt_blr, { 0xf8 }
   3120   },
   3121 /* ldrb.l $rd6,[$rn6,$direction$rm6] */
   3122   {
   3123     { 0, 0, 0, 0 },
   3124     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3125     & ifmt_ldrbx, { 0x9 }
   3126   },
   3127 /* ldrb.l $rd6,[$rn6],$direction$rm6 */
   3128   {
   3129     { 0, 0, 0, 0 },
   3130     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3131     & ifmt_ldrbp, { 0xd }
   3132   },
   3133 /* ldrb.l $rd6,[$rn6,$dpmi$disp11] */
   3134   {
   3135     { 0, 0, 0, 0 },
   3136     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3137     & ifmt_ldrbd, { 0xc }
   3138   },
   3139 /* ldrb.l $rd6,[$rn6],$dpmi$disp11 */
   3140   {
   3141     { 0, 0, 0, 0 },
   3142     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3143     & ifmt_ldrbdpm, { 0x200000c }
   3144   },
   3145 /* ldrb $rd,[$rn] */
   3146   {
   3147     { 0, 0, 0, 0 },
   3148     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3149     & ifmt_ldrbds0, { 0x4 }
   3150   },
   3151 /* ldrb $rd6,[$rn6] */
   3152   {
   3153     { 0, 0, 0, 0 },
   3154     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3155     & ifmt_ldrbdl0, { 0xc }
   3156   },
   3157 /* ldrb.l $rd6,[$rn6] */
   3158   {
   3159     { 0, 0, 0, 0 },
   3160     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3161     & ifmt_ldrbdl0_l, { 0xc }
   3162   },
   3163 /* ldrh.l $rd6,[$rn6,$direction$rm6] */
   3164   {
   3165     { 0, 0, 0, 0 },
   3166     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3167     & ifmt_ldrhx, { 0x29 }
   3168   },
   3169 /* ldrh.l $rd6,[$rn6],$direction$rm6 */
   3170   {
   3171     { 0, 0, 0, 0 },
   3172     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3173     & ifmt_ldrhp, { 0x2d }
   3174   },
   3175 /* ldrh.l $rd6,[$rn6,$dpmi$disp11] */
   3176   {
   3177     { 0, 0, 0, 0 },
   3178     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3179     & ifmt_ldrhd, { 0x2c }
   3180   },
   3181 /* ldrh.l $rd6,[$rn6],$dpmi$disp11 */
   3182   {
   3183     { 0, 0, 0, 0 },
   3184     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3185     & ifmt_ldrhdpm, { 0x200002c }
   3186   },
   3187 /* ldrh $rd,[$rn] */
   3188   {
   3189     { 0, 0, 0, 0 },
   3190     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3191     & ifmt_ldrhds0, { 0x24 }
   3192   },
   3193 /* ldrh $rd6,[$rn6] */
   3194   {
   3195     { 0, 0, 0, 0 },
   3196     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3197     & ifmt_ldrhdl0, { 0x2c }
   3198   },
   3199 /* ldrh.l $rd6,[$rn6] */
   3200   {
   3201     { 0, 0, 0, 0 },
   3202     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3203     & ifmt_ldrhdl0_l, { 0x2c }
   3204   },
   3205 /* ldr.l $rd6,[$rn6,$direction$rm6] */
   3206   {
   3207     { 0, 0, 0, 0 },
   3208     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3209     & ifmt_ldrx, { 0x49 }
   3210   },
   3211 /* ldr.l $rd6,[$rn6],$direction$rm6 */
   3212   {
   3213     { 0, 0, 0, 0 },
   3214     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3215     & ifmt_ldrp, { 0x4d }
   3216   },
   3217 /* ldr.l $rd6,[$rn6,$dpmi$disp11] */
   3218   {
   3219     { 0, 0, 0, 0 },
   3220     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3221     & ifmt_ldrd, { 0x4c }
   3222   },
   3223 /* ldr.l $rd6,[$rn6],$dpmi$disp11 */
   3224   {
   3225     { 0, 0, 0, 0 },
   3226     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3227     & ifmt_ldrdpm, { 0x200004c }
   3228   },
   3229 /* ldr $rd,[$rn] */
   3230   {
   3231     { 0, 0, 0, 0 },
   3232     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3233     & ifmt_ldrds0, { 0x44 }
   3234   },
   3235 /* ldr $rd6,[$rn6] */
   3236   {
   3237     { 0, 0, 0, 0 },
   3238     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3239     & ifmt_ldrdl0, { 0x4c }
   3240   },
   3241 /* ldr.l $rd6,[$rn6] */
   3242   {
   3243     { 0, 0, 0, 0 },
   3244     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3245     & ifmt_ldrdl0_l, { 0x4c }
   3246   },
   3247 /* ldrd.l $rd6,[$rn6,$direction$rm6] */
   3248   {
   3249     { 0, 0, 0, 0 },
   3250     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3251     & ifmt_ldrdx, { 0x69 }
   3252   },
   3253 /* ldrd.l $rd6,[$rn6],$direction$rm6 */
   3254   {
   3255     { 0, 0, 0, 0 },
   3256     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3257     & ifmt_ldrdp, { 0x6d }
   3258   },
   3259 /* ldrd.l $rd6,[$rn6,$dpmi$disp11] */
   3260   {
   3261     { 0, 0, 0, 0 },
   3262     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3263     & ifmt_ldrdd, { 0x6c }
   3264   },
   3265 /* ldrd.l $rd6,[$rn6],$dpmi$disp11 */
   3266   {
   3267     { 0, 0, 0, 0 },
   3268     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3269     & ifmt_ldrddpm, { 0x200006c }
   3270   },
   3271 /* ldrd $rd,[$rn] */
   3272   {
   3273     { 0, 0, 0, 0 },
   3274     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3275     & ifmt_ldrdds0, { 0x64 }
   3276   },
   3277 /* ldrd $rd6,[$rn6] */
   3278   {
   3279     { 0, 0, 0, 0 },
   3280     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3281     & ifmt_ldrddl0, { 0x6c }
   3282   },
   3283 /* ldrd.l $rd6,[$rn6] */
   3284   {
   3285     { 0, 0, 0, 0 },
   3286     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3287     & ifmt_ldrddl0_l, { 0x6c }
   3288   },
   3289 /* testsetb.l $rd6,[$rn6,$direction$rm6] */
   3290   {
   3291     { 0, 0, 0, 0 },
   3292     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3293     & ifmt_testsetbt_l, { 0x200009 }
   3294   },
   3295 /* testseth.l $rd6,[$rn6,$direction$rm6] */
   3296   {
   3297     { 0, 0, 0, 0 },
   3298     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3299     & ifmt_testsetht_l, { 0x200029 }
   3300   },
   3301 /* testset.l $rd6,[$rn6,$direction$rm6] */
   3302   {
   3303     { 0, 0, 0, 0 },
   3304     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3305     & ifmt_testsett_l, { 0x200049 }
   3306   },
   3307 /* strb.l $rd6,[$rn6,$direction$rm6] */
   3308   {
   3309     { 0, 0, 0, 0 },
   3310     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3311     & ifmt_strbx_l, { 0x19 }
   3312   },
   3313 /* strb.l $rd6,[$rn6],$direction$rm6 */
   3314   {
   3315     { 0, 0, 0, 0 },
   3316     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3317     & ifmt_strbp_l, { 0x1d }
   3318   },
   3319 /* strb.l $rd6,[$rn6,$dpmi$disp11] */
   3320   {
   3321     { 0, 0, 0, 0 },
   3322     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3323     & ifmt_strbd_l, { 0x1c }
   3324   },
   3325 /* strb.l $rd6,[$rn6],$dpmi$disp11 */
   3326   {
   3327     { 0, 0, 0, 0 },
   3328     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3329     & ifmt_strbdpm_l, { 0x200001c }
   3330   },
   3331 /* strb $rd,[$rn] */
   3332   {
   3333     { 0, 0, 0, 0 },
   3334     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3335     & ifmt_strbds0, { 0x14 }
   3336   },
   3337 /* strb $rd6,[$rn6] */
   3338   {
   3339     { 0, 0, 0, 0 },
   3340     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3341     & ifmt_strbdl0, { 0x1c }
   3342   },
   3343 /* strb.l $rd6,[$rn6] */
   3344   {
   3345     { 0, 0, 0, 0 },
   3346     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3347     & ifmt_strbdl0_l, { 0x1c }
   3348   },
   3349 /* strh.l $rd6,[$rn6,$direction$rm6] */
   3350   {
   3351     { 0, 0, 0, 0 },
   3352     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3353     & ifmt_strhx_l, { 0x39 }
   3354   },
   3355 /* strh.l $rd6,[$rn6],$direction$rm6 */
   3356   {
   3357     { 0, 0, 0, 0 },
   3358     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3359     & ifmt_strhp_l, { 0x3d }
   3360   },
   3361 /* strh.l $rd6,[$rn6,$dpmi$disp11] */
   3362   {
   3363     { 0, 0, 0, 0 },
   3364     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3365     & ifmt_strhd_l, { 0x3c }
   3366   },
   3367 /* strh.l $rd6,[$rn6],$dpmi$disp11 */
   3368   {
   3369     { 0, 0, 0, 0 },
   3370     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3371     & ifmt_strhdpm_l, { 0x200003c }
   3372   },
   3373 /* strh $rd,[$rn] */
   3374   {
   3375     { 0, 0, 0, 0 },
   3376     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3377     & ifmt_strhds0, { 0x34 }
   3378   },
   3379 /* strh $rd6,[$rn6] */
   3380   {
   3381     { 0, 0, 0, 0 },
   3382     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3383     & ifmt_strhdl0, { 0x3c }
   3384   },
   3385 /* strh.l $rd6,[$rn6] */
   3386   {
   3387     { 0, 0, 0, 0 },
   3388     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3389     & ifmt_strhdl0_l, { 0x3c }
   3390   },
   3391 /* str.l $rd6,[$rn6,$direction$rm6] */
   3392   {
   3393     { 0, 0, 0, 0 },
   3394     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3395     & ifmt_strx_l, { 0x59 }
   3396   },
   3397 /* str.l $rd6,[$rn6],$direction$rm6 */
   3398   {
   3399     { 0, 0, 0, 0 },
   3400     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3401     & ifmt_strp_l, { 0x5d }
   3402   },
   3403 /* str.l $rd6,[$rn6,$dpmi$disp11] */
   3404   {
   3405     { 0, 0, 0, 0 },
   3406     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3407     & ifmt_strd_l, { 0x5c }
   3408   },
   3409 /* str.l $rd6,[$rn6],$dpmi$disp11 */
   3410   {
   3411     { 0, 0, 0, 0 },
   3412     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3413     & ifmt_strdpm_l, { 0x200005c }
   3414   },
   3415 /* str $rd,[$rn] */
   3416   {
   3417     { 0, 0, 0, 0 },
   3418     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3419     & ifmt_strds0, { 0x54 }
   3420   },
   3421 /* str $rd6,[$rn6] */
   3422   {
   3423     { 0, 0, 0, 0 },
   3424     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3425     & ifmt_strdl0, { 0x5c }
   3426   },
   3427 /* str.l $rd6,[$rn6] */
   3428   {
   3429     { 0, 0, 0, 0 },
   3430     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3431     & ifmt_strdl0_l, { 0x5c }
   3432   },
   3433 /* strd.l $rd6,[$rn6,$direction$rm6] */
   3434   {
   3435     { 0, 0, 0, 0 },
   3436     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DIRECTION), OP (RM6), ']', 0 } },
   3437     & ifmt_strdx_l, { 0x79 }
   3438   },
   3439 /* strd.l $rd6,[$rn6],$direction$rm6 */
   3440   {
   3441     { 0, 0, 0, 0 },
   3442     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DIRECTION), OP (RM6), 0 } },
   3443     & ifmt_strdp_l, { 0x7d }
   3444   },
   3445 /* strd.l $rd6,[$rn6,$dpmi$disp11] */
   3446   {
   3447     { 0, 0, 0, 0 },
   3448     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ',', OP (DPMI), OP (DISP11), ']', 0 } },
   3449     & ifmt_strdd_l, { 0x7c }
   3450   },
   3451 /* strd.l $rd6,[$rn6],$dpmi$disp11 */
   3452   {
   3453     { 0, 0, 0, 0 },
   3454     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', ',', OP (DPMI), OP (DISP11), 0 } },
   3455     & ifmt_strddpm_l, { 0x200007c }
   3456   },
   3457 /* strd $rd,[$rn] */
   3458   {
   3459     { 0, 0, 0, 0 },
   3460     { { MNEM, ' ', OP (RD), ',', '[', OP (RN), ']', 0 } },
   3461     & ifmt_strdds0, { 0x74 }
   3462   },
   3463 /* strd $rd6,[$rn6] */
   3464   {
   3465     { 0, 0, 0, 0 },
   3466     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3467     & ifmt_strddl0, { 0x7c }
   3468   },
   3469 /* strd.l $rd6,[$rn6] */
   3470   {
   3471     { 0, 0, 0, 0 },
   3472     { { MNEM, ' ', OP (RD6), ',', '[', OP (RN6), ']', 0 } },
   3473     & ifmt_strddl0_l, { 0x7c }
   3474   },
   3475 /* moveq.l $rd6,$rn6 */
   3476   {
   3477     { 0, 0, 0, 0 },
   3478     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3479     & ifmt_cmov_lEQ, { 0x2000f }
   3480   },
   3481 /* movne.l $rd6,$rn6 */
   3482   {
   3483     { 0, 0, 0, 0 },
   3484     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3485     & ifmt_cmov_lNE, { 0x2001f }
   3486   },
   3487 /* movgtu.l $rd6,$rn6 */
   3488   {
   3489     { 0, 0, 0, 0 },
   3490     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3491     & ifmt_cmov_lGTU, { 0x2002f }
   3492   },
   3493 /* movgteu.l $rd6,$rn6 */
   3494   {
   3495     { 0, 0, 0, 0 },
   3496     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3497     & ifmt_cmov_lGTEU, { 0x2003f }
   3498   },
   3499 /* movlteu.l $rd6,$rn6 */
   3500   {
   3501     { 0, 0, 0, 0 },
   3502     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3503     & ifmt_cmov_lLTEU, { 0x2004f }
   3504   },
   3505 /* movltu.l $rd6,$rn6 */
   3506   {
   3507     { 0, 0, 0, 0 },
   3508     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3509     & ifmt_cmov_lLTU, { 0x2005f }
   3510   },
   3511 /* movgt.l $rd6,$rn6 */
   3512   {
   3513     { 0, 0, 0, 0 },
   3514     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3515     & ifmt_cmov_lGT, { 0x2006f }
   3516   },
   3517 /* movgte.l $rd6,$rn6 */
   3518   {
   3519     { 0, 0, 0, 0 },
   3520     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3521     & ifmt_cmov_lGTE, { 0x2007f }
   3522   },
   3523 /* movlt.l $rd6,$rn6 */
   3524   {
   3525     { 0, 0, 0, 0 },
   3526     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3527     & ifmt_cmov_lLT, { 0x2008f }
   3528   },
   3529 /* movlte.l $rd6,$rn6 */
   3530   {
   3531     { 0, 0, 0, 0 },
   3532     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3533     & ifmt_cmov_lLTE, { 0x2009f }
   3534   },
   3535 /* mov.l $rd6,$rn6 */
   3536   {
   3537     { 0, 0, 0, 0 },
   3538     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3539     & ifmt_cmov_lB, { 0x200ef }
   3540   },
   3541 /* movbeq.l $rd6,$rn6 */
   3542   {
   3543     { 0, 0, 0, 0 },
   3544     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3545     & ifmt_cmov_lBEQ, { 0x200af }
   3546   },
   3547 /* movbne.l $rd6,$rn6 */
   3548   {
   3549     { 0, 0, 0, 0 },
   3550     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3551     & ifmt_cmov_lBNE, { 0x200bf }
   3552   },
   3553 /* movblt.l $rd6,$rn6 */
   3554   {
   3555     { 0, 0, 0, 0 },
   3556     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3557     & ifmt_cmov_lBLT, { 0x200cf }
   3558   },
   3559 /* movblte.l $rd6,$rn6 */
   3560   {
   3561     { 0, 0, 0, 0 },
   3562     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3563     & ifmt_cmov_lBLTE, { 0x200df }
   3564   },
   3565 /* movts.l $sn6,$rd6 */
   3566   {
   3567     { 0, 0, 0, 0 },
   3568     { { MNEM, ' ', OP (SN6), ',', OP (RD6), 0 } },
   3569     & ifmt_movts_l6, { 0x2010f }
   3570   },
   3571 /* movts.l $sndma,$rd6 */
   3572   {
   3573     { 0, 0, 0, 0 },
   3574     { { MNEM, ' ', OP (SNDMA), ',', OP (RD6), 0 } },
   3575     & ifmt_movts_ldma, { 0x12010f }
   3576   },
   3577 /* movts.l $snmem,$rd6 */
   3578   {
   3579     { 0, 0, 0, 0 },
   3580     { { MNEM, ' ', OP (SNMEM), ',', OP (RD6), 0 } },
   3581     & ifmt_movts_lmem, { 0x22010f }
   3582   },
   3583 /* movts.l $snmesh,$rd6 */
   3584   {
   3585     { 0, 0, 0, 0 },
   3586     { { MNEM, ' ', OP (SNMESH), ',', OP (RD6), 0 } },
   3587     & ifmt_movts_lmesh, { 0x32010f }
   3588   },
   3589 /* movfs.l $rd6,$sn6 */
   3590   {
   3591     { 0, 0, 0, 0 },
   3592     { { MNEM, ' ', OP (RD6), ',', OP (SN6), 0 } },
   3593     & ifmt_movfs_l6, { 0x2011f }
   3594   },
   3595 /* movfs.l $rd6,$sndma */
   3596   {
   3597     { 0, 0, 0, 0 },
   3598     { { MNEM, ' ', OP (RD6), ',', OP (SNDMA), 0 } },
   3599     & ifmt_movfs_ldma, { 0x12011f }
   3600   },
   3601 /* movfs.l $rd6,$snmem */
   3602   {
   3603     { 0, 0, 0, 0 },
   3604     { { MNEM, ' ', OP (RD6), ',', OP (SNMEM), 0 } },
   3605     & ifmt_movfs_lmem, { 0x22011f }
   3606   },
   3607 /* movfs.l $rd6,$snmesh */
   3608   {
   3609     { 0, 0, 0, 0 },
   3610     { { MNEM, ' ', OP (RD6), ',', OP (SNMESH), 0 } },
   3611     & ifmt_movfs_lmesh, { 0x32011f }
   3612   },
   3613 /* add.l $rd6,$rn6,$rm6 */
   3614   {
   3615     { 0, 0, 0, 0 },
   3616     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3617     & ifmt_add_l, { 0xa001f }
   3618   },
   3619 /* sub.l $rd6,$rn6,$rm6 */
   3620   {
   3621     { 0, 0, 0, 0 },
   3622     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3623     & ifmt_sub_l, { 0xa003f }
   3624   },
   3625 /* and.l $rd6,$rn6,$rm6 */
   3626   {
   3627     { 0, 0, 0, 0 },
   3628     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3629     & ifmt_and_l, { 0xa005f }
   3630   },
   3631 /* orr.l $rd6,$rn6,$rm6 */
   3632   {
   3633     { 0, 0, 0, 0 },
   3634     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3635     & ifmt_orr_l, { 0xa007f }
   3636   },
   3637 /* eor.l $rd6,$rn6,$rm6 */
   3638   {
   3639     { 0, 0, 0, 0 },
   3640     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3641     & ifmt_eor_l, { 0xa000f }
   3642   },
   3643 /* add $rd,$rn,$simm3 */
   3644   {
   3645     { 0, 0, 0, 0 },
   3646     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
   3647     & ifmt_addir, { 0x13 }
   3648   },
   3649 /* add $rd6,$rn6,$simm11 */
   3650   {
   3651     { 0, 0, 0, 0 },
   3652     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   3653     & ifmt_addi32r, { 0x1b }
   3654   },
   3655 /* add $rd6,$rn6,$simm11 */
   3656   {
   3657     { 0, 0, 0, 0 },
   3658     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   3659     & ifmt_addi32m, { 0x1b }
   3660   },
   3661 /* sub $rd,$rn,$simm3 */
   3662   {
   3663     { 0, 0, 0, 0 },
   3664     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (SIMM3), 0 } },
   3665     & ifmt_subir, { 0x33 }
   3666   },
   3667 /* sub $rd6,$rn6,$simm11 */
   3668   {
   3669     { 0, 0, 0, 0 },
   3670     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   3671     & ifmt_subi32r, { 0x3b }
   3672   },
   3673 /* sub $rd6,$rn6,$simm11 */
   3674   {
   3675     { 0, 0, 0, 0 },
   3676     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SIMM11), 0 } },
   3677     & ifmt_subi32m, { 0x3b }
   3678   },
   3679 /* asr.l $rd6,$rn6,$rm6 */
   3680   {
   3681     { 0, 0, 0, 0 },
   3682     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3683     & ifmt_asr_l, { 0xa006f }
   3684   },
   3685 /* lsr.l $rd6,$rn6,$rm6 */
   3686   {
   3687     { 0, 0, 0, 0 },
   3688     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3689     & ifmt_lsr_l, { 0xa004f }
   3690   },
   3691 /* lsl.l $rd6,$rn6,$rm6 */
   3692   {
   3693     { 0, 0, 0, 0 },
   3694     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3695     & ifmt_lsl_l, { 0xa002f }
   3696   },
   3697 /* lsr.l $rd6,$rn6,$shift */
   3698   {
   3699     { 0, 0, 0, 0 },
   3700     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   3701     & ifmt_lsri32_l, { 0x6000f }
   3702   },
   3703 /* lsl.l $rd6,$rn6,$shift */
   3704   {
   3705     { 0, 0, 0, 0 },
   3706     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   3707     & ifmt_lsli32_l, { 0x6001f }
   3708   },
   3709 /* asr.l $rd6,$rn6,$shift */
   3710   {
   3711     { 0, 0, 0, 0 },
   3712     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (SHIFT), 0 } },
   3713     & ifmt_asri32_l, { 0xe000f }
   3714   },
   3715 /* bitr.l $rd6,$rn6 */
   3716   {
   3717     { 0, 0, 0, 0 },
   3718     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3719     & ifmt_bitrl, { 0xe001f }
   3720   },
   3721 /* fext.l $rd6,$rn6,$rm6 */
   3722   {
   3723     { 0, 0, 0, 0 },
   3724     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3725     & ifmt_fext_l, { 0x1a000f }
   3726   },
   3727 /* fdep.l $rd6,$rn6,$rm6 */
   3728   {
   3729     { 0, 0, 0, 0 },
   3730     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3731     & ifmt_fdep_l, { 0x1a001f }
   3732   },
   3733 /* lfsr.l $rd6,$rn6,$rm6 */
   3734   {
   3735     { 0, 0, 0, 0 },
   3736     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3737     & ifmt_lfsr_l, { 0x1a002f }
   3738   },
   3739 /* mov $rd,$imm8 */
   3740   {
   3741     { 0, 0, 0, 0 },
   3742     { { MNEM, ' ', OP (RD), ',', OP (IMM8), 0 } },
   3743     & ifmt_mov8r, { 0x3 }
   3744   },
   3745 /* mov $rd6,$imm16 */
   3746   {
   3747     { 0, 0, 0, 0 },
   3748     { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
   3749     & ifmt_mov16r, { 0x2000b }
   3750   },
   3751 /* movt.l $rd6,$imm16 */
   3752   {
   3753     { 0, 0, 0, 0 },
   3754     { { MNEM, ' ', OP (RD6), ',', OP (IMM16), 0 } },
   3755     & ifmt_movtl, { 0x1002000b }
   3756   },
   3757 /* iadd $rd,$rn,$rm */
   3758   {
   3759     { 0, 0, 0, 0 },
   3760     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   3761     & ifmt_i_addf16, { 0x7 }
   3762   },
   3763 /* fadd.l $rd6,$rn6,$rm6 */
   3764   {
   3765     { 0, 0, 0, 0 },
   3766     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3767     & ifmt_f_addf32_l, { 0x7000f }
   3768   },
   3769 /* iadd $rd6,$rn6,$rm6 */
   3770   {
   3771     { 0, 0, 0, 0 },
   3772     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3773     & ifmt_i_addf32, { 0x7000f }
   3774   },
   3775 /* iadd.l $rd6,$rn6,$rm6 */
   3776   {
   3777     { 0, 0, 0, 0 },
   3778     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3779     & ifmt_i_addf32_l, { 0x7000f }
   3780   },
   3781 /* isub $rd,$rn,$rm */
   3782   {
   3783     { 0, 0, 0, 0 },
   3784     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   3785     & ifmt_i_subf16, { 0x17 }
   3786   },
   3787 /* fsub.l $rd6,$rn6,$rm6 */
   3788   {
   3789     { 0, 0, 0, 0 },
   3790     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3791     & ifmt_f_subf32_l, { 0x7001f }
   3792   },
   3793 /* isub $rd6,$rn6,$rm6 */
   3794   {
   3795     { 0, 0, 0, 0 },
   3796     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3797     & ifmt_i_subf32, { 0x7001f }
   3798   },
   3799 /* isub.l $rd6,$rn6,$rm6 */
   3800   {
   3801     { 0, 0, 0, 0 },
   3802     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3803     & ifmt_i_subf32_l, { 0x7001f }
   3804   },
   3805 /* imul $rd,$rn,$rm */
   3806   {
   3807     { 0, 0, 0, 0 },
   3808     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   3809     & ifmt_i_mulf16, { 0x27 }
   3810   },
   3811 /* fmul.l $rd6,$rn6,$rm6 */
   3812   {
   3813     { 0, 0, 0, 0 },
   3814     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3815     & ifmt_f_mulf32_l, { 0x7002f }
   3816   },
   3817 /* imul $rd6,$rn6,$rm6 */
   3818   {
   3819     { 0, 0, 0, 0 },
   3820     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3821     & ifmt_i_mulf32, { 0x7002f }
   3822   },
   3823 /* imul.l $rd6,$rn6,$rm6 */
   3824   {
   3825     { 0, 0, 0, 0 },
   3826     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3827     & ifmt_i_mulf32_l, { 0x7002f }
   3828   },
   3829 /* imadd $rd,$rn,$rm */
   3830   {
   3831     { 0, 0, 0, 0 },
   3832     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   3833     & ifmt_i_maddf16, { 0x37 }
   3834   },
   3835 /* fmadd.l $rd6,$rn6,$rm6 */
   3836   {
   3837     { 0, 0, 0, 0 },
   3838     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3839     & ifmt_f_maddf32_l, { 0x7003f }
   3840   },
   3841 /* imadd $rd6,$rn6,$rm6 */
   3842   {
   3843     { 0, 0, 0, 0 },
   3844     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3845     & ifmt_i_maddf32, { 0x7003f }
   3846   },
   3847 /* imadd.l $rd6,$rn6,$rm6 */
   3848   {
   3849     { 0, 0, 0, 0 },
   3850     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3851     & ifmt_i_maddf32_l, { 0x7003f }
   3852   },
   3853 /* imsub $rd,$rn,$rm */
   3854   {
   3855     { 0, 0, 0, 0 },
   3856     { { MNEM, ' ', OP (RD), ',', OP (RN), ',', OP (RM), 0 } },
   3857     & ifmt_i_msubf16, { 0x47 }
   3858   },
   3859 /* fmsub.l $rd6,$rn6,$rm6 */
   3860   {
   3861     { 0, 0, 0, 0 },
   3862     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3863     & ifmt_f_msubf32_l, { 0x7004f }
   3864   },
   3865 /* imsub $rd6,$rn6,$rm6 */
   3866   {
   3867     { 0, 0, 0, 0 },
   3868     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3869     & ifmt_i_msubf32, { 0x7004f }
   3870   },
   3871 /* imsub.l $rd6,$rn6,$rm6 */
   3872   {
   3873     { 0, 0, 0, 0 },
   3874     { { MNEM, ' ', OP (RD6), ',', OP (RN6), ',', OP (RM6), 0 } },
   3875     & ifmt_i_msubf32_l, { 0x7004f }
   3876   },
   3877 /* fabs.l $rd6,$rn6 */
   3878   {
   3879     { 0, 0, 0, 0 },
   3880     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3881     & ifmt_f_absf32_l, { 0x7007f }
   3882   },
   3883 /* float.l $rd6,$rn6 */
   3884   {
   3885     { 0, 0, 0, 0 },
   3886     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3887     & ifmt_f_loatf32_l, { 0x7005f }
   3888   },
   3889 /* fix.l $rd6,$rn6 */
   3890   {
   3891     { 0, 0, 0, 0 },
   3892     { { MNEM, ' ', OP (RD6), ',', OP (RN6), 0 } },
   3893     & ifmt_f_ixf32_l, { 0x7006f }
   3894   },
   3895 /* frecip.l $frd6,$frn6 */
   3896   {
   3897     { 0, 0, 0, 0 },
   3898     { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
   3899     & ifmt_f_recipf32_l, { 0x17000f }
   3900   },
   3901 /* fsqrt.l $frd6,$frn6 */
   3902   {
   3903     { 0, 0, 0, 0 },
   3904     { { MNEM, ' ', OP (FRD6), ',', OP (FRN6), 0 } },
   3905     & ifmt_f_sqrtf32_l, { 0x17001f }
   3906   },
   3907 };
   3908 
   3909 #undef A
   3910 #undef OPERAND
   3911 #undef MNEM
   3912 #undef OP
   3913 
   3914 #ifndef CGEN_ASM_HASH_P
   3915 #define CGEN_ASM_HASH_P(insn) 1
   3916 #endif
   3917 
   3918 #ifndef CGEN_DIS_HASH_P
   3919 #define CGEN_DIS_HASH_P(insn) 1
   3920 #endif
   3921 
   3922 /* Return non-zero if INSN is to be added to the hash table.
   3923    Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file.  */
   3924 
   3925 static int
   3926 asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED)
   3927 {
   3928   return CGEN_ASM_HASH_P (insn);
   3929 }
   3930 
   3931 static int
   3932 dis_hash_insn_p (const CGEN_INSN *insn)
   3933 {
   3934   /* If building the hash table and the NO-DIS attribute is present,
   3935      ignore.  */
   3936   if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
   3937     return 0;
   3938   return CGEN_DIS_HASH_P (insn);
   3939 }
   3940 
   3941 #ifndef CGEN_ASM_HASH
   3942 #define CGEN_ASM_HASH_SIZE 127
   3943 #ifdef CGEN_MNEMONIC_OPERANDS
   3944 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
   3945 #else
   3946 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
   3947 #endif
   3948 #endif
   3949 
   3950 /* It doesn't make much sense to provide a default here,
   3951    but while this is under development we do.
   3952    BUFFER is a pointer to the bytes of the insn, target order.
   3953    VALUE is the first base_insn_bitsize bits as an int in host order.  */
   3954 
   3955 #ifndef CGEN_DIS_HASH
   3956 #define CGEN_DIS_HASH_SIZE 256
   3957 #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
   3958 #endif
   3959 
   3960 /* The result is the hash value of the insn.
   3961    Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file.  */
   3962 
   3963 static unsigned int
   3964 asm_hash_insn (const char *mnem)
   3965 {
   3966   return CGEN_ASM_HASH (mnem);
   3967 }
   3968 
   3969 /* BUF is a pointer to the bytes of the insn, target order.
   3970    VALUE is the first base_insn_bitsize bits as an int in host order.  */
   3971 
   3972 static unsigned int
   3973 dis_hash_insn (const char *buf ATTRIBUTE_UNUSED,
   3974 		     CGEN_INSN_INT value ATTRIBUTE_UNUSED)
   3975 {
   3976   return CGEN_DIS_HASH (buf, value);
   3977 }
   3978 
   3979 /* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
   3980 
   3981 static void
   3982 set_fields_bitsize (CGEN_FIELDS *fields, int size)
   3983 {
   3984   CGEN_FIELDS_BITSIZE (fields) = size;
   3985 }
   3986 
   3987 /* Function to call before using the operand instance table.
   3988    This plugs the opcode entries and macro instructions into the cpu table.  */
   3989 
   3990 void
   3991 epiphany_cgen_init_opcode_table (CGEN_CPU_DESC cd)
   3992 {
   3993   int i;
   3994   int num_macros = (sizeof (epiphany_cgen_macro_insn_table) /
   3995 		    sizeof (epiphany_cgen_macro_insn_table[0]));
   3996   const CGEN_IBASE *ib = & epiphany_cgen_macro_insn_table[0];
   3997   const CGEN_OPCODE *oc = & epiphany_cgen_macro_insn_opcode_table[0];
   3998   CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
   3999 
   4000   /* This test has been added to avoid a warning generated
   4001      if memset is called with a third argument of value zero.  */
   4002   if (num_macros >= 1)
   4003     memset (insns, 0, num_macros * sizeof (CGEN_INSN));
   4004   for (i = 0; i < num_macros; ++i)
   4005     {
   4006       insns[i].base = &ib[i];
   4007       insns[i].opcode = &oc[i];
   4008       epiphany_cgen_build_insn_regex (& insns[i]);
   4009     }
   4010   cd->macro_insn_table.init_entries = insns;
   4011   cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
   4012   cd->macro_insn_table.num_init_entries = num_macros;
   4013 
   4014   oc = & epiphany_cgen_insn_opcode_table[0];
   4015   insns = (CGEN_INSN *) cd->insn_table.init_entries;
   4016   for (i = 0; i < MAX_INSNS; ++i)
   4017     {
   4018       insns[i].opcode = &oc[i];
   4019       epiphany_cgen_build_insn_regex (& insns[i]);
   4020     }
   4021 
   4022   cd->sizeof_fields = sizeof (CGEN_FIELDS);
   4023   cd->set_fields_bitsize = set_fields_bitsize;
   4024 
   4025   cd->asm_hash_p = asm_hash_insn_p;
   4026   cd->asm_hash = asm_hash_insn;
   4027   cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
   4028 
   4029   cd->dis_hash_p = dis_hash_insn_p;
   4030   cd->dis_hash = dis_hash_insn;
   4031   cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
   4032 }
   4033