From 390bd87dbaea27ac1741719d1fd8694f123c1ec9 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Fri, 13 Feb 1998 02:31:10 +0000 Subject: [PATCH] * cgen-opc.in (@arch@_cgen_lookup_insn): New argument alias_p. Ignore ALIAS insns if asked to. (@arch@_cgen_get_insn_operands): Pass 0 for alias_p, NULL for insn. * m32r-opc.c: Regenerate. --- opcodes/ChangeLog | 9 +- opcodes/cgen-opc.in | 34 +- opcodes/m32r-opc.c | 1176 ++++++++++++++++++++++++------------------- 3 files changed, 686 insertions(+), 533 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3f9b3549ae..e24a9e527f 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,12 +1,17 @@ -start-sanitize-sky Thu Feb 12 11:01:40 1998 Doug Evans + * cgen-opc.in (@arch@_cgen_lookup_insn): New argument alias_p. + Ignore ALIAS insns if asked to. + (@arch@_cgen_get_insn_operands): Pass 0 for alias_p, NULL for insn. + * m32r-opc.c: Regenerate. + +start-sanitize-sky * dvp.opc.c: Nicely format opcode tables. (vu_operands): New element UFLAGS. (parse_uflags,print_uflags): New functions. (vu_upper_opcodes): Add UFLAGS to all insns. - end-sanitize-sky + Thu Feb 12 03:41:00 1998 J"orn Rennecke Fix rac to accept only a0: diff --git a/opcodes/cgen-opc.in b/opcodes/cgen-opc.in index d88df31834..af51ef2f89 100644 --- a/opcodes/cgen-opc.in +++ b/opcodes/cgen-opc.in @@ -33,17 +33,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ If non-null INSN is the insn table entry. Otherwise INSN_VALUE is examined to compute it. LENGTH is the bit length of INSN_VALUE if known, otherwise 0. + ALIAS_P is non-zero if alias insns are to be included in the search. The result a pointer to the insn table entry, or NULL if the instruction wasn't recognized. */ const CGEN_INSN * -@arch@_cgen_lookup_insn (insn, insn_value, length, fields) +@arch@_cgen_lookup_insn (insn, insn_value, length, fields, alias_p) const CGEN_INSN *insn; cgen_insn_t insn_value; int length; CGEN_FIELDS *fields; { - char buf[4]; + char buf[16]; if (!insn) { @@ -82,14 +83,18 @@ const CGEN_INSN * { insn = insn_list->insn; - /* Basic bit mask must be correct. */ - /* ??? May wish to allow target to defer this check until the extract - handler. */ - if ((insn_value & CGEN_INSN_MASK (insn)) == CGEN_INSN_VALUE (insn)) + if (alias_p + || ! CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS)) { - length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); - if (length > 0) - return insn; + /* Basic bit mask must be correct. */ + /* ??? May wish to allow target to defer this check until the + extract handler. */ + if ((insn_value & CGEN_INSN_MASK (insn)) == CGEN_INSN_VALUE (insn)) + { + length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); + if (length > 0) + return insn; + } } insn_list = CGEN_DIS_NEXT_INSN (insn_list); @@ -97,6 +102,11 @@ const CGEN_INSN * } else { + /* Sanity check: can't pass an alias insn if ! alias_p. */ + if (! alias_p + && CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS)) + abort (); + length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); if (length > 0) return insn; @@ -124,7 +134,11 @@ const CGEN_INSN * const CGEN_OPERAND_INSTANCE *opinst; int i; - insn = @arch@_cgen_lookup_insn (insn, insn_value, length, &fields); + /* FIXME: ALIAS insns are in transition from being record in the insn table + to being recorded separately as macros. They don't have semantic code + so they can't be used here. Thus we currently always ignore the INSN + argument. */ + insn = @arch@_cgen_lookup_insn (NULL, insn_value, length, &fields, 0); if (! insn) return NULL; diff --git a/opcodes/m32r-opc.c b/opcodes/m32r-opc.c index d23def126c..f26f2599e9 100644 --- a/opcodes/m32r-opc.c +++ b/opcodes/m32r-opc.c @@ -33,17 +33,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ If non-null INSN is the insn table entry. Otherwise INSN_VALUE is examined to compute it. LENGTH is the bit length of INSN_VALUE if known, otherwise 0. + ALIAS_P is non-zero if alias insns are to be included in the search. The result a pointer to the insn table entry, or NULL if the instruction wasn't recognized. */ const CGEN_INSN * -m32r_cgen_lookup_insn (insn, insn_value, length, fields) +m32r_cgen_lookup_insn (insn, insn_value, length, fields, alias_p) const CGEN_INSN *insn; cgen_insn_t insn_value; int length; CGEN_FIELDS *fields; { - char buf[4]; + char buf[16]; if (!insn) { @@ -82,14 +83,18 @@ m32r_cgen_lookup_insn (insn, insn_value, length, fields) { insn = insn_list->insn; - /* Basic bit mask must be correct. */ - /* ??? May wish to allow target to defer this check until the extract - handler. */ - if ((insn_value & CGEN_INSN_MASK (insn)) == CGEN_INSN_VALUE (insn)) + if (alias_p + || ! CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS)) { - length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); - if (length > 0) - return insn; + /* Basic bit mask must be correct. */ + /* ??? May wish to allow target to defer this check until the + extract handler. */ + if ((insn_value & CGEN_INSN_MASK (insn)) == CGEN_INSN_VALUE (insn)) + { + length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); + if (length > 0) + return insn; + } } insn_list = CGEN_DIS_NEXT_INSN (insn_list); @@ -97,6 +102,11 @@ m32r_cgen_lookup_insn (insn, insn_value, length, fields) } else { + /* Sanity check: can't pass an alias insn if ! alias_p. */ + if (! alias_p + && CGEN_INSN_ATTR (insn, CGEN_INSN_ALIAS)) + abort (); + length = (*CGEN_EXTRACT_FN (insn)) (insn, NULL, insn_value, fields); if (length > 0) return insn; @@ -124,7 +134,11 @@ m32r_cgen_get_insn_operands (insn, insn_value, length, indices) const CGEN_OPERAND_INSTANCE *opinst; int i; - insn = m32r_cgen_lookup_insn (insn, insn_value, length, &fields); + /* FIXME: ALIAS insns are in transition from being record in the insn table + to being recorded separately as macros. They don't have semantic code + so they can't be used here. Thus we currently always ignore the INSN + argument. */ + insn = m32r_cgen_lookup_insn (NULL, insn_value, length, &fields, 0); if (! insn) return NULL; @@ -444,148 +458,156 @@ static const CGEN_OPERAND_INSTANCE fmt_4_addi_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_5_addv3_ops[] = { - { INPUT, & HW_ENT (HW_H_SINT), CGEN_MODE_SI, & OP_ENT (SIMM16), 0 }, - { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, - { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, - { 0 } -}; - -static const CGEN_OPERAND_INSTANCE fmt_6_addx_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_5_addv_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_7_bc8_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_6_addv3_ops[] = { + { INPUT, & HW_ENT (HW_H_SINT), CGEN_MODE_SI, & OP_ENT (SIMM16), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_7_addx_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_8_bc8_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP8), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_9_bc24_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_10_bc24_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP24), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_11_beq_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_12_beq_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_12_beqz_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_13_beqz_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_13_bl8_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_14_bl8_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP8), 0 }, - { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, + { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_14_bl24_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_15_bl24_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP24), 0 }, - { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, + { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_15_bcl8_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_16_bcl8_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP8), 0 }, - { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, + { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_16_bcl24_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_17_bcl24_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP24), 0 }, - { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, + { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_17_bra8_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_18_bra8_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP8), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_18_bra24_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_19_bra24_ops[] = { { INPUT, & HW_ENT (HW_H_IADDR), CGEN_MODE_VM, & OP_ENT (DISP24), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_19_cmp_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_20_cmp_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_20_cmpi_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_21_cmpi_ops[] = { { INPUT, & HW_ENT (HW_H_SINT), CGEN_MODE_SI, & OP_ENT (SIMM16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_21_cmpui_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_22_cmpui_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { INPUT, & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (UIMM16), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_22_cmpz_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_23_cmpz_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_23_div_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_24_div_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_24_jc_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_25_jc_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_25_jl_ops[] = { - { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_26_jl_ops[] = { + { INPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, 0, 14 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_26_jmp_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_27_jmp_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_27_ld_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_28_ld_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_29_ld_d_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_30_ld_d_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0 }, { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, @@ -593,14 +615,14 @@ static const CGEN_OPERAND_INSTANCE fmt_29_ld_d_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_31_ldb_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_32_ldb_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_32_ldb_d_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_33_ldb_d_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0 }, { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, @@ -608,14 +630,14 @@ static const CGEN_OPERAND_INSTANCE fmt_32_ldb_d_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_33_ldh_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_34_ldh_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_34_ldh_d_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_35_ldh_d_ops[] = { { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0 }, { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, @@ -623,33 +645,47 @@ static const CGEN_OPERAND_INSTANCE fmt_34_ldh_d_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_35_ld24_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_36_ld_plus_ops[] = { + { INPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_37_ld24_ops[] = { { INPUT, & HW_ENT (HW_H_ADDR), CGEN_MODE_VM, & OP_ENT (UIMM24), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_36_ldi8_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_38_ldi8_ops[] = { { INPUT, & HW_ENT (HW_H_SINT), CGEN_MODE_SI, & OP_ENT (SIMM8), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_37_ldi16_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_39_ldi16_ops[] = { { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_38_machi_ops[] = { - { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, - { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, - { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, - { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_40_lock_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_39_machi_a_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_41_machi_ops[] = { + { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_42_machi_a_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACC), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, @@ -657,108 +693,129 @@ static const CGEN_OPERAND_INSTANCE fmt_39_machi_a_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_40_mulhi_a_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_43_mulhi_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_44_mulhi_a_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACC), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_41_mv_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_45_mv_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_42_mvfachi_ops[] = { - { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_46_mvfachi_ops[] = { + { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_43_mvfachi_a_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_47_mvfachi_a_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCS), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_44_mvfc_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_48_mvfc_ops[] = { { INPUT, & HW_ENT (HW_H_CR), CGEN_MODE_SI, & OP_ENT (SCR), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_45_mvtachi_ops[] = { - { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_49_mvtachi_ops[] = { + { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, - { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, + { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_46_mvtachi_a_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_50_mvtachi_a_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCS), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCS), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_47_mvtc_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_51_mvtc_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, { OUTPUT, & HW_ENT (HW_H_CR), CGEN_MODE_SI, & OP_ENT (DCR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_49_rac_ops[] = { - { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, - { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_53_rac_ops[] = { + { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_50_rac_d_ops[] = { - { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, & OP_ENT (ACCUM), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_54_rac_d_ops[] = { + { INPUT, & HW_ENT (HW_H_ACCUM), CGEN_MODE_DI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCD), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_51_rac_ds_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_55_rac_ds_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCS), 0 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCD), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_52_rac_dsi_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_56_rac_dsi_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCS), 0 }, { INPUT, & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (IMM1), 0 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, & OP_ENT (ACCD), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_53_rte_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_57_rte_ops[] = { { INPUT, & HW_ENT (HW_H_BCOND), CGEN_MODE_VM, 0, 0 }, { INPUT, & HW_ENT (HW_H_BIE), CGEN_MODE_VM, 0, 0 }, { INPUT, & HW_ENT (HW_H_BPC), CGEN_MODE_VM, 0, 0 }, { INPUT, & HW_ENT (HW_H_BSM), CGEN_MODE_VM, 0, 0 }, - { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, - { OUTPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, & OP_ENT (PC), 0 }, + { OUTPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_PC), CGEN_MODE_USI, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_IE), CGEN_MODE_VM, 0, 0 }, { OUTPUT, & HW_ENT (HW_H_SM), CGEN_MODE_VM, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_54_seth_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_58_seth_ops[] = { { INPUT, & HW_ENT (HW_H_HI16), CGEN_MODE_UHI, & OP_ENT (HI16), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_55_slli_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_59_sll3_ops[] = { + { INPUT, & HW_ENT (HW_H_SINT), CGEN_MODE_SI, & OP_ENT (SIMM16), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SR), 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_60_slli_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { INPUT, & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (UIMM5), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_57_st_d_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_61_st_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_63_st_d_ops[] = { { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, @@ -766,32 +823,76 @@ static const CGEN_OPERAND_INSTANCE fmt_57_st_d_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_59_trap_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_65_stb_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_66_stb_d_ops[] = { + { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_QI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_67_sth_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_68_sth_d_ops[] = { + { INPUT, & HW_ENT (HW_H_SLO16), CGEN_MODE_HI, & OP_ENT (SLO16), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_HI, 0, 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_69_st_plus_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_MEMORY), CGEN_MODE_SI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_70_trap_ops[] = { { INPUT, & HW_ENT (HW_H_UINT), CGEN_MODE_USI, & OP_ENT (UIMM4), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_62_satb_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_71_unlock_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_74_satb_ops[] = { { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_63_sat_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_75_sat_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, { OUTPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (DR), 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_64_sadd_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_76_sadd_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, 0, 0 }, { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, 0, 1 }, { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, 0, 0 }, { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_65_macwu1_ops[] = { +static const CGEN_OPERAND_INSTANCE fmt_77_macwu1_ops[] = { { INPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, 0, 1 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, @@ -799,9 +900,16 @@ static const CGEN_OPERAND_INSTANCE fmt_65_macwu1_ops[] = { { 0 } }; -static const CGEN_OPERAND_INSTANCE fmt_66_sc_ops[] = { - { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, & OP_ENT (CONDBIT), 0 }, - { OUTPUT, & HW_ENT (HW_H_ABORT), CGEN_MODE_UBI, & OP_ENT (ABORT_PARALLEL_EXECUTION), 0 }, +static const CGEN_OPERAND_INSTANCE fmt_78_mulwu1_ops[] = { + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC1), 0 }, + { INPUT, & HW_ENT (HW_H_GR), CGEN_MODE_SI, & OP_ENT (SRC2), 0 }, + { OUTPUT, & HW_ENT (HW_H_ACCUMS), CGEN_MODE_DI, 0, 1 }, + { 0 } +}; + +static const CGEN_OPERAND_INSTANCE fmt_79_sc_ops[] = { + { INPUT, & HW_ENT (HW_H_COND), CGEN_MODE_UBI, 0, 0 }, + { OUTPUT, & HW_ENT (HW_H_ABORT), CGEN_MODE_UBI, 0, 0 }, { 0 } }; @@ -926,140 +1034,166 @@ static const CGEN_SYNTAX syntax_table[] = static const CGEN_FORMAT format_table[] = { -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.dr.SI.sr.SI. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(dr SI)(sr SI)(dr SI) */ /* 0 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.slo16.slo16.HI.sr.SI. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 slo16)(slo16 HI)(sr SI)(dr SI) */ /* 1 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-uimm16.uimm16.sr.SI.uimm16.USI. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-uimm16 uimm16)(sr SI)(uimm16 USI)(dr SI) */ /* 2 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-uimm16.ulo16.sr.SI.ulo16.UHI. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-uimm16 ulo16)(sr SI)(ulo16 UHI)(dr SI) */ /* 3 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-simm8.simm8.dr.SI.simm8.SI. */ +/* (f-op1 #)(f-r1 dr)(f-simm8 simm8)(dr SI)(simm8 SI)(dr SI) */ /* 4 */ { 16, 16, 0xf000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.simm16.simm16.SI.sr.SI. */ -/* 5 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.condbit.UBI.dr.SI.sr.SI. */ -/* 6 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.number.f-disp8.disp8.condbit.UBI.disp8.VM. */ -/* 7 */ { 16, 16, 0xff00 }, -/* f-op1.number.f-r1.number.f-disp8.disp8. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(dr SI)(sr SI)(condbit UBI)(dr SI) */ +/* 5 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 simm16)(simm16 SI)(sr SI)(condbit UBI)(dr SI) */ +/* 6 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(condbit UBI)(dr SI)(sr SI)(condbit UBI)(dr SI) */ +/* 7 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 #)(f-disp8 disp8)(condbit UBI)(disp8 VM) */ /* 8 */ { 16, 16, 0xff00 }, -/* f-op1.number.f-r1.number.f-disp24.disp24.condbit.UBI.disp24.VM. */ -/* 9 */ { 32, 32, 0xff000000 }, -/* f-op1.number.f-r1.number.f-disp24.disp24. */ +/* (f-op1 #)(f-r1 #)(f-disp8 disp8) */ +/* 9 */ { 16, 16, 0xff00 }, +/* (f-op1 #)(f-r1 #)(f-disp24 disp24)(condbit UBI)(disp24 VM) */ /* 10 */ { 32, 32, 0xff000000 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.f-disp16.disp16.disp16.VM.src1.SI.src2.SI. */ -/* 11 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.src2.f-disp16.disp16.disp16.VM.src2.SI. */ -/* 12 */ { 32, 32, 0xfff00000 }, -/* f-op1.number.f-r1.number.f-disp8.disp8.disp8.VM.pc.USI. */ -/* 13 */ { 16, 16, 0xff00 }, -/* f-op1.number.f-r1.number.f-disp24.disp24.disp24.VM.pc.USI. */ -/* 14 */ { 32, 32, 0xff000000 }, -/* f-op1.number.f-r1.number.f-disp8.disp8.condbit.UBI.disp8.VM.pc.USI. */ -/* 15 */ { 16, 16, 0xff00 }, -/* f-op1.number.f-r1.number.f-disp24.disp24.condbit.UBI.disp24.VM.pc.USI. */ -/* 16 */ { 32, 32, 0xff000000 }, -/* f-op1.number.f-r1.number.f-disp8.disp8.disp8.VM. */ -/* 17 */ { 16, 16, 0xff00 }, -/* f-op1.number.f-r1.number.f-disp24.disp24.disp24.VM. */ -/* 18 */ { 32, 32, 0xff000000 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.src1.SI.src2.SI. */ -/* 19 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.src2.f-simm16.simm16.simm16.SI.src2.SI. */ -/* 20 */ { 32, 32, 0xfff00000 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.src2.f-uimm16.uimm16.src2.SI.uimm16.USI. */ +/* (f-op1 #)(f-r1 #)(f-disp24 disp24) */ +/* 11 */ { 32, 32, 0xff000000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(f-disp16 disp16)(disp16 VM)(src1 SI)(src2 SI) */ +/* 12 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 src2)(f-disp16 disp16)(disp16 VM)(src2 SI) */ +/* 13 */ { 32, 32, 0xfff00000 }, +/* (f-op1 #)(f-r1 #)(f-disp8 disp8)(disp8 VM)(pc USI)(h-gr-14 SI) */ +/* 14 */ { 16, 16, 0xff00 }, +/* (f-op1 #)(f-r1 #)(f-disp24 disp24)(disp24 VM)(pc USI)(h-gr-14 SI) */ +/* 15 */ { 32, 32, 0xff000000 }, +/* (f-op1 #)(f-r1 #)(f-disp8 disp8)(condbit UBI)(disp8 VM)(pc USI)(h-gr-14 SI) */ +/* 16 */ { 16, 16, 0xff00 }, +/* (f-op1 #)(f-r1 #)(f-disp24 disp24)(condbit UBI)(disp24 VM)(pc USI)(h-gr-14 SI) */ +/* 17 */ { 32, 32, 0xff000000 }, +/* (f-op1 #)(f-r1 #)(f-disp8 disp8)(disp8 VM) */ +/* 18 */ { 16, 16, 0xff00 }, +/* (f-op1 #)(f-r1 #)(f-disp24 disp24)(disp24 VM) */ +/* 19 */ { 32, 32, 0xff000000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(condbit UBI) */ +/* 20 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 src2)(f-simm16 simm16)(simm16 SI)(src2 SI)(condbit UBI) */ /* 21 */ { 32, 32, 0xfff00000 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.src2.src2.SI. */ -/* 22 */ { 16, 16, 0xfff0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.number.dr.SI.sr.SI. */ -/* 23 */ { 32, 32, 0xf0f0ffff }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.sr.condbit.UBI.sr.SI. */ -/* 24 */ { 16, 16, 0xfff0 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.sr.pc.USI.sr.SI. */ +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 src2)(f-uimm16 uimm16)(src2 SI)(uimm16 USI)(condbit UBI) */ +/* 22 */ { 32, 32, 0xfff00000 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 src2)(src2 SI)(condbit UBI) */ +/* 23 */ { 16, 16, 0xfff0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 #)(dr SI)(sr SI)(dr SI) */ +/* 24 */ { 32, 32, 0xf0f0ffff }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 sr)(condbit UBI)(sr SI) */ /* 25 */ { 16, 16, 0xfff0 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.sr.sr.SI. */ +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 sr)(pc USI)(sr SI)(h-gr-14 SI) */ /* 26 */ { 16, 16, 0xfff0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.h-memory-sr.SI.sr.SI. */ -/* 27 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr. */ +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 sr)(sr SI) */ +/* 27 */ { 16, 16, 0xfff0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(h-memory-sr SI)(sr SI)(dr SI) */ /* 28 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.slo16.h-memory-add-WI-sr-slo16.SI.slo16.HI.sr.SI. */ -/* 29 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.slo16. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr) */ +/* 29 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 slo16)(h-memory-add-WI-sr-slo16 SI)(slo16 HI)(sr SI)(dr SI) */ /* 30 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.h-memory-sr.QI.sr.SI. */ -/* 31 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.slo16.h-memory-add-WI-sr-slo16.QI.slo16.HI.sr.SI. */ -/* 32 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.h-memory-sr.HI.sr.SI. */ -/* 33 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.f-simm16.slo16.h-memory-add-WI-sr-slo16.HI.slo16.HI.sr.SI. */ -/* 34 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.dr.f-uimm24.uimm24.uimm24.VM. */ -/* 35 */ { 32, 32, 0xf0000000 }, -/* f-op1.number.f-r1.dr.f-simm8.simm8.simm8.SI. */ -/* 36 */ { 16, 16, 0xf000 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.number.f-simm16.slo16.slo16.HI. */ -/* 37 */ { 32, 32, 0xf0ff0000 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.accum.DI.src1.SI.src2.SI. */ -/* 38 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.src1.f-acc.acc.f-op23.number.f-r2.src2.acc.DI.src1.SI.src2.SI. */ -/* 39 */ { 16, 16, 0xf070 }, -/* f-op1.number.f-r1.src1.f-acc.acc.f-op23.number.f-r2.src2.src1.SI.src2.SI. */ -/* 40 */ { 16, 16, 0xf070 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.sr.sr.SI. */ +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 slo16) */ +/* 31 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(h-memory-sr QI)(sr SI)(dr SI) */ +/* 32 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 slo16)(h-memory-add-WI-sr-slo16 QI)(slo16 HI)(sr SI)(dr SI) */ +/* 33 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(h-memory-sr HI)(sr SI)(dr SI) */ +/* 34 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 slo16)(h-memory-add-WI-sr-slo16 HI)(slo16 HI)(sr SI)(dr SI) */ +/* 35 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(h-memory-sr SI)(sr SI)(dr SI)(sr SI) */ +/* 36 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-uimm24 uimm24)(uimm24 VM)(dr SI) */ +/* 37 */ { 32, 32, 0xf0000000 }, +/* (f-op1 #)(f-r1 dr)(f-simm8 simm8)(simm8 SI)(dr SI) */ +/* 38 */ { 16, 16, 0xf000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 #)(f-simm16 slo16)(slo16 HI)(dr SI) */ +/* 39 */ { 32, 32, 0xf0ff0000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(dr SI)(sr SI) */ +/* 40 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(accum DI)(src1 SI)(src2 SI)(accum DI) */ /* 41 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.number.accum.DI. */ -/* 42 */ { 16, 16, 0xf0ff }, -/* f-op1.number.f-r1.dr.f-op2.number.f-accs.accs.f-op3.number.accs.DI. */ -/* 43 */ { 16, 16, 0xf0f3 }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.scr.scr.SI. */ -/* 44 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.number.accum.DI.src1.SI. */ -/* 45 */ { 16, 16, 0xf0ff }, -/* f-op1.number.f-r1.src1.f-op2.number.f-accs.accs.f-op3.number.accs.DI.src1.SI. */ -/* 46 */ { 16, 16, 0xf0f3 }, -/* f-op1.number.f-r1.dcr.f-op2.number.f-r2.sr.sr.SI. */ -/* 47 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.number. */ -/* 48 */ { 16, 16, 0xffff }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.number.accum.DI. */ -/* 49 */ { 16, 16, 0xffff }, -/* f-op1.number.f-accd.accd.f-bits67.number.f-op2.number.f-accs.number.f-bit14.number.f-imm1.number.accum.DI. */ -/* 50 */ { 16, 16, 0xf3ff }, -/* f-op1.number.f-accd.accd.f-bits67.number.f-op2.number.f-accs.accs.f-bit14.number.f-imm1.number.accs.DI. */ -/* 51 */ { 16, 16, 0xf3f3 }, -/* f-op1.number.f-accd.accd.f-bits67.number.f-op2.number.f-accs.accs.f-bit14.number.f-imm1.imm1.accs.DI.imm1.USI. */ -/* 52 */ { 16, 16, 0xf3f2 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.number.h-bcond-0.VM.h-bie-0.VM.h-bpc-0.VM.h-bsm-0.VM. */ +/* (f-op1 #)(f-r1 src1)(f-acc acc)(f-op23 #)(f-r2 src2)(acc DI)(src1 SI)(src2 SI)(acc DI) */ +/* 42 */ { 16, 16, 0xf070 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(accum DI) */ +/* 43 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-acc acc)(f-op23 #)(f-r2 src2)(src1 SI)(src2 SI)(acc DI) */ +/* 44 */ { 16, 16, 0xf070 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(sr SI)(dr SI) */ +/* 45 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 #)(accum DI)(dr SI) */ +/* 46 */ { 16, 16, 0xf0ff }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-accs accs)(f-op3 #)(accs DI)(dr SI) */ +/* 47 */ { 16, 16, 0xf0f3 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 scr)(scr SI)(dr SI) */ +/* 48 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 #)(accum DI)(src1 SI)(accum DI) */ +/* 49 */ { 16, 16, 0xf0ff }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-accs accs)(f-op3 #)(accs DI)(src1 SI)(accs DI) */ +/* 50 */ { 16, 16, 0xf0f3 }, +/* (f-op1 #)(f-r1 dcr)(f-op2 #)(f-r2 sr)(sr SI)(dcr SI) */ +/* 51 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 #) */ +/* 52 */ { 16, 16, 0xffff }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 #)(accum DI)(accum DI) */ /* 53 */ { 16, 16, 0xffff }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.number.f-hi16.hi16.hi16.UHI. */ -/* 54 */ { 32, 32, 0xf0ff0000 }, -/* f-op1.number.f-r1.dr.f-shift-op2.number.f-uimm5.uimm5.dr.SI.uimm5.USI. */ -/* 55 */ { 16, 16, 0xf0e0 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2. */ -/* 56 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.f-simm16.slo16.slo16.HI.src1.SI.src2.SI. */ -/* 57 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.f-simm16.slo16. */ -/* 58 */ { 32, 32, 0xf0f00000 }, -/* f-op1.number.f-r1.number.f-op2.number.f-uimm4.uimm4.uimm4.USI. */ -/* 59 */ { 16, 16, 0xfff0 }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.number. */ -/* 60 */ { 16, 16, 0xf0ff }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.number. */ -/* 61 */ { 16, 16, 0xf0ff }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.src2.f-uimm16.number.src2.SI. */ -/* 62 */ { 32, 32, 0xf0f0ffff }, -/* f-op1.number.f-r1.dr.f-op2.number.f-r2.src2.f-uimm16.number.condbit.UBI.src2.SI. */ -/* 63 */ { 32, 32, 0xf0f0ffff }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.number.h-accums-0.DI.h-accums-1.DI. */ -/* 64 */ { 16, 16, 0xffff }, -/* f-op1.number.f-r1.src1.f-op2.number.f-r2.src2.h-accums-1.DI.src1.SI.src2.SI. */ +/* (f-op1 #)(f-accd accd)(f-bits67 #)(f-op2 #)(f-accs #)(f-bit14 #)(f-imm1 #)(accum DI)(accd DI) */ +/* 54 */ { 16, 16, 0xf3ff }, +/* (f-op1 #)(f-accd accd)(f-bits67 #)(f-op2 #)(f-accs accs)(f-bit14 #)(f-imm1 #)(accs DI)(accd DI) */ +/* 55 */ { 16, 16, 0xf3f3 }, +/* (f-op1 #)(f-accd accd)(f-bits67 #)(f-op2 #)(f-accs accs)(f-bit14 #)(f-imm1 imm1)(accs DI)(imm1 USI)(accd DI) */ +/* 56 */ { 16, 16, 0xf3f2 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 #)(h-bcond-0 VM)(h-bie-0 VM)(h-bpc-0 VM)(h-bsm-0 VM)(condbit UBI)(pc USI)(h-ie-0 VM)(h-sm-0 VM) */ +/* 57 */ { 16, 16, 0xffff }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 #)(f-hi16 hi16)(hi16 UHI)(dr SI) */ +/* 58 */ { 32, 32, 0xf0ff0000 }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 sr)(f-simm16 simm16)(simm16 SI)(sr SI)(dr SI) */ +/* 59 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 dr)(f-shift-op2 #)(f-uimm5 uimm5)(dr SI)(uimm5 USI)(dr SI) */ +/* 60 */ { 16, 16, 0xf0e0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(h-memory-src2 SI) */ +/* 61 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2) */ +/* 62 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(f-simm16 slo16)(slo16 HI)(src1 SI)(src2 SI)(h-memory-add-WI-src2-slo16 SI) */ +/* 63 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(f-simm16 slo16) */ +/* 64 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(h-memory-src2 QI) */ /* 65 */ { 16, 16, 0xf0f0 }, -/* f-op1.number.f-r1.number.f-op2.number.f-r2.number.condbit.UBI. */ -/* 66 */ { 16, 16, 0xffff }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(f-simm16 slo16)(slo16 HI)(src1 SI)(src2 SI)(h-memory-add-WI-src2-slo16 QI) */ +/* 66 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(h-memory-src2 HI) */ +/* 67 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(f-simm16 slo16)(slo16 HI)(src1 SI)(src2 SI)(h-memory-add-WI-src2-slo16 HI) */ +/* 68 */ { 32, 32, 0xf0f00000 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(h-memory-src2 SI)(src2 SI) */ +/* 69 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-uimm4 uimm4)(uimm4 USI) */ +/* 70 */ { 16, 16, 0xfff0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI) */ +/* 71 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 #) */ +/* 72 */ { 16, 16, 0xf0ff }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 #) */ +/* 73 */ { 16, 16, 0xf0ff }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 src2)(f-uimm16 #)(src2 SI)(dr SI) */ +/* 74 */ { 32, 32, 0xf0f0ffff }, +/* (f-op1 #)(f-r1 dr)(f-op2 #)(f-r2 src2)(f-uimm16 #)(condbit UBI)(src2 SI)(dr SI) */ +/* 75 */ { 32, 32, 0xf0f0ffff }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 #)(h-accums-0 DI)(h-accums-1 DI)(h-accums-0 DI) */ +/* 76 */ { 16, 16, 0xffff }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(h-accums-1 DI)(src1 SI)(src2 SI)(h-accums-1 DI) */ +/* 77 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 src1)(f-op2 #)(f-r2 src2)(src1 SI)(src2 SI)(h-accums-1 DI) */ +/* 78 */ { 16, 16, 0xf0f0 }, +/* (f-op1 #)(f-r1 #)(f-op2 #)(f-r2 #)(condbit UBI)(abort-parallel-execution UBI) */ +/* 79 */ { 16, 16, 0xffff }, }; #define A(a) (1 << CGEN_CAT3 (CGEN_INSN,_,a)) @@ -1173,133 +1307,133 @@ const CGEN_INSN m32r_cgen_insn_table_entries[MAX_INSNS] = /* addv $dr,$sr */ { { 1, 1, 1, 1 }, - "addv", "addv", SYN (0), FMT (0), 0x80, - & fmt_0_add_ops[0], + "addv", "addv", SYN (0), FMT (5), 0x80, + & fmt_5_addv_ops[0], { 4, 0, { (1<