1/* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */ 2/* Instruction opcode table for epiphany. 3 4THIS FILE IS MACHINE GENERATED WITH CGEN. 5 6Copyright (C) 1996-2022 Free Software Foundation, Inc. 7 8This file is part of the GNU Binutils and/or GDB, the GNU debugger. 9 10 This file is free software; you can redistribute it and/or modify 11 it under the terms of the GNU General Public License as published by 12 the Free Software Foundation; either version 3, or (at your option) 13 any later version. 14 15 It is distributed in the hope that it will be useful, but WITHOUT 16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 18 License for more details. 19 20 You should have received a copy of the GNU General Public License along 21 with this program; if not, write to the Free Software Foundation, Inc., 22 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 23 24*/ 25 26#include "sysdep.h" 27#include "ansidecl.h" 28#include "bfd.h" 29#include "symcat.h" 30#include "epiphany-desc.h" 31#include "epiphany-opc.h" 32#include "libiberty.h" 33 34/* -- opc.c */ 35 36 37 38/* -- asm.c */ 39/* The hash functions are recorded here to help keep assembler code out of 40 the disassembler and vice versa. */ 41 42static int asm_hash_insn_p (const CGEN_INSN *); 43static unsigned int asm_hash_insn (const char *); 44static int dis_hash_insn_p (const CGEN_INSN *); 45static 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] 50static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = { 51 0, 0, 0x0, { { 0 } } 52}; 53 54static const CGEN_IFMT ifmt_beq16 ATTRIBUTE_UNUSED = { 55 16, 16, 0xff, { { F (F_SIMM8) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } } 56}; 57 58static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = { 59 32, 32, 0xff, { { F (F_SIMM24) }, { F (F_CONDCODE) }, { F (F_OPC) }, { 0 } } 60}; 61 62static 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 66static 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 70static 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 74static 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 78static 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 82static 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 86static 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 90static 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 94static 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 98static 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 102static 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 106static 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 110static 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 114static 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 118static 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 122static 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 126static const CGEN_IFMT ifmt_unimpl ATTRIBUTE_UNUSED = { 127 32, 32, 0xffffffff, { { F (F_OPC_31_32) }, { 0 } } 128}; 129 130static 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 134static 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 138static 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 142static 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 146static 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 150static 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 154static 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 158static 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 162static 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 166static 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 170static 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 174static 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 178static 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 182static 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 186static 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 190static 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 194static 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 198static 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 202static 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 215static 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] 1443static const CGEN_IFMT ifmt_beq16r ATTRIBUTE_UNUSED = { 1444 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1445}; 1446 1447static const CGEN_IFMT ifmt_beq32r ATTRIBUTE_UNUSED = { 1448 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1449}; 1450 1451static const CGEN_IFMT ifmt_bne16r ATTRIBUTE_UNUSED = { 1452 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1453}; 1454 1455static const CGEN_IFMT ifmt_bne32r ATTRIBUTE_UNUSED = { 1456 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1457}; 1458 1459static const CGEN_IFMT ifmt_bgtu16r ATTRIBUTE_UNUSED = { 1460 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1461}; 1462 1463static const CGEN_IFMT ifmt_bgtu32r ATTRIBUTE_UNUSED = { 1464 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1465}; 1466 1467static const CGEN_IFMT ifmt_bgteu16r ATTRIBUTE_UNUSED = { 1468 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1469}; 1470 1471static const CGEN_IFMT ifmt_bgteu32r ATTRIBUTE_UNUSED = { 1472 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1473}; 1474 1475static const CGEN_IFMT ifmt_blteu16r ATTRIBUTE_UNUSED = { 1476 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1477}; 1478 1479static const CGEN_IFMT ifmt_blteu32r ATTRIBUTE_UNUSED = { 1480 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1481}; 1482 1483static const CGEN_IFMT ifmt_bltu16r ATTRIBUTE_UNUSED = { 1484 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1485}; 1486 1487static const CGEN_IFMT ifmt_bltu32r ATTRIBUTE_UNUSED = { 1488 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1489}; 1490 1491static const CGEN_IFMT ifmt_bgt16r ATTRIBUTE_UNUSED = { 1492 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1493}; 1494 1495static const CGEN_IFMT ifmt_bgt32r ATTRIBUTE_UNUSED = { 1496 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1497}; 1498 1499static const CGEN_IFMT ifmt_bgte16r ATTRIBUTE_UNUSED = { 1500 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1501}; 1502 1503static const CGEN_IFMT ifmt_bgte32r ATTRIBUTE_UNUSED = { 1504 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1505}; 1506 1507static const CGEN_IFMT ifmt_blt16r ATTRIBUTE_UNUSED = { 1508 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1509}; 1510 1511static const CGEN_IFMT ifmt_blt32r ATTRIBUTE_UNUSED = { 1512 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1513}; 1514 1515static const CGEN_IFMT ifmt_blte16r ATTRIBUTE_UNUSED = { 1516 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1517}; 1518 1519static const CGEN_IFMT ifmt_blte32r ATTRIBUTE_UNUSED = { 1520 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1521}; 1522 1523static const CGEN_IFMT ifmt_bbeq16r ATTRIBUTE_UNUSED = { 1524 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1525}; 1526 1527static const CGEN_IFMT ifmt_bbeq32r ATTRIBUTE_UNUSED = { 1528 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1529}; 1530 1531static const CGEN_IFMT ifmt_bbne16r ATTRIBUTE_UNUSED = { 1532 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1533}; 1534 1535static const CGEN_IFMT ifmt_bbne32r ATTRIBUTE_UNUSED = { 1536 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1537}; 1538 1539static const CGEN_IFMT ifmt_bblt16r ATTRIBUTE_UNUSED = { 1540 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1541}; 1542 1543static const CGEN_IFMT ifmt_bblt32r ATTRIBUTE_UNUSED = { 1544 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1545}; 1546 1547static const CGEN_IFMT ifmt_bblte16r ATTRIBUTE_UNUSED = { 1548 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1549}; 1550 1551static const CGEN_IFMT ifmt_bblte32r ATTRIBUTE_UNUSED = { 1552 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1553}; 1554 1555static const CGEN_IFMT ifmt_b16r ATTRIBUTE_UNUSED = { 1556 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1557}; 1558 1559static const CGEN_IFMT ifmt_b32r ATTRIBUTE_UNUSED = { 1560 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1561}; 1562 1563static const CGEN_IFMT ifmt_bl16r ATTRIBUTE_UNUSED = { 1564 16, 16, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM8) }, { 0 } } 1565}; 1566 1567static const CGEN_IFMT ifmt_blr ATTRIBUTE_UNUSED = { 1568 32, 32, 0xff, { { F (F_OPC) }, { F (F_CONDCODE) }, { F (F_SIMM24) }, { 0 } } 1569}; 1570 1571static 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 1575static 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 1579static 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 1583static 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 1587static 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 1591static 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 1595static 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 1599static 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 1603static 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 1607static 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 1611static 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 1615static 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 1619static 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 1623static 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 1627static 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 1631static 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 1635static 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 1639static 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 1643static 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 1647static 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 1651static 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 1655static 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 1659static 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 1663static 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 1667static 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 1671static 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 1675static 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 1679static 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 1683static 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 1687static 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 1691static 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 1695static 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 1699static 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 1703static 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 1707static 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 1711static 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 1715static 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 1719static 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 1723static 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 1727static 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 1731static 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 1735static 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 1739static 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 1743static 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 1747static 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 1751static 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 1755static 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 1759static 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 1763static 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 1767static 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 1771static 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 1775static 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 1779static 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 1783static 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 1787static 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 1791static 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 1795static 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 1799static 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 1803static 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 1807static 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 1811static 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 1815static 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 1819static 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 1823static 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 1827static 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 1831static 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 1835static 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 1839static 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 1843static 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 1847static 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 1851static 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 1855static 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 1859static 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 1863static 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 1867static 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 1871static 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 1875static 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 1879static 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 1883static 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 1887static 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 1891static 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 1895static 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 1899static 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 1903static 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 1907static 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 1911static 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 1915static 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 1919static 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 1923static 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 1927static 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 1931static 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 1935static 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 1939static 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 1943static 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 1947static 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 1951static 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 1955static 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 1959static 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 1963static 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 1967static 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 1971static 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 1975static 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 1979static 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 1983static 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 1987static 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 1991static 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 1995static 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 1999static 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 2003static 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 2007static 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 2011static 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 2015static 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 2019static 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 2023static 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 2027static 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 2031static 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 2035static 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 2039static 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 2043static 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 2047static 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 2051static 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 2055static 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 2059static 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 2063static 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 2067static 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 2071static 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 2075static 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 2079static 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 2083static 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 2087static 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 2091static 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 2106static 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 2927static 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 3925static int 3926asm_hash_insn_p (const CGEN_INSN *insn ATTRIBUTE_UNUSED) 3927{ 3928 return CGEN_ASM_HASH_P (insn); 3929} 3930 3931static int 3932dis_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 3963static unsigned int 3964asm_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 3972static unsigned int 3973dis_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 3981static void 3982set_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 3990void 3991epiphany_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