1 /* Generic opcode table support for targets using CGEN. -*- C -*-
2 CGEN: Cpu tools GENerator
4 THIS FILE IS USED TO GENERATE i960c-opc.c.
6 Copyright (C) 1998 Free Software Foundation, Inc.
8 This file is part of the GNU Binutils and GDB, the GNU debugger.
10 This program 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 2, or (at your option)
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software Foundation, Inc.,
22 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
27 #include "libiberty.h"
30 #include "i960c-opc.h"
33 /* Used by the ifield rtx function. */
34 #define FLD(f) (fields->f)
36 /* The hash functions are recorded here to help keep assembler code out of
37 the disassembler and vice versa. */
39 static int asm_hash_insn_p PARAMS ((const CGEN_INSN *));
40 static unsigned int asm_hash_insn PARAMS ((const char *));
41 static int dis_hash_insn_p PARAMS ((const CGEN_INSN *));
42 static unsigned int dis_hash_insn PARAMS ((const char *, CGEN_INSN_INT));
44 /* Look up instruction INSN_VALUE and extract its fields.
45 INSN, if non-null, is the insn table entry.
46 Otherwise INSN_VALUE is examined to compute it.
47 LENGTH is the bit length of INSN_VALUE if known, otherwise 0.
48 0 is only valid if `insn == NULL && ! CGEN_INT_INSN_P'.
49 If INSN != NULL, LENGTH must be valid.
50 ALIAS_P is non-zero if alias insns are to be included in the search.
52 The result is a pointer to the insn table entry, or NULL if the instruction
56 i960_cgen_lookup_insn (od, insn, insn_value, length, fields, alias_p)
58 const CGEN_INSN *insn;
59 CGEN_INSN_BYTES insn_value;
64 unsigned char buf[CGEN_MAX_INSN_SIZE];
66 CGEN_INSN_INT base_insn;
68 CGEN_EXTRACT_INFO *info = NULL;
70 CGEN_EXTRACT_INFO ex_info;
71 CGEN_EXTRACT_INFO *info = &ex_info;
75 cgen_put_insn_value (od, buf, length, insn_value);
77 base_insn = insn_value; /*???*/
79 ex_info.dis_info = NULL;
80 ex_info.insn_bytes = insn_value;
82 base_insn = cgen_get_insn_value (od, buf, length);
88 const CGEN_INSN_LIST *insn_list;
90 /* The instructions are stored in hash lists.
91 Pick the first one and keep trying until we find the right one. */
93 insn_list = CGEN_DIS_LOOKUP_INSN (od, bufp, base_insn);
94 while (insn_list != NULL)
96 insn = insn_list->insn;
99 || ! CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS))
101 /* Basic bit mask must be correct. */
102 /* ??? May wish to allow target to defer this check until the
104 if ((base_insn & CGEN_INSN_BASE_MASK (insn))
105 == CGEN_INSN_BASE_VALUE (insn))
107 /* ??? 0 is passed for `pc' */
108 int elength = (*CGEN_EXTRACT_FN (insn)) (od, insn, info,
114 if (length != 0 && length != elength)
121 insn_list = CGEN_DIS_NEXT_INSN (insn_list);
126 /* Sanity check: can't pass an alias insn if ! alias_p. */
128 && CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS))
130 /* Sanity check: length must be correct. */
131 if (length != CGEN_INSN_BITSIZE (insn))
134 /* ??? 0 is passed for `pc' */
135 length = (*CGEN_EXTRACT_FN (insn)) (od, insn, info, base_insn, fields,
137 /* Sanity check: must succeed.
138 Could relax this later if it ever proves useful. */
147 /* Fill in the operand instances used by INSN whose operands are FIELDS.
148 INDICES is a pointer to a buffer of MAX_OPERAND_INSTANCES ints to be filled
152 i960_cgen_get_insn_operands (od, insn, fields, indices)
154 const CGEN_INSN * insn;
155 const CGEN_FIELDS * fields;
158 const CGEN_OPERAND_INSTANCE *opinst;
161 for (i = 0, opinst = CGEN_INSN_OPERANDS (insn);
163 && CGEN_OPERAND_INSTANCE_TYPE (opinst) != CGEN_OPERAND_INSTANCE_END;
166 const CGEN_OPERAND *op = CGEN_OPERAND_INSTANCE_OPERAND (opinst);
168 indices[i] = CGEN_OPERAND_INSTANCE_INDEX (opinst);
170 indices[i] = i960_cgen_get_int_operand (CGEN_OPERAND_INDEX (op),
175 /* Cover function to i960_cgen_get_insn_operands when either INSN or FIELDS
177 The INSN, INSN_VALUE, and LENGTH arguments are passed to
178 i960_cgen_lookup_insn unchanged.
180 The result is the insn table entry or NULL if the instruction wasn't
184 i960_cgen_lookup_get_insn_operands (od, insn, insn_value, length, indices)
186 const CGEN_INSN *insn;
187 CGEN_INSN_BYTES insn_value;
193 /* Pass non-zero for ALIAS_P only if INSN != NULL.
194 If INSN == NULL, we want a real insn. */
195 insn = i960_cgen_lookup_insn (od, insn, insn_value, length, &fields,
200 i960_cgen_get_insn_operands (od, insn, &fields, indices);
205 static const CGEN_ATTR_ENTRY bool_attr[] =
212 static const CGEN_ATTR_ENTRY MACH_attr[] =
214 { "base", MACH_BASE },
215 { "i960_ka_sa", MACH_I960_KA_SA },
216 { "i960_ca", MACH_I960_CA },
221 const CGEN_ATTR_TABLE i960_cgen_ifield_attr_table[] =
223 { "MACH", & MACH_attr[0] },
224 { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
225 { "UNSIGNED", &bool_attr[0], &bool_attr[0] },
226 { "PCREL-ADDR", &bool_attr[0], &bool_attr[0] },
227 { "ABS-ADDR", &bool_attr[0], &bool_attr[0] },
228 { "RESERVED", &bool_attr[0], &bool_attr[0] },
229 { "SIGN-OPT", &bool_attr[0], &bool_attr[0] },
233 const CGEN_ATTR_TABLE i960_cgen_hardware_attr_table[] =
235 { "MACH", & MACH_attr[0] },
236 { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
237 { "UNSIGNED", &bool_attr[0], &bool_attr[0] },
238 { "SIGNED", &bool_attr[0], &bool_attr[0] },
239 { "CACHE-ADDR", &bool_attr[0], &bool_attr[0] },
240 { "FUN-ACCESS", &bool_attr[0], &bool_attr[0] },
241 { "PC", &bool_attr[0], &bool_attr[0] },
242 { "PROFILE", &bool_attr[0], &bool_attr[0] },
246 const CGEN_ATTR_TABLE i960_cgen_operand_attr_table[] =
248 { "MACH", & MACH_attr[0] },
249 { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
250 { "UNSIGNED", &bool_attr[0], &bool_attr[0] },
251 { "PCREL-ADDR", &bool_attr[0], &bool_attr[0] },
252 { "ABS-ADDR", &bool_attr[0], &bool_attr[0] },
253 { "SIGN-OPT", &bool_attr[0], &bool_attr[0] },
254 { "NEGATIVE", &bool_attr[0], &bool_attr[0] },
255 { "RELAX", &bool_attr[0], &bool_attr[0] },
256 { "SEM-ONLY", &bool_attr[0], &bool_attr[0] },
260 const CGEN_ATTR_TABLE i960_cgen_insn_attr_table[] =
262 { "MACH", & MACH_attr[0] },
263 { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
264 { "UNCOND-CTI", &bool_attr[0], &bool_attr[0] },
265 { "COND-CTI", &bool_attr[0], &bool_attr[0] },
266 { "SKIP-CTI", &bool_attr[0], &bool_attr[0] },
267 { "DELAY-SLOT", &bool_attr[0], &bool_attr[0] },
268 { "RELAXABLE", &bool_attr[0], &bool_attr[0] },
269 { "RELAX", &bool_attr[0], &bool_attr[0] },
270 { "ALIAS", &bool_attr[0], &bool_attr[0] },
271 { "NO-DIS", &bool_attr[0], &bool_attr[0] },
272 { "PBB", &bool_attr[0], &bool_attr[0] },
276 CGEN_KEYWORD_ENTRY i960_cgen_opval_h_gr_entries[] =
314 CGEN_KEYWORD i960_cgen_opval_h_gr =
316 & i960_cgen_opval_h_gr_entries[0],
320 CGEN_KEYWORD_ENTRY i960_cgen_opval_h_cc_entries[] =
325 CGEN_KEYWORD i960_cgen_opval_h_cc =
327 & i960_cgen_opval_h_cc_entries[0],
332 /* The hardware table. */
334 #define HW_ENT(n) i960_cgen_hw_entries[n]
335 static const CGEN_HW_ENTRY i960_cgen_hw_entries[] =
337 { HW_H_PC, & HW_ENT (HW_H_PC + 1), "h-pc", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0|(1<<CGEN_HW_PROFILE)|(1<<CGEN_HW_PC), { (1<<MACH_BASE) } } },
338 { HW_H_MEMORY, & HW_ENT (HW_H_MEMORY + 1), "h-memory", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
339 { HW_H_SINT, & HW_ENT (HW_H_SINT + 1), "h-sint", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
340 { HW_H_UINT, & HW_ENT (HW_H_UINT + 1), "h-uint", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
341 { HW_H_ADDR, & HW_ENT (HW_H_ADDR + 1), "h-addr", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
342 { HW_H_IADDR, & HW_ENT (HW_H_IADDR + 1), "h-iaddr", CGEN_ASM_KEYWORD, (PTR) 0, { CGEN_HW_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
343 { HW_H_GR, & HW_ENT (HW_H_GR + 1), "h-gr", CGEN_ASM_KEYWORD, (PTR) & i960_cgen_opval_h_gr, { CGEN_HW_NBOOL_ATTRS, 0|(1<<CGEN_HW_CACHE_ADDR)|(1<<CGEN_HW_PROFILE), { (1<<MACH_BASE) } } },
344 { HW_H_CC, & HW_ENT (HW_H_CC + 1), "h-cc", CGEN_ASM_KEYWORD, (PTR) & i960_cgen_opval_h_cc, { CGEN_HW_NBOOL_ATTRS, 0|(1<<CGEN_HW_CACHE_ADDR)|(1<<CGEN_HW_PROFILE), { (1<<MACH_BASE) } } },
348 /* The instruction field table. */
350 static const CGEN_IFLD i960_cgen_ifld_table[] =
352 { I960_F_NIL, "f-nil", 0, 0, 0, 0, { CGEN_IFLD_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } } },
353 { I960_F_OPCODE, "f-opcode", 0, 32, 0, 8, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
354 { I960_F_SRCDST, "f-srcdst", 0, 32, 8, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
355 { I960_F_SRC2, "f-src2", 0, 32, 13, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
356 { I960_F_M3, "f-m3", 0, 32, 18, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
357 { I960_F_M2, "f-m2", 0, 32, 19, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
358 { I960_F_M1, "f-m1", 0, 32, 20, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
359 { I960_F_OPCODE2, "f-opcode2", 0, 32, 21, 4, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
360 { I960_F_ZERO, "f-zero", 0, 32, 25, 2, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
361 { I960_F_SRC1, "f-src1", 0, 32, 27, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
362 { I960_F_ABASE, "f-abase", 0, 32, 13, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
363 { I960_F_MODEA, "f-modea", 0, 32, 18, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
364 { I960_F_ZEROA, "f-zeroa", 0, 32, 19, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
365 { I960_F_OFFSET, "f-offset", 0, 32, 20, 12, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
366 { I960_F_MODEB, "f-modeb", 0, 32, 18, 4, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
367 { I960_F_SCALE, "f-scale", 0, 32, 22, 3, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
368 { I960_F_ZEROB, "f-zerob", 0, 32, 25, 2, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
369 { I960_F_INDEX, "f-index", 0, 32, 27, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
370 { I960_F_OPTDISP, "f-optdisp", 32, 32, 0, 32, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
371 { I960_F_BR_SRC1, "f-br-src1", 0, 32, 8, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
372 { I960_F_BR_SRC2, "f-br-src2", 0, 32, 13, 5, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
373 { I960_F_BR_M1, "f-br-m1", 0, 32, 18, 1, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
374 { I960_F_BR_DISP, "f-br-disp", 0, 32, 19, 11, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_PCREL_ADDR), { (1<<MACH_BASE) } } },
375 { I960_F_BR_ZERO, "f-br-zero", 0, 32, 30, 2, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
376 { I960_F_CTRL_DISP, "f-ctrl-disp", 0, 32, 8, 22, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_PCREL_ADDR), { (1<<MACH_BASE) } } },
377 { I960_F_CTRL_ZERO, "f-ctrl-zero", 0, 32, 30, 2, { CGEN_IFLD_NBOOL_ATTRS, 0|(1<<CGEN_IFLD_UNSIGNED), { (1<<MACH_BASE) } } },
381 /* The operand table. */
383 #define OPERAND(op) CONCAT2 (I960_OPERAND_,op)
384 #define OP_ENT(op) i960_cgen_operand_table[OPERAND (op)]
386 const CGEN_OPERAND i960_cgen_operand_table[MAX_OPERANDS] =
388 /* pc: program counter */
389 { "pc", & HW_ENT (HW_H_PC), 0, 0,
390 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_SEM_ONLY), { (1<<MACH_BASE) } } },
391 /* src1: source register 1 */
392 { "src1", & HW_ENT (HW_H_GR), 27, 5,
393 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
394 /* src2: source register 2 */
395 { "src2", & HW_ENT (HW_H_GR), 13, 5,
396 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
397 /* dst: source/dest register */
398 { "dst", & HW_ENT (HW_H_GR), 8, 5,
399 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
400 /* lit1: literal 1 */
401 { "lit1", & HW_ENT (HW_H_UINT), 27, 5,
402 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
403 /* lit2: literal 2 */
404 { "lit2", & HW_ENT (HW_H_UINT), 13, 5,
405 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
406 /* st_src: store src */
407 { "st_src", & HW_ENT (HW_H_GR), 8, 5,
408 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
410 { "abase", & HW_ENT (HW_H_GR), 13, 5,
411 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
413 { "offset", & HW_ENT (HW_H_UINT), 20, 12,
414 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
416 { "scale", & HW_ENT (HW_H_UINT), 22, 3,
417 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
419 { "index", & HW_ENT (HW_H_GR), 27, 5,
420 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
421 /* optdisp: optional displacement */
422 { "optdisp", & HW_ENT (HW_H_UINT), 0, 32,
423 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
424 /* br_src1: branch src1 */
425 { "br_src1", & HW_ENT (HW_H_GR), 8, 5,
426 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
427 /* br_src2: branch src2 */
428 { "br_src2", & HW_ENT (HW_H_GR), 13, 5,
429 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
430 /* br_disp: branch displacement */
431 { "br_disp", & HW_ENT (HW_H_IADDR), 19, 11,
432 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_PCREL_ADDR), { (1<<MACH_BASE) } } },
433 /* br_lit1: branch literal 1 */
434 { "br_lit1", & HW_ENT (HW_H_UINT), 8, 5,
435 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_UNSIGNED), { (1<<MACH_BASE) } } },
436 /* ctrl_disp: ctrl branch disp */
437 { "ctrl_disp", & HW_ENT (HW_H_IADDR), 8, 22,
438 { CGEN_OPERAND_NBOOL_ATTRS, 0|(1<<CGEN_OPERAND_PCREL_ADDR), { (1<<MACH_BASE) } } },
441 /* Operand references. */
443 #define INPUT CGEN_OPERAND_INSTANCE_INPUT
444 #define OUTPUT CGEN_OPERAND_INSTANCE_OUTPUT
445 #define COND_REF CGEN_OPERAND_INSTANCE_COND_REF
447 static const CGEN_OPERAND_INSTANCE fmt_mulo_ops[] = {
448 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
449 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
450 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
454 static const CGEN_OPERAND_INSTANCE fmt_mulo1_ops[] = {
455 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
456 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
457 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
461 static const CGEN_OPERAND_INSTANCE fmt_mulo2_ops[] = {
462 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
463 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
464 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
468 static const CGEN_OPERAND_INSTANCE fmt_mulo3_ops[] = {
469 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
470 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
471 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
475 static const CGEN_OPERAND_INSTANCE fmt_remo_ops[] = {
476 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
477 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
478 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
482 static const CGEN_OPERAND_INSTANCE fmt_remo1_ops[] = {
483 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
484 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
485 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
489 static const CGEN_OPERAND_INSTANCE fmt_remo2_ops[] = {
490 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
491 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
492 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
496 static const CGEN_OPERAND_INSTANCE fmt_remo3_ops[] = {
497 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
498 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
499 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
503 static const CGEN_OPERAND_INSTANCE fmt_not_ops[] = {
504 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
505 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
509 static const CGEN_OPERAND_INSTANCE fmt_not1_ops[] = {
510 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
511 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
515 static const CGEN_OPERAND_INSTANCE fmt_not2_ops[] = {
516 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
517 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
521 static const CGEN_OPERAND_INSTANCE fmt_not3_ops[] = {
522 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
523 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
527 static const CGEN_OPERAND_INSTANCE fmt_emul_ops[] = {
528 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
529 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
530 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
531 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
532 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
536 static const CGEN_OPERAND_INSTANCE fmt_emul1_ops[] = {
537 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
538 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
539 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
540 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
541 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
545 static const CGEN_OPERAND_INSTANCE fmt_emul2_ops[] = {
546 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
547 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
548 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
549 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
550 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
554 static const CGEN_OPERAND_INSTANCE fmt_emul3_ops[] = {
555 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
556 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT2), 0, 0 },
557 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
558 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
559 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
563 static const CGEN_OPERAND_INSTANCE fmt_movl_ops[] = {
564 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
565 { INPUT, "f_src1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
566 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
567 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
568 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
569 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
573 static const CGEN_OPERAND_INSTANCE fmt_movl1_ops[] = {
574 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
575 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
576 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
577 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
581 static const CGEN_OPERAND_INSTANCE fmt_movt_ops[] = {
582 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
583 { INPUT, "f_src1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
584 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
585 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
586 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
587 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
588 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
589 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
593 static const CGEN_OPERAND_INSTANCE fmt_movt1_ops[] = {
594 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
595 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
596 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
597 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
598 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
602 static const CGEN_OPERAND_INSTANCE fmt_movq_ops[] = {
603 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
604 { INPUT, "f_src1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
605 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
606 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
607 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
608 { INPUT, "h_gr_add__VM_index_of_src1_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
609 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
610 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
611 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
612 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
616 static const CGEN_OPERAND_INSTANCE fmt_movq1_ops[] = {
617 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
618 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (LIT1), 0, 0 },
619 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
620 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
621 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
622 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
626 static const CGEN_OPERAND_INSTANCE fmt_modpc_ops[] = {
627 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
628 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
632 static const CGEN_OPERAND_INSTANCE fmt_lda_offset_ops[] = {
633 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
634 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
638 static const CGEN_OPERAND_INSTANCE fmt_lda_indirect_offset_ops[] = {
639 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
640 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
641 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
645 static const CGEN_OPERAND_INSTANCE fmt_lda_indirect_ops[] = {
646 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
647 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
651 static const CGEN_OPERAND_INSTANCE fmt_lda_indirect_index_ops[] = {
652 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
653 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
654 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
655 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
659 static const CGEN_OPERAND_INSTANCE fmt_lda_disp_ops[] = {
660 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
661 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
665 static const CGEN_OPERAND_INSTANCE fmt_lda_indirect_disp_ops[] = {
666 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
667 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
668 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
672 static const CGEN_OPERAND_INSTANCE fmt_lda_index_disp_ops[] = {
673 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
674 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
675 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
676 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
680 static const CGEN_OPERAND_INSTANCE fmt_lda_indirect_index_disp_ops[] = {
681 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
682 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
683 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
684 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
685 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
689 static const CGEN_OPERAND_INSTANCE fmt_ld_offset_ops[] = {
690 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
691 { INPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
692 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
696 static const CGEN_OPERAND_INSTANCE fmt_ld_indirect_offset_ops[] = {
697 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
698 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
699 { INPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
700 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
704 static const CGEN_OPERAND_INSTANCE fmt_ld_indirect_ops[] = {
705 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
706 { INPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
707 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
711 static const CGEN_OPERAND_INSTANCE fmt_ld_indirect_index_ops[] = {
712 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
713 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
714 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
715 { INPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
716 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
720 static const CGEN_OPERAND_INSTANCE fmt_ld_disp_ops[] = {
721 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
722 { INPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
723 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
727 static const CGEN_OPERAND_INSTANCE fmt_ld_indirect_disp_ops[] = {
728 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
729 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
730 { INPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
731 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
735 static const CGEN_OPERAND_INSTANCE fmt_ld_index_disp_ops[] = {
736 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
737 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
738 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
739 { INPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
740 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
744 static const CGEN_OPERAND_INSTANCE fmt_ld_indirect_index_disp_ops[] = {
745 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
746 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
747 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
748 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
749 { INPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
750 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
754 static const CGEN_OPERAND_INSTANCE fmt_ldob_offset_ops[] = {
755 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
756 { INPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
757 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
761 static const CGEN_OPERAND_INSTANCE fmt_ldob_indirect_offset_ops[] = {
762 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
763 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
764 { INPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
765 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
769 static const CGEN_OPERAND_INSTANCE fmt_ldob_indirect_ops[] = {
770 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
771 { INPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
772 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
776 static const CGEN_OPERAND_INSTANCE fmt_ldob_indirect_index_ops[] = {
777 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
778 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
779 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
780 { INPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
781 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
785 static const CGEN_OPERAND_INSTANCE fmt_ldob_disp_ops[] = {
786 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
787 { INPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
788 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
792 static const CGEN_OPERAND_INSTANCE fmt_ldob_indirect_disp_ops[] = {
793 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
794 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
795 { INPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
796 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
800 static const CGEN_OPERAND_INSTANCE fmt_ldob_index_disp_ops[] = {
801 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
802 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
803 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
804 { INPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
805 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
809 static const CGEN_OPERAND_INSTANCE fmt_ldob_indirect_index_disp_ops[] = {
810 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
811 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
812 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
813 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
814 { INPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UQI, 0, 0, 0 },
815 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
819 static const CGEN_OPERAND_INSTANCE fmt_ldos_offset_ops[] = {
820 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
821 { INPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
822 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
826 static const CGEN_OPERAND_INSTANCE fmt_ldos_indirect_offset_ops[] = {
827 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
828 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
829 { INPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
830 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
834 static const CGEN_OPERAND_INSTANCE fmt_ldos_indirect_ops[] = {
835 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
836 { INPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
837 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
841 static const CGEN_OPERAND_INSTANCE fmt_ldos_indirect_index_ops[] = {
842 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
843 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
844 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
845 { INPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
846 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
850 static const CGEN_OPERAND_INSTANCE fmt_ldos_disp_ops[] = {
851 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
852 { INPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
853 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
857 static const CGEN_OPERAND_INSTANCE fmt_ldos_indirect_disp_ops[] = {
858 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
859 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
860 { INPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
861 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
865 static const CGEN_OPERAND_INSTANCE fmt_ldos_index_disp_ops[] = {
866 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
867 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
868 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
869 { INPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
870 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
874 static const CGEN_OPERAND_INSTANCE fmt_ldos_indirect_index_disp_ops[] = {
875 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
876 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
877 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
878 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
879 { INPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_UHI, 0, 0, 0 },
880 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
884 static const CGEN_OPERAND_INSTANCE fmt_ldib_offset_ops[] = {
885 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
886 { INPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
887 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
891 static const CGEN_OPERAND_INSTANCE fmt_ldib_indirect_offset_ops[] = {
892 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
893 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
894 { INPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
895 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
899 static const CGEN_OPERAND_INSTANCE fmt_ldib_indirect_ops[] = {
900 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
901 { INPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
902 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
906 static const CGEN_OPERAND_INSTANCE fmt_ldib_indirect_index_ops[] = {
907 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
908 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
909 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
910 { INPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
911 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
915 static const CGEN_OPERAND_INSTANCE fmt_ldib_disp_ops[] = {
916 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
917 { INPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
918 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
922 static const CGEN_OPERAND_INSTANCE fmt_ldib_indirect_disp_ops[] = {
923 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
924 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
925 { INPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
926 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
930 static const CGEN_OPERAND_INSTANCE fmt_ldib_index_disp_ops[] = {
931 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
932 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
933 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
934 { INPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
935 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
939 static const CGEN_OPERAND_INSTANCE fmt_ldib_indirect_index_disp_ops[] = {
940 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
941 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
942 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
943 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
944 { INPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
945 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
949 static const CGEN_OPERAND_INSTANCE fmt_ldis_offset_ops[] = {
950 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
951 { INPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
952 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
956 static const CGEN_OPERAND_INSTANCE fmt_ldis_indirect_offset_ops[] = {
957 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
958 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
959 { INPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
960 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
964 static const CGEN_OPERAND_INSTANCE fmt_ldis_indirect_ops[] = {
965 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
966 { INPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
967 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
971 static const CGEN_OPERAND_INSTANCE fmt_ldis_indirect_index_ops[] = {
972 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
973 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
974 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
975 { INPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
976 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
980 static const CGEN_OPERAND_INSTANCE fmt_ldis_disp_ops[] = {
981 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
982 { INPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
983 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
987 static const CGEN_OPERAND_INSTANCE fmt_ldis_indirect_disp_ops[] = {
988 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
989 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
990 { INPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
991 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
995 static const CGEN_OPERAND_INSTANCE fmt_ldis_index_disp_ops[] = {
996 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
997 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
998 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
999 { INPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1000 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1004 static const CGEN_OPERAND_INSTANCE fmt_ldis_indirect_index_disp_ops[] = {
1005 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1006 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1007 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1008 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1009 { INPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1010 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1014 static const CGEN_OPERAND_INSTANCE fmt_ldl_offset_ops[] = {
1015 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1016 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1017 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1018 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1019 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1020 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1024 static const CGEN_OPERAND_INSTANCE fmt_ldl_indirect_offset_ops[] = {
1025 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1026 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1027 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1028 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1029 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1030 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1031 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1035 static const CGEN_OPERAND_INSTANCE fmt_ldl_indirect_ops[] = {
1036 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1037 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1038 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1039 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1040 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1041 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1045 static const CGEN_OPERAND_INSTANCE fmt_ldl_indirect_index_ops[] = {
1046 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1047 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1048 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1049 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1050 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1051 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1052 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1053 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1057 static const CGEN_OPERAND_INSTANCE fmt_ldl_disp_ops[] = {
1058 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1059 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1060 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1061 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1062 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1063 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1067 static const CGEN_OPERAND_INSTANCE fmt_ldl_indirect_disp_ops[] = {
1068 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1069 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1070 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1071 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1072 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1073 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1074 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1078 static const CGEN_OPERAND_INSTANCE fmt_ldl_index_disp_ops[] = {
1079 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1080 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1081 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1082 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1083 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1084 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1085 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1086 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1090 static const CGEN_OPERAND_INSTANCE fmt_ldl_indirect_index_disp_ops[] = {
1091 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1092 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1093 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1094 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1095 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1096 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1097 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1098 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1099 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1103 static const CGEN_OPERAND_INSTANCE fmt_ldt_offset_ops[] = {
1104 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1105 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1106 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1107 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1108 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1109 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1110 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1111 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1115 static const CGEN_OPERAND_INSTANCE fmt_ldt_indirect_offset_ops[] = {
1116 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1117 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1118 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1119 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1120 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1121 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1122 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1123 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1124 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1128 static const CGEN_OPERAND_INSTANCE fmt_ldt_indirect_ops[] = {
1129 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1130 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1131 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1132 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1133 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1134 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1135 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1136 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1140 static const CGEN_OPERAND_INSTANCE fmt_ldt_indirect_index_ops[] = {
1141 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1142 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1143 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1144 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1145 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1146 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1147 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1148 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1149 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1150 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1154 static const CGEN_OPERAND_INSTANCE fmt_ldt_disp_ops[] = {
1155 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1156 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1157 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1158 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1159 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1160 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1161 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1162 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1166 static const CGEN_OPERAND_INSTANCE fmt_ldt_indirect_disp_ops[] = {
1167 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1168 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1169 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1170 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1171 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1172 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1173 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1174 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1175 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1179 static const CGEN_OPERAND_INSTANCE fmt_ldt_index_disp_ops[] = {
1180 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1181 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1182 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1183 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1184 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1185 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1186 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1187 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1188 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1189 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1193 static const CGEN_OPERAND_INSTANCE fmt_ldt_indirect_index_disp_ops[] = {
1194 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1195 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1196 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1197 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1198 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1199 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1200 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1201 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1202 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1203 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1204 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1208 static const CGEN_OPERAND_INSTANCE fmt_ldq_offset_ops[] = {
1209 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1210 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1211 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1212 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1213 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1214 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1215 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1216 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1217 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1218 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1222 static const CGEN_OPERAND_INSTANCE fmt_ldq_indirect_offset_ops[] = {
1223 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1224 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1225 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1226 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1227 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1228 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1229 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1230 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1231 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1232 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1233 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1237 static const CGEN_OPERAND_INSTANCE fmt_ldq_indirect_ops[] = {
1238 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1239 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1240 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1241 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1242 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1243 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1244 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1245 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1246 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1247 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1251 static const CGEN_OPERAND_INSTANCE fmt_ldq_indirect_index_ops[] = {
1252 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1253 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1254 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1255 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1256 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1257 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1258 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1259 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1260 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1261 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1262 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1263 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1267 static const CGEN_OPERAND_INSTANCE fmt_ldq_disp_ops[] = {
1268 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1269 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1270 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1271 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1272 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1273 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1274 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1275 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1276 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1277 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1281 static const CGEN_OPERAND_INSTANCE fmt_ldq_indirect_disp_ops[] = {
1282 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1283 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1284 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1285 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1286 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1287 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1288 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1289 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1290 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1291 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1292 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1296 static const CGEN_OPERAND_INSTANCE fmt_ldq_index_disp_ops[] = {
1297 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1298 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1299 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1300 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1301 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1302 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1303 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1304 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1305 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1306 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1307 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1308 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1312 static const CGEN_OPERAND_INSTANCE fmt_ldq_indirect_index_disp_ops[] = {
1313 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1314 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1315 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1316 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1317 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1318 { INPUT, "h_memory_temp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1319 { INPUT, "h_memory_add__VM_temp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1320 { INPUT, "h_memory_add__VM_temp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1321 { INPUT, "h_memory_add__VM_temp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1322 { OUTPUT, "dst", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DST), 0, 0 },
1323 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1324 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1325 { OUTPUT, "h_gr_add__VM_index_of_dst_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1329 static const CGEN_OPERAND_INSTANCE fmt_st_offset_ops[] = {
1330 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1331 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1332 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1336 static const CGEN_OPERAND_INSTANCE fmt_st_indirect_offset_ops[] = {
1337 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1338 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1339 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1340 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1344 static const CGEN_OPERAND_INSTANCE fmt_st_indirect_ops[] = {
1345 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1346 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1347 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1351 static const CGEN_OPERAND_INSTANCE fmt_st_indirect_index_ops[] = {
1352 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1353 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1354 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1355 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1356 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1360 static const CGEN_OPERAND_INSTANCE fmt_st_disp_ops[] = {
1361 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1362 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1363 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1367 static const CGEN_OPERAND_INSTANCE fmt_st_indirect_disp_ops[] = {
1368 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1369 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1370 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1371 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1375 static const CGEN_OPERAND_INSTANCE fmt_st_index_disp_ops[] = {
1376 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1377 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1378 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1379 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1380 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1384 static const CGEN_OPERAND_INSTANCE fmt_st_indirect_index_disp_ops[] = {
1385 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1386 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1387 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1388 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1389 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1390 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1394 static const CGEN_OPERAND_INSTANCE fmt_stob_offset_ops[] = {
1395 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1396 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1397 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1401 static const CGEN_OPERAND_INSTANCE fmt_stob_indirect_offset_ops[] = {
1402 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1403 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1404 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1405 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1409 static const CGEN_OPERAND_INSTANCE fmt_stob_indirect_ops[] = {
1410 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1411 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1412 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1416 static const CGEN_OPERAND_INSTANCE fmt_stob_indirect_index_ops[] = {
1417 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1418 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1419 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1420 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1421 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1425 static const CGEN_OPERAND_INSTANCE fmt_stob_disp_ops[] = {
1426 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1427 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1428 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1432 static const CGEN_OPERAND_INSTANCE fmt_stob_indirect_disp_ops[] = {
1433 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1434 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1435 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1436 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1440 static const CGEN_OPERAND_INSTANCE fmt_stob_index_disp_ops[] = {
1441 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1442 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1443 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1444 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1445 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1449 static const CGEN_OPERAND_INSTANCE fmt_stob_indirect_index_disp_ops[] = {
1450 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1451 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1452 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1453 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1454 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1455 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0, 0 },
1459 static const CGEN_OPERAND_INSTANCE fmt_stos_offset_ops[] = {
1460 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1461 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1462 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1466 static const CGEN_OPERAND_INSTANCE fmt_stos_indirect_offset_ops[] = {
1467 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1468 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1469 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1470 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1474 static const CGEN_OPERAND_INSTANCE fmt_stos_indirect_ops[] = {
1475 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1476 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1477 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1481 static const CGEN_OPERAND_INSTANCE fmt_stos_indirect_index_ops[] = {
1482 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1483 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1484 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1485 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1486 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1490 static const CGEN_OPERAND_INSTANCE fmt_stos_disp_ops[] = {
1491 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1492 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1493 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1497 static const CGEN_OPERAND_INSTANCE fmt_stos_indirect_disp_ops[] = {
1498 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1499 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1500 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1501 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1505 static const CGEN_OPERAND_INSTANCE fmt_stos_index_disp_ops[] = {
1506 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1507 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1508 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1509 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1510 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1514 static const CGEN_OPERAND_INSTANCE fmt_stos_indirect_index_disp_ops[] = {
1515 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1516 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1517 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1518 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1519 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1520 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0, 0 },
1524 static const CGEN_OPERAND_INSTANCE fmt_stl_offset_ops[] = {
1525 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1526 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1527 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1528 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1529 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1530 { OUTPUT, "h_memory_add__VM_offset_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1534 static const CGEN_OPERAND_INSTANCE fmt_stl_indirect_offset_ops[] = {
1535 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1536 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1537 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1538 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1539 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1540 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1541 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1545 static const CGEN_OPERAND_INSTANCE fmt_stl_indirect_ops[] = {
1546 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1547 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1548 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1549 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1550 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1551 { OUTPUT, "h_memory_add__VM_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1555 static const CGEN_OPERAND_INSTANCE fmt_stl_indirect_index_ops[] = {
1556 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1557 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1558 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1559 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1560 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1561 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1562 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1563 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1567 static const CGEN_OPERAND_INSTANCE fmt_stl_disp_ops[] = {
1568 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1569 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1570 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1571 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1572 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1573 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1577 static const CGEN_OPERAND_INSTANCE fmt_stl_indirect_disp_ops[] = {
1578 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1579 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1580 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1581 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1582 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1583 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1584 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1588 static const CGEN_OPERAND_INSTANCE fmt_stl_index_disp_ops[] = {
1589 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1590 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1591 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1592 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1593 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1594 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1595 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1596 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1600 static const CGEN_OPERAND_INSTANCE fmt_stl_indirect_index_disp_ops[] = {
1601 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1602 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1603 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1604 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1605 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1606 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1607 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1608 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1609 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1613 static const CGEN_OPERAND_INSTANCE fmt_stt_offset_ops[] = {
1614 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1615 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1616 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1617 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1618 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1619 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1620 { OUTPUT, "h_memory_add__VM_offset_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1621 { OUTPUT, "h_memory_add__VM_offset_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1625 static const CGEN_OPERAND_INSTANCE fmt_stt_indirect_offset_ops[] = {
1626 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1627 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1628 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1629 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1630 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1631 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1632 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1633 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1634 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1638 static const CGEN_OPERAND_INSTANCE fmt_stt_indirect_ops[] = {
1639 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1640 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1641 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1642 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1643 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1644 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1645 { OUTPUT, "h_memory_add__VM_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1646 { OUTPUT, "h_memory_add__VM_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1650 static const CGEN_OPERAND_INSTANCE fmt_stt_indirect_index_ops[] = {
1651 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1652 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1653 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1654 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1655 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1656 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1657 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1658 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1659 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1660 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1664 static const CGEN_OPERAND_INSTANCE fmt_stt_disp_ops[] = {
1665 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1666 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1667 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1668 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1669 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1670 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1671 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1672 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1676 static const CGEN_OPERAND_INSTANCE fmt_stt_indirect_disp_ops[] = {
1677 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1678 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1679 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1680 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1681 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1682 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1683 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1684 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1685 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1689 static const CGEN_OPERAND_INSTANCE fmt_stt_index_disp_ops[] = {
1690 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1691 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1692 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1693 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1694 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1695 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1696 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1697 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1698 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1699 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1703 static const CGEN_OPERAND_INSTANCE fmt_stt_indirect_index_disp_ops[] = {
1704 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1705 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1706 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1707 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1708 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1709 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1710 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1711 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1712 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1713 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1714 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1718 static const CGEN_OPERAND_INSTANCE fmt_stq_offset_ops[] = {
1719 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1720 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1721 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1722 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1723 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1724 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1725 { OUTPUT, "h_memory_offset", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1726 { OUTPUT, "h_memory_add__VM_offset_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1727 { OUTPUT, "h_memory_add__VM_offset_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1728 { OUTPUT, "h_memory_add__VM_offset_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1732 static const CGEN_OPERAND_INSTANCE fmt_stq_indirect_offset_ops[] = {
1733 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1734 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1735 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1736 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1737 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1738 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1739 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1740 { OUTPUT, "h_memory_add__VM_offset_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1741 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1742 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1743 { OUTPUT, "h_memory_add__VM_add__VM_offset_abase_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1747 static const CGEN_OPERAND_INSTANCE fmt_stq_indirect_ops[] = {
1748 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1749 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (ABASE), 0, 0 },
1750 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1751 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1752 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1753 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1754 { OUTPUT, "h_memory_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1755 { OUTPUT, "h_memory_add__VM_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1756 { OUTPUT, "h_memory_add__VM_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1757 { OUTPUT, "h_memory_add__VM_abase_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1761 static const CGEN_OPERAND_INSTANCE fmt_stq_indirect_index_ops[] = {
1762 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1763 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1764 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1765 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1766 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1767 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1768 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1769 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1770 { OUTPUT, "h_memory_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1771 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1772 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1773 { OUTPUT, "h_memory_add__VM_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1777 static const CGEN_OPERAND_INSTANCE fmt_stq_disp_ops[] = {
1778 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1779 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1780 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1781 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1782 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1783 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1784 { OUTPUT, "h_memory_optdisp", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1785 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1786 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1787 { OUTPUT, "h_memory_add__VM_optdisp_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1791 static const CGEN_OPERAND_INSTANCE fmt_stq_indirect_disp_ops[] = {
1792 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1793 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1794 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1795 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1796 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1797 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1798 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1799 { OUTPUT, "h_memory_add__VM_optdisp_abase", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1800 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1801 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1802 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_abase_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1806 static const CGEN_OPERAND_INSTANCE fmt_stq_index_disp_ops[] = {
1807 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1808 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1809 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1810 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1811 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1812 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1813 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1814 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1815 { OUTPUT, "h_memory_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1816 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1817 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1818 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1822 static const CGEN_OPERAND_INSTANCE fmt_stq_indirect_index_disp_ops[] = {
1823 { INPUT, "f_srcdst", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, 0, 0, COND_REF },
1824 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1825 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1826 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1827 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1828 { INPUT, "st_src", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ST_SRC), 0, 0 },
1829 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1830 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1831 { INPUT, "h_gr_add__VM_index_of_st_src_const__WI_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1832 { OUTPUT, "h_memory_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1833 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1834 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1835 { OUTPUT, "h_memory_add__VM_add__VM_optdisp_add__VM_abase_mul__VM_index_sll__VM_const__WI_1_scale_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1839 static const CGEN_OPERAND_INSTANCE fmt_cmpobe_reg_ops[] = {
1840 { INPUT, "br_src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (BR_SRC1), 0, 0 },
1841 { INPUT, "br_src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (BR_SRC2), 0, 0 },
1842 { INPUT, "br_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (BR_DISP), 0, COND_REF },
1843 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1847 static const CGEN_OPERAND_INSTANCE fmt_cmpobe_lit_ops[] = {
1848 { INPUT, "br_lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_SI, & OP_ENT (BR_LIT1), 0, 0 },
1849 { INPUT, "br_src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (BR_SRC2), 0, 0 },
1850 { INPUT, "br_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (BR_DISP), 0, COND_REF },
1851 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1855 static const CGEN_OPERAND_INSTANCE fmt_cmpobl_reg_ops[] = {
1856 { INPUT, "br_src1", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (BR_SRC1), 0, 0 },
1857 { INPUT, "br_src2", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (BR_SRC2), 0, 0 },
1858 { INPUT, "br_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (BR_DISP), 0, COND_REF },
1859 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1863 static const CGEN_OPERAND_INSTANCE fmt_cmpobl_lit_ops[] = {
1864 { INPUT, "br_lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (BR_LIT1), 0, 0 },
1865 { INPUT, "br_src2", & HW_ENT (HW_H_GR), CGEN_MODE_USI, & OP_ENT (BR_SRC2), 0, 0 },
1866 { INPUT, "br_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (BR_DISP), 0, COND_REF },
1867 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1871 static const CGEN_OPERAND_INSTANCE fmt_bbc_lit_ops[] = {
1872 { INPUT, "br_lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (BR_LIT1), 0, 0 },
1873 { INPUT, "br_src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (BR_SRC2), 0, 0 },
1874 { INPUT, "br_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (BR_DISP), 0, COND_REF },
1875 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1879 static const CGEN_OPERAND_INSTANCE fmt_cmpi_ops[] = {
1880 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
1881 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
1882 { OUTPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1886 static const CGEN_OPERAND_INSTANCE fmt_cmpi1_ops[] = {
1887 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_SI, & OP_ENT (LIT1), 0, 0 },
1888 { INPUT, "src2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0, 0 },
1889 { OUTPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1893 static const CGEN_OPERAND_INSTANCE fmt_cmpi2_ops[] = {
1894 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
1895 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_SI, & OP_ENT (LIT2), 0, 0 },
1896 { OUTPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1900 static const CGEN_OPERAND_INSTANCE fmt_cmpi3_ops[] = {
1901 { INPUT, "lit1", & HW_ENT (HW_H_UINT), CGEN_MODE_SI, & OP_ENT (LIT1), 0, 0 },
1902 { INPUT, "lit2", & HW_ENT (HW_H_UINT), CGEN_MODE_SI, & OP_ENT (LIT2), 0, 0 },
1903 { OUTPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1907 static const CGEN_OPERAND_INSTANCE fmt_testno_reg_ops[] = {
1908 { INPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1909 { OUTPUT, "br_src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (BR_SRC1), 0, 0 },
1913 static const CGEN_OPERAND_INSTANCE fmt_bno_ops[] = {
1914 { INPUT, "h_cc_0", & HW_ENT (HW_H_CC), CGEN_MODE_SI, 0, 0, 0 },
1915 { INPUT, "ctrl_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (CTRL_DISP), 0, COND_REF },
1916 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, COND_REF },
1920 static const CGEN_OPERAND_INSTANCE fmt_b_ops[] = {
1921 { INPUT, "ctrl_disp", & HW_ENT (HW_H_IADDR), CGEN_MODE_USI, & OP_ENT (CTRL_DISP), 0, 0 },
1922 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1926 static const CGEN_OPERAND_INSTANCE fmt_bx_indirect_offset_ops[] = {
1927 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
1928 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1929 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1933 static const CGEN_OPERAND_INSTANCE fmt_bx_indirect_ops[] = {
1934 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1935 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1939 static const CGEN_OPERAND_INSTANCE fmt_bx_indirect_index_ops[] = {
1940 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1941 { INPUT, "index", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (INDEX), 0, 0 },
1942 { INPUT, "scale", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (SCALE), 0, 0 },
1943 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1947 static const CGEN_OPERAND_INSTANCE fmt_bx_disp_ops[] = {
1948 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1949 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1953 static const CGEN_OPERAND_INSTANCE fmt_bx_indirect_disp_ops[] = {
1954 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1955 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
1956 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1960 static const CGEN_OPERAND_INSTANCE fmt_callx_disp_ops[] = {
1961 { INPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
1962 { INPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1963 { INPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
1964 { INPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1965 { INPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
1966 { INPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
1967 { INPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
1968 { INPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
1969 { INPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
1970 { INPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
1971 { INPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
1972 { INPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
1973 { INPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
1974 { INPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
1975 { INPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
1976 { INPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
1977 { INPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
1978 { INPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
1979 { INPUT, "optdisp", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OPTDISP), 0, 0 },
1980 { OUTPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
1981 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_0", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1982 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1983 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1984 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1985 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_16", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1986 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_20", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1987 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_24", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1988 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_28", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1989 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_32", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1990 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_36", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1991 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_40", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1992 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_44", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1993 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_48", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1994 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_52", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1995 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_56", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1996 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_60", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
1997 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
1998 { OUTPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
1999 { OUTPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2000 { OUTPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2001 { OUTPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2002 { OUTPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2003 { OUTPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2004 { OUTPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2005 { OUTPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2006 { OUTPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2007 { OUTPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2008 { OUTPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2009 { OUTPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2010 { OUTPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2011 { OUTPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2012 { OUTPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2013 { OUTPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2017 static const CGEN_OPERAND_INSTANCE fmt_callx_indirect_ops[] = {
2018 { INPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2019 { INPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
2020 { INPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2021 { INPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2022 { INPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2023 { INPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2024 { INPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2025 { INPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2026 { INPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2027 { INPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2028 { INPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2029 { INPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2030 { INPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2031 { INPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2032 { INPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2033 { INPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2034 { INPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2035 { INPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2036 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
2037 { OUTPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2038 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_0", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2039 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2040 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2041 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2042 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_16", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2043 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_20", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2044 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_24", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2045 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_28", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2046 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_32", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2047 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_36", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2048 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_40", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2049 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_44", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2050 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_48", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2051 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_52", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2052 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_56", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2053 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_60", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2054 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
2055 { OUTPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2056 { OUTPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2057 { OUTPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2058 { OUTPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2059 { OUTPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2060 { OUTPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2061 { OUTPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2062 { OUTPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2063 { OUTPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2064 { OUTPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2065 { OUTPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2066 { OUTPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2067 { OUTPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2068 { OUTPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2069 { OUTPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2070 { OUTPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2074 static const CGEN_OPERAND_INSTANCE fmt_callx_indirect_offset_ops[] = {
2075 { INPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2076 { INPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
2077 { INPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2078 { INPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2079 { INPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2080 { INPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2081 { INPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2082 { INPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2083 { INPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2084 { INPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2085 { INPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2086 { INPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2087 { INPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2088 { INPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2089 { INPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2090 { INPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2091 { INPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2092 { INPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2093 { INPUT, "offset", & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (OFFSET), 0, 0 },
2094 { INPUT, "abase", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (ABASE), 0, 0 },
2095 { OUTPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2096 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_0", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2097 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2098 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2099 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2100 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_16", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2101 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_20", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2102 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_24", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2103 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_28", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2104 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_32", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2105 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_36", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2106 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_40", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2107 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_44", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2108 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_48", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2109 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_52", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2110 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_56", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2111 { OUTPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_60", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2112 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
2113 { OUTPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2114 { OUTPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2115 { OUTPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2116 { OUTPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2117 { OUTPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2118 { OUTPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2119 { OUTPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2120 { OUTPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2121 { OUTPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2122 { OUTPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2123 { OUTPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2124 { OUTPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2125 { OUTPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2126 { OUTPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2127 { OUTPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2128 { OUTPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2132 static const CGEN_OPERAND_INSTANCE fmt_ret_ops[] = {
2133 { INPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2134 { INPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2135 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_0", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2136 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_4", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2137 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_8", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2138 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_12", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2139 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_16", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2140 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_20", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2141 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_24", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2142 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_28", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2143 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_32", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2144 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_36", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2145 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_40", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2146 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_44", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2147 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_48", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2148 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_52", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2149 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_56", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2150 { INPUT, "h_memory_add__VM_reg__VM_h_gr_31_const__WI_60", & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0, 0 },
2151 { INPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2152 { OUTPUT, "h_gr_31", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 31, 0 },
2153 { OUTPUT, "h_gr_0", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 0, 0 },
2154 { OUTPUT, "h_gr_1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 1, 0 },
2155 { OUTPUT, "h_gr_2", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 2, 0 },
2156 { OUTPUT, "h_gr_3", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 3, 0 },
2157 { OUTPUT, "h_gr_4", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 4, 0 },
2158 { OUTPUT, "h_gr_5", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 5, 0 },
2159 { OUTPUT, "h_gr_6", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 6, 0 },
2160 { OUTPUT, "h_gr_7", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 7, 0 },
2161 { OUTPUT, "h_gr_8", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 8, 0 },
2162 { OUTPUT, "h_gr_9", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 9, 0 },
2163 { OUTPUT, "h_gr_10", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 10, 0 },
2164 { OUTPUT, "h_gr_11", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 11, 0 },
2165 { OUTPUT, "h_gr_12", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 12, 0 },
2166 { OUTPUT, "h_gr_13", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 13, 0 },
2167 { OUTPUT, "h_gr_14", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14, 0 },
2168 { OUTPUT, "h_gr_15", & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 15, 0 },
2169 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0, 0 },
2173 static const CGEN_OPERAND_INSTANCE fmt_calls_ops[] = {
2174 { INPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_SI, 0, 0, 0 },
2175 { INPUT, "src1", & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0, 0 },
2176 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_SI, 0, 0, 0 },
2180 static const CGEN_OPERAND_INSTANCE fmt_fmark_ops[] = {
2181 { INPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_SI, 0, 0, 0 },
2182 { OUTPUT, "pc", & HW_ENT (HW_H_PC), CGEN_MODE_SI, 0, 0, 0 },
2190 /* Instruction formats. */
2192 #define F(f) & i960_cgen_ifld_table[CONCAT2 (I960_,f)]
2194 static const CGEN_IFMT fmt_empty = {
2198 static const CGEN_IFMT fmt_mulo = {
2199 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2202 static const CGEN_IFMT fmt_mulo1 = {
2203 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2206 static const CGEN_IFMT fmt_mulo2 = {
2207 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2210 static const CGEN_IFMT fmt_mulo3 = {
2211 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2214 static const CGEN_IFMT fmt_remo = {
2215 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2218 static const CGEN_IFMT fmt_remo1 = {
2219 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2222 static const CGEN_IFMT fmt_remo2 = {
2223 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2226 static const CGEN_IFMT fmt_remo3 = {
2227 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2230 static const CGEN_IFMT fmt_not = {
2231 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2234 static const CGEN_IFMT fmt_not1 = {
2235 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2238 static const CGEN_IFMT fmt_not2 = {
2239 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2242 static const CGEN_IFMT fmt_not3 = {
2243 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2246 static const CGEN_IFMT fmt_emul = {
2247 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2250 static const CGEN_IFMT fmt_emul1 = {
2251 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2254 static const CGEN_IFMT fmt_emul2 = {
2255 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2258 static const CGEN_IFMT fmt_emul3 = {
2259 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2262 static const CGEN_IFMT fmt_movl = {
2263 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2266 static const CGEN_IFMT fmt_movl1 = {
2267 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2270 static const CGEN_IFMT fmt_movt = {
2271 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2274 static const CGEN_IFMT fmt_movt1 = {
2275 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2278 static const CGEN_IFMT fmt_movq = {
2279 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2282 static const CGEN_IFMT fmt_movq1 = {
2283 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2286 static const CGEN_IFMT fmt_modpc = {
2287 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2290 static const CGEN_IFMT fmt_lda_offset = {
2291 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2294 static const CGEN_IFMT fmt_lda_indirect_offset = {
2295 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2298 static const CGEN_IFMT fmt_lda_indirect = {
2299 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2302 static const CGEN_IFMT fmt_lda_indirect_index = {
2303 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2306 static const CGEN_IFMT fmt_lda_disp = {
2307 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2310 static const CGEN_IFMT fmt_lda_indirect_disp = {
2311 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2314 static const CGEN_IFMT fmt_lda_index_disp = {
2315 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2318 static const CGEN_IFMT fmt_lda_indirect_index_disp = {
2319 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2322 static const CGEN_IFMT fmt_ld_offset = {
2323 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2326 static const CGEN_IFMT fmt_ld_indirect_offset = {
2327 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2330 static const CGEN_IFMT fmt_ld_indirect = {
2331 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2334 static const CGEN_IFMT fmt_ld_indirect_index = {
2335 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2338 static const CGEN_IFMT fmt_ld_disp = {
2339 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2342 static const CGEN_IFMT fmt_ld_indirect_disp = {
2343 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2346 static const CGEN_IFMT fmt_ld_index_disp = {
2347 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2350 static const CGEN_IFMT fmt_ld_indirect_index_disp = {
2351 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2354 static const CGEN_IFMT fmt_ldob_offset = {
2355 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2358 static const CGEN_IFMT fmt_ldob_indirect_offset = {
2359 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2362 static const CGEN_IFMT fmt_ldob_indirect = {
2363 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2366 static const CGEN_IFMT fmt_ldob_indirect_index = {
2367 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2370 static const CGEN_IFMT fmt_ldob_disp = {
2371 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2374 static const CGEN_IFMT fmt_ldob_indirect_disp = {
2375 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2378 static const CGEN_IFMT fmt_ldob_index_disp = {
2379 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2382 static const CGEN_IFMT fmt_ldob_indirect_index_disp = {
2383 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2386 static const CGEN_IFMT fmt_ldos_offset = {
2387 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2390 static const CGEN_IFMT fmt_ldos_indirect_offset = {
2391 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2394 static const CGEN_IFMT fmt_ldos_indirect = {
2395 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2398 static const CGEN_IFMT fmt_ldos_indirect_index = {
2399 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2402 static const CGEN_IFMT fmt_ldos_disp = {
2403 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2406 static const CGEN_IFMT fmt_ldos_indirect_disp = {
2407 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2410 static const CGEN_IFMT fmt_ldos_index_disp = {
2411 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2414 static const CGEN_IFMT fmt_ldos_indirect_index_disp = {
2415 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2418 static const CGEN_IFMT fmt_ldib_offset = {
2419 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2422 static const CGEN_IFMT fmt_ldib_indirect_offset = {
2423 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2426 static const CGEN_IFMT fmt_ldib_indirect = {
2427 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2430 static const CGEN_IFMT fmt_ldib_indirect_index = {
2431 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2434 static const CGEN_IFMT fmt_ldib_disp = {
2435 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2438 static const CGEN_IFMT fmt_ldib_indirect_disp = {
2439 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2442 static const CGEN_IFMT fmt_ldib_index_disp = {
2443 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2446 static const CGEN_IFMT fmt_ldib_indirect_index_disp = {
2447 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2450 static const CGEN_IFMT fmt_ldis_offset = {
2451 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2454 static const CGEN_IFMT fmt_ldis_indirect_offset = {
2455 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2458 static const CGEN_IFMT fmt_ldis_indirect = {
2459 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2462 static const CGEN_IFMT fmt_ldis_indirect_index = {
2463 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2466 static const CGEN_IFMT fmt_ldis_disp = {
2467 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2470 static const CGEN_IFMT fmt_ldis_indirect_disp = {
2471 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2474 static const CGEN_IFMT fmt_ldis_index_disp = {
2475 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2478 static const CGEN_IFMT fmt_ldis_indirect_index_disp = {
2479 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2482 static const CGEN_IFMT fmt_ldl_offset = {
2483 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2486 static const CGEN_IFMT fmt_ldl_indirect_offset = {
2487 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2490 static const CGEN_IFMT fmt_ldl_indirect = {
2491 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2494 static const CGEN_IFMT fmt_ldl_indirect_index = {
2495 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2498 static const CGEN_IFMT fmt_ldl_disp = {
2499 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2502 static const CGEN_IFMT fmt_ldl_indirect_disp = {
2503 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2506 static const CGEN_IFMT fmt_ldl_index_disp = {
2507 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2510 static const CGEN_IFMT fmt_ldl_indirect_index_disp = {
2511 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2514 static const CGEN_IFMT fmt_ldt_offset = {
2515 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2518 static const CGEN_IFMT fmt_ldt_indirect_offset = {
2519 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2522 static const CGEN_IFMT fmt_ldt_indirect = {
2523 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2526 static const CGEN_IFMT fmt_ldt_indirect_index = {
2527 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2530 static const CGEN_IFMT fmt_ldt_disp = {
2531 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2534 static const CGEN_IFMT fmt_ldt_indirect_disp = {
2535 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2538 static const CGEN_IFMT fmt_ldt_index_disp = {
2539 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2542 static const CGEN_IFMT fmt_ldt_indirect_index_disp = {
2543 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2546 static const CGEN_IFMT fmt_ldq_offset = {
2547 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2550 static const CGEN_IFMT fmt_ldq_indirect_offset = {
2551 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2554 static const CGEN_IFMT fmt_ldq_indirect = {
2555 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2558 static const CGEN_IFMT fmt_ldq_indirect_index = {
2559 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2562 static const CGEN_IFMT fmt_ldq_disp = {
2563 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2566 static const CGEN_IFMT fmt_ldq_indirect_disp = {
2567 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2570 static const CGEN_IFMT fmt_ldq_index_disp = {
2571 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2574 static const CGEN_IFMT fmt_ldq_indirect_index_disp = {
2575 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2578 static const CGEN_IFMT fmt_st_offset = {
2579 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2582 static const CGEN_IFMT fmt_st_indirect_offset = {
2583 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2586 static const CGEN_IFMT fmt_st_indirect = {
2587 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2590 static const CGEN_IFMT fmt_st_indirect_index = {
2591 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2594 static const CGEN_IFMT fmt_st_disp = {
2595 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2598 static const CGEN_IFMT fmt_st_indirect_disp = {
2599 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2602 static const CGEN_IFMT fmt_st_index_disp = {
2603 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2606 static const CGEN_IFMT fmt_st_indirect_index_disp = {
2607 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2610 static const CGEN_IFMT fmt_stob_offset = {
2611 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2614 static const CGEN_IFMT fmt_stob_indirect_offset = {
2615 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2618 static const CGEN_IFMT fmt_stob_indirect = {
2619 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2622 static const CGEN_IFMT fmt_stob_indirect_index = {
2623 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2626 static const CGEN_IFMT fmt_stob_disp = {
2627 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2630 static const CGEN_IFMT fmt_stob_indirect_disp = {
2631 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2634 static const CGEN_IFMT fmt_stob_index_disp = {
2635 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2638 static const CGEN_IFMT fmt_stob_indirect_index_disp = {
2639 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2642 static const CGEN_IFMT fmt_stos_offset = {
2643 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2646 static const CGEN_IFMT fmt_stos_indirect_offset = {
2647 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2650 static const CGEN_IFMT fmt_stos_indirect = {
2651 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2654 static const CGEN_IFMT fmt_stos_indirect_index = {
2655 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2658 static const CGEN_IFMT fmt_stos_disp = {
2659 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2662 static const CGEN_IFMT fmt_stos_indirect_disp = {
2663 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2666 static const CGEN_IFMT fmt_stos_index_disp = {
2667 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2670 static const CGEN_IFMT fmt_stos_indirect_index_disp = {
2671 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2674 static const CGEN_IFMT fmt_stl_offset = {
2675 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2678 static const CGEN_IFMT fmt_stl_indirect_offset = {
2679 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2682 static const CGEN_IFMT fmt_stl_indirect = {
2683 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2686 static const CGEN_IFMT fmt_stl_indirect_index = {
2687 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2690 static const CGEN_IFMT fmt_stl_disp = {
2691 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2694 static const CGEN_IFMT fmt_stl_indirect_disp = {
2695 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2698 static const CGEN_IFMT fmt_stl_index_disp = {
2699 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2702 static const CGEN_IFMT fmt_stl_indirect_index_disp = {
2703 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2706 static const CGEN_IFMT fmt_stt_offset = {
2707 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2710 static const CGEN_IFMT fmt_stt_indirect_offset = {
2711 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2714 static const CGEN_IFMT fmt_stt_indirect = {
2715 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2718 static const CGEN_IFMT fmt_stt_indirect_index = {
2719 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2722 static const CGEN_IFMT fmt_stt_disp = {
2723 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2726 static const CGEN_IFMT fmt_stt_indirect_disp = {
2727 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2730 static const CGEN_IFMT fmt_stt_index_disp = {
2731 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2734 static const CGEN_IFMT fmt_stt_indirect_index_disp = {
2735 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2738 static const CGEN_IFMT fmt_stq_offset = {
2739 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2742 static const CGEN_IFMT fmt_stq_indirect_offset = {
2743 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2746 static const CGEN_IFMT fmt_stq_indirect = {
2747 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2750 static const CGEN_IFMT fmt_stq_indirect_index = {
2751 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2754 static const CGEN_IFMT fmt_stq_disp = {
2755 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2758 static const CGEN_IFMT fmt_stq_indirect_disp = {
2759 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2762 static const CGEN_IFMT fmt_stq_index_disp = {
2763 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2766 static const CGEN_IFMT fmt_stq_indirect_index_disp = {
2767 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2770 static const CGEN_IFMT fmt_cmpobe_reg = {
2771 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2774 static const CGEN_IFMT fmt_cmpobe_lit = {
2775 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2778 static const CGEN_IFMT fmt_cmpobl_reg = {
2779 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2782 static const CGEN_IFMT fmt_cmpobl_lit = {
2783 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2786 static const CGEN_IFMT fmt_bbc_lit = {
2787 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2790 static const CGEN_IFMT fmt_cmpi = {
2791 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2794 static const CGEN_IFMT fmt_cmpi1 = {
2795 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2798 static const CGEN_IFMT fmt_cmpi2 = {
2799 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2802 static const CGEN_IFMT fmt_cmpi3 = {
2803 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2806 static const CGEN_IFMT fmt_testno_reg = {
2807 32, 32, 0xff002003, { F (F_OPCODE), F (F_BR_SRC1), F (F_BR_SRC2), F (F_BR_M1), F (F_BR_DISP), F (F_BR_ZERO), 0 }
2810 static const CGEN_IFMT fmt_bno = {
2811 32, 32, 0xff000003, { F (F_OPCODE), F (F_CTRL_DISP), F (F_CTRL_ZERO), 0 }
2814 static const CGEN_IFMT fmt_b = {
2815 32, 32, 0xff000003, { F (F_OPCODE), F (F_CTRL_DISP), F (F_CTRL_ZERO), 0 }
2818 static const CGEN_IFMT fmt_bx_indirect_offset = {
2819 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2822 static const CGEN_IFMT fmt_bx_indirect = {
2823 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2826 static const CGEN_IFMT fmt_bx_indirect_index = {
2827 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2830 static const CGEN_IFMT fmt_bx_disp = {
2831 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2834 static const CGEN_IFMT fmt_bx_indirect_disp = {
2835 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2838 static const CGEN_IFMT fmt_callx_disp = {
2839 32, 64, 0xff003c60, { F (F_OPCODE), F (F_OPTDISP), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2842 static const CGEN_IFMT fmt_callx_indirect = {
2843 32, 32, 0xff003c60, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEB), F (F_SCALE), F (F_ZEROB), F (F_INDEX), 0 }
2846 static const CGEN_IFMT fmt_callx_indirect_offset = {
2847 32, 32, 0xff003000, { F (F_OPCODE), F (F_SRCDST), F (F_ABASE), F (F_MODEA), F (F_ZEROA), F (F_OFFSET), 0 }
2850 static const CGEN_IFMT fmt_ret = {
2851 32, 32, 0xff000003, { F (F_OPCODE), F (F_CTRL_DISP), F (F_CTRL_ZERO), 0 }
2854 static const CGEN_IFMT fmt_calls = {
2855 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2858 static const CGEN_IFMT fmt_fmark = {
2859 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2862 static const CGEN_IFMT fmt_flushreg = {
2863 32, 32, 0xff003fe0, { F (F_OPCODE), F (F_SRCDST), F (F_SRC2), F (F_M3), F (F_M2), F (F_M1), F (F_OPCODE2), F (F_ZERO), F (F_SRC1), 0 }
2868 #define A(a) (1 << CONCAT2 (CGEN_INSN_,a))
2869 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
2870 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
2872 /* The instruction table.
2873 This is currently non-static because the simulator accesses it
2876 const CGEN_INSN i960_cgen_insn_table_entries[MAX_INSNS] =
2878 /* Special null first entry.
2879 A `num' value of zero is thus invalid.
2880 Also, the special `invalid' insn resides here. */
2882 /* mulo $src1, $src2, $dst */
2885 I960_INSN_MULO, "mulo", "mulo",
2886 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2887 & fmt_mulo, { 0x70000080 },
2888 (PTR) & fmt_mulo_ops[0],
2889 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2891 /* mulo $lit1, $src2, $dst */
2894 I960_INSN_MULO1, "mulo1", "mulo",
2895 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2896 & fmt_mulo1, { 0x70000880 },
2897 (PTR) & fmt_mulo1_ops[0],
2898 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2900 /* mulo $src1, $lit2, $dst */
2903 I960_INSN_MULO2, "mulo2", "mulo",
2904 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2905 & fmt_mulo2, { 0x70001080 },
2906 (PTR) & fmt_mulo2_ops[0],
2907 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2909 /* mulo $lit1, $lit2, $dst */
2912 I960_INSN_MULO3, "mulo3", "mulo",
2913 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2914 & fmt_mulo3, { 0x70001880 },
2915 (PTR) & fmt_mulo3_ops[0],
2916 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2918 /* remo $src1, $src2, $dst */
2921 I960_INSN_REMO, "remo", "remo",
2922 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2923 & fmt_remo, { 0x70000400 },
2924 (PTR) & fmt_remo_ops[0],
2925 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2927 /* remo $lit1, $src2, $dst */
2930 I960_INSN_REMO1, "remo1", "remo",
2931 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2932 & fmt_remo1, { 0x70000c00 },
2933 (PTR) & fmt_remo1_ops[0],
2934 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2936 /* remo $src1, $lit2, $dst */
2939 I960_INSN_REMO2, "remo2", "remo",
2940 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2941 & fmt_remo2, { 0x70001400 },
2942 (PTR) & fmt_remo2_ops[0],
2943 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2945 /* remo $lit1, $lit2, $dst */
2948 I960_INSN_REMO3, "remo3", "remo",
2949 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2950 & fmt_remo3, { 0x70001c00 },
2951 (PTR) & fmt_remo3_ops[0],
2952 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2954 /* divo $src1, $src2, $dst */
2957 I960_INSN_DIVO, "divo", "divo",
2958 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2959 & fmt_remo, { 0x70000580 },
2960 (PTR) & fmt_remo_ops[0],
2961 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2963 /* divo $lit1, $src2, $dst */
2966 I960_INSN_DIVO1, "divo1", "divo",
2967 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2968 & fmt_remo1, { 0x70000d80 },
2969 (PTR) & fmt_remo1_ops[0],
2970 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2972 /* divo $src1, $lit2, $dst */
2975 I960_INSN_DIVO2, "divo2", "divo",
2976 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2977 & fmt_remo2, { 0x70001580 },
2978 (PTR) & fmt_remo2_ops[0],
2979 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2981 /* divo $lit1, $lit2, $dst */
2984 I960_INSN_DIVO3, "divo3", "divo",
2985 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
2986 & fmt_remo3, { 0x70001d80 },
2987 (PTR) & fmt_remo3_ops[0],
2988 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2990 /* remi $src1, $src2, $dst */
2993 I960_INSN_REMI, "remi", "remi",
2994 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
2995 & fmt_remo, { 0x74000400 },
2996 (PTR) & fmt_remo_ops[0],
2997 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
2999 /* remi $lit1, $src2, $dst */
3002 I960_INSN_REMI1, "remi1", "remi",
3003 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3004 & fmt_remo1, { 0x74000c00 },
3005 (PTR) & fmt_remo1_ops[0],
3006 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3008 /* remi $src1, $lit2, $dst */
3011 I960_INSN_REMI2, "remi2", "remi",
3012 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3013 & fmt_remo2, { 0x74001400 },
3014 (PTR) & fmt_remo2_ops[0],
3015 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3017 /* remi $lit1, $lit2, $dst */
3020 I960_INSN_REMI3, "remi3", "remi",
3021 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3022 & fmt_remo3, { 0x74001c00 },
3023 (PTR) & fmt_remo3_ops[0],
3024 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3026 /* divi $src1, $src2, $dst */
3029 I960_INSN_DIVI, "divi", "divi",
3030 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3031 & fmt_remo, { 0x74000580 },
3032 (PTR) & fmt_remo_ops[0],
3033 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3035 /* divi $lit1, $src2, $dst */
3038 I960_INSN_DIVI1, "divi1", "divi",
3039 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3040 & fmt_remo1, { 0x74000d80 },
3041 (PTR) & fmt_remo1_ops[0],
3042 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3044 /* divi $src1, $lit2, $dst */
3047 I960_INSN_DIVI2, "divi2", "divi",
3048 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3049 & fmt_remo2, { 0x74001580 },
3050 (PTR) & fmt_remo2_ops[0],
3051 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3053 /* divi $lit1, $lit2, $dst */
3056 I960_INSN_DIVI3, "divi3", "divi",
3057 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3058 & fmt_remo3, { 0x74001d80 },
3059 (PTR) & fmt_remo3_ops[0],
3060 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3062 /* addo $src1, $src2, $dst */
3065 I960_INSN_ADDO, "addo", "addo",
3066 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3067 & fmt_mulo, { 0x59000000 },
3068 (PTR) & fmt_mulo_ops[0],
3069 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3071 /* addo $lit1, $src2, $dst */
3074 I960_INSN_ADDO1, "addo1", "addo",
3075 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3076 & fmt_mulo1, { 0x59000800 },
3077 (PTR) & fmt_mulo1_ops[0],
3078 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3080 /* addo $src1, $lit2, $dst */
3083 I960_INSN_ADDO2, "addo2", "addo",
3084 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3085 & fmt_mulo2, { 0x59001000 },
3086 (PTR) & fmt_mulo2_ops[0],
3087 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3089 /* addo $lit1, $lit2, $dst */
3092 I960_INSN_ADDO3, "addo3", "addo",
3093 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3094 & fmt_mulo3, { 0x59001800 },
3095 (PTR) & fmt_mulo3_ops[0],
3096 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3098 /* subo $src1, $src2, $dst */
3101 I960_INSN_SUBO, "subo", "subo",
3102 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3103 & fmt_remo, { 0x59000100 },
3104 (PTR) & fmt_remo_ops[0],
3105 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3107 /* subo $lit1, $src2, $dst */
3110 I960_INSN_SUBO1, "subo1", "subo",
3111 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3112 & fmt_remo1, { 0x59000900 },
3113 (PTR) & fmt_remo1_ops[0],
3114 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3116 /* subo $src1, $lit2, $dst */
3119 I960_INSN_SUBO2, "subo2", "subo",
3120 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3121 & fmt_remo2, { 0x59001100 },
3122 (PTR) & fmt_remo2_ops[0],
3123 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3125 /* subo $lit1, $lit2, $dst */
3128 I960_INSN_SUBO3, "subo3", "subo",
3129 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3130 & fmt_remo3, { 0x59001900 },
3131 (PTR) & fmt_remo3_ops[0],
3132 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3134 /* notbit $src1, $src2, $dst */
3137 I960_INSN_NOTBIT, "notbit", "notbit",
3138 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3139 & fmt_mulo, { 0x58000000 },
3140 (PTR) & fmt_mulo_ops[0],
3141 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3143 /* notbit $lit1, $src2, $dst */
3146 I960_INSN_NOTBIT1, "notbit1", "notbit",
3147 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3148 & fmt_mulo1, { 0x58000800 },
3149 (PTR) & fmt_mulo1_ops[0],
3150 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3152 /* notbit $src1, $lit2, $dst */
3155 I960_INSN_NOTBIT2, "notbit2", "notbit",
3156 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3157 & fmt_mulo2, { 0x58001000 },
3158 (PTR) & fmt_mulo2_ops[0],
3159 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3161 /* notbit $lit1, $lit2, $dst */
3164 I960_INSN_NOTBIT3, "notbit3", "notbit",
3165 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3166 & fmt_mulo3, { 0x58001800 },
3167 (PTR) & fmt_mulo3_ops[0],
3168 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3170 /* and $src1, $src2, $dst */
3173 I960_INSN_AND, "and", "and",
3174 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3175 & fmt_mulo, { 0x58000080 },
3176 (PTR) & fmt_mulo_ops[0],
3177 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3179 /* and $lit1, $src2, $dst */
3182 I960_INSN_AND1, "and1", "and",
3183 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3184 & fmt_mulo1, { 0x58000880 },
3185 (PTR) & fmt_mulo1_ops[0],
3186 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3188 /* and $src1, $lit2, $dst */
3191 I960_INSN_AND2, "and2", "and",
3192 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3193 & fmt_mulo2, { 0x58001080 },
3194 (PTR) & fmt_mulo2_ops[0],
3195 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3197 /* and $lit1, $lit2, $dst */
3200 I960_INSN_AND3, "and3", "and",
3201 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3202 & fmt_mulo3, { 0x58001880 },
3203 (PTR) & fmt_mulo3_ops[0],
3204 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3206 /* andnot $src1, $src2, $dst */
3209 I960_INSN_ANDNOT, "andnot", "andnot",
3210 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3211 & fmt_remo, { 0x58000100 },
3212 (PTR) & fmt_remo_ops[0],
3213 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3215 /* andnot $lit1, $src2, $dst */
3218 I960_INSN_ANDNOT1, "andnot1", "andnot",
3219 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3220 & fmt_remo1, { 0x58000900 },
3221 (PTR) & fmt_remo1_ops[0],
3222 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3224 /* andnot $src1, $lit2, $dst */
3227 I960_INSN_ANDNOT2, "andnot2", "andnot",
3228 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3229 & fmt_remo2, { 0x58001100 },
3230 (PTR) & fmt_remo2_ops[0],
3231 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3233 /* andnot $lit1, $lit2, $dst */
3236 I960_INSN_ANDNOT3, "andnot3", "andnot",
3237 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3238 & fmt_remo3, { 0x58001900 },
3239 (PTR) & fmt_remo3_ops[0],
3240 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3242 /* setbit $src1, $src2, $dst */
3245 I960_INSN_SETBIT, "setbit", "setbit",
3246 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3247 & fmt_mulo, { 0x58000180 },
3248 (PTR) & fmt_mulo_ops[0],
3249 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3251 /* setbit $lit1, $src2, $dst */
3254 I960_INSN_SETBIT1, "setbit1", "setbit",
3255 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3256 & fmt_mulo1, { 0x58000980 },
3257 (PTR) & fmt_mulo1_ops[0],
3258 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3260 /* setbit $src1, $lit2, $dst */
3263 I960_INSN_SETBIT2, "setbit2", "setbit",
3264 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3265 & fmt_mulo2, { 0x58001180 },
3266 (PTR) & fmt_mulo2_ops[0],
3267 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3269 /* setbit $lit1, $lit2, $dst */
3272 I960_INSN_SETBIT3, "setbit3", "setbit",
3273 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3274 & fmt_mulo3, { 0x58001980 },
3275 (PTR) & fmt_mulo3_ops[0],
3276 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3278 /* notand $src1, $src2, $dst */
3281 I960_INSN_NOTAND, "notand", "notand",
3282 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3283 & fmt_remo, { 0x58000200 },
3284 (PTR) & fmt_remo_ops[0],
3285 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3287 /* notand $lit1, $src2, $dst */
3290 I960_INSN_NOTAND1, "notand1", "notand",
3291 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3292 & fmt_remo1, { 0x58000a00 },
3293 (PTR) & fmt_remo1_ops[0],
3294 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3296 /* notand $src1, $lit2, $dst */
3299 I960_INSN_NOTAND2, "notand2", "notand",
3300 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3301 & fmt_remo2, { 0x58001200 },
3302 (PTR) & fmt_remo2_ops[0],
3303 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3305 /* notand $lit1, $lit2, $dst */
3308 I960_INSN_NOTAND3, "notand3", "notand",
3309 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3310 & fmt_remo3, { 0x58001a00 },
3311 (PTR) & fmt_remo3_ops[0],
3312 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3314 /* xor $src1, $src2, $dst */
3317 I960_INSN_XOR, "xor", "xor",
3318 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3319 & fmt_mulo, { 0x58000300 },
3320 (PTR) & fmt_mulo_ops[0],
3321 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3323 /* xor $lit1, $src2, $dst */
3326 I960_INSN_XOR1, "xor1", "xor",
3327 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3328 & fmt_mulo1, { 0x58000b00 },
3329 (PTR) & fmt_mulo1_ops[0],
3330 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3332 /* xor $src1, $lit2, $dst */
3335 I960_INSN_XOR2, "xor2", "xor",
3336 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3337 & fmt_mulo2, { 0x58001300 },
3338 (PTR) & fmt_mulo2_ops[0],
3339 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3341 /* xor $lit1, $lit2, $dst */
3344 I960_INSN_XOR3, "xor3", "xor",
3345 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3346 & fmt_mulo3, { 0x58001b00 },
3347 (PTR) & fmt_mulo3_ops[0],
3348 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3350 /* or $src1, $src2, $dst */
3353 I960_INSN_OR, "or", "or",
3354 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3355 & fmt_mulo, { 0x58000380 },
3356 (PTR) & fmt_mulo_ops[0],
3357 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3359 /* or $lit1, $src2, $dst */
3362 I960_INSN_OR1, "or1", "or",
3363 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3364 & fmt_mulo1, { 0x58000b80 },
3365 (PTR) & fmt_mulo1_ops[0],
3366 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3368 /* or $src1, $lit2, $dst */
3371 I960_INSN_OR2, "or2", "or",
3372 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3373 & fmt_mulo2, { 0x58001380 },
3374 (PTR) & fmt_mulo2_ops[0],
3375 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3377 /* or $lit1, $lit2, $dst */
3380 I960_INSN_OR3, "or3", "or",
3381 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3382 & fmt_mulo3, { 0x58001b80 },
3383 (PTR) & fmt_mulo3_ops[0],
3384 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3386 /* nor $src1, $src2, $dst */
3389 I960_INSN_NOR, "nor", "nor",
3390 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3391 & fmt_remo, { 0x58000400 },
3392 (PTR) & fmt_remo_ops[0],
3393 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3395 /* nor $lit1, $src2, $dst */
3398 I960_INSN_NOR1, "nor1", "nor",
3399 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3400 & fmt_remo1, { 0x58000c00 },
3401 (PTR) & fmt_remo1_ops[0],
3402 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3404 /* nor $src1, $lit2, $dst */
3407 I960_INSN_NOR2, "nor2", "nor",
3408 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3409 & fmt_remo2, { 0x58001400 },
3410 (PTR) & fmt_remo2_ops[0],
3411 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3413 /* nor $lit1, $lit2, $dst */
3416 I960_INSN_NOR3, "nor3", "nor",
3417 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3418 & fmt_remo3, { 0x58001c00 },
3419 (PTR) & fmt_remo3_ops[0],
3420 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3422 /* not $src1, $src2, $dst */
3425 I960_INSN_NOT, "not", "not",
3426 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3427 & fmt_not, { 0x58000500 },
3428 (PTR) & fmt_not_ops[0],
3429 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3431 /* not $lit1, $src2, $dst */
3434 I960_INSN_NOT1, "not1", "not",
3435 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3436 & fmt_not1, { 0x58000d00 },
3437 (PTR) & fmt_not1_ops[0],
3438 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3440 /* not $src1, $lit2, $dst */
3443 I960_INSN_NOT2, "not2", "not",
3444 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3445 & fmt_not2, { 0x58001500 },
3446 (PTR) & fmt_not2_ops[0],
3447 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3449 /* not $lit1, $lit2, $dst */
3452 I960_INSN_NOT3, "not3", "not",
3453 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3454 & fmt_not3, { 0x58001d00 },
3455 (PTR) & fmt_not3_ops[0],
3456 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3458 /* clrbit $src1, $src2, $dst */
3461 I960_INSN_CLRBIT, "clrbit", "clrbit",
3462 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3463 & fmt_mulo, { 0x58000600 },
3464 (PTR) & fmt_mulo_ops[0],
3465 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3467 /* clrbit $lit1, $src2, $dst */
3470 I960_INSN_CLRBIT1, "clrbit1", "clrbit",
3471 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3472 & fmt_mulo1, { 0x58000e00 },
3473 (PTR) & fmt_mulo1_ops[0],
3474 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3476 /* clrbit $src1, $lit2, $dst */
3479 I960_INSN_CLRBIT2, "clrbit2", "clrbit",
3480 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3481 & fmt_mulo2, { 0x58001600 },
3482 (PTR) & fmt_mulo2_ops[0],
3483 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3485 /* clrbit $lit1, $lit2, $dst */
3488 I960_INSN_CLRBIT3, "clrbit3", "clrbit",
3489 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3490 & fmt_mulo3, { 0x58001e00 },
3491 (PTR) & fmt_mulo3_ops[0],
3492 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3494 /* shlo $src1, $src2, $dst */
3497 I960_INSN_SHLO, "shlo", "shlo",
3498 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3499 & fmt_remo, { 0x59000600 },
3500 (PTR) & fmt_remo_ops[0],
3501 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3503 /* shlo $lit1, $src2, $dst */
3506 I960_INSN_SHLO1, "shlo1", "shlo",
3507 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3508 & fmt_remo1, { 0x59000e00 },
3509 (PTR) & fmt_remo1_ops[0],
3510 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3512 /* shlo $src1, $lit2, $dst */
3515 I960_INSN_SHLO2, "shlo2", "shlo",
3516 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3517 & fmt_remo2, { 0x59001600 },
3518 (PTR) & fmt_remo2_ops[0],
3519 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3521 /* shlo $lit1, $lit2, $dst */
3524 I960_INSN_SHLO3, "shlo3", "shlo",
3525 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3526 & fmt_remo3, { 0x59001e00 },
3527 (PTR) & fmt_remo3_ops[0],
3528 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3530 /* shro $src1, $src2, $dst */
3533 I960_INSN_SHRO, "shro", "shro",
3534 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3535 & fmt_remo, { 0x59000400 },
3536 (PTR) & fmt_remo_ops[0],
3537 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3539 /* shro $lit1, $src2, $dst */
3542 I960_INSN_SHRO1, "shro1", "shro",
3543 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3544 & fmt_remo1, { 0x59000c00 },
3545 (PTR) & fmt_remo1_ops[0],
3546 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3548 /* shro $src1, $lit2, $dst */
3551 I960_INSN_SHRO2, "shro2", "shro",
3552 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3553 & fmt_remo2, { 0x59001400 },
3554 (PTR) & fmt_remo2_ops[0],
3555 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3557 /* shro $lit1, $lit2, $dst */
3560 I960_INSN_SHRO3, "shro3", "shro",
3561 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3562 & fmt_remo3, { 0x59001c00 },
3563 (PTR) & fmt_remo3_ops[0],
3564 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3566 /* shli $src1, $src2, $dst */
3569 I960_INSN_SHLI, "shli", "shli",
3570 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3571 & fmt_remo, { 0x59000700 },
3572 (PTR) & fmt_remo_ops[0],
3573 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3575 /* shli $lit1, $src2, $dst */
3578 I960_INSN_SHLI1, "shli1", "shli",
3579 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3580 & fmt_remo1, { 0x59000f00 },
3581 (PTR) & fmt_remo1_ops[0],
3582 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3584 /* shli $src1, $lit2, $dst */
3587 I960_INSN_SHLI2, "shli2", "shli",
3588 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3589 & fmt_remo2, { 0x59001700 },
3590 (PTR) & fmt_remo2_ops[0],
3591 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3593 /* shli $lit1, $lit2, $dst */
3596 I960_INSN_SHLI3, "shli3", "shli",
3597 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3598 & fmt_remo3, { 0x59001f00 },
3599 (PTR) & fmt_remo3_ops[0],
3600 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3602 /* shri $src1, $src2, $dst */
3605 I960_INSN_SHRI, "shri", "shri",
3606 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3607 & fmt_remo, { 0x59000580 },
3608 (PTR) & fmt_remo_ops[0],
3609 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3611 /* shri $lit1, $src2, $dst */
3614 I960_INSN_SHRI1, "shri1", "shri",
3615 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3616 & fmt_remo1, { 0x59000d80 },
3617 (PTR) & fmt_remo1_ops[0],
3618 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3620 /* shri $src1, $lit2, $dst */
3623 I960_INSN_SHRI2, "shri2", "shri",
3624 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3625 & fmt_remo2, { 0x59001580 },
3626 (PTR) & fmt_remo2_ops[0],
3627 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3629 /* shri $lit1, $lit2, $dst */
3632 I960_INSN_SHRI3, "shri3", "shri",
3633 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3634 & fmt_remo3, { 0x59001d80 },
3635 (PTR) & fmt_remo3_ops[0],
3636 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3638 /* emul $src1, $src2, $dst */
3641 I960_INSN_EMUL, "emul", "emul",
3642 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3643 & fmt_emul, { 0x67000000 },
3644 (PTR) & fmt_emul_ops[0],
3645 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3647 /* emul $lit1, $src2, $dst */
3650 I960_INSN_EMUL1, "emul1", "emul",
3651 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3652 & fmt_emul1, { 0x67000800 },
3653 (PTR) & fmt_emul1_ops[0],
3654 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3656 /* emul $src1, $lit2, $dst */
3659 I960_INSN_EMUL2, "emul2", "emul",
3660 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3661 & fmt_emul2, { 0x67001000 },
3662 (PTR) & fmt_emul2_ops[0],
3663 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3665 /* emul $lit1, $lit2, $dst */
3668 I960_INSN_EMUL3, "emul3", "emul",
3669 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), ',', ' ', OP (DST), 0 } },
3670 & fmt_emul3, { 0x67001800 },
3671 (PTR) & fmt_emul3_ops[0],
3672 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3674 /* mov $src1, $dst */
3677 I960_INSN_MOV, "mov", "mov",
3678 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (DST), 0 } },
3679 & fmt_not2, { 0x5c001600 },
3680 (PTR) & fmt_not2_ops[0],
3681 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3683 /* mov $lit1, $dst */
3686 I960_INSN_MOV1, "mov1", "mov",
3687 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (DST), 0 } },
3688 & fmt_not3, { 0x5c001e00 },
3689 (PTR) & fmt_not3_ops[0],
3690 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3692 /* movl $src1, $dst */
3695 I960_INSN_MOVL, "movl", "movl",
3696 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (DST), 0 } },
3697 & fmt_movl, { 0x5d001600 },
3698 (PTR) & fmt_movl_ops[0],
3699 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3701 /* movl $lit1, $dst */
3704 I960_INSN_MOVL1, "movl1", "movl",
3705 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (DST), 0 } },
3706 & fmt_movl1, { 0x5d001e00 },
3707 (PTR) & fmt_movl1_ops[0],
3708 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3710 /* movt $src1, $dst */
3713 I960_INSN_MOVT, "movt", "movt",
3714 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (DST), 0 } },
3715 & fmt_movt, { 0x5e001600 },
3716 (PTR) & fmt_movt_ops[0],
3717 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3719 /* movt $lit1, $dst */
3722 I960_INSN_MOVT1, "movt1", "movt",
3723 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (DST), 0 } },
3724 & fmt_movt1, { 0x5e001e00 },
3725 (PTR) & fmt_movt1_ops[0],
3726 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3728 /* movq $src1, $dst */
3731 I960_INSN_MOVQ, "movq", "movq",
3732 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (DST), 0 } },
3733 & fmt_movq, { 0x5f001600 },
3734 (PTR) & fmt_movq_ops[0],
3735 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3737 /* movq $lit1, $dst */
3740 I960_INSN_MOVQ1, "movq1", "movq",
3741 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (DST), 0 } },
3742 & fmt_movq1, { 0x5f001e00 },
3743 (PTR) & fmt_movq1_ops[0],
3744 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3746 /* modpc $src1, $src2, $dst */
3749 I960_INSN_MODPC, "modpc", "modpc",
3750 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3751 & fmt_modpc, { 0x65000280 },
3752 (PTR) & fmt_modpc_ops[0],
3753 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3755 /* modac $src1, $src2, $dst */
3758 I960_INSN_MODAC, "modac", "modac",
3759 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), ',', ' ', OP (DST), 0 } },
3760 & fmt_modpc, { 0x64000280 },
3761 (PTR) & fmt_modpc_ops[0],
3762 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3764 /* lda $offset, $dst */
3767 I960_INSN_LDA_OFFSET, "lda-offset", "lda",
3768 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
3769 & fmt_lda_offset, { 0x8c000000 },
3770 (PTR) & fmt_lda_offset_ops[0],
3771 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3773 /* lda $offset($abase), $dst */
3776 I960_INSN_LDA_INDIRECT_OFFSET, "lda-indirect-offset", "lda",
3777 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3778 & fmt_lda_indirect_offset, { 0x8c002000 },
3779 (PTR) & fmt_lda_indirect_offset_ops[0],
3780 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3782 /* lda ($abase), $dst */
3785 I960_INSN_LDA_INDIRECT, "lda-indirect", "lda",
3786 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3787 & fmt_lda_indirect, { 0x8c001000 },
3788 (PTR) & fmt_lda_indirect_ops[0],
3789 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3791 /* lda ($abase)[$index*S$scale], $dst */
3794 I960_INSN_LDA_INDIRECT_INDEX, "lda-indirect-index", "lda",
3795 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3796 & fmt_lda_indirect_index, { 0x8c001c00 },
3797 (PTR) & fmt_lda_indirect_index_ops[0],
3798 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3800 /* lda $optdisp, $dst */
3803 I960_INSN_LDA_DISP, "lda-disp", "lda",
3804 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
3805 & fmt_lda_disp, { 0x8c003000 },
3806 (PTR) & fmt_lda_disp_ops[0],
3807 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3809 /* lda $optdisp($abase), $dst */
3812 I960_INSN_LDA_INDIRECT_DISP, "lda-indirect-disp", "lda",
3813 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3814 & fmt_lda_indirect_disp, { 0x8c003400 },
3815 (PTR) & fmt_lda_indirect_disp_ops[0],
3816 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3818 /* lda $optdisp[$index*S$scale], $dst */
3821 I960_INSN_LDA_INDEX_DISP, "lda-index-disp", "lda",
3822 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3823 & fmt_lda_index_disp, { 0x8c003800 },
3824 (PTR) & fmt_lda_index_disp_ops[0],
3825 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3827 /* lda $optdisp($abase)[$index*S$scale], $dst */
3830 I960_INSN_LDA_INDIRECT_INDEX_DISP, "lda-indirect-index-disp", "lda",
3831 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3832 & fmt_lda_indirect_index_disp, { 0x8c003c00 },
3833 (PTR) & fmt_lda_indirect_index_disp_ops[0],
3834 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3836 /* ld $offset, $dst */
3839 I960_INSN_LD_OFFSET, "ld-offset", "ld",
3840 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
3841 & fmt_ld_offset, { 0x90000000 },
3842 (PTR) & fmt_ld_offset_ops[0],
3843 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3845 /* ld $offset($abase), $dst */
3848 I960_INSN_LD_INDIRECT_OFFSET, "ld-indirect-offset", "ld",
3849 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3850 & fmt_ld_indirect_offset, { 0x90002000 },
3851 (PTR) & fmt_ld_indirect_offset_ops[0],
3852 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3854 /* ld ($abase), $dst */
3857 I960_INSN_LD_INDIRECT, "ld-indirect", "ld",
3858 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3859 & fmt_ld_indirect, { 0x90001000 },
3860 (PTR) & fmt_ld_indirect_ops[0],
3861 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3863 /* ld ($abase)[$index*S$scale], $dst */
3866 I960_INSN_LD_INDIRECT_INDEX, "ld-indirect-index", "ld",
3867 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3868 & fmt_ld_indirect_index, { 0x90001c00 },
3869 (PTR) & fmt_ld_indirect_index_ops[0],
3870 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3872 /* ld $optdisp, $dst */
3875 I960_INSN_LD_DISP, "ld-disp", "ld",
3876 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
3877 & fmt_ld_disp, { 0x90003000 },
3878 (PTR) & fmt_ld_disp_ops[0],
3879 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3881 /* ld $optdisp($abase), $dst */
3884 I960_INSN_LD_INDIRECT_DISP, "ld-indirect-disp", "ld",
3885 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3886 & fmt_ld_indirect_disp, { 0x90003400 },
3887 (PTR) & fmt_ld_indirect_disp_ops[0],
3888 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3890 /* ld $optdisp[$index*S$scale], $dst */
3893 I960_INSN_LD_INDEX_DISP, "ld-index-disp", "ld",
3894 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3895 & fmt_ld_index_disp, { 0x90003800 },
3896 (PTR) & fmt_ld_index_disp_ops[0],
3897 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3899 /* ld $optdisp($abase)[$index*S$scale], $dst */
3902 I960_INSN_LD_INDIRECT_INDEX_DISP, "ld-indirect-index-disp", "ld",
3903 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3904 & fmt_ld_indirect_index_disp, { 0x90003c00 },
3905 (PTR) & fmt_ld_indirect_index_disp_ops[0],
3906 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3908 /* ldob $offset, $dst */
3911 I960_INSN_LDOB_OFFSET, "ldob-offset", "ldob",
3912 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
3913 & fmt_ldob_offset, { 0x80000000 },
3914 (PTR) & fmt_ldob_offset_ops[0],
3915 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3917 /* ldob $offset($abase), $dst */
3920 I960_INSN_LDOB_INDIRECT_OFFSET, "ldob-indirect-offset", "ldob",
3921 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3922 & fmt_ldob_indirect_offset, { 0x80002000 },
3923 (PTR) & fmt_ldob_indirect_offset_ops[0],
3924 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3926 /* ldob ($abase), $dst */
3929 I960_INSN_LDOB_INDIRECT, "ldob-indirect", "ldob",
3930 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3931 & fmt_ldob_indirect, { 0x80001000 },
3932 (PTR) & fmt_ldob_indirect_ops[0],
3933 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3935 /* ldob ($abase)[$index*S$scale], $dst */
3938 I960_INSN_LDOB_INDIRECT_INDEX, "ldob-indirect-index", "ldob",
3939 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3940 & fmt_ldob_indirect_index, { 0x80001c00 },
3941 (PTR) & fmt_ldob_indirect_index_ops[0],
3942 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3944 /* ldob $optdisp, $dst */
3947 I960_INSN_LDOB_DISP, "ldob-disp", "ldob",
3948 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
3949 & fmt_ldob_disp, { 0x80003000 },
3950 (PTR) & fmt_ldob_disp_ops[0],
3951 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3953 /* ldob $optdisp($abase), $dst */
3956 I960_INSN_LDOB_INDIRECT_DISP, "ldob-indirect-disp", "ldob",
3957 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3958 & fmt_ldob_indirect_disp, { 0x80003400 },
3959 (PTR) & fmt_ldob_indirect_disp_ops[0],
3960 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3962 /* ldob $optdisp[$index*S$scale], $dst */
3965 I960_INSN_LDOB_INDEX_DISP, "ldob-index-disp", "ldob",
3966 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3967 & fmt_ldob_index_disp, { 0x80003800 },
3968 (PTR) & fmt_ldob_index_disp_ops[0],
3969 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3971 /* ldob $optdisp($abase)[$index*S$scale], $dst */
3974 I960_INSN_LDOB_INDIRECT_INDEX_DISP, "ldob-indirect-index-disp", "ldob",
3975 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
3976 & fmt_ldob_indirect_index_disp, { 0x80003c00 },
3977 (PTR) & fmt_ldob_indirect_index_disp_ops[0],
3978 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3980 /* ldos $offset, $dst */
3983 I960_INSN_LDOS_OFFSET, "ldos-offset", "ldos",
3984 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
3985 & fmt_ldos_offset, { 0x88000000 },
3986 (PTR) & fmt_ldos_offset_ops[0],
3987 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3989 /* ldos $offset($abase), $dst */
3992 I960_INSN_LDOS_INDIRECT_OFFSET, "ldos-indirect-offset", "ldos",
3993 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
3994 & fmt_ldos_indirect_offset, { 0x88002000 },
3995 (PTR) & fmt_ldos_indirect_offset_ops[0],
3996 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
3998 /* ldos ($abase), $dst */
4001 I960_INSN_LDOS_INDIRECT, "ldos-indirect", "ldos",
4002 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4003 & fmt_ldos_indirect, { 0x88001000 },
4004 (PTR) & fmt_ldos_indirect_ops[0],
4005 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4007 /* ldos ($abase)[$index*S$scale], $dst */
4010 I960_INSN_LDOS_INDIRECT_INDEX, "ldos-indirect-index", "ldos",
4011 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4012 & fmt_ldos_indirect_index, { 0x88001c00 },
4013 (PTR) & fmt_ldos_indirect_index_ops[0],
4014 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4016 /* ldos $optdisp, $dst */
4019 I960_INSN_LDOS_DISP, "ldos-disp", "ldos",
4020 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4021 & fmt_ldos_disp, { 0x88003000 },
4022 (PTR) & fmt_ldos_disp_ops[0],
4023 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4025 /* ldos $optdisp($abase), $dst */
4028 I960_INSN_LDOS_INDIRECT_DISP, "ldos-indirect-disp", "ldos",
4029 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4030 & fmt_ldos_indirect_disp, { 0x88003400 },
4031 (PTR) & fmt_ldos_indirect_disp_ops[0],
4032 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4034 /* ldos $optdisp[$index*S$scale], $dst */
4037 I960_INSN_LDOS_INDEX_DISP, "ldos-index-disp", "ldos",
4038 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4039 & fmt_ldos_index_disp, { 0x88003800 },
4040 (PTR) & fmt_ldos_index_disp_ops[0],
4041 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4043 /* ldos $optdisp($abase)[$index*S$scale], $dst */
4046 I960_INSN_LDOS_INDIRECT_INDEX_DISP, "ldos-indirect-index-disp", "ldos",
4047 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4048 & fmt_ldos_indirect_index_disp, { 0x88003c00 },
4049 (PTR) & fmt_ldos_indirect_index_disp_ops[0],
4050 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4052 /* ldib $offset, $dst */
4055 I960_INSN_LDIB_OFFSET, "ldib-offset", "ldib",
4056 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
4057 & fmt_ldib_offset, { 0xc0000000 },
4058 (PTR) & fmt_ldib_offset_ops[0],
4059 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4061 /* ldib $offset($abase), $dst */
4064 I960_INSN_LDIB_INDIRECT_OFFSET, "ldib-indirect-offset", "ldib",
4065 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4066 & fmt_ldib_indirect_offset, { 0xc0002000 },
4067 (PTR) & fmt_ldib_indirect_offset_ops[0],
4068 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4070 /* ldib ($abase), $dst */
4073 I960_INSN_LDIB_INDIRECT, "ldib-indirect", "ldib",
4074 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4075 & fmt_ldib_indirect, { 0xc0001000 },
4076 (PTR) & fmt_ldib_indirect_ops[0],
4077 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4079 /* ldib ($abase)[$index*S$scale], $dst */
4082 I960_INSN_LDIB_INDIRECT_INDEX, "ldib-indirect-index", "ldib",
4083 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4084 & fmt_ldib_indirect_index, { 0xc0001c00 },
4085 (PTR) & fmt_ldib_indirect_index_ops[0],
4086 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4088 /* ldib $optdisp, $dst */
4091 I960_INSN_LDIB_DISP, "ldib-disp", "ldib",
4092 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4093 & fmt_ldib_disp, { 0xc0003000 },
4094 (PTR) & fmt_ldib_disp_ops[0],
4095 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4097 /* ldib $optdisp($abase), $dst */
4100 I960_INSN_LDIB_INDIRECT_DISP, "ldib-indirect-disp", "ldib",
4101 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4102 & fmt_ldib_indirect_disp, { 0xc0003400 },
4103 (PTR) & fmt_ldib_indirect_disp_ops[0],
4104 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4106 /* ldib $optdisp[$index*S$scale], $dst */
4109 I960_INSN_LDIB_INDEX_DISP, "ldib-index-disp", "ldib",
4110 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4111 & fmt_ldib_index_disp, { 0xc0003800 },
4112 (PTR) & fmt_ldib_index_disp_ops[0],
4113 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4115 /* ldib $optdisp($abase)[$index*S$scale], $dst */
4118 I960_INSN_LDIB_INDIRECT_INDEX_DISP, "ldib-indirect-index-disp", "ldib",
4119 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4120 & fmt_ldib_indirect_index_disp, { 0xc0003c00 },
4121 (PTR) & fmt_ldib_indirect_index_disp_ops[0],
4122 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4124 /* ldis $offset, $dst */
4127 I960_INSN_LDIS_OFFSET, "ldis-offset", "ldis",
4128 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
4129 & fmt_ldis_offset, { 0xc8000000 },
4130 (PTR) & fmt_ldis_offset_ops[0],
4131 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4133 /* ldis $offset($abase), $dst */
4136 I960_INSN_LDIS_INDIRECT_OFFSET, "ldis-indirect-offset", "ldis",
4137 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4138 & fmt_ldis_indirect_offset, { 0xc8002000 },
4139 (PTR) & fmt_ldis_indirect_offset_ops[0],
4140 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4142 /* ldis ($abase), $dst */
4145 I960_INSN_LDIS_INDIRECT, "ldis-indirect", "ldis",
4146 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4147 & fmt_ldis_indirect, { 0xc8001000 },
4148 (PTR) & fmt_ldis_indirect_ops[0],
4149 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4151 /* ldis ($abase)[$index*S$scale], $dst */
4154 I960_INSN_LDIS_INDIRECT_INDEX, "ldis-indirect-index", "ldis",
4155 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4156 & fmt_ldis_indirect_index, { 0xc8001c00 },
4157 (PTR) & fmt_ldis_indirect_index_ops[0],
4158 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4160 /* ldis $optdisp, $dst */
4163 I960_INSN_LDIS_DISP, "ldis-disp", "ldis",
4164 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4165 & fmt_ldis_disp, { 0xc8003000 },
4166 (PTR) & fmt_ldis_disp_ops[0],
4167 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4169 /* ldis $optdisp($abase), $dst */
4172 I960_INSN_LDIS_INDIRECT_DISP, "ldis-indirect-disp", "ldis",
4173 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4174 & fmt_ldis_indirect_disp, { 0xc8003400 },
4175 (PTR) & fmt_ldis_indirect_disp_ops[0],
4176 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4178 /* ldis $optdisp[$index*S$scale], $dst */
4181 I960_INSN_LDIS_INDEX_DISP, "ldis-index-disp", "ldis",
4182 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4183 & fmt_ldis_index_disp, { 0xc8003800 },
4184 (PTR) & fmt_ldis_index_disp_ops[0],
4185 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4187 /* ldis $optdisp($abase)[$index*S$scale], $dst */
4190 I960_INSN_LDIS_INDIRECT_INDEX_DISP, "ldis-indirect-index-disp", "ldis",
4191 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4192 & fmt_ldis_indirect_index_disp, { 0xc8003c00 },
4193 (PTR) & fmt_ldis_indirect_index_disp_ops[0],
4194 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4196 /* ldl $offset, $dst */
4199 I960_INSN_LDL_OFFSET, "ldl-offset", "ldl",
4200 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
4201 & fmt_ldl_offset, { 0x98000000 },
4202 (PTR) & fmt_ldl_offset_ops[0],
4203 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4205 /* ldl $offset($abase), $dst */
4208 I960_INSN_LDL_INDIRECT_OFFSET, "ldl-indirect-offset", "ldl",
4209 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4210 & fmt_ldl_indirect_offset, { 0x98002000 },
4211 (PTR) & fmt_ldl_indirect_offset_ops[0],
4212 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4214 /* ldl ($abase), $dst */
4217 I960_INSN_LDL_INDIRECT, "ldl-indirect", "ldl",
4218 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4219 & fmt_ldl_indirect, { 0x98001000 },
4220 (PTR) & fmt_ldl_indirect_ops[0],
4221 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4223 /* ldl ($abase)[$index*S$scale], $dst */
4226 I960_INSN_LDL_INDIRECT_INDEX, "ldl-indirect-index", "ldl",
4227 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4228 & fmt_ldl_indirect_index, { 0x98001c00 },
4229 (PTR) & fmt_ldl_indirect_index_ops[0],
4230 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4232 /* ldl $optdisp, $dst */
4235 I960_INSN_LDL_DISP, "ldl-disp", "ldl",
4236 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4237 & fmt_ldl_disp, { 0x98003000 },
4238 (PTR) & fmt_ldl_disp_ops[0],
4239 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4241 /* ldl $optdisp($abase), $dst */
4244 I960_INSN_LDL_INDIRECT_DISP, "ldl-indirect-disp", "ldl",
4245 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4246 & fmt_ldl_indirect_disp, { 0x98003400 },
4247 (PTR) & fmt_ldl_indirect_disp_ops[0],
4248 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4250 /* ldl $optdisp[$index*S$scale], $dst */
4253 I960_INSN_LDL_INDEX_DISP, "ldl-index-disp", "ldl",
4254 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4255 & fmt_ldl_index_disp, { 0x98003800 },
4256 (PTR) & fmt_ldl_index_disp_ops[0],
4257 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4259 /* ldl $optdisp($abase)[$index*S$scale], $dst */
4262 I960_INSN_LDL_INDIRECT_INDEX_DISP, "ldl-indirect-index-disp", "ldl",
4263 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4264 & fmt_ldl_indirect_index_disp, { 0x98003c00 },
4265 (PTR) & fmt_ldl_indirect_index_disp_ops[0],
4266 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4268 /* ldt $offset, $dst */
4271 I960_INSN_LDT_OFFSET, "ldt-offset", "ldt",
4272 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
4273 & fmt_ldt_offset, { 0xa0000000 },
4274 (PTR) & fmt_ldt_offset_ops[0],
4275 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4277 /* ldt $offset($abase), $dst */
4280 I960_INSN_LDT_INDIRECT_OFFSET, "ldt-indirect-offset", "ldt",
4281 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4282 & fmt_ldt_indirect_offset, { 0xa0002000 },
4283 (PTR) & fmt_ldt_indirect_offset_ops[0],
4284 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4286 /* ldt ($abase), $dst */
4289 I960_INSN_LDT_INDIRECT, "ldt-indirect", "ldt",
4290 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4291 & fmt_ldt_indirect, { 0xa0001000 },
4292 (PTR) & fmt_ldt_indirect_ops[0],
4293 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4295 /* ldt ($abase)[$index*S$scale], $dst */
4298 I960_INSN_LDT_INDIRECT_INDEX, "ldt-indirect-index", "ldt",
4299 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4300 & fmt_ldt_indirect_index, { 0xa0001c00 },
4301 (PTR) & fmt_ldt_indirect_index_ops[0],
4302 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4304 /* ldt $optdisp, $dst */
4307 I960_INSN_LDT_DISP, "ldt-disp", "ldt",
4308 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4309 & fmt_ldt_disp, { 0xa0003000 },
4310 (PTR) & fmt_ldt_disp_ops[0],
4311 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4313 /* ldt $optdisp($abase), $dst */
4316 I960_INSN_LDT_INDIRECT_DISP, "ldt-indirect-disp", "ldt",
4317 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4318 & fmt_ldt_indirect_disp, { 0xa0003400 },
4319 (PTR) & fmt_ldt_indirect_disp_ops[0],
4320 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4322 /* ldt $optdisp[$index*S$scale], $dst */
4325 I960_INSN_LDT_INDEX_DISP, "ldt-index-disp", "ldt",
4326 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4327 & fmt_ldt_index_disp, { 0xa0003800 },
4328 (PTR) & fmt_ldt_index_disp_ops[0],
4329 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4331 /* ldt $optdisp($abase)[$index*S$scale], $dst */
4334 I960_INSN_LDT_INDIRECT_INDEX_DISP, "ldt-indirect-index-disp", "ldt",
4335 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4336 & fmt_ldt_indirect_index_disp, { 0xa0003c00 },
4337 (PTR) & fmt_ldt_indirect_index_disp_ops[0],
4338 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4340 /* ldq $offset, $dst */
4343 I960_INSN_LDQ_OFFSET, "ldq-offset", "ldq",
4344 { { MNEM, ' ', OP (OFFSET), ',', ' ', OP (DST), 0 } },
4345 & fmt_ldq_offset, { 0xb0000000 },
4346 (PTR) & fmt_ldq_offset_ops[0],
4347 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4349 /* ldq $offset($abase), $dst */
4352 I960_INSN_LDQ_INDIRECT_OFFSET, "ldq-indirect-offset", "ldq",
4353 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4354 & fmt_ldq_indirect_offset, { 0xb0002000 },
4355 (PTR) & fmt_ldq_indirect_offset_ops[0],
4356 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4358 /* ldq ($abase), $dst */
4361 I960_INSN_LDQ_INDIRECT, "ldq-indirect", "ldq",
4362 { { MNEM, ' ', '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4363 & fmt_ldq_indirect, { 0xb0001000 },
4364 (PTR) & fmt_ldq_indirect_ops[0],
4365 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4367 /* ldq ($abase)[$index*S$scale], $dst */
4370 I960_INSN_LDQ_INDIRECT_INDEX, "ldq-indirect-index", "ldq",
4371 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4372 & fmt_ldq_indirect_index, { 0xb0001c00 },
4373 (PTR) & fmt_ldq_indirect_index_ops[0],
4374 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4376 /* ldq $optdisp, $dst */
4379 I960_INSN_LDQ_DISP, "ldq-disp", "ldq",
4380 { { MNEM, ' ', OP (OPTDISP), ',', ' ', OP (DST), 0 } },
4381 & fmt_ldq_disp, { 0xb0003000 },
4382 (PTR) & fmt_ldq_disp_ops[0],
4383 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4385 /* ldq $optdisp($abase), $dst */
4388 I960_INSN_LDQ_INDIRECT_DISP, "ldq-indirect-disp", "ldq",
4389 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', ',', ' ', OP (DST), 0 } },
4390 & fmt_ldq_indirect_disp, { 0xb0003400 },
4391 (PTR) & fmt_ldq_indirect_disp_ops[0],
4392 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4394 /* ldq $optdisp[$index*S$scale], $dst */
4397 I960_INSN_LDQ_INDEX_DISP, "ldq-index-disp", "ldq",
4398 { { MNEM, ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4399 & fmt_ldq_index_disp, { 0xb0003800 },
4400 (PTR) & fmt_ldq_index_disp_ops[0],
4401 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4403 /* ldq $optdisp($abase)[$index*S$scale], $dst */
4406 I960_INSN_LDQ_INDIRECT_INDEX_DISP, "ldq-indirect-index-disp", "ldq",
4407 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', ',', ' ', OP (DST), 0 } },
4408 & fmt_ldq_indirect_index_disp, { 0xb0003c00 },
4409 (PTR) & fmt_ldq_indirect_index_disp_ops[0],
4410 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4412 /* st $st_src, $offset */
4415 I960_INSN_ST_OFFSET, "st-offset", "st",
4416 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4417 & fmt_st_offset, { 0x92000000 },
4418 (PTR) & fmt_st_offset_ops[0],
4419 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4421 /* st $st_src, $offset($abase) */
4424 I960_INSN_ST_INDIRECT_OFFSET, "st-indirect-offset", "st",
4425 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4426 & fmt_st_indirect_offset, { 0x92002000 },
4427 (PTR) & fmt_st_indirect_offset_ops[0],
4428 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4430 /* st $st_src, ($abase) */
4433 I960_INSN_ST_INDIRECT, "st-indirect", "st",
4434 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4435 & fmt_st_indirect, { 0x92001000 },
4436 (PTR) & fmt_st_indirect_ops[0],
4437 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4439 /* st $st_src, ($abase)[$index*S$scale] */
4442 I960_INSN_ST_INDIRECT_INDEX, "st-indirect-index", "st",
4443 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4444 & fmt_st_indirect_index, { 0x92001c00 },
4445 (PTR) & fmt_st_indirect_index_ops[0],
4446 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4448 /* st $st_src, $optdisp */
4451 I960_INSN_ST_DISP, "st-disp", "st",
4452 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4453 & fmt_st_disp, { 0x92003000 },
4454 (PTR) & fmt_st_disp_ops[0],
4455 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4457 /* st $st_src, $optdisp($abase) */
4460 I960_INSN_ST_INDIRECT_DISP, "st-indirect-disp", "st",
4461 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4462 & fmt_st_indirect_disp, { 0x92003400 },
4463 (PTR) & fmt_st_indirect_disp_ops[0],
4464 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4466 /* st $st_src, $optdisp[$index*S$scale */
4469 I960_INSN_ST_INDEX_DISP, "st-index-disp", "st",
4470 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4471 & fmt_st_index_disp, { 0x92003800 },
4472 (PTR) & fmt_st_index_disp_ops[0],
4473 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4475 /* st $st_src, $optdisp($abase)[$index*S$scale] */
4478 I960_INSN_ST_INDIRECT_INDEX_DISP, "st-indirect-index-disp", "st",
4479 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4480 & fmt_st_indirect_index_disp, { 0x92003c00 },
4481 (PTR) & fmt_st_indirect_index_disp_ops[0],
4482 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4484 /* stob $st_src, $offset */
4487 I960_INSN_STOB_OFFSET, "stob-offset", "stob",
4488 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4489 & fmt_stob_offset, { 0x82000000 },
4490 (PTR) & fmt_stob_offset_ops[0],
4491 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4493 /* stob $st_src, $offset($abase) */
4496 I960_INSN_STOB_INDIRECT_OFFSET, "stob-indirect-offset", "stob",
4497 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4498 & fmt_stob_indirect_offset, { 0x82002000 },
4499 (PTR) & fmt_stob_indirect_offset_ops[0],
4500 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4502 /* stob $st_src, ($abase) */
4505 I960_INSN_STOB_INDIRECT, "stob-indirect", "stob",
4506 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4507 & fmt_stob_indirect, { 0x82001000 },
4508 (PTR) & fmt_stob_indirect_ops[0],
4509 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4511 /* stob $st_src, ($abase)[$index*S$scale] */
4514 I960_INSN_STOB_INDIRECT_INDEX, "stob-indirect-index", "stob",
4515 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4516 & fmt_stob_indirect_index, { 0x82001c00 },
4517 (PTR) & fmt_stob_indirect_index_ops[0],
4518 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4520 /* stob $st_src, $optdisp */
4523 I960_INSN_STOB_DISP, "stob-disp", "stob",
4524 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4525 & fmt_stob_disp, { 0x82003000 },
4526 (PTR) & fmt_stob_disp_ops[0],
4527 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4529 /* stob $st_src, $optdisp($abase) */
4532 I960_INSN_STOB_INDIRECT_DISP, "stob-indirect-disp", "stob",
4533 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4534 & fmt_stob_indirect_disp, { 0x82003400 },
4535 (PTR) & fmt_stob_indirect_disp_ops[0],
4536 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4538 /* stob $st_src, $optdisp[$index*S$scale */
4541 I960_INSN_STOB_INDEX_DISP, "stob-index-disp", "stob",
4542 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4543 & fmt_stob_index_disp, { 0x82003800 },
4544 (PTR) & fmt_stob_index_disp_ops[0],
4545 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4547 /* stob $st_src, $optdisp($abase)[$index*S$scale] */
4550 I960_INSN_STOB_INDIRECT_INDEX_DISP, "stob-indirect-index-disp", "stob",
4551 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4552 & fmt_stob_indirect_index_disp, { 0x82003c00 },
4553 (PTR) & fmt_stob_indirect_index_disp_ops[0],
4554 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4556 /* stos $st_src, $offset */
4559 I960_INSN_STOS_OFFSET, "stos-offset", "stos",
4560 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4561 & fmt_stos_offset, { 0x8a000000 },
4562 (PTR) & fmt_stos_offset_ops[0],
4563 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4565 /* stos $st_src, $offset($abase) */
4568 I960_INSN_STOS_INDIRECT_OFFSET, "stos-indirect-offset", "stos",
4569 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4570 & fmt_stos_indirect_offset, { 0x8a002000 },
4571 (PTR) & fmt_stos_indirect_offset_ops[0],
4572 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4574 /* stos $st_src, ($abase) */
4577 I960_INSN_STOS_INDIRECT, "stos-indirect", "stos",
4578 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4579 & fmt_stos_indirect, { 0x8a001000 },
4580 (PTR) & fmt_stos_indirect_ops[0],
4581 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4583 /* stos $st_src, ($abase)[$index*S$scale] */
4586 I960_INSN_STOS_INDIRECT_INDEX, "stos-indirect-index", "stos",
4587 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4588 & fmt_stos_indirect_index, { 0x8a001c00 },
4589 (PTR) & fmt_stos_indirect_index_ops[0],
4590 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4592 /* stos $st_src, $optdisp */
4595 I960_INSN_STOS_DISP, "stos-disp", "stos",
4596 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4597 & fmt_stos_disp, { 0x8a003000 },
4598 (PTR) & fmt_stos_disp_ops[0],
4599 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4601 /* stos $st_src, $optdisp($abase) */
4604 I960_INSN_STOS_INDIRECT_DISP, "stos-indirect-disp", "stos",
4605 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4606 & fmt_stos_indirect_disp, { 0x8a003400 },
4607 (PTR) & fmt_stos_indirect_disp_ops[0],
4608 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4610 /* stos $st_src, $optdisp[$index*S$scale */
4613 I960_INSN_STOS_INDEX_DISP, "stos-index-disp", "stos",
4614 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4615 & fmt_stos_index_disp, { 0x8a003800 },
4616 (PTR) & fmt_stos_index_disp_ops[0],
4617 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4619 /* stos $st_src, $optdisp($abase)[$index*S$scale] */
4622 I960_INSN_STOS_INDIRECT_INDEX_DISP, "stos-indirect-index-disp", "stos",
4623 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4624 & fmt_stos_indirect_index_disp, { 0x8a003c00 },
4625 (PTR) & fmt_stos_indirect_index_disp_ops[0],
4626 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4628 /* stl $st_src, $offset */
4631 I960_INSN_STL_OFFSET, "stl-offset", "stl",
4632 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4633 & fmt_stl_offset, { 0x9a000000 },
4634 (PTR) & fmt_stl_offset_ops[0],
4635 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4637 /* stl $st_src, $offset($abase) */
4640 I960_INSN_STL_INDIRECT_OFFSET, "stl-indirect-offset", "stl",
4641 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4642 & fmt_stl_indirect_offset, { 0x9a002000 },
4643 (PTR) & fmt_stl_indirect_offset_ops[0],
4644 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4646 /* stl $st_src, ($abase) */
4649 I960_INSN_STL_INDIRECT, "stl-indirect", "stl",
4650 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4651 & fmt_stl_indirect, { 0x9a001000 },
4652 (PTR) & fmt_stl_indirect_ops[0],
4653 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4655 /* stl $st_src, ($abase)[$index*S$scale] */
4658 I960_INSN_STL_INDIRECT_INDEX, "stl-indirect-index", "stl",
4659 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4660 & fmt_stl_indirect_index, { 0x9a001c00 },
4661 (PTR) & fmt_stl_indirect_index_ops[0],
4662 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4664 /* stl $st_src, $optdisp */
4667 I960_INSN_STL_DISP, "stl-disp", "stl",
4668 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4669 & fmt_stl_disp, { 0x9a003000 },
4670 (PTR) & fmt_stl_disp_ops[0],
4671 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4673 /* stl $st_src, $optdisp($abase) */
4676 I960_INSN_STL_INDIRECT_DISP, "stl-indirect-disp", "stl",
4677 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4678 & fmt_stl_indirect_disp, { 0x9a003400 },
4679 (PTR) & fmt_stl_indirect_disp_ops[0],
4680 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4682 /* stl $st_src, $optdisp[$index*S$scale */
4685 I960_INSN_STL_INDEX_DISP, "stl-index-disp", "stl",
4686 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4687 & fmt_stl_index_disp, { 0x9a003800 },
4688 (PTR) & fmt_stl_index_disp_ops[0],
4689 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4691 /* stl $st_src, $optdisp($abase)[$index*S$scale] */
4694 I960_INSN_STL_INDIRECT_INDEX_DISP, "stl-indirect-index-disp", "stl",
4695 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4696 & fmt_stl_indirect_index_disp, { 0x9a003c00 },
4697 (PTR) & fmt_stl_indirect_index_disp_ops[0],
4698 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4700 /* stt $st_src, $offset */
4703 I960_INSN_STT_OFFSET, "stt-offset", "stt",
4704 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4705 & fmt_stt_offset, { 0xa2000000 },
4706 (PTR) & fmt_stt_offset_ops[0],
4707 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4709 /* stt $st_src, $offset($abase) */
4712 I960_INSN_STT_INDIRECT_OFFSET, "stt-indirect-offset", "stt",
4713 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4714 & fmt_stt_indirect_offset, { 0xa2002000 },
4715 (PTR) & fmt_stt_indirect_offset_ops[0],
4716 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4718 /* stt $st_src, ($abase) */
4721 I960_INSN_STT_INDIRECT, "stt-indirect", "stt",
4722 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4723 & fmt_stt_indirect, { 0xa2001000 },
4724 (PTR) & fmt_stt_indirect_ops[0],
4725 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4727 /* stt $st_src, ($abase)[$index*S$scale] */
4730 I960_INSN_STT_INDIRECT_INDEX, "stt-indirect-index", "stt",
4731 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4732 & fmt_stt_indirect_index, { 0xa2001c00 },
4733 (PTR) & fmt_stt_indirect_index_ops[0],
4734 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4736 /* stt $st_src, $optdisp */
4739 I960_INSN_STT_DISP, "stt-disp", "stt",
4740 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4741 & fmt_stt_disp, { 0xa2003000 },
4742 (PTR) & fmt_stt_disp_ops[0],
4743 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4745 /* stt $st_src, $optdisp($abase) */
4748 I960_INSN_STT_INDIRECT_DISP, "stt-indirect-disp", "stt",
4749 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4750 & fmt_stt_indirect_disp, { 0xa2003400 },
4751 (PTR) & fmt_stt_indirect_disp_ops[0],
4752 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4754 /* stt $st_src, $optdisp[$index*S$scale */
4757 I960_INSN_STT_INDEX_DISP, "stt-index-disp", "stt",
4758 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4759 & fmt_stt_index_disp, { 0xa2003800 },
4760 (PTR) & fmt_stt_index_disp_ops[0],
4761 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4763 /* stt $st_src, $optdisp($abase)[$index*S$scale] */
4766 I960_INSN_STT_INDIRECT_INDEX_DISP, "stt-indirect-index-disp", "stt",
4767 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4768 & fmt_stt_indirect_index_disp, { 0xa2003c00 },
4769 (PTR) & fmt_stt_indirect_index_disp_ops[0],
4770 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4772 /* stq $st_src, $offset */
4775 I960_INSN_STQ_OFFSET, "stq-offset", "stq",
4776 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), 0 } },
4777 & fmt_stq_offset, { 0xb2000000 },
4778 (PTR) & fmt_stq_offset_ops[0],
4779 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4781 /* stq $st_src, $offset($abase) */
4784 I960_INSN_STQ_INDIRECT_OFFSET, "stq-indirect-offset", "stq",
4785 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
4786 & fmt_stq_indirect_offset, { 0xb2002000 },
4787 (PTR) & fmt_stq_indirect_offset_ops[0],
4788 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4790 /* stq $st_src, ($abase) */
4793 I960_INSN_STQ_INDIRECT, "stq-indirect", "stq",
4794 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', 0 } },
4795 & fmt_stq_indirect, { 0xb2001000 },
4796 (PTR) & fmt_stq_indirect_ops[0],
4797 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4799 /* stq $st_src, ($abase)[$index*S$scale] */
4802 I960_INSN_STQ_INDIRECT_INDEX, "stq-indirect-index", "stq",
4803 { { MNEM, ' ', OP (ST_SRC), ',', ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4804 & fmt_stq_indirect_index, { 0xb2001c00 },
4805 (PTR) & fmt_stq_indirect_index_ops[0],
4806 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4808 /* stq $st_src, $optdisp */
4811 I960_INSN_STQ_DISP, "stq-disp", "stq",
4812 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), 0 } },
4813 & fmt_stq_disp, { 0xb2003000 },
4814 (PTR) & fmt_stq_disp_ops[0],
4815 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4817 /* stq $st_src, $optdisp($abase) */
4820 I960_INSN_STQ_INDIRECT_DISP, "stq-indirect-disp", "stq",
4821 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
4822 & fmt_stq_indirect_disp, { 0xb2003400 },
4823 (PTR) & fmt_stq_indirect_disp_ops[0],
4824 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4826 /* stq $st_src, $optdisp[$index*S$scale */
4829 I960_INSN_STQ_INDEX_DISP, "stq-index-disp", "stq",
4830 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '[', OP (INDEX), '*', 'S', OP (SCALE), 0 } },
4831 & fmt_stq_index_disp, { 0xb2003800 },
4832 (PTR) & fmt_stq_index_disp_ops[0],
4833 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4835 /* stq $st_src, $optdisp($abase)[$index*S$scale] */
4838 I960_INSN_STQ_INDIRECT_INDEX_DISP, "stq-indirect-index-disp", "stq",
4839 { { MNEM, ' ', OP (ST_SRC), ',', ' ', OP (OPTDISP), '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
4840 & fmt_stq_indirect_index_disp, { 0xb2003c00 },
4841 (PTR) & fmt_stq_indirect_index_disp_ops[0],
4842 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
4844 /* cmpobe $br_src1, $br_src2, $br_disp */
4847 I960_INSN_CMPOBE_REG, "cmpobe-reg", "cmpobe",
4848 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4849 & fmt_cmpobe_reg, { 0x32000000 },
4850 (PTR) & fmt_cmpobe_reg_ops[0],
4851 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4853 /* cmpobe $br_lit1, $br_src2, $br_disp */
4856 I960_INSN_CMPOBE_LIT, "cmpobe-lit", "cmpobe",
4857 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4858 & fmt_cmpobe_lit, { 0x32002000 },
4859 (PTR) & fmt_cmpobe_lit_ops[0],
4860 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4862 /* cmpobne $br_src1, $br_src2, $br_disp */
4865 I960_INSN_CMPOBNE_REG, "cmpobne-reg", "cmpobne",
4866 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4867 & fmt_cmpobe_reg, { 0x35000000 },
4868 (PTR) & fmt_cmpobe_reg_ops[0],
4869 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4871 /* cmpobne $br_lit1, $br_src2, $br_disp */
4874 I960_INSN_CMPOBNE_LIT, "cmpobne-lit", "cmpobne",
4875 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4876 & fmt_cmpobe_lit, { 0x35002000 },
4877 (PTR) & fmt_cmpobe_lit_ops[0],
4878 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4880 /* cmpobl $br_src1, $br_src2, $br_disp */
4883 I960_INSN_CMPOBL_REG, "cmpobl-reg", "cmpobl",
4884 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4885 & fmt_cmpobl_reg, { 0x34000000 },
4886 (PTR) & fmt_cmpobl_reg_ops[0],
4887 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4889 /* cmpobl $br_lit1, $br_src2, $br_disp */
4892 I960_INSN_CMPOBL_LIT, "cmpobl-lit", "cmpobl",
4893 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4894 & fmt_cmpobl_lit, { 0x34002000 },
4895 (PTR) & fmt_cmpobl_lit_ops[0],
4896 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4898 /* cmpoble $br_src1, $br_src2, $br_disp */
4901 I960_INSN_CMPOBLE_REG, "cmpoble-reg", "cmpoble",
4902 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4903 & fmt_cmpobl_reg, { 0x36000000 },
4904 (PTR) & fmt_cmpobl_reg_ops[0],
4905 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4907 /* cmpoble $br_lit1, $br_src2, $br_disp */
4910 I960_INSN_CMPOBLE_LIT, "cmpoble-lit", "cmpoble",
4911 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4912 & fmt_cmpobl_lit, { 0x36002000 },
4913 (PTR) & fmt_cmpobl_lit_ops[0],
4914 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4916 /* cmpobg $br_src1, $br_src2, $br_disp */
4919 I960_INSN_CMPOBG_REG, "cmpobg-reg", "cmpobg",
4920 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4921 & fmt_cmpobl_reg, { 0x31000000 },
4922 (PTR) & fmt_cmpobl_reg_ops[0],
4923 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4925 /* cmpobg $br_lit1, $br_src2, $br_disp */
4928 I960_INSN_CMPOBG_LIT, "cmpobg-lit", "cmpobg",
4929 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4930 & fmt_cmpobl_lit, { 0x31002000 },
4931 (PTR) & fmt_cmpobl_lit_ops[0],
4932 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4934 /* cmpobge $br_src1, $br_src2, $br_disp */
4937 I960_INSN_CMPOBGE_REG, "cmpobge-reg", "cmpobge",
4938 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4939 & fmt_cmpobl_reg, { 0x33000000 },
4940 (PTR) & fmt_cmpobl_reg_ops[0],
4941 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4943 /* cmpobge $br_lit1, $br_src2, $br_disp */
4946 I960_INSN_CMPOBGE_LIT, "cmpobge-lit", "cmpobge",
4947 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4948 & fmt_cmpobl_lit, { 0x33002000 },
4949 (PTR) & fmt_cmpobl_lit_ops[0],
4950 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4952 /* cmpibe $br_src1, $br_src2, $br_disp */
4955 I960_INSN_CMPIBE_REG, "cmpibe-reg", "cmpibe",
4956 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4957 & fmt_cmpobe_reg, { 0x3a000000 },
4958 (PTR) & fmt_cmpobe_reg_ops[0],
4959 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4961 /* cmpibe $br_lit1, $br_src2, $br_disp */
4964 I960_INSN_CMPIBE_LIT, "cmpibe-lit", "cmpibe",
4965 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4966 & fmt_cmpobe_lit, { 0x3a002000 },
4967 (PTR) & fmt_cmpobe_lit_ops[0],
4968 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4970 /* cmpibne $br_src1, $br_src2, $br_disp */
4973 I960_INSN_CMPIBNE_REG, "cmpibne-reg", "cmpibne",
4974 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4975 & fmt_cmpobe_reg, { 0x3d000000 },
4976 (PTR) & fmt_cmpobe_reg_ops[0],
4977 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4979 /* cmpibne $br_lit1, $br_src2, $br_disp */
4982 I960_INSN_CMPIBNE_LIT, "cmpibne-lit", "cmpibne",
4983 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4984 & fmt_cmpobe_lit, { 0x3d002000 },
4985 (PTR) & fmt_cmpobe_lit_ops[0],
4986 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4988 /* cmpibl $br_src1, $br_src2, $br_disp */
4991 I960_INSN_CMPIBL_REG, "cmpibl-reg", "cmpibl",
4992 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
4993 & fmt_cmpobe_reg, { 0x3c000000 },
4994 (PTR) & fmt_cmpobe_reg_ops[0],
4995 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
4997 /* cmpibl $br_lit1, $br_src2, $br_disp */
5000 I960_INSN_CMPIBL_LIT, "cmpibl-lit", "cmpibl",
5001 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5002 & fmt_cmpobe_lit, { 0x3c002000 },
5003 (PTR) & fmt_cmpobe_lit_ops[0],
5004 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5006 /* cmpible $br_src1, $br_src2, $br_disp */
5009 I960_INSN_CMPIBLE_REG, "cmpible-reg", "cmpible",
5010 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5011 & fmt_cmpobe_reg, { 0x3e000000 },
5012 (PTR) & fmt_cmpobe_reg_ops[0],
5013 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5015 /* cmpible $br_lit1, $br_src2, $br_disp */
5018 I960_INSN_CMPIBLE_LIT, "cmpible-lit", "cmpible",
5019 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5020 & fmt_cmpobe_lit, { 0x3e002000 },
5021 (PTR) & fmt_cmpobe_lit_ops[0],
5022 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5024 /* cmpibg $br_src1, $br_src2, $br_disp */
5027 I960_INSN_CMPIBG_REG, "cmpibg-reg", "cmpibg",
5028 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5029 & fmt_cmpobe_reg, { 0x39000000 },
5030 (PTR) & fmt_cmpobe_reg_ops[0],
5031 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5033 /* cmpibg $br_lit1, $br_src2, $br_disp */
5036 I960_INSN_CMPIBG_LIT, "cmpibg-lit", "cmpibg",
5037 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5038 & fmt_cmpobe_lit, { 0x39002000 },
5039 (PTR) & fmt_cmpobe_lit_ops[0],
5040 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5042 /* cmpibge $br_src1, $br_src2, $br_disp */
5045 I960_INSN_CMPIBGE_REG, "cmpibge-reg", "cmpibge",
5046 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5047 & fmt_cmpobe_reg, { 0x3b000000 },
5048 (PTR) & fmt_cmpobe_reg_ops[0],
5049 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5051 /* cmpibge $br_lit1, $br_src2, $br_disp */
5054 I960_INSN_CMPIBGE_LIT, "cmpibge-lit", "cmpibge",
5055 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5056 & fmt_cmpobe_lit, { 0x3b002000 },
5057 (PTR) & fmt_cmpobe_lit_ops[0],
5058 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5060 /* bbc $br_src1, $br_src2, $br_disp */
5063 I960_INSN_BBC_REG, "bbc-reg", "bbc",
5064 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5065 & fmt_cmpobe_reg, { 0x30000000 },
5066 (PTR) & fmt_cmpobe_reg_ops[0],
5067 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5069 /* bbc $br_lit1, $br_src2, $br_disp */
5072 I960_INSN_BBC_LIT, "bbc-lit", "bbc",
5073 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5074 & fmt_bbc_lit, { 0x30002000 },
5075 (PTR) & fmt_bbc_lit_ops[0],
5076 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5078 /* bbs $br_src1, $br_src2, $br_disp */
5081 I960_INSN_BBS_REG, "bbs-reg", "bbs",
5082 { { MNEM, ' ', OP (BR_SRC1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5083 & fmt_cmpobe_reg, { 0x37000000 },
5084 (PTR) & fmt_cmpobe_reg_ops[0],
5085 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5087 /* bbs $br_lit1, $br_src2, $br_disp */
5090 I960_INSN_BBS_LIT, "bbs-lit", "bbs",
5091 { { MNEM, ' ', OP (BR_LIT1), ',', ' ', OP (BR_SRC2), ',', ' ', OP (BR_DISP), 0 } },
5092 & fmt_bbc_lit, { 0x37002000 },
5093 (PTR) & fmt_bbc_lit_ops[0],
5094 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5096 /* cmpi $src1, $src2 */
5099 I960_INSN_CMPI, "cmpi", "cmpi",
5100 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), 0 } },
5101 & fmt_cmpi, { 0x5a002080 },
5102 (PTR) & fmt_cmpi_ops[0],
5103 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5105 /* cmpi $lit1, $src2 */
5108 I960_INSN_CMPI1, "cmpi1", "cmpi",
5109 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), 0 } },
5110 & fmt_cmpi1, { 0x5a002880 },
5111 (PTR) & fmt_cmpi1_ops[0],
5112 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5114 /* cmpi $src1, $lit2 */
5117 I960_INSN_CMPI2, "cmpi2", "cmpi",
5118 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), 0 } },
5119 & fmt_cmpi2, { 0x5a003080 },
5120 (PTR) & fmt_cmpi2_ops[0],
5121 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5123 /* cmpi $lit1, $lit2 */
5126 I960_INSN_CMPI3, "cmpi3", "cmpi",
5127 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), 0 } },
5128 & fmt_cmpi3, { 0x5a003880 },
5129 (PTR) & fmt_cmpi3_ops[0],
5130 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5132 /* cmpo $src1, $src2 */
5135 I960_INSN_CMPO, "cmpo", "cmpo",
5136 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (SRC2), 0 } },
5137 & fmt_cmpi, { 0x5a002000 },
5138 (PTR) & fmt_cmpi_ops[0],
5139 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5141 /* cmpo $lit1, $src2 */
5144 I960_INSN_CMPO1, "cmpo1", "cmpo",
5145 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (SRC2), 0 } },
5146 & fmt_cmpi1, { 0x5a002800 },
5147 (PTR) & fmt_cmpi1_ops[0],
5148 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5150 /* cmpo $src1, $lit2 */
5153 I960_INSN_CMPO2, "cmpo2", "cmpo",
5154 { { MNEM, ' ', OP (SRC1), ',', ' ', OP (LIT2), 0 } },
5155 & fmt_cmpi2, { 0x5a003000 },
5156 (PTR) & fmt_cmpi2_ops[0],
5157 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5159 /* cmpo $lit1, $lit2 */
5162 I960_INSN_CMPO3, "cmpo3", "cmpo",
5163 { { MNEM, ' ', OP (LIT1), ',', ' ', OP (LIT2), 0 } },
5164 & fmt_cmpi3, { 0x5a003800 },
5165 (PTR) & fmt_cmpi3_ops[0],
5166 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5168 /* testno $br_src1 */
5171 I960_INSN_TESTNO_REG, "testno-reg", "testno",
5172 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5173 & fmt_testno_reg, { 0x20000000 },
5174 (PTR) & fmt_testno_reg_ops[0],
5175 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5177 /* testg $br_src1 */
5180 I960_INSN_TESTG_REG, "testg-reg", "testg",
5181 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5182 & fmt_testno_reg, { 0x21000000 },
5183 (PTR) & fmt_testno_reg_ops[0],
5184 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5186 /* teste $br_src1 */
5189 I960_INSN_TESTE_REG, "teste-reg", "teste",
5190 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5191 & fmt_testno_reg, { 0x22000000 },
5192 (PTR) & fmt_testno_reg_ops[0],
5193 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5195 /* testge $br_src1 */
5198 I960_INSN_TESTGE_REG, "testge-reg", "testge",
5199 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5200 & fmt_testno_reg, { 0x23000000 },
5201 (PTR) & fmt_testno_reg_ops[0],
5202 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5204 /* testl $br_src1 */
5207 I960_INSN_TESTL_REG, "testl-reg", "testl",
5208 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5209 & fmt_testno_reg, { 0x24000000 },
5210 (PTR) & fmt_testno_reg_ops[0],
5211 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5213 /* testne $br_src1 */
5216 I960_INSN_TESTNE_REG, "testne-reg", "testne",
5217 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5218 & fmt_testno_reg, { 0x25000000 },
5219 (PTR) & fmt_testno_reg_ops[0],
5220 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5222 /* testle $br_src1 */
5225 I960_INSN_TESTLE_REG, "testle-reg", "testle",
5226 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5227 & fmt_testno_reg, { 0x26000000 },
5228 (PTR) & fmt_testno_reg_ops[0],
5229 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5231 /* testo $br_src1 */
5234 I960_INSN_TESTO_REG, "testo-reg", "testo",
5235 { { MNEM, ' ', OP (BR_SRC1), 0 } },
5236 & fmt_testno_reg, { 0x27000000 },
5237 (PTR) & fmt_testno_reg_ops[0],
5238 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5240 /* bno $ctrl_disp */
5243 I960_INSN_BNO, "bno", "bno",
5244 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5245 & fmt_bno, { 0x10000000 },
5246 (PTR) & fmt_bno_ops[0],
5247 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5252 I960_INSN_BG, "bg", "bg",
5253 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5254 & fmt_bno, { 0x11000000 },
5255 (PTR) & fmt_bno_ops[0],
5256 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5261 I960_INSN_BE, "be", "be",
5262 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5263 & fmt_bno, { 0x12000000 },
5264 (PTR) & fmt_bno_ops[0],
5265 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5267 /* bge $ctrl_disp */
5270 I960_INSN_BGE, "bge", "bge",
5271 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5272 & fmt_bno, { 0x13000000 },
5273 (PTR) & fmt_bno_ops[0],
5274 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5279 I960_INSN_BL, "bl", "bl",
5280 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5281 & fmt_bno, { 0x14000000 },
5282 (PTR) & fmt_bno_ops[0],
5283 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5285 /* bne $ctrl_disp */
5288 I960_INSN_BNE, "bne", "bne",
5289 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5290 & fmt_bno, { 0x15000000 },
5291 (PTR) & fmt_bno_ops[0],
5292 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5294 /* ble $ctrl_disp */
5297 I960_INSN_BLE, "ble", "ble",
5298 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5299 & fmt_bno, { 0x16000000 },
5300 (PTR) & fmt_bno_ops[0],
5301 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5306 I960_INSN_BO, "bo", "bo",
5307 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5308 & fmt_bno, { 0x17000000 },
5309 (PTR) & fmt_bno_ops[0],
5310 { CGEN_INSN_NBOOL_ATTRS, 0|A(COND_CTI), { (1<<MACH_BASE) } }
5315 I960_INSN_B, "b", "b",
5316 { { MNEM, ' ', OP (CTRL_DISP), 0 } },
5317 & fmt_b, { 0x8000000 },
5318 (PTR) & fmt_b_ops[0],
5319 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5321 /* bx $offset($abase) */
5324 I960_INSN_BX_INDIRECT_OFFSET, "bx-indirect-offset", "bx",
5325 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
5326 & fmt_bx_indirect_offset, { 0x84002000 },
5327 (PTR) & fmt_bx_indirect_offset_ops[0],
5328 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5333 I960_INSN_BX_INDIRECT, "bx-indirect", "bx",
5334 { { MNEM, ' ', '(', OP (ABASE), ')', 0 } },
5335 & fmt_bx_indirect, { 0x84001000 },
5336 (PTR) & fmt_bx_indirect_ops[0],
5337 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5339 /* bx ($abase)[$index*S$scale] */
5342 I960_INSN_BX_INDIRECT_INDEX, "bx-indirect-index", "bx",
5343 { { MNEM, ' ', '(', OP (ABASE), ')', '[', OP (INDEX), '*', 'S', OP (SCALE), ']', 0 } },
5344 & fmt_bx_indirect_index, { 0x84001c00 },
5345 (PTR) & fmt_bx_indirect_index_ops[0],
5346 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5351 I960_INSN_BX_DISP, "bx-disp", "bx",
5352 { { MNEM, ' ', OP (OPTDISP), 0 } },
5353 & fmt_bx_disp, { 0x84003000 },
5354 (PTR) & fmt_bx_disp_ops[0],
5355 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5357 /* bx $optdisp($abase) */
5360 I960_INSN_BX_INDIRECT_DISP, "bx-indirect-disp", "bx",
5361 { { MNEM, ' ', OP (OPTDISP), '(', OP (ABASE), ')', 0 } },
5362 & fmt_bx_indirect_disp, { 0x84003400 },
5363 (PTR) & fmt_bx_indirect_disp_ops[0],
5364 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5366 /* callx $optdisp */
5369 I960_INSN_CALLX_DISP, "callx-disp", "callx",
5370 { { MNEM, ' ', OP (OPTDISP), 0 } },
5371 & fmt_callx_disp, { 0x86003000 },
5372 (PTR) & fmt_callx_disp_ops[0],
5373 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5375 /* callx ($abase) */
5378 I960_INSN_CALLX_INDIRECT, "callx-indirect", "callx",
5379 { { MNEM, ' ', '(', OP (ABASE), ')', 0 } },
5380 & fmt_callx_indirect, { 0x86001000 },
5381 (PTR) & fmt_callx_indirect_ops[0],
5382 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5384 /* callx $offset($abase) */
5387 I960_INSN_CALLX_INDIRECT_OFFSET, "callx-indirect-offset", "callx",
5388 { { MNEM, ' ', OP (OFFSET), '(', OP (ABASE), ')', 0 } },
5389 & fmt_callx_indirect_offset, { 0x86002000 },
5390 (PTR) & fmt_callx_indirect_offset_ops[0],
5391 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5396 I960_INSN_RET, "ret", "ret",
5398 & fmt_ret, { 0xa000000 },
5399 (PTR) & fmt_ret_ops[0],
5400 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5405 I960_INSN_CALLS, "calls", "calls",
5406 { { MNEM, ' ', OP (SRC1), 0 } },
5407 & fmt_calls, { 0x66003000 },
5408 (PTR) & fmt_calls_ops[0],
5409 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5414 I960_INSN_FMARK, "fmark", "fmark",
5416 & fmt_fmark, { 0x66003e00 },
5417 (PTR) & fmt_fmark_ops[0],
5418 { CGEN_INSN_NBOOL_ATTRS, 0|A(UNCOND_CTI), { (1<<MACH_BASE) } }
5423 I960_INSN_FLUSHREG, "flushreg", "flushreg",
5425 & fmt_flushreg, { 0x66003e80 },
5427 { CGEN_INSN_NBOOL_ATTRS, 0, { (1<<MACH_BASE) } }
5435 static const CGEN_INSN_TABLE insn_table =
5437 & i960_cgen_insn_table_entries[0],
5443 /* Formats for ALIAS macro-insns. */
5445 #define F(f) & i960_cgen_ifld_table[CONCAT2 (I960_,f)]
5449 /* Each non-simple macro entry points to an array of expansion possibilities. */
5451 #define A(a) (1 << CONCAT2 (CGEN_INSN_,a))
5452 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
5453 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
5455 /* The macro instruction table. */
5457 static const CGEN_INSN macro_insn_table_entries[] =
5465 static const CGEN_INSN_TABLE macro_insn_table =
5467 & macro_insn_table_entries[0],
5469 (sizeof (macro_insn_table_entries) /
5470 sizeof (macro_insn_table_entries[0])),
5479 /* Return non-zero if INSN is to be added to the hash table.
5480 Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */
5483 asm_hash_insn_p (insn)
5484 const CGEN_INSN * insn;
5486 return CGEN_ASM_HASH_P (insn);
5490 dis_hash_insn_p (insn)
5491 const CGEN_INSN * insn;
5493 /* If building the hash table and the NO-DIS attribute is present,
5495 if (CGEN_INSN_ATTR (insn, CGEN_INSN_NO_DIS))
5497 return CGEN_DIS_HASH_P (insn);
5500 /* The result is the hash value of the insn.
5501 Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */
5504 asm_hash_insn (mnem)
5507 return CGEN_ASM_HASH (mnem);
5510 /* BUF is a pointer to the insn's bytes in target order.
5511 VALUE is an integer of the first CGEN_BASE_INSN_BITSIZE bits,
5515 dis_hash_insn (buf, value)
5517 CGEN_INSN_INT value;
5519 return CGEN_DIS_HASH (buf, value);
5522 /* Initialize an opcode table and return a descriptor.
5523 It's much like opening a file, and must be the first function called. */
5526 i960_cgen_opcode_open (mach, endian)
5528 enum cgen_endian endian;
5530 CGEN_OPCODE_TABLE * table = (CGEN_OPCODE_TABLE *) xmalloc (sizeof (CGEN_OPCODE_TABLE));
5539 memset (table, 0, sizeof (*table));
5541 CGEN_OPCODE_MACH (table) = mach;
5542 CGEN_OPCODE_ENDIAN (table) = endian;
5543 /* FIXME: for the sparc case we can determine insn-endianness statically.
5544 The worry here is where both data and insn endian can be independently
5545 chosen, in which case this function will need another argument.
5546 Actually, will want to allow for more arguments in the future anyway. */
5547 CGEN_OPCODE_INSN_ENDIAN (table) = endian;
5549 CGEN_OPCODE_HW_LIST (table) = & i960_cgen_hw_entries[0];
5551 CGEN_OPCODE_IFLD_TABLE (table) = & i960_cgen_ifld_table[0];
5553 CGEN_OPCODE_OPERAND_TABLE (table) = & i960_cgen_operand_table[0];
5555 * CGEN_OPCODE_INSN_TABLE (table) = insn_table;
5557 * CGEN_OPCODE_MACRO_INSN_TABLE (table) = macro_insn_table;
5559 CGEN_OPCODE_ASM_HASH_P (table) = asm_hash_insn_p;
5560 CGEN_OPCODE_ASM_HASH (table) = asm_hash_insn;
5561 CGEN_OPCODE_ASM_HASH_SIZE (table) = CGEN_ASM_HASH_SIZE;
5563 CGEN_OPCODE_DIS_HASH_P (table) = dis_hash_insn_p;
5564 CGEN_OPCODE_DIS_HASH (table) = dis_hash_insn;
5565 CGEN_OPCODE_DIS_HASH_SIZE (table) = CGEN_DIS_HASH_SIZE;
5567 return (CGEN_OPCODE_DESC) table;
5570 /* Close an opcode table. */
5573 i960_cgen_opcode_close (desc)
5574 CGEN_OPCODE_DESC desc;
5579 /* Getting values from cgen_fields is handled by a collection of functions.
5580 They are distinguished by the type of the VALUE argument they return.
5581 TODO: floating point, inlining support, remove cases where result type
5585 i960_cgen_get_int_operand (opindex, fields)
5587 const CGEN_FIELDS * fields;
5593 case I960_OPERAND_SRC1 :
5594 value = fields->f_src1;
5596 case I960_OPERAND_SRC2 :
5597 value = fields->f_src2;
5599 case I960_OPERAND_DST :
5600 value = fields->f_srcdst;
5602 case I960_OPERAND_LIT1 :
5603 value = fields->f_src1;
5605 case I960_OPERAND_LIT2 :
5606 value = fields->f_src2;
5608 case I960_OPERAND_ST_SRC :
5609 value = fields->f_srcdst;
5611 case I960_OPERAND_ABASE :
5612 value = fields->f_abase;
5614 case I960_OPERAND_OFFSET :
5615 value = fields->f_offset;
5617 case I960_OPERAND_SCALE :
5618 value = fields->f_scale;
5620 case I960_OPERAND_INDEX :
5621 value = fields->f_index;
5623 case I960_OPERAND_OPTDISP :
5624 value = fields->f_optdisp;
5626 case I960_OPERAND_BR_SRC1 :
5627 value = fields->f_br_src1;
5629 case I960_OPERAND_BR_SRC2 :
5630 value = fields->f_br_src2;
5632 case I960_OPERAND_BR_DISP :
5633 value = fields->f_br_disp;
5635 case I960_OPERAND_BR_LIT1 :
5636 value = fields->f_br_src1;
5638 case I960_OPERAND_CTRL_DISP :
5639 value = fields->f_ctrl_disp;
5643 /* xgettext:c-format */
5644 fprintf (stderr, _("Unrecognized field %d while getting int operand.\n"),
5653 i960_cgen_get_vma_operand (opindex, fields)
5655 const CGEN_FIELDS * fields;
5661 case I960_OPERAND_SRC1 :
5662 value = fields->f_src1;
5664 case I960_OPERAND_SRC2 :
5665 value = fields->f_src2;
5667 case I960_OPERAND_DST :
5668 value = fields->f_srcdst;
5670 case I960_OPERAND_LIT1 :
5671 value = fields->f_src1;
5673 case I960_OPERAND_LIT2 :
5674 value = fields->f_src2;
5676 case I960_OPERAND_ST_SRC :
5677 value = fields->f_srcdst;
5679 case I960_OPERAND_ABASE :
5680 value = fields->f_abase;
5682 case I960_OPERAND_OFFSET :
5683 value = fields->f_offset;
5685 case I960_OPERAND_SCALE :
5686 value = fields->f_scale;
5688 case I960_OPERAND_INDEX :
5689 value = fields->f_index;
5691 case I960_OPERAND_OPTDISP :
5692 value = fields->f_optdisp;
5694 case I960_OPERAND_BR_SRC1 :
5695 value = fields->f_br_src1;
5697 case I960_OPERAND_BR_SRC2 :
5698 value = fields->f_br_src2;
5700 case I960_OPERAND_BR_DISP :
5701 value = fields->f_br_disp;
5703 case I960_OPERAND_BR_LIT1 :
5704 value = fields->f_br_src1;
5706 case I960_OPERAND_CTRL_DISP :
5707 value = fields->f_ctrl_disp;
5711 /* xgettext:c-format */
5712 fprintf (stderr, _("Unrecognized field %d while getting vma operand.\n"),
5720 /* Stuffing values in cgen_fields is handled by a collection of functions.
5721 They are distinguished by the type of the VALUE argument they accept.
5722 TODO: floating point, inlining support, remove cases where argument type
5726 i960_cgen_set_int_operand (opindex, fields, value)
5728 CGEN_FIELDS * fields;
5733 case I960_OPERAND_SRC1 :
5734 fields->f_src1 = value;
5736 case I960_OPERAND_SRC2 :
5737 fields->f_src2 = value;
5739 case I960_OPERAND_DST :
5740 fields->f_srcdst = value;
5742 case I960_OPERAND_LIT1 :
5743 fields->f_src1 = value;
5745 case I960_OPERAND_LIT2 :
5746 fields->f_src2 = value;
5748 case I960_OPERAND_ST_SRC :
5749 fields->f_srcdst = value;
5751 case I960_OPERAND_ABASE :
5752 fields->f_abase = value;
5754 case I960_OPERAND_OFFSET :
5755 fields->f_offset = value;
5757 case I960_OPERAND_SCALE :
5758 fields->f_scale = value;
5760 case I960_OPERAND_INDEX :
5761 fields->f_index = value;
5763 case I960_OPERAND_OPTDISP :
5764 fields->f_optdisp = value;
5766 case I960_OPERAND_BR_SRC1 :
5767 fields->f_br_src1 = value;
5769 case I960_OPERAND_BR_SRC2 :
5770 fields->f_br_src2 = value;
5772 case I960_OPERAND_BR_DISP :
5773 fields->f_br_disp = value;
5775 case I960_OPERAND_BR_LIT1 :
5776 fields->f_br_src1 = value;
5778 case I960_OPERAND_CTRL_DISP :
5779 fields->f_ctrl_disp = value;
5783 /* xgettext:c-format */
5784 fprintf (stderr, _("Unrecognized field %d while setting int operand.\n"),
5791 i960_cgen_set_vma_operand (opindex, fields, value)
5793 CGEN_FIELDS * fields;
5798 case I960_OPERAND_SRC1 :
5799 fields->f_src1 = value;
5801 case I960_OPERAND_SRC2 :
5802 fields->f_src2 = value;
5804 case I960_OPERAND_DST :
5805 fields->f_srcdst = value;
5807 case I960_OPERAND_LIT1 :
5808 fields->f_src1 = value;
5810 case I960_OPERAND_LIT2 :
5811 fields->f_src2 = value;
5813 case I960_OPERAND_ST_SRC :
5814 fields->f_srcdst = value;
5816 case I960_OPERAND_ABASE :
5817 fields->f_abase = value;
5819 case I960_OPERAND_OFFSET :
5820 fields->f_offset = value;
5822 case I960_OPERAND_SCALE :
5823 fields->f_scale = value;
5825 case I960_OPERAND_INDEX :
5826 fields->f_index = value;
5828 case I960_OPERAND_OPTDISP :
5829 fields->f_optdisp = value;
5831 case I960_OPERAND_BR_SRC1 :
5832 fields->f_br_src1 = value;
5834 case I960_OPERAND_BR_SRC2 :
5835 fields->f_br_src2 = value;
5837 case I960_OPERAND_BR_DISP :
5838 fields->f_br_disp = value;
5840 case I960_OPERAND_BR_LIT1 :
5841 fields->f_br_src1 = value;
5843 case I960_OPERAND_CTRL_DISP :
5844 fields->f_ctrl_disp = value;
5848 /* xgettext:c-format */
5849 fprintf (stderr, _("Unrecognized field %d while setting vma operand.\n"),