From 3526b6802eb19481fc9143f53246640e77e3198a Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Thu, 30 Apr 2009 21:23:30 +0000 Subject: [PATCH] Index: opcodes * mep-asm.c: Regenerate. * mep-desc.c: Regenerate. * mep-desc.h: Regenerate. * mep-dis.c: Regenerate. * mep-ibld.c: Regenerate. * mep-opc.c: Regenerate. * mep-opc.h: Regenerate. Index: gas * config/tc-mep.c (md_begin): Check coprocessor type. (md_check_parallel64_scheduling): Use memset to initialize the buffer. (md_check_parallel32_scheduling): Likewise. (slot_ok): New. (mep_check_ivc2_scheduling): New. (mep_check_parallel_scheduling): Call it. (mep_process_saved_insns): Add IVC2 slot support. (md_assemble): Likewise. --- gas/ChangeLog | 11 + gas/config/tc-mep.c | 301 ++- opcodes/ChangeLog | 10 + opcodes/mep-asm.c | 137 ++ opcodes/mep-desc.c | 4584 +++++++++++++++++++++++++++++++++++++++---- opcodes/mep-desc.h | 50 +- opcodes/mep-dis.c | 378 +++- opcodes/mep-ibld.c | 738 +++++++ opcodes/mep-opc.c | 4290 +++++++++++++++++++++++++++++++++++++++- opcodes/mep-opc.h | 232 ++- 10 files changed, 10264 insertions(+), 467 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index ade42dd4fd..2591b090a5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2009-04-29 DJ Delorie + + * config/tc-mep.c (md_begin): Check coprocessor type. + (md_check_parallel64_scheduling): Use memset to initialize the buffer. + (md_check_parallel32_scheduling): Likewise. + (slot_ok): New. + (mep_check_ivc2_scheduling): New. + (mep_check_parallel_scheduling): Call it. + (mep_process_saved_insns): Add IVC2 slot support. + (md_assemble): Likewise. + 2009-04-30 Nick Clifton * config/obj-elf.c (obj_elf_type): Add support for a diff --git a/gas/config/tc-mep.c b/gas/config/tc-mep.c index eb43492450..6ad6877412 100644 --- a/gas/config/tc-mep.c +++ b/gas/config/tc-mep.c @@ -57,6 +57,7 @@ static int mode = CORE; /* Start in core mode. */ static int pluspresent = 0; static int allow_disabled_registers = 0; static int library_flag = 0; +static int mep_cop = EF_MEP_COP_NONE; /* We're going to need to store all of the instructions along with their fixups so that we can parallelization grouping rules. */ @@ -465,6 +466,8 @@ md_begin () else MEP_OMASK = (MEP_OMASK & ~optbitset) | optbits; + mep_cop = mep_config_map[mep_config_index].cpu_flag & EF_MEP_COP_MASK; + /* Set the machine number and endian. */ gas_cgen_cpu_desc = mep_cgen_cpu_open (CGEN_CPU_OPEN_MACHS, 0, CGEN_CPU_OPEN_ENDIAN, @@ -769,11 +772,9 @@ mep_check_parallel64_scheduling (void) { char *errmsg; mep_insn insn; - int i; /* Initialize the insn buffer. */ - for (i = 0; i < 64; i++) - insn.buffer[i] = '\0'; + memset (insn.buffer, 0, sizeof(insn.buffer)); /* We have a coprocessor insn. At this point in time there are is 32-bit core nop. There is only a 16-bit core @@ -834,11 +835,9 @@ mep_check_parallel64_scheduling (void) { char * errmsg; mep_insn insn; - int i; /* Initialize the insn buffer */ - for (i = 0; i < 64; i++) - insn.buffer[i] = '\0'; + memset (insn.buffer, 0, sizeof(insn.buffer)); /* We have a core insn. We have to handle all possible nop lengths. If a coprocessor doesn't have a nop of a certain @@ -888,6 +887,238 @@ mep_check_parallel64_scheduling (void) } } +#ifdef MEP_IVC2_SUPPORTED + +/* IVC2 packing is different than other VLIW coprocessors. Many of + the COP insns can be placed in any of three different types of + slots, and each bundle can hold up to three insns - zero or one + core insns and one or two IVC2 insns. The insns in CGEN are tagged + with which slots they're allowed in, and we have to decide based on + that whether or not the user had given us a possible bundling. */ + +static int +slot_ok (int idx, int slot) +{ + const CGEN_INSN *insn = saved_insns[idx].insn; + return CGEN_ATTR_CGEN_INSN_SLOTS_VALUE (CGEN_INSN_ATTRS (insn)) & (1 << slot); +} + +static void +mep_check_ivc2_scheduling (void) +{ + /* VLIW modes: + + V1 [-----core-----][--------p0s-------][------------p1------------] + V2 [-------------core-------------]xxxx[------------p1------------] + V3 1111[--p0--]0111[--------p0--------][------------p1------------] + */ + + int slots[5]; /* Indexed off the SLOTS_ATTR enum. */ + int corelength; + int i; + bfd_byte temp[4]; + bfd_byte *f; + int e = target_big_endian ? 0 : 1; + + /* If there are no insns saved, that's ok. Just return. This will + happen when mep_process_saved_insns is called when the end of the + source file is reached and there are no insns left to be processed. */ + if (num_insns_saved == 0) + return; + + for (i=0; i<5; i++) + slots[i] = -1; + + if (slot_ok (0, SLOTS_CORE)) + { + slots[SLOTS_CORE] = 0; + corelength = CGEN_FIELDS_BITSIZE (& saved_insns[0].fields); + } + else + corelength = 0; + + if (corelength == 16) + { + /* V1 mode: we need a P0S slot and a P1 slot. */ + switch (num_insns_saved) + { + case 1: + /* No other insns, fill with NOPs. */ + break; + + case 2: + if (slot_ok (1, SLOTS_P1)) + slots[SLOTS_P1] = 1; + else if (slot_ok (1, SLOTS_P0S)) + slots[SLOTS_P0S] = 1; + else + as_bad ("cannot pack %s with a 16-bit insn", + CGEN_INSN_NAME (saved_insns[1].insn)); + break; + + case 3: + if (slot_ok (1, SLOTS_P0S) + && slot_ok (2, SLOTS_P1)) + { + slots[SLOTS_P0S] = 1; + slots[SLOTS_P1] = 2; + } + else if (slot_ok (1, SLOTS_P1) + && slot_ok (2, SLOTS_P0S)) + { + slots[SLOTS_P1] = 1; + slots[SLOTS_P0S] = 2; + } + else + as_bad ("cannot pack %s and %s together with a 16-bit insn", + CGEN_INSN_NAME (saved_insns[1].insn), + CGEN_INSN_NAME (saved_insns[2].insn)); + break; + + default: + as_bad ("too many IVC2 insns to pack with a 16-bit core insn"); + break; + } + } + else if (corelength == 32) + { + /* V2 mode: we need a P1 slot. */ + switch (num_insns_saved) + { + case 1: + /* No other insns, fill with NOPs. */ + break; + case 2: + /* The other insn must allow P1. */ + if (!slot_ok (1, SLOTS_P1)) + as_bad ("cannot pack %s into slot P1", + CGEN_INSN_NAME (saved_insns[1].insn)); + else + slots[SLOTS_P1] = 1; + break; + default: + as_bad ("too many IVC2 insns to pack with a 32-bit core insn"); + break; + } + } + else if (corelength == 0) + { + /* V3 mode: we need a P0 slot and a P1 slot, or a P0S+P1 with a + core NOP. */ + switch (num_insns_saved) + { + case 1: + if (slot_ok (0, SLOTS_P0)) + slots[SLOTS_P0] = 0; + else if (slot_ok (0, SLOTS_P1)) + slots[SLOTS_P1] = 0; + else if (slot_ok (0, SLOTS_P0S)) + slots[SLOTS_P0S] = 0; + else + as_bad ("unable to pack %s by itself?", + CGEN_INSN_NAME (saved_insns[0].insn)); + break; + + case 2: + if (slot_ok (0, SLOTS_P0) + && slot_ok (1, SLOTS_P1)) + { + slots[SLOTS_P0] = 0; + slots[SLOTS_P1] = 1; + } + else if (slot_ok (0, SLOTS_P1) + && slot_ok (1, SLOTS_P0)) + { + slots[SLOTS_P1] = 0; + slots[SLOTS_P0] = 1; + } + else if (slot_ok (0, SLOTS_P0S) + && slot_ok (1, SLOTS_P1)) + { + slots[SLOTS_P0S] = 0; + slots[SLOTS_P1] = 1; + } + else if (slot_ok (0, SLOTS_P1) + && slot_ok (1, SLOTS_P0S)) + { + slots[SLOTS_P1] = 0; + slots[SLOTS_P0S] = 1; + } + else + as_bad ("cannot pack %s and %s together", + CGEN_INSN_NAME (saved_insns[0].insn), + CGEN_INSN_NAME (saved_insns[1].insn)); + break; + + default: + as_bad ("too many IVC2 insns to pack together"); + break; + } + } + + /* The core insn needs to be done normally so that fixups, + relaxation, etc are done. Other IVC2 insns need only be resolved + to bit patterns; there are no relocations for them. */ + if (slots[SLOTS_CORE] != -1) + { + gas_cgen_restore_fixups (0); + gas_cgen_finish_insn (saved_insns[0].insn, saved_insns[0].buffer, + CGEN_FIELDS_BITSIZE (& saved_insns[0].fields), + 1, NULL); + } + + /* Allocate whatever bytes remain in our insn word. Adjust the + pointer to point (as if it were) to the beginning of the whole + word, so that we don't have to adjust for it elsewhere. */ + f = (bfd_byte *) frag_more (8 - corelength / 8); + /* Unused slots are filled with NOPs, which happen to be all zeros. */ + memset (f, 0, 8 - corelength / 8); + f -= corelength / 8; + + for (i=1; i<5; i++) + { + mep_insn *m; + + if (slots[i] == -1) + continue; + + m = & saved_insns[slots[i]]; + +#if CGEN_INT_INSN_P + cgen_put_insn_value (gas_cgen_cpu_desc, (unsigned char *) temp, 32, + m->buffer[0]); +#else + memcpy (temp, m->buffer, byte_len); +#endif + + switch (i) + { + case SLOTS_P0S: + f[2^e] = temp[1^e]; + f[3^e] = temp[2^e]; + f[4^e] |= temp[3^e] & 0xf0; + break; + case SLOTS_P0: + f[0^e] = 0xf0 | temp[0^e] >> 4; + f[1^e] = temp[0^e] << 4 | 0x07; + f[2^e] = temp[1^e]; + f[3^e] = temp[2^e]; + f[4^e] |= temp[3^e] & 0xf0; + break; + case SLOTS_P1: + f[4^e] |= temp[0^e] >> 4; + f[5^e] = temp[0^e] << 4 | temp[1^e] >> 4; + f[6^e] = temp[1^e] << 4 | temp[2^e] >> 4; + f[7^e] = temp[2^e] << 4 | temp[3^e] >> 4; + break; + default: + break; + } + } +} + +#endif /* MEP_IVC2_SUPPORTED */ + /* The scheduling functions are just filters for invalid combinations. If there is a violation, they terminate assembly. Otherise they just fall through. Succesful combinations cause no side effects @@ -898,7 +1129,12 @@ mep_check_parallel_scheduling (void) { /* This is where we will eventually read the config information and choose which scheduling checking function to call. */ - if (MEP_VLIW64) +#ifdef MEP_IVC2_SUPPORTED + if (mep_cop == EF_MEP_COP_IVC2) + mep_check_ivc2_scheduling (); + else +#endif /* MEP_IVC2_SUPPORTED */ + if (MEP_VLIW64) mep_check_parallel64_scheduling (); else mep_check_parallel32_scheduling (); @@ -908,21 +1144,31 @@ static void mep_process_saved_insns (void) { int i; + unsigned j; gas_cgen_save_fixups (MAX_SAVED_FIXUP_CHAINS - 1); /* We have to check for valid scheduling here. */ mep_check_parallel_scheduling (); - /* If the last call didn't cause assembly to terminate, we have - a valid vliw insn/insn pair saved. Restore this instructions' - fixups and process the insns. */ - for (i = 0;i + + * mep-asm.c: Regenerate. + * mep-desc.c: Regenerate. + * mep-desc.h: Regenerate. + * mep-dis.c: Regenerate. + * mep-ibld.c: Regenerate. + * mep-opc.c: Regenerate. + * mep-opc.h: Regenerate. + 2009-04-17 DJ Delorie f_crnx); break; + case MEP_OPERAND_CROC : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u7); + break; + case MEP_OPERAND_CROP : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u23); + break; + case MEP_OPERAND_CRPC : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u26); + break; + case MEP_OPERAND_CRPP : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u18); + break; + case MEP_OPERAND_CRQC : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u21); + break; + case MEP_OPERAND_CRQP : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_5u13); + break; case MEP_OPERAND_CSRN : errmsg = parse_csrn (cd, strp, & mep_cgen_opval_h_csr, & fields->f_csrn); break; @@ -861,6 +905,90 @@ mep_cgen_parse_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_HI : errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk); break; + case MEP_OPERAND_IMM16P0 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM16P0, (unsigned long *) (& fields->f_ivc2_imm16p0)); + break; + case MEP_OPERAND_IMM3P12 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P12, (unsigned long *) (& fields->f_ivc2_3u12)); + break; + case MEP_OPERAND_IMM3P25 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P25, (unsigned long *) (& fields->f_ivc2_3u25)); + break; + case MEP_OPERAND_IMM3P4 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P4, (unsigned long *) (& fields->f_ivc2_3u4)); + break; + case MEP_OPERAND_IMM3P5 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P5, (unsigned long *) (& fields->f_ivc2_3u5)); + break; + case MEP_OPERAND_IMM3P9 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM3P9, (unsigned long *) (& fields->f_ivc2_3u9)); + break; + case MEP_OPERAND_IMM4P10 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P10, (unsigned long *) (& fields->f_ivc2_4u10)); + break; + case MEP_OPERAND_IMM4P4 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P4, (unsigned long *) (& fields->f_ivc2_4u4)); + break; + case MEP_OPERAND_IMM4P8 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM4P8, (unsigned long *) (& fields->f_ivc2_4u8)); + break; + case MEP_OPERAND_IMM5P23 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P23, (unsigned long *) (& fields->f_ivc2_5u23)); + break; + case MEP_OPERAND_IMM5P3 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P3, (unsigned long *) (& fields->f_ivc2_5u3)); + break; + case MEP_OPERAND_IMM5P7 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P7, (unsigned long *) (& fields->f_ivc2_5u7)); + break; + case MEP_OPERAND_IMM5P8 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM5P8, (unsigned long *) (& fields->f_ivc2_5u8)); + break; + case MEP_OPERAND_IMM6P2 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM6P2, (unsigned long *) (& fields->f_ivc2_6u2)); + break; + case MEP_OPERAND_IMM6P6 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM6P6, (unsigned long *) (& fields->f_ivc2_6u6)); + break; + case MEP_OPERAND_IMM8P0 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P0, (unsigned long *) (& fields->f_ivc2_8u0)); + break; + case MEP_OPERAND_IMM8P20 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P20, (unsigned long *) (& fields->f_ivc2_8u20)); + break; + case MEP_OPERAND_IMM8P4 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IMM8P4, (unsigned long *) (& fields->f_ivc2_8u4)); + break; + case MEP_OPERAND_IVC_X_0_2 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_2, (unsigned long *) (& fields->f_ivc2_2u0)); + break; + case MEP_OPERAND_IVC_X_0_3 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_3, (unsigned long *) (& fields->f_ivc2_3u0)); + break; + case MEP_OPERAND_IVC_X_0_4 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_4, (unsigned long *) (& fields->f_ivc2_4u0)); + break; + case MEP_OPERAND_IVC_X_0_5 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_0_5, (unsigned long *) (& fields->f_ivc2_5u0)); + break; + case MEP_OPERAND_IVC_X_6_1 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_1, (unsigned long *) (& fields->f_ivc2_1u6)); + break; + case MEP_OPERAND_IVC_X_6_2 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_2, (unsigned long *) (& fields->f_ivc2_2u6)); + break; + case MEP_OPERAND_IVC_X_6_3 : + errmsg = cgen_parse_unsigned_integer (cd, strp, MEP_OPERAND_IVC_X_6_3, (unsigned long *) (& fields->f_ivc2_3u6)); + break; + case MEP_OPERAND_IVC2CCRN : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_ccr, & fields->f_ivc2_ccrn); + break; + case MEP_OPERAND_IVC2CRN : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_cr64, & fields->f_ivc2_crnx); + break; + case MEP_OPERAND_IVC2RM : + errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & fields->f_ivc2_crm); + break; case MEP_OPERAND_LO : errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_csr, & junk); break; @@ -972,12 +1100,21 @@ mep_cgen_parse_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_SIMM16 : errmsg = parse_signed16 (cd, strp, MEP_OPERAND_SIMM16, (long *) (& fields->f_16s16)); break; + case MEP_OPERAND_SIMM16P0 : + errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM16P0, (long *) (& fields->f_ivc2_simm16p0)); + break; case MEP_OPERAND_SIMM6 : errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM6, (long *) (& fields->f_6s8)); break; case MEP_OPERAND_SIMM8 : errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8, (long *) (& fields->f_8s8)); break; + case MEP_OPERAND_SIMM8P0 : + errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8P0, (long *) (& fields->f_ivc2_8s0)); + break; + case MEP_OPERAND_SIMM8P4 : + errmsg = cgen_parse_signed_integer (cd, strp, MEP_OPERAND_SIMM8P4, (long *) (& fields->f_ivc2_8s4)); + break; case MEP_OPERAND_SP : errmsg = cgen_parse_keyword (cd, strp, & mep_cgen_opval_h_gpr, & junk); break; diff --git a/opcodes/mep-desc.c b/opcodes/mep-desc.c index 9225cad348..dc64c7a93a 100644 --- a/opcodes/mep-desc.c +++ b/opcodes/mep-desc.c @@ -57,6 +57,10 @@ static const CGEN_ATTR_ENTRY ISA_attr[] ATTRIBUTE_UNUSED = { { "mep", ISA_MEP }, { "ext_core1", ISA_EXT_CORE1 }, + { "ext_cop1_16", ISA_EXT_COP1_16 }, + { "ext_cop1_32", ISA_EXT_COP1_32 }, + { "ext_cop1_48", ISA_EXT_COP1_48 }, + { "ext_cop1_64", ISA_EXT_COP1_64 }, { "max", ISA_MAX }, { 0, 0 } }; @@ -97,6 +101,16 @@ static const CGEN_ATTR_ENTRY CONFIG_attr[] ATTRIBUTE_UNUSED = { 0, 0 } }; +static const CGEN_ATTR_ENTRY SLOTS_attr[] ATTRIBUTE_UNUSED = +{ + { "core", SLOTS_CORE }, + { "c3", SLOTS_C3 }, + { "p0s", SLOTS_P0S }, + { "p0", SLOTS_P0 }, + { "p1", SLOTS_P1 }, + { 0, 0 } +}; + const CGEN_ATTR_TABLE mep_cgen_ifield_attr_table[] = { { "MACH", & MACH_attr[0], & MACH_attr[0] }, @@ -146,6 +160,7 @@ const CGEN_ATTR_TABLE mep_cgen_insn_attr_table[] = { "ISA", & ISA_attr[0], & ISA_attr[0] }, { "LATENCY", & LATENCY_attr[0], & LATENCY_attr[0] }, { "CONFIG", & CONFIG_attr[0], & CONFIG_attr[0] }, + { "SLOTS", & SLOTS_attr[0], & SLOTS_attr[0] }, { "ALIAS", &bool_attr[0], &bool_attr[0] }, { "VIRTUAL", &bool_attr[0], &bool_attr[0] }, { "UNCOND-CTI", &bool_attr[0], &bool_attr[0] }, @@ -186,6 +201,10 @@ const CGEN_ATTR_TABLE mep_cgen_insn_attr_table[] = static const CGEN_ISA mep_cgen_isa_table[] = { { "mep", 32, 32, 16, 32 }, { "ext_core1", 32, 32, 16, 32 }, + { "ext_cop1_16", 32, 32, 32, 32 }, + { "ext_cop1_32", 32, 32, 32, 32 }, + { "ext_cop1_48", 32, 32, 32, 32 }, + { "ext_cop1_64", 32, 32, 32, 32 }, { 0, 0, 0, 0, 0 } }; @@ -426,6 +445,64 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr = 0, 0, 0, 0, "" }; +static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_cr_ivc2_entries[] = +{ + { "$c0", 0, {0, {{{0, 0}}}}, 0, 0 }, + { "$c1", 1, {0, {{{0, 0}}}}, 0, 0 }, + { "$c2", 2, {0, {{{0, 0}}}}, 0, 0 }, + { "$c3", 3, {0, {{{0, 0}}}}, 0, 0 }, + { "$c4", 4, {0, {{{0, 0}}}}, 0, 0 }, + { "$c5", 5, {0, {{{0, 0}}}}, 0, 0 }, + { "$c6", 6, {0, {{{0, 0}}}}, 0, 0 }, + { "$c7", 7, {0, {{{0, 0}}}}, 0, 0 } +}; + +CGEN_KEYWORD mep_cgen_opval_h_cr_ivc2 = +{ + & mep_cgen_opval_h_cr_ivc2_entries[0], + 8, + 0, 0, 0, 0, "" +}; + +static CGEN_KEYWORD_ENTRY mep_cgen_opval_h_ccr_ivc2_entries[] = +{ + { "$ivc2_acc0_0", 16, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_1", 17, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_2", 18, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_3", 19, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_4", 20, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_5", 21, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_6", 22, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc0_7", 23, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_0", 24, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_1", 25, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_2", 26, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_3", 27, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_4", 28, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_5", 29, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_6", 30, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_acc1_7", 31, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_csar0", 0, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_csar1", 15, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cc", 1, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofr0", 4, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofr1", 5, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofa0", 6, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_cofa1", 7, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr2", 2, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr3", 3, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr12", 12, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr13", 13, {0, {{{0, 0}}}}, 0, 0 }, + { "$ivc2_ccr14", 14, {0, {{{0, 0}}}}, 0, 0 } +}; + +CGEN_KEYWORD mep_cgen_opval_h_ccr_ivc2 = +{ + & mep_cgen_opval_h_ccr_ivc2_entries[0], + 28, + 0, 0, 0, 0, "" +}; + /* The hardware table. */ @@ -437,17 +514,21 @@ CGEN_KEYWORD mep_cgen_opval_h_ccr = const CGEN_HW_ENTRY mep_cgen_hw_table[] = { - { "h-memory", HW_H_MEMORY, CGEN_ASM_NONE, 0, { 0, { { { (1<nonbool[CGEN_INSN_ISA-CGEN_INSN_START_NBOOLS-1].bitset) #define CGEN_ATTR_CGEN_INSN_LATENCY_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_LATENCY-CGEN_INSN_START_NBOOLS-1].nonbitset) #define CGEN_ATTR_CGEN_INSN_CONFIG_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_CONFIG-CGEN_INSN_START_NBOOLS-1].nonbitset) +#define CGEN_ATTR_CGEN_INSN_SLOTS_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_SLOTS-CGEN_INSN_START_NBOOLS-1].nonbitset) #define CGEN_ATTR_CGEN_INSN_ALIAS_VALUE(attrs) (((attrs)->bool & (1 << CGEN_INSN_ALIAS)) != 0) #define CGEN_ATTR_CGEN_INSN_VIRTUAL_VALUE(attrs) (((attrs)->bool & (1 << CGEN_INSN_VIRTUAL)) != 0) #define CGEN_ATTR_CGEN_INSN_UNCOND_CTI_VALUE(attrs) (((attrs)->bool & (1 << CGEN_INSN_UNCOND_CTI)) != 0) @@ -320,6 +352,8 @@ extern CGEN_KEYWORD mep_cgen_opval_h_csr; extern CGEN_KEYWORD mep_cgen_opval_h_cr64; extern CGEN_KEYWORD mep_cgen_opval_h_cr; extern CGEN_KEYWORD mep_cgen_opval_h_ccr; +extern CGEN_KEYWORD mep_cgen_opval_h_cr_ivc2; +extern CGEN_KEYWORD mep_cgen_opval_h_ccr_ivc2; extern const CGEN_HW_ENTRY mep_cgen_hw_table[]; diff --git a/opcodes/mep-dis.c b/opcodes/mep-dis.c index 93f747faf0..ee0d5077b7 100644 --- a/opcodes/mep-dis.c +++ b/opcodes/mep-dis.c @@ -89,6 +89,36 @@ print_spreg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, PTR dis_info, } /* begin-cop-ip-print-handlers */ +static void +print_ivc2_cr (CGEN_CPU_DESC, + void *, + CGEN_KEYWORD *, + long, + unsigned int) ATTRIBUTE_UNUSED; +static void +print_ivc2_cr (CGEN_CPU_DESC cd, + void *dis_info, + CGEN_KEYWORD *keyword_table ATTRIBUTE_UNUSED, + long value, + unsigned int attrs) +{ + print_keyword (cd, dis_info, & mep_cgen_opval_h_cr_ivc2, value, attrs); +} +static void +print_ivc2_ccr (CGEN_CPU_DESC, + void *, + CGEN_KEYWORD *, + long, + unsigned int) ATTRIBUTE_UNUSED; +static void +print_ivc2_ccr (CGEN_CPU_DESC cd, + void *dis_info, + CGEN_KEYWORD *keyword_table ATTRIBUTE_UNUSED, + long value, + unsigned int attrs) +{ + print_keyword (cd, dis_info, & mep_cgen_opval_h_ccr_ivc2, value, attrs); +} /* end-cop-ip-print-handlers */ /************************************************************\ @@ -424,10 +454,199 @@ mep_examine_vliw64_insns (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info) return status; } +#ifdef MEP_IVC2_SUPPORTED + +static int +print_slot_insn (CGEN_CPU_DESC cd, + bfd_vma pc, + disassemble_info *info, + SLOTS_ATTR slot, + bfd_byte *buf) +{ + const CGEN_INSN_LIST *insn_list; + CGEN_INSN_INT insn_value; + CGEN_EXTRACT_INFO ex_info; + + insn_value = cgen_get_insn_value (cd, buf, 32); + + /* Fill in ex_info fields like read_insn would. Don't actually call + read_insn, since the incoming buffer is already read (and possibly + modified a la m32r). */ + ex_info.valid = (1 << 8) - 1; + ex_info.dis_info = info; + ex_info.insn_bytes = buf; + + /* The instructions are stored in hash lists. + Pick the first one and keep trying until we find the right one. */ + + insn_list = CGEN_DIS_LOOKUP_INSN (cd, (char *) buf, insn_value); + while (insn_list != NULL) + { + const CGEN_INSN *insn = insn_list->insn; + CGEN_FIELDS fields; + int length; + + if ((CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_CONFIG) + && CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_CONFIG) != MEP_CONFIG) + || ! (CGEN_ATTR_CGEN_INSN_SLOTS_VALUE (CGEN_INSN_ATTRS (insn)) & (1 << slot))) + { + insn_list = CGEN_DIS_NEXT_INSN (insn_list); + continue; + } + + if ((insn_value & CGEN_INSN_BASE_MASK (insn)) + == CGEN_INSN_BASE_VALUE (insn)) + { + /* Printing is handled in two passes. The first pass parses the + machine insn and extracts the fields. The second pass prints + them. */ + + length = CGEN_EXTRACT_FN (cd, insn) + (cd, insn, &ex_info, insn_value, &fields, pc); + + /* Length < 0 -> error. */ + if (length < 0) + return length; + if (length > 0) + { + CGEN_PRINT_FN (cd, insn) (cd, info, insn, &fields, pc, length); + /* Length is in bits, result is in bytes. */ + return length / 8; + } + } + + insn_list = CGEN_DIS_NEXT_INSN (insn_list); + } + + if (slot == SLOTS_P0S) + (*info->fprintf_func) (info->stream, "*unknown-p0s*"); + else if (slot == SLOTS_P0) + (*info->fprintf_func) (info->stream, "*unknown-p0*"); + else if (slot == SLOTS_P1) + (*info->fprintf_func) (info->stream, "*unknown-p1*"); + else if (slot == SLOTS_C3) + (*info->fprintf_func) (info->stream, "*unknown-c3*"); + return 0; +} + +static int +mep_examine_ivc2_insns (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, bfd_vma pc ATTRIBUTE_UNUSED, disassemble_info *info ATTRIBUTE_UNUSED) +{ + int status; + int buflength; + int cop2buflength; + bfd_byte buf[8]; + bfd_byte insn[8]; + int e; + + /* At this time we're not supporting internally parallel + coprocessors, so cop2buflength will always be 0. */ + cop2buflength = 0; + + /* Read in 64 bits. */ + buflength = 8; /* VLIW insn spans 8 bytes. */ + status = (*info->read_memory_func) (pc, buf, buflength, info); + + if (status != 0) + { + (*info->memory_error_func) (status, pc, info); + return -1; + } + + if (info->endian == BFD_ENDIAN_LITTLE) + e = 1; + else + e = 0; + + if ((buf[0^e] & 0xf0) != 0xf0) + { + /* <--00--><--11--><--22--><--33--><--44--><--55--><--66--><--77--> */ + /* V1 [-----core-----][--------p0s-------][------------p1------------] */ + + print_insn (cd, pc, info, buf, 2); + + insn[0^e] = 0; + insn[1^e] = buf[2^e]; + insn[2^e] = buf[3^e]; + insn[3^e] = buf[4^e] & 0xf0; + (*info->fprintf_func) (info->stream, " + "); + print_slot_insn (cd, pc, info, SLOTS_P0S, insn); + + insn[0^e] = buf[4^e] << 4 | buf[5^e] >> 4; + insn[1^e] = buf[5^e] << 4 | buf[6^e] >> 4; + insn[2^e] = buf[6^e] << 4 | buf[7^e] >> 4; + insn[3^e] = buf[7^e] << 4; + (*info->fprintf_func) (info->stream, " + "); + print_slot_insn (cd, pc, info, SLOTS_P1, insn); + } + else if ((buf[0^e] & 0xf0) == 0xf0 && (buf[1^e] & 0x0f) == 0x07) + { + /* <--00--><--11--><--22--><--33--><--44--><--55--><--66--><--77--> */ + /* V3 1111[--p0--]0111[--------p0--------][------------p1------------] */ + /* 00000000111111112222222233333333 */ + + insn[0^e] = buf[0^e] << 4 | buf[1^e] >> 4; + insn[1^e] = buf[2^e]; + insn[2^e] = buf[3^e]; + insn[3^e] = buf[4^e] & 0xf0; + print_slot_insn (cd, pc, info, SLOTS_P0, insn); + + insn[0^e] = buf[4^e] << 4 | buf[5^e] >> 4; + insn[1^e] = buf[5^e] << 4 | buf[6^e] >> 4; + insn[2^e] = buf[6^e] << 4 | buf[7^e] >> 4; + insn[3^e] = buf[7^e] << 4; + (*info->fprintf_func) (info->stream, " + "); + print_slot_insn (cd, pc, info, SLOTS_P1, insn); + } + else + { + /* <--00--><--11--><--22--><--33--><--44--><--55--><--66--><--77--> */ + /* V2 [-------------core-------------]xxxx[------------p1------------] */ + print_insn (cd, pc, info, buf, 4); + + insn[0^e] = buf[4^e] << 4 | buf[5^e] >> 4; + insn[1^e] = buf[5^e] << 4 | buf[6^e] >> 4; + insn[2^e] = buf[6^e] << 4 | buf[7^e] >> 4; + insn[3^e] = buf[7^e] << 4; + (*info->fprintf_func) (info->stream, " + "); + print_slot_insn (cd, pc, info, SLOTS_P1, insn); + } + + return 8; +} + +#endif /* MEP_IVC2_SUPPORTED */ + +/* This is a hack. SID calls this to update the disassembler as the + CPU changes modes. */ +static int mep_ivc2_disassemble_p = 0; +static int mep_ivc2_vliw_disassemble_p = 0; + +void +mep_print_insn_set_ivc2_mode (int ivc2_p, int vliw_p, int cfg_idx); +void +mep_print_insn_set_ivc2_mode (int ivc2_p, int vliw_p, int cfg_idx) +{ + mep_ivc2_disassemble_p = ivc2_p; + mep_ivc2_vliw_disassemble_p = vliw_p; + mep_config_index = cfg_idx; +} + static int mep_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info) { int status; + int cop_type; + int ivc2 = 0; + static CGEN_ATTR_VALUE_BITSET_TYPE *ivc2_core_isa = NULL; + + if (ivc2_core_isa == NULL) + { + /* IVC2 has some core-only coprocessor instructions. We + use COP32 to flag those, and COP64 for the VLIW ones, + since they have the same names. */ + ivc2_core_isa = cgen_bitset_create (MAX_ISAS); + } /* Extract and adapt to configuration number, if available. */ if (info->section && info->section->owner) @@ -435,6 +654,10 @@ mep_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info) bfd *abfd = info->section->owner; mep_config_index = abfd->tdata.elf_obj_data->elf_header->e_flags & EF_MEP_INDEX_MASK; /* This instantly redefines MEP_CONFIG, MEP_OMASK, .... MEP_VLIW64 */ + + cop_type = abfd->tdata.elf_obj_data->elf_header->e_flags & EF_MEP_COP_MASK; + if (cop_type == EF_MEP_COP_IVC2) + ivc2 = 1; } /* Picking the right ISA bitmask for the current context is tricky. */ @@ -442,21 +665,55 @@ mep_print_insn (CGEN_CPU_DESC cd, bfd_vma pc, disassemble_info *info) { if (info->section->flags & SEC_MEP_VLIW) { - /* Are we in 32 or 64 bit vliw mode? */ - if (MEP_VLIW64) - status = mep_examine_vliw64_insns (cd, pc, info); +#ifdef MEP_IVC2_SUPPORTED + if (ivc2) + { + /* ivc2 has its own way of selecting its functions. */ + cd->isas = & MEP_CORE_ISA; + status = mep_examine_ivc2_insns (cd, pc, info); + } else - status = mep_examine_vliw32_insns (cd, pc, info); +#endif + /* Are we in 32 or 64 bit vliw mode? */ + if (MEP_VLIW64) + status = mep_examine_vliw64_insns (cd, pc, info); + else + status = mep_examine_vliw32_insns (cd, pc, info); /* Both the above branches set their own isa bitmasks. */ } else { - cd->isas = & MEP_CORE_ISA; + if (ivc2) + { + cgen_bitset_clear (ivc2_core_isa); + cgen_bitset_union (ivc2_core_isa, &MEP_CORE_ISA, ivc2_core_isa); + cgen_bitset_union (ivc2_core_isa, &MEP_COP32_ISA, ivc2_core_isa); + cd->isas = ivc2_core_isa; + } + else + cd->isas = & MEP_CORE_ISA; status = default_print_insn (cd, pc, info); } } else /* sid or gdb */ { +#ifdef MEP_IVC2_SUPPORTED + if (mep_ivc2_disassemble_p) + { + if (mep_ivc2_vliw_disassemble_p) + { + cd->isas = & MEP_CORE_ISA; + status = mep_examine_ivc2_insns (cd, pc, info); + return status; + } + else + { + if (ivc2) + cd->isas = ivc2_core_isa; + } + } +#endif + status = default_print_insn (cd, pc, info); } @@ -557,6 +814,24 @@ mep_cgen_print_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_CRNX64 : print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_crnx, 0|(1<f_ivc2_5u7, 0); + break; + case MEP_OPERAND_CROP : + print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_5u23, 0); + break; + case MEP_OPERAND_CRPC : + print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_5u26, 0); + break; + case MEP_OPERAND_CRPP : + print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_5u18, 0); + break; + case MEP_OPERAND_CRQC : + print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_5u21, 0); + break; + case MEP_OPERAND_CRQP : + print_keyword (cd, info, & mep_cgen_opval_h_cr64, fields->f_ivc2_5u13, 0); + break; case MEP_OPERAND_CSRN : print_keyword (cd, info, & mep_cgen_opval_h_csr, fields->f_csrn, 0|(1<f_ivc2_imm16p0, 0|(1<f_ivc2_3u12, 0, pc, length); + break; + case MEP_OPERAND_IMM3P25 : + print_normal (cd, info, fields->f_ivc2_3u25, 0, pc, length); + break; + case MEP_OPERAND_IMM3P4 : + print_normal (cd, info, fields->f_ivc2_3u4, 0, pc, length); + break; + case MEP_OPERAND_IMM3P5 : + print_normal (cd, info, fields->f_ivc2_3u5, 0, pc, length); + break; + case MEP_OPERAND_IMM3P9 : + print_normal (cd, info, fields->f_ivc2_3u9, 0, pc, length); + break; + case MEP_OPERAND_IMM4P10 : + print_normal (cd, info, fields->f_ivc2_4u10, 0, pc, length); + break; + case MEP_OPERAND_IMM4P4 : + print_normal (cd, info, fields->f_ivc2_4u4, 0, pc, length); + break; + case MEP_OPERAND_IMM4P8 : + print_normal (cd, info, fields->f_ivc2_4u8, 0, pc, length); + break; + case MEP_OPERAND_IMM5P23 : + print_normal (cd, info, fields->f_ivc2_5u23, 0, pc, length); + break; + case MEP_OPERAND_IMM5P3 : + print_normal (cd, info, fields->f_ivc2_5u3, 0, pc, length); + break; + case MEP_OPERAND_IMM5P7 : + print_normal (cd, info, fields->f_ivc2_5u7, 0, pc, length); + break; + case MEP_OPERAND_IMM5P8 : + print_normal (cd, info, fields->f_ivc2_5u8, 0, pc, length); + break; + case MEP_OPERAND_IMM6P2 : + print_normal (cd, info, fields->f_ivc2_6u2, 0, pc, length); + break; + case MEP_OPERAND_IMM6P6 : + print_normal (cd, info, fields->f_ivc2_6u6, 0, pc, length); + break; + case MEP_OPERAND_IMM8P0 : + print_normal (cd, info, fields->f_ivc2_8u0, 0, pc, length); + break; + case MEP_OPERAND_IMM8P20 : + print_normal (cd, info, fields->f_ivc2_8u20, 0, pc, length); + break; + case MEP_OPERAND_IMM8P4 : + print_normal (cd, info, fields->f_ivc2_8u4, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_0_2 : + print_normal (cd, info, fields->f_ivc2_2u0, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_0_3 : + print_normal (cd, info, fields->f_ivc2_3u0, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_0_4 : + print_normal (cd, info, fields->f_ivc2_4u0, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_0_5 : + print_normal (cd, info, fields->f_ivc2_5u0, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_6_1 : + print_normal (cd, info, fields->f_ivc2_1u6, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_6_2 : + print_normal (cd, info, fields->f_ivc2_2u6, 0, pc, length); + break; + case MEP_OPERAND_IVC_X_6_3 : + print_normal (cd, info, fields->f_ivc2_3u6, 0, pc, length); + break; + case MEP_OPERAND_IVC2CCRN : + print_keyword (cd, info, & mep_cgen_opval_h_ccr, fields->f_ivc2_ccrn, 0|(1<f_ivc2_crnx, 0|(1<f_ivc2_crm, 0); + break; case MEP_OPERAND_LO : print_keyword (cd, info, & mep_cgen_opval_h_csr, 0, 0); break; @@ -689,12 +1048,21 @@ mep_cgen_print_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_SIMM16 : print_normal (cd, info, fields->f_16s16, 0|(1<f_ivc2_simm16p0, 0|(1<f_6s8, 0|(1<f_8s8, 0|(1<f_ivc2_8s0, 0|(1<f_ivc2_8s4, 0|(1<f_ivc2_5u7, 0, 0, 7, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_CROP : + errmsg = insert_normal (cd, fields->f_ivc2_5u23, 0, 0, 23, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_CRPC : + errmsg = insert_normal (cd, fields->f_ivc2_5u26, 0, 0, 26, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_CRPP : + errmsg = insert_normal (cd, fields->f_ivc2_5u18, 0, 0, 18, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_CRQC : + errmsg = insert_normal (cd, fields->f_ivc2_5u21, 0, 0, 21, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_CRQP : + errmsg = insert_normal (cd, fields->f_ivc2_5u13, 0, 0, 13, 5, 32, total_length, buffer); + break; case MEP_OPERAND_CSRN : { { @@ -774,6 +792,123 @@ mep_cgen_insert_operand (CGEN_CPU_DESC cd, break; case MEP_OPERAND_HI : break; + case MEP_OPERAND_IMM16P0 : + { +{ + FLD (f_ivc2_8u0) = ((((unsigned int) (FLD (f_ivc2_imm16p0)) >> (8))) & (255)); + FLD (f_ivc2_8u20) = ((FLD (f_ivc2_imm16p0)) & (255)); +} + errmsg = insert_normal (cd, fields->f_ivc2_8u0, 0, 0, 0, 8, 32, total_length, buffer); + if (errmsg) + break; + errmsg = insert_normal (cd, fields->f_ivc2_8u20, 0, 0, 20, 8, 32, total_length, buffer); + if (errmsg) + break; + } + break; + case MEP_OPERAND_IMM3P12 : + errmsg = insert_normal (cd, fields->f_ivc2_3u12, 0, 0, 12, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM3P25 : + errmsg = insert_normal (cd, fields->f_ivc2_3u25, 0, 0, 25, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM3P4 : + errmsg = insert_normal (cd, fields->f_ivc2_3u4, 0, 0, 4, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM3P5 : + errmsg = insert_normal (cd, fields->f_ivc2_3u5, 0, 0, 5, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM3P9 : + errmsg = insert_normal (cd, fields->f_ivc2_3u9, 0, 0, 9, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM4P10 : + errmsg = insert_normal (cd, fields->f_ivc2_4u10, 0, 0, 10, 4, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM4P4 : + errmsg = insert_normal (cd, fields->f_ivc2_4u4, 0, 0, 4, 4, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM4P8 : + errmsg = insert_normal (cd, fields->f_ivc2_4u8, 0, 0, 8, 4, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM5P23 : + errmsg = insert_normal (cd, fields->f_ivc2_5u23, 0, 0, 23, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM5P3 : + errmsg = insert_normal (cd, fields->f_ivc2_5u3, 0, 0, 3, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM5P7 : + errmsg = insert_normal (cd, fields->f_ivc2_5u7, 0, 0, 7, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM5P8 : + errmsg = insert_normal (cd, fields->f_ivc2_5u8, 0, 0, 8, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM6P2 : + errmsg = insert_normal (cd, fields->f_ivc2_6u2, 0, 0, 2, 6, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM6P6 : + errmsg = insert_normal (cd, fields->f_ivc2_6u6, 0, 0, 6, 6, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM8P0 : + errmsg = insert_normal (cd, fields->f_ivc2_8u0, 0, 0, 0, 8, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM8P20 : + errmsg = insert_normal (cd, fields->f_ivc2_8u20, 0, 0, 20, 8, 32, total_length, buffer); + break; + case MEP_OPERAND_IMM8P4 : + errmsg = insert_normal (cd, fields->f_ivc2_8u4, 0, 0, 4, 8, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_0_2 : + errmsg = insert_normal (cd, fields->f_ivc2_2u0, 0, 0, 0, 2, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_0_3 : + errmsg = insert_normal (cd, fields->f_ivc2_3u0, 0, 0, 0, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_0_4 : + errmsg = insert_normal (cd, fields->f_ivc2_4u0, 0, 0, 0, 4, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_0_5 : + errmsg = insert_normal (cd, fields->f_ivc2_5u0, 0, 0, 0, 5, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_6_1 : + errmsg = insert_normal (cd, fields->f_ivc2_1u6, 0, 0, 6, 1, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_6_2 : + errmsg = insert_normal (cd, fields->f_ivc2_2u6, 0, 0, 6, 2, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC_X_6_3 : + errmsg = insert_normal (cd, fields->f_ivc2_3u6, 0, 0, 6, 3, 32, total_length, buffer); + break; + case MEP_OPERAND_IVC2CCRN : + { +{ + FLD (f_ivc2_ccrn_h2) = ((((unsigned int) (FLD (f_ivc2_ccrn)) >> (4))) & (3)); + FLD (f_ivc2_ccrn_lo) = ((FLD (f_ivc2_ccrn)) & (15)); +} + errmsg = insert_normal (cd, fields->f_ivc2_ccrn_h2, 0, 0, 20, 2, 32, total_length, buffer); + if (errmsg) + break; + errmsg = insert_normal (cd, fields->f_ivc2_ccrn_lo, 0, 0, 0, 4, 32, total_length, buffer); + if (errmsg) + break; + } + break; + case MEP_OPERAND_IVC2CRN : + { +{ + FLD (f_ivc2_ccrn_h1) = ((((unsigned int) (FLD (f_ivc2_crnx)) >> (4))) & (1)); + FLD (f_ivc2_ccrn_lo) = ((FLD (f_ivc2_crnx)) & (15)); +} + errmsg = insert_normal (cd, fields->f_ivc2_ccrn_h1, 0, 0, 20, 1, 32, total_length, buffer); + if (errmsg) + break; + errmsg = insert_normal (cd, fields->f_ivc2_ccrn_lo, 0, 0, 0, 4, 32, total_length, buffer); + if (errmsg) + break; + } + break; + case MEP_OPERAND_IVC2RM : + errmsg = insert_normal (cd, fields->f_ivc2_crm, 0, 0, 4, 4, 32, total_length, buffer); + break; case MEP_OPERAND_LO : break; case MEP_OPERAND_LP : @@ -908,12 +1043,32 @@ mep_cgen_insert_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_SIMM16 : errmsg = insert_normal (cd, fields->f_16s16, 0|(1<> (8))) & (255)); + FLD (f_ivc2_8u20) = ((FLD (f_ivc2_simm16p0)) & (255)); +} + errmsg = insert_normal (cd, fields->f_ivc2_8u0, 0, 0, 0, 8, 32, total_length, buffer); + if (errmsg) + break; + errmsg = insert_normal (cd, fields->f_ivc2_8u20, 0, 0, 20, 8, 32, total_length, buffer); + if (errmsg) + break; + } + break; case MEP_OPERAND_SIMM6 : errmsg = insert_normal (cd, fields->f_6s8, 0|(1<f_8s8, 0|(1<f_ivc2_8s0, 0|(1<f_ivc2_8s4, 0|(1<f_ivc2_5u7); + break; + case MEP_OPERAND_CROP : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 23, 5, 32, total_length, pc, & fields->f_ivc2_5u23); + break; + case MEP_OPERAND_CRPC : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 26, 5, 32, total_length, pc, & fields->f_ivc2_5u26); + break; + case MEP_OPERAND_CRPP : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 18, 5, 32, total_length, pc, & fields->f_ivc2_5u18); + break; + case MEP_OPERAND_CRQC : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 21, 5, 32, total_length, pc, & fields->f_ivc2_5u21); + break; + case MEP_OPERAND_CRQP : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 13, 5, 32, total_length, pc, & fields->f_ivc2_5u13); + break; case MEP_OPERAND_CSRN : { length = extract_normal (cd, ex_info, insn_value, 0, 0, 15, 1, 32, total_length, pc, & fields->f_csrn_hi); @@ -1186,6 +1359,110 @@ mep_cgen_extract_operand (CGEN_CPU_DESC cd, break; case MEP_OPERAND_HI : break; + case MEP_OPERAND_IMM16P0 : + { + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 8, 32, total_length, pc, & fields->f_ivc2_8u0); + if (length <= 0) break; + length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 8, 32, total_length, pc, & fields->f_ivc2_8u20); + if (length <= 0) break; +{ + FLD (f_ivc2_imm16p0) = ((FLD (f_ivc2_8u20)) | (((FLD (f_ivc2_8u0)) << (8)))); +} + } + break; + case MEP_OPERAND_IMM3P12 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 12, 3, 32, total_length, pc, & fields->f_ivc2_3u12); + break; + case MEP_OPERAND_IMM3P25 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 25, 3, 32, total_length, pc, & fields->f_ivc2_3u25); + break; + case MEP_OPERAND_IMM3P4 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 3, 32, total_length, pc, & fields->f_ivc2_3u4); + break; + case MEP_OPERAND_IMM3P5 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 5, 3, 32, total_length, pc, & fields->f_ivc2_3u5); + break; + case MEP_OPERAND_IMM3P9 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 9, 3, 32, total_length, pc, & fields->f_ivc2_3u9); + break; + case MEP_OPERAND_IMM4P10 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 10, 4, 32, total_length, pc, & fields->f_ivc2_4u10); + break; + case MEP_OPERAND_IMM4P4 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_ivc2_4u4); + break; + case MEP_OPERAND_IMM4P8 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 4, 32, total_length, pc, & fields->f_ivc2_4u8); + break; + case MEP_OPERAND_IMM5P23 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 23, 5, 32, total_length, pc, & fields->f_ivc2_5u23); + break; + case MEP_OPERAND_IMM5P3 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 3, 5, 32, total_length, pc, & fields->f_ivc2_5u3); + break; + case MEP_OPERAND_IMM5P7 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 7, 5, 32, total_length, pc, & fields->f_ivc2_5u7); + break; + case MEP_OPERAND_IMM5P8 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 8, 5, 32, total_length, pc, & fields->f_ivc2_5u8); + break; + case MEP_OPERAND_IMM6P2 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 2, 6, 32, total_length, pc, & fields->f_ivc2_6u2); + break; + case MEP_OPERAND_IMM6P6 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 6, 6, 32, total_length, pc, & fields->f_ivc2_6u6); + break; + case MEP_OPERAND_IMM8P0 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 8, 32, total_length, pc, & fields->f_ivc2_8u0); + break; + case MEP_OPERAND_IMM8P20 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 8, 32, total_length, pc, & fields->f_ivc2_8u20); + break; + case MEP_OPERAND_IMM8P4 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 8, 32, total_length, pc, & fields->f_ivc2_8u4); + break; + case MEP_OPERAND_IVC_X_0_2 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 2, 32, total_length, pc, & fields->f_ivc2_2u0); + break; + case MEP_OPERAND_IVC_X_0_3 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 3, 32, total_length, pc, & fields->f_ivc2_3u0); + break; + case MEP_OPERAND_IVC_X_0_4 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 4, 32, total_length, pc, & fields->f_ivc2_4u0); + break; + case MEP_OPERAND_IVC_X_0_5 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 5, 32, total_length, pc, & fields->f_ivc2_5u0); + break; + case MEP_OPERAND_IVC_X_6_1 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 6, 1, 32, total_length, pc, & fields->f_ivc2_1u6); + break; + case MEP_OPERAND_IVC_X_6_2 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 6, 2, 32, total_length, pc, & fields->f_ivc2_2u6); + break; + case MEP_OPERAND_IVC_X_6_3 : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 6, 3, 32, total_length, pc, & fields->f_ivc2_3u6); + break; + case MEP_OPERAND_IVC2CCRN : + { + length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 2, 32, total_length, pc, & fields->f_ivc2_ccrn_h2); + if (length <= 0) break; + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 4, 32, total_length, pc, & fields->f_ivc2_ccrn_lo); + if (length <= 0) break; + FLD (f_ivc2_ccrn) = ((((FLD (f_ivc2_ccrn_h2)) << (4))) | (FLD (f_ivc2_ccrn_lo))); + } + break; + case MEP_OPERAND_IVC2CRN : + { + length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 1, 32, total_length, pc, & fields->f_ivc2_ccrn_h1); + if (length <= 0) break; + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 4, 32, total_length, pc, & fields->f_ivc2_ccrn_lo); + if (length <= 0) break; + FLD (f_ivc2_crnx) = ((((FLD (f_ivc2_ccrn_h1)) << (4))) | (FLD (f_ivc2_ccrn_lo))); + } + break; + case MEP_OPERAND_IVC2RM : + length = extract_normal (cd, ex_info, insn_value, 0, 0, 4, 4, 32, total_length, pc, & fields->f_ivc2_crm); + break; case MEP_OPERAND_LO : break; case MEP_OPERAND_LP : @@ -1312,12 +1589,29 @@ mep_cgen_extract_operand (CGEN_CPU_DESC cd, case MEP_OPERAND_SIMM16 : length = extract_normal (cd, ex_info, insn_value, 0|(1<f_16s16); break; + case MEP_OPERAND_SIMM16P0 : + { + length = extract_normal (cd, ex_info, insn_value, 0, 0, 0, 8, 32, total_length, pc, & fields->f_ivc2_8u0); + if (length <= 0) break; + length = extract_normal (cd, ex_info, insn_value, 0, 0, 20, 8, 32, total_length, pc, & fields->f_ivc2_8u20); + if (length <= 0) break; +{ + FLD (f_ivc2_simm16p0) = ((FLD (f_ivc2_8u20)) | (((FLD (f_ivc2_8u0)) << (8)))); +} + } + break; case MEP_OPERAND_SIMM6 : length = extract_normal (cd, ex_info, insn_value, 0|(1<f_6s8); break; case MEP_OPERAND_SIMM8 : length = extract_normal (cd, ex_info, insn_value, 0|(1<f_8s8); break; + case MEP_OPERAND_SIMM8P0 : + length = extract_normal (cd, ex_info, insn_value, 0|(1<f_ivc2_8s0); + break; + case MEP_OPERAND_SIMM8P4 : + length = extract_normal (cd, ex_info, insn_value, 0|(1<f_ivc2_8s4); + break; case MEP_OPERAND_SP : break; case MEP_OPERAND_SPR : @@ -1480,6 +1774,24 @@ mep_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_CRNX64 : value = fields->f_crnx; break; + case MEP_OPERAND_CROC : + value = fields->f_ivc2_5u7; + break; + case MEP_OPERAND_CROP : + value = fields->f_ivc2_5u23; + break; + case MEP_OPERAND_CRPC : + value = fields->f_ivc2_5u26; + break; + case MEP_OPERAND_CRPP : + value = fields->f_ivc2_5u18; + break; + case MEP_OPERAND_CRQC : + value = fields->f_ivc2_5u21; + break; + case MEP_OPERAND_CRQP : + value = fields->f_ivc2_5u13; + break; case MEP_OPERAND_CSRN : value = fields->f_csrn; break; @@ -1501,6 +1813,90 @@ mep_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_HI : value = 0; break; + case MEP_OPERAND_IMM16P0 : + value = fields->f_ivc2_imm16p0; + break; + case MEP_OPERAND_IMM3P12 : + value = fields->f_ivc2_3u12; + break; + case MEP_OPERAND_IMM3P25 : + value = fields->f_ivc2_3u25; + break; + case MEP_OPERAND_IMM3P4 : + value = fields->f_ivc2_3u4; + break; + case MEP_OPERAND_IMM3P5 : + value = fields->f_ivc2_3u5; + break; + case MEP_OPERAND_IMM3P9 : + value = fields->f_ivc2_3u9; + break; + case MEP_OPERAND_IMM4P10 : + value = fields->f_ivc2_4u10; + break; + case MEP_OPERAND_IMM4P4 : + value = fields->f_ivc2_4u4; + break; + case MEP_OPERAND_IMM4P8 : + value = fields->f_ivc2_4u8; + break; + case MEP_OPERAND_IMM5P23 : + value = fields->f_ivc2_5u23; + break; + case MEP_OPERAND_IMM5P3 : + value = fields->f_ivc2_5u3; + break; + case MEP_OPERAND_IMM5P7 : + value = fields->f_ivc2_5u7; + break; + case MEP_OPERAND_IMM5P8 : + value = fields->f_ivc2_5u8; + break; + case MEP_OPERAND_IMM6P2 : + value = fields->f_ivc2_6u2; + break; + case MEP_OPERAND_IMM6P6 : + value = fields->f_ivc2_6u6; + break; + case MEP_OPERAND_IMM8P0 : + value = fields->f_ivc2_8u0; + break; + case MEP_OPERAND_IMM8P20 : + value = fields->f_ivc2_8u20; + break; + case MEP_OPERAND_IMM8P4 : + value = fields->f_ivc2_8u4; + break; + case MEP_OPERAND_IVC_X_0_2 : + value = fields->f_ivc2_2u0; + break; + case MEP_OPERAND_IVC_X_0_3 : + value = fields->f_ivc2_3u0; + break; + case MEP_OPERAND_IVC_X_0_4 : + value = fields->f_ivc2_4u0; + break; + case MEP_OPERAND_IVC_X_0_5 : + value = fields->f_ivc2_5u0; + break; + case MEP_OPERAND_IVC_X_6_1 : + value = fields->f_ivc2_1u6; + break; + case MEP_OPERAND_IVC_X_6_2 : + value = fields->f_ivc2_2u6; + break; + case MEP_OPERAND_IVC_X_6_3 : + value = fields->f_ivc2_3u6; + break; + case MEP_OPERAND_IVC2CCRN : + value = fields->f_ivc2_ccrn; + break; + case MEP_OPERAND_IVC2CRN : + value = fields->f_ivc2_crnx; + break; + case MEP_OPERAND_IVC2RM : + value = fields->f_ivc2_crm; + break; case MEP_OPERAND_LO : value = 0; break; @@ -1612,12 +2008,21 @@ mep_cgen_get_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_SIMM16 : value = fields->f_16s16; break; + case MEP_OPERAND_SIMM16P0 : + value = fields->f_ivc2_simm16p0; + break; case MEP_OPERAND_SIMM6 : value = fields->f_6s8; break; case MEP_OPERAND_SIMM8 : value = fields->f_8s8; break; + case MEP_OPERAND_SIMM8P0 : + value = fields->f_ivc2_8s0; + break; + case MEP_OPERAND_SIMM8P4 : + value = fields->f_ivc2_8s4; + break; case MEP_OPERAND_SP : value = 0; break; @@ -1746,6 +2151,24 @@ mep_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_CRNX64 : value = fields->f_crnx; break; + case MEP_OPERAND_CROC : + value = fields->f_ivc2_5u7; + break; + case MEP_OPERAND_CROP : + value = fields->f_ivc2_5u23; + break; + case MEP_OPERAND_CRPC : + value = fields->f_ivc2_5u26; + break; + case MEP_OPERAND_CRPP : + value = fields->f_ivc2_5u18; + break; + case MEP_OPERAND_CRQC : + value = fields->f_ivc2_5u21; + break; + case MEP_OPERAND_CRQP : + value = fields->f_ivc2_5u13; + break; case MEP_OPERAND_CSRN : value = fields->f_csrn; break; @@ -1767,6 +2190,90 @@ mep_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_HI : value = 0; break; + case MEP_OPERAND_IMM16P0 : + value = fields->f_ivc2_imm16p0; + break; + case MEP_OPERAND_IMM3P12 : + value = fields->f_ivc2_3u12; + break; + case MEP_OPERAND_IMM3P25 : + value = fields->f_ivc2_3u25; + break; + case MEP_OPERAND_IMM3P4 : + value = fields->f_ivc2_3u4; + break; + case MEP_OPERAND_IMM3P5 : + value = fields->f_ivc2_3u5; + break; + case MEP_OPERAND_IMM3P9 : + value = fields->f_ivc2_3u9; + break; + case MEP_OPERAND_IMM4P10 : + value = fields->f_ivc2_4u10; + break; + case MEP_OPERAND_IMM4P4 : + value = fields->f_ivc2_4u4; + break; + case MEP_OPERAND_IMM4P8 : + value = fields->f_ivc2_4u8; + break; + case MEP_OPERAND_IMM5P23 : + value = fields->f_ivc2_5u23; + break; + case MEP_OPERAND_IMM5P3 : + value = fields->f_ivc2_5u3; + break; + case MEP_OPERAND_IMM5P7 : + value = fields->f_ivc2_5u7; + break; + case MEP_OPERAND_IMM5P8 : + value = fields->f_ivc2_5u8; + break; + case MEP_OPERAND_IMM6P2 : + value = fields->f_ivc2_6u2; + break; + case MEP_OPERAND_IMM6P6 : + value = fields->f_ivc2_6u6; + break; + case MEP_OPERAND_IMM8P0 : + value = fields->f_ivc2_8u0; + break; + case MEP_OPERAND_IMM8P20 : + value = fields->f_ivc2_8u20; + break; + case MEP_OPERAND_IMM8P4 : + value = fields->f_ivc2_8u4; + break; + case MEP_OPERAND_IVC_X_0_2 : + value = fields->f_ivc2_2u0; + break; + case MEP_OPERAND_IVC_X_0_3 : + value = fields->f_ivc2_3u0; + break; + case MEP_OPERAND_IVC_X_0_4 : + value = fields->f_ivc2_4u0; + break; + case MEP_OPERAND_IVC_X_0_5 : + value = fields->f_ivc2_5u0; + break; + case MEP_OPERAND_IVC_X_6_1 : + value = fields->f_ivc2_1u6; + break; + case MEP_OPERAND_IVC_X_6_2 : + value = fields->f_ivc2_2u6; + break; + case MEP_OPERAND_IVC_X_6_3 : + value = fields->f_ivc2_3u6; + break; + case MEP_OPERAND_IVC2CCRN : + value = fields->f_ivc2_ccrn; + break; + case MEP_OPERAND_IVC2CRN : + value = fields->f_ivc2_crnx; + break; + case MEP_OPERAND_IVC2RM : + value = fields->f_ivc2_crm; + break; case MEP_OPERAND_LO : value = 0; break; @@ -1878,12 +2385,21 @@ mep_cgen_get_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_SIMM16 : value = fields->f_16s16; break; + case MEP_OPERAND_SIMM16P0 : + value = fields->f_ivc2_simm16p0; + break; case MEP_OPERAND_SIMM6 : value = fields->f_6s8; break; case MEP_OPERAND_SIMM8 : value = fields->f_8s8; break; + case MEP_OPERAND_SIMM8P0 : + value = fields->f_ivc2_8s0; + break; + case MEP_OPERAND_SIMM8P4 : + value = fields->f_ivc2_8s4; + break; case MEP_OPERAND_SP : value = 0; break; @@ -2018,6 +2534,24 @@ mep_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_CRNX64 : fields->f_crnx = value; break; + case MEP_OPERAND_CROC : + fields->f_ivc2_5u7 = value; + break; + case MEP_OPERAND_CROP : + fields->f_ivc2_5u23 = value; + break; + case MEP_OPERAND_CRPC : + fields->f_ivc2_5u26 = value; + break; + case MEP_OPERAND_CRPP : + fields->f_ivc2_5u18 = value; + break; + case MEP_OPERAND_CRQC : + fields->f_ivc2_5u21 = value; + break; + case MEP_OPERAND_CRQP : + fields->f_ivc2_5u13 = value; + break; case MEP_OPERAND_CSRN : fields->f_csrn = value; break; @@ -2034,6 +2568,90 @@ mep_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, break; case MEP_OPERAND_HI : break; + case MEP_OPERAND_IMM16P0 : + fields->f_ivc2_imm16p0 = value; + break; + case MEP_OPERAND_IMM3P12 : + fields->f_ivc2_3u12 = value; + break; + case MEP_OPERAND_IMM3P25 : + fields->f_ivc2_3u25 = value; + break; + case MEP_OPERAND_IMM3P4 : + fields->f_ivc2_3u4 = value; + break; + case MEP_OPERAND_IMM3P5 : + fields->f_ivc2_3u5 = value; + break; + case MEP_OPERAND_IMM3P9 : + fields->f_ivc2_3u9 = value; + break; + case MEP_OPERAND_IMM4P10 : + fields->f_ivc2_4u10 = value; + break; + case MEP_OPERAND_IMM4P4 : + fields->f_ivc2_4u4 = value; + break; + case MEP_OPERAND_IMM4P8 : + fields->f_ivc2_4u8 = value; + break; + case MEP_OPERAND_IMM5P23 : + fields->f_ivc2_5u23 = value; + break; + case MEP_OPERAND_IMM5P3 : + fields->f_ivc2_5u3 = value; + break; + case MEP_OPERAND_IMM5P7 : + fields->f_ivc2_5u7 = value; + break; + case MEP_OPERAND_IMM5P8 : + fields->f_ivc2_5u8 = value; + break; + case MEP_OPERAND_IMM6P2 : + fields->f_ivc2_6u2 = value; + break; + case MEP_OPERAND_IMM6P6 : + fields->f_ivc2_6u6 = value; + break; + case MEP_OPERAND_IMM8P0 : + fields->f_ivc2_8u0 = value; + break; + case MEP_OPERAND_IMM8P20 : + fields->f_ivc2_8u20 = value; + break; + case MEP_OPERAND_IMM8P4 : + fields->f_ivc2_8u4 = value; + break; + case MEP_OPERAND_IVC_X_0_2 : + fields->f_ivc2_2u0 = value; + break; + case MEP_OPERAND_IVC_X_0_3 : + fields->f_ivc2_3u0 = value; + break; + case MEP_OPERAND_IVC_X_0_4 : + fields->f_ivc2_4u0 = value; + break; + case MEP_OPERAND_IVC_X_0_5 : + fields->f_ivc2_5u0 = value; + break; + case MEP_OPERAND_IVC_X_6_1 : + fields->f_ivc2_1u6 = value; + break; + case MEP_OPERAND_IVC_X_6_2 : + fields->f_ivc2_2u6 = value; + break; + case MEP_OPERAND_IVC_X_6_3 : + fields->f_ivc2_3u6 = value; + break; + case MEP_OPERAND_IVC2CCRN : + fields->f_ivc2_ccrn = value; + break; + case MEP_OPERAND_IVC2CRN : + fields->f_ivc2_crnx = value; + break; + case MEP_OPERAND_IVC2RM : + fields->f_ivc2_crm = value; + break; case MEP_OPERAND_LO : break; case MEP_OPERAND_LP : @@ -2133,12 +2751,21 @@ mep_cgen_set_int_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_SIMM16 : fields->f_16s16 = value; break; + case MEP_OPERAND_SIMM16P0 : + fields->f_ivc2_simm16p0 = value; + break; case MEP_OPERAND_SIMM6 : fields->f_6s8 = value; break; case MEP_OPERAND_SIMM8 : fields->f_8s8 = value; break; + case MEP_OPERAND_SIMM8P0 : + fields->f_ivc2_8s0 = value; + break; + case MEP_OPERAND_SIMM8P4 : + fields->f_ivc2_8s4 = value; + break; case MEP_OPERAND_SP : break; case MEP_OPERAND_SPR : @@ -2258,6 +2885,24 @@ mep_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_CRNX64 : fields->f_crnx = value; break; + case MEP_OPERAND_CROC : + fields->f_ivc2_5u7 = value; + break; + case MEP_OPERAND_CROP : + fields->f_ivc2_5u23 = value; + break; + case MEP_OPERAND_CRPC : + fields->f_ivc2_5u26 = value; + break; + case MEP_OPERAND_CRPP : + fields->f_ivc2_5u18 = value; + break; + case MEP_OPERAND_CRQC : + fields->f_ivc2_5u21 = value; + break; + case MEP_OPERAND_CRQP : + fields->f_ivc2_5u13 = value; + break; case MEP_OPERAND_CSRN : fields->f_csrn = value; break; @@ -2274,6 +2919,90 @@ mep_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, break; case MEP_OPERAND_HI : break; + case MEP_OPERAND_IMM16P0 : + fields->f_ivc2_imm16p0 = value; + break; + case MEP_OPERAND_IMM3P12 : + fields->f_ivc2_3u12 = value; + break; + case MEP_OPERAND_IMM3P25 : + fields->f_ivc2_3u25 = value; + break; + case MEP_OPERAND_IMM3P4 : + fields->f_ivc2_3u4 = value; + break; + case MEP_OPERAND_IMM3P5 : + fields->f_ivc2_3u5 = value; + break; + case MEP_OPERAND_IMM3P9 : + fields->f_ivc2_3u9 = value; + break; + case MEP_OPERAND_IMM4P10 : + fields->f_ivc2_4u10 = value; + break; + case MEP_OPERAND_IMM4P4 : + fields->f_ivc2_4u4 = value; + break; + case MEP_OPERAND_IMM4P8 : + fields->f_ivc2_4u8 = value; + break; + case MEP_OPERAND_IMM5P23 : + fields->f_ivc2_5u23 = value; + break; + case MEP_OPERAND_IMM5P3 : + fields->f_ivc2_5u3 = value; + break; + case MEP_OPERAND_IMM5P7 : + fields->f_ivc2_5u7 = value; + break; + case MEP_OPERAND_IMM5P8 : + fields->f_ivc2_5u8 = value; + break; + case MEP_OPERAND_IMM6P2 : + fields->f_ivc2_6u2 = value; + break; + case MEP_OPERAND_IMM6P6 : + fields->f_ivc2_6u6 = value; + break; + case MEP_OPERAND_IMM8P0 : + fields->f_ivc2_8u0 = value; + break; + case MEP_OPERAND_IMM8P20 : + fields->f_ivc2_8u20 = value; + break; + case MEP_OPERAND_IMM8P4 : + fields->f_ivc2_8u4 = value; + break; + case MEP_OPERAND_IVC_X_0_2 : + fields->f_ivc2_2u0 = value; + break; + case MEP_OPERAND_IVC_X_0_3 : + fields->f_ivc2_3u0 = value; + break; + case MEP_OPERAND_IVC_X_0_4 : + fields->f_ivc2_4u0 = value; + break; + case MEP_OPERAND_IVC_X_0_5 : + fields->f_ivc2_5u0 = value; + break; + case MEP_OPERAND_IVC_X_6_1 : + fields->f_ivc2_1u6 = value; + break; + case MEP_OPERAND_IVC_X_6_2 : + fields->f_ivc2_2u6 = value; + break; + case MEP_OPERAND_IVC_X_6_3 : + fields->f_ivc2_3u6 = value; + break; + case MEP_OPERAND_IVC2CCRN : + fields->f_ivc2_ccrn = value; + break; + case MEP_OPERAND_IVC2CRN : + fields->f_ivc2_crnx = value; + break; + case MEP_OPERAND_IVC2RM : + fields->f_ivc2_crm = value; + break; case MEP_OPERAND_LO : break; case MEP_OPERAND_LP : @@ -2373,12 +3102,21 @@ mep_cgen_set_vma_operand (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED, case MEP_OPERAND_SIMM16 : fields->f_16s16 = value; break; + case MEP_OPERAND_SIMM16P0 : + fields->f_ivc2_simm16p0 = value; + break; case MEP_OPERAND_SIMM6 : fields->f_6s8 = value; break; case MEP_OPERAND_SIMM8 : fields->f_8s8 = value; break; + case MEP_OPERAND_SIMM8P0 : + fields->f_ivc2_8s0 = value; + break; + case MEP_OPERAND_SIMM8P4 : + fields->f_ivc2_8s4 = value; + break; case MEP_OPERAND_SP : break; case MEP_OPERAND_SPR : diff --git a/opcodes/mep-opc.c b/opcodes/mep-opc.c index e2711e7140..6aa36a50d8 100644 --- a/opcodes/mep-opc.c +++ b/opcodes/mep-opc.c @@ -57,6 +57,10 @@ init_mep_all_cop_isas_mask (void) return; cgen_bitset_init (& mep_all_cop_isas_mask, ISA_MAX); /* begin-all-cop-isas */ + cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_16); + cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_32); + cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_48); + cgen_bitset_add (& mep_all_cop_isas_mask, ISA_EXT_COP1_64); /* end-all-cop-isas */ } @@ -89,8 +93,10 @@ mep_config_map_struct mep_config_map[] = /* config-map-start */ /* Default entry: mep core only, all options enabled. */ { "", 0, EF_MEP_CPU_C5, 1, 0, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x0"}, {1,"\x80"}, OPTION_MASK }, - { "default", CONFIG_DEFAULT, EF_MEP_CPU_C5, 0, 0, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\x0" }, { 1, "\xc0" }, + { "default", CONFIG_DEFAULT, EF_MEP_COP_IVC2 | EF_MEP_CPU_C5, 0, 64, { 1, "\x20" }, { 1, "\x10" }, { 1, "\x8" }, { 1, "\x4" }, { 1, "\x3c" }, { 1, "\xc0" }, 0 + | (1 << CGEN_INSN_OPTIONAL_CP_INSN) + | (1 << CGEN_INSN_OPTIONAL_CP64_INSN) | (1 << CGEN_INSN_OPTIONAL_MUL_INSN) | (1 << CGEN_INSN_OPTIONAL_DIV_INSN) | (1 << CGEN_INSN_OPTIONAL_BIT_INSN) @@ -428,6 +434,138 @@ static const CGEN_IFMT ifmt_sim_syscall ATTRIBUTE_UNUSED = { 16, 16, 0xf8ef, { { F (F_MAJOR) }, { F (F_4) }, { F (F_CALLNUM) }, { F (F_8) }, { F (F_9) }, { F (F_10) }, { F (F_SUB4) }, { 0 } } }; +static const CGEN_IFMT ifmt_cmov_crn_rm ATTRIBUTE_UNUSED = { + 32, 32, 0xf00ffff7, { { F (F_MAJOR) }, { F (F_CRNX) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_IVC2_4U16) }, { F (F_IVC2_4U20) }, { F (F_IVC2_4U24) }, { F (F_29) }, { F (F_30) }, { F (F_31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cmovc_ccrn_rm ATTRIBUTE_UNUSED = { + 32, 32, 0xf00ffff3, { { F (F_MAJOR) }, { F (F_CCRN) }, { F (F_RM) }, { F (F_SUB4) }, { F (F_IVC2_4U16) }, { F (F_IVC2_4U20) }, { F (F_IVC2_4U24) }, { F (F_30) }, { F (F_31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cmov_crn_rm_p0 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff7ff, { { F (F_IVC2_CRNX) }, { F (F_IVC2_CRM) }, { F (F_IVC2_CMOV1) }, { F (F_21) }, { F (F_IVC2_CMOV2) }, { F (F_IVC2_CMOV3) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cmovc_ccrn_rm_p0 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff3ff, { { F (F_IVC2_CCRN) }, { F (F_IVC2_CRM) }, { F (F_IVC2_CMOV1) }, { F (F_IVC2_CMOV2) }, { F (F_IVC2_CMOV3) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpadd3_b_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfe0ff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpfsftbi_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xf00ff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmovfrcsar0_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfe0fffff, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmovtocsar0_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfffff83f, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmov_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfe0ff83f, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpcmpeqz_b_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfffff801, { { F (F_MAJOR) }, { F (F_IVC2_3U4) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_b_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_3U6) }, { F (F_IVC2_3U9) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_h_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_2U6) }, { F (F_IVC2_4U8) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_w_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_1U6) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cdsrli3_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xfc0ff801, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_6U6) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmovi_b_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xf00ff83f, { { F (F_MAJOR) }, { F (F_IVC2_8S4) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmoviu_h_C3 ATTRIBUTE_UNUSED = { + 32, 32, 0xf00ff83f, { { F (F_MAJOR) }, { F (F_IVC2_8U4) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrlia1_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfc0fffff, { { F (F_MAJOR) }, { F (F_IVC2_2U4) }, { F (F_IVC2_1U6) }, { F (F_IVC2_5U7) }, { F (F_SUB4) }, { F (F_IVC2_5U16) }, { F (F_IVC2_5U21) }, { F (F_IVC2_5U26) }, { F (F_IVC2_1U31) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_c0nop_P0_P0S ATTRIBUTE_UNUSED = { + 32, 32, 0xffffffff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpadd3_b_P0S_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff8000f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmov_P0S_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff83e0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpccadd_b_P0S_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff83fff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmovfrcsar0_P0S_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfffffe0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpcmpeqz_b_P0S_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xfff801ff, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrlia0_P0S ATTRIBUTE_UNUSED = { + 32, 32, 0xfffffe0f, { { F (F_IVC2_8U0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpfsftbi_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf8000f, { { F (F_IVC2_5U0) }, { F (F_IVC2_3U5) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_b_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf83e0f, { { F (F_IVC2_5U0) }, { F (F_IVC2_3U5) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_h_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf83e0f, { { F (F_IVC2_4U0) }, { F (F_IVC2_4U4) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpsrli3_w_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf83e0f, { { F (F_IVC2_3U0) }, { F (F_IVC2_5U3) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cdsrli3_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf83e0f, { { F (F_IVC2_2U0) }, { F (F_IVC2_6U2) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmovi_h_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf8300f, { { F (F_IVC2_SIMM16P0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_2U18) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpmoviu_w_P0_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf8300f, { { F (F_IVC2_IMM16P0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_2U18) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpfmulia1s0u_b_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf801ff, { { F (F_IVC2_8S0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_5U23) }, { F (F_IVC2_4U28) }, { 0 } } +}; + +static const CGEN_IFMT ifmt_cpfmulia1u_b_P1 ATTRIBUTE_UNUSED = { + 32, 32, 0xf8018f, { { F (F_IVC2_8S0) }, { F (F_IVC2_5U8) }, { F (F_IVC2_5U13) }, { F (F_IVC2_5U18) }, { F (F_IVC2_2U23) }, { F (F_IVC2_3U25) }, { F (F_IVC2_4U28) }, { 0 } } +}; + #undef F #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) @@ -1663,7 +1801,7 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (PCREL24A2), 0 } }, & ifmt_bsr24, { 0xd80b0000 } }, -/* --unused-- */ +/* --syscall-- */ { { 0, 0, 0, 0 }, { { MNEM, 0 } }, @@ -1801,6 +1939,4128 @@ static const CGEN_OPCODE mep_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, 0 } }, & ifmt_mov, { 0xf008 } }, +/* cmov $crnx64,$rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRNX64), ',', OP (RM), 0 } }, + & ifmt_cmov_crn_rm, { 0xf007f000 } + }, +/* cmov $rm,$crnx64 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RM), ',', OP (CRNX64), 0 } }, + & ifmt_cmov_crn_rm, { 0xf007f001 } + }, +/* cmovc $ccrn,$rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CCRN), ',', OP (RM), 0 } }, + & ifmt_cmovc_ccrn_rm, { 0xf007f002 } + }, +/* cmovc $rm,$ccrn */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RM), ',', OP (CCRN), 0 } }, + & ifmt_cmovc_ccrn_rm, { 0xf007f003 } + }, +/* cmovh $crnx64,$rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRNX64), ',', OP (RM), 0 } }, + & ifmt_cmov_crn_rm, { 0xf007f100 } + }, +/* cmovh $rm,$crnx64 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (RM), ',', OP (CRNX64), 0 } }, + & ifmt_cmov_crn_rm, { 0xf007f101 } + }, +/* cmov $ivc2crn,$ivc2rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2CRN), ',', OP (IVC2RM), 0 } }, + & ifmt_cmov_crn_rm_p0, { 0xf00000 } + }, +/* cmov $ivc2rm,$ivc2crn */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CRN), 0 } }, + & ifmt_cmov_crn_rm_p0, { 0xf00100 } + }, +/* cmovc $ivc2ccrn,$ivc2rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2CCRN), ',', OP (IVC2RM), 0 } }, + & ifmt_cmovc_ccrn_rm_p0, { 0xf00200 } + }, +/* cmovc $ivc2rm,$ivc2ccrn */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CCRN), 0 } }, + & ifmt_cmovc_ccrn_rm_p0, { 0xf00300 } + }, +/* cmovh $ivc2crn,$ivc2rm */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2CRN), ',', OP (IVC2RM), 0 } }, + & ifmt_cmov_crn_rm_p0, { 0xf10000 } + }, +/* cmovh $ivc2rm,$ivc2crn */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IVC2RM), ',', OP (IVC2CRN), 0 } }, + & ifmt_cmov_crn_rm_p0, { 0xf10100 } + }, +/* cpadd3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0070000 } + }, +/* cpadd3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2070000 } + }, +/* cpadd3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4070000 } + }, +/* cdadd3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6070000 } + }, +/* cpsub3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8070000 } + }, +/* cpsub3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa070000 } + }, +/* cpsub3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc070000 } + }, +/* cdsub3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe070000 } + }, +/* cpand3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0070800 } + }, +/* cpor3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2070800 } + }, +/* cpnor3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4070800 } + }, +/* cpxor3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6070800 } + }, +/* cpsel $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8070800 } + }, +/* cpfsftbi $croc,$crqc,$crpc,$imm3p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P4), 0 } }, + & ifmt_cpfsftbi_C3, { 0xf007e800 } + }, +/* cpfsftbs0 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc070800 } + }, +/* cpfsftbs1 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe070800 } + }, +/* cpunpacku.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0071000 } + }, +/* cpunpacku.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2071000 } + }, +/* cpunpacku.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4071000 } + }, +/* cpunpackl.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8071000 } + }, +/* cpunpackl.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa071000 } + }, +/* cpunpackl.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc071000 } + }, +/* cppacku.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8071800 } + }, +/* cppack.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa071800 } + }, +/* cppack.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe071800 } + }, +/* cpsrl3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0072000 } + }, +/* cpssrl3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2072000 } + }, +/* cpsrl3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4072000 } + }, +/* cpssrl3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6072000 } + }, +/* cpsrl3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8072000 } + }, +/* cpssrl3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa072000 } + }, +/* cdsrl3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc072000 } + }, +/* cpsra3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0072800 } + }, +/* cpssra3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2072800 } + }, +/* cpsra3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4072800 } + }, +/* cpssra3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6072800 } + }, +/* cpsra3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8072800 } + }, +/* cpssra3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa072800 } + }, +/* cdsra3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc072800 } + }, +/* cpsll3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0073000 } + }, +/* cpssll3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2073000 } + }, +/* cpsll3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4073000 } + }, +/* cpssll3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6073000 } + }, +/* cpsll3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8073000 } + }, +/* cpssll3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa073000 } + }, +/* cdsll3 $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc073000 } + }, +/* cpsla3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4073800 } + }, +/* cpsla3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8073800 } + }, +/* cpsadd3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4074000 } + }, +/* cpsadd3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6074000 } + }, +/* cpssub3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc074000 } + }, +/* cpssub3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe074000 } + }, +/* cpextuaddu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0074800 } + }, +/* cpextuadd3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2074800 } + }, +/* cpextladdu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4074800 } + }, +/* cpextladd3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6074800 } + }, +/* cpextusubu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8074800 } + }, +/* cpextusub3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa074800 } + }, +/* cpextlsubu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc074800 } + }, +/* cpextlsub3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe074800 } + }, +/* cpaveu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0075000 } + }, +/* cpave3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2075000 } + }, +/* cpave3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4075000 } + }, +/* cpave3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6075000 } + }, +/* cpaddsru3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8075000 } + }, +/* cpaddsr3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa075000 } + }, +/* cpaddsr3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfc075000 } + }, +/* cpaddsr3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfe075000 } + }, +/* cpabsu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0075800 } + }, +/* cpabs3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2075800 } + }, +/* cpabs3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf4075800 } + }, +/* cpmaxu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0076000 } + }, +/* cpmax3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2076000 } + }, +/* cpmax3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6076000 } + }, +/* cpmaxu3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8076000 } + }, +/* cpmax3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa076000 } + }, +/* cpminu3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf0076800 } + }, +/* cpmin3.b $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf2076800 } + }, +/* cpmin3.h $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf6076800 } + }, +/* cpminu3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xf8076800 } + }, +/* cpmin3.w $croc,$crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpadd3_b_C3, { 0xfa076800 } + }, +/* cpmovfrcsar0 $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0078000 } + }, +/* cpmovfrcsar1 $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007801e } + }, +/* cpmovfrcc $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0078002 } + }, +/* cpmovtocsar0 $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf0078020 } + }, +/* cpmovtocsar1 $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf007803e } + }, +/* cpmovtocc $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf0078022 } + }, +/* cpmov $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078800 } + }, +/* cpabsz.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078802 } + }, +/* cpabsz.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078804 } + }, +/* cpabsz.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078806 } + }, +/* cpldz.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078808 } + }, +/* cpldz.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007880a } + }, +/* cpnorm.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007880c } + }, +/* cpnorm.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007880e } + }, +/* cphaddu.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078810 } + }, +/* cphadd.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078812 } + }, +/* cphadd.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078814 } + }, +/* cphadd.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078816 } + }, +/* cpccadd.b $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078818 } + }, +/* cpbcast.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007881a } + }, +/* cpbcast.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007881c } + }, +/* cpbcast.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007881e } + }, +/* cpextuu.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078820 } + }, +/* cpextu.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078822 } + }, +/* cpextuu.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078824 } + }, +/* cpextu.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078826 } + }, +/* cpextlu.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078828 } + }, +/* cpextl.b $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007882a } + }, +/* cpextlu.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007882c } + }, +/* cpextl.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007882e } + }, +/* cpcastub.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078830 } + }, +/* cpcastb.h $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078832 } + }, +/* cpcastub.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078838 } + }, +/* cpcastb.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007883a } + }, +/* cpcastuh.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007883c } + }, +/* cpcasth.w $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf007883e } + }, +/* cdcastuw $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078834 } + }, +/* cdcastw $croc,$crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), ',', OP (CRQC), 0 } }, + & ifmt_cpmov_C3, { 0xf0078836 } + }, +/* cpcmpeqz.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0079000 } + }, +/* cpcmpeq.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0179000 } + }, +/* cpcmpeq.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0379000 } + }, +/* cpcmpeq.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0579000 } + }, +/* cpcmpne.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0979000 } + }, +/* cpcmpne.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0b79000 } + }, +/* cpcmpne.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0d79000 } + }, +/* cpcmpgtu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1079000 } + }, +/* cpcmpgt.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1179000 } + }, +/* cpcmpgt.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1379000 } + }, +/* cpcmpgtu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1479000 } + }, +/* cpcmpgt.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1579000 } + }, +/* cpcmpgeu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1879000 } + }, +/* cpcmpge.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1979000 } + }, +/* cpcmpge.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1b79000 } + }, +/* cpcmpgeu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1c79000 } + }, +/* cpcmpge.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1d79000 } + }, +/* cpacmpeq.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2179000 } + }, +/* cpacmpeq.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2379000 } + }, +/* cpacmpeq.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2579000 } + }, +/* cpacmpne.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2979000 } + }, +/* cpacmpne.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2b79000 } + }, +/* cpacmpne.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2d79000 } + }, +/* cpacmpgtu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3079000 } + }, +/* cpacmpgt.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3179000 } + }, +/* cpacmpgt.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3379000 } + }, +/* cpacmpgtu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3479000 } + }, +/* cpacmpgt.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3579000 } + }, +/* cpacmpgeu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3879000 } + }, +/* cpacmpge.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3979000 } + }, +/* cpacmpge.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3b79000 } + }, +/* cpacmpgeu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3c79000 } + }, +/* cpacmpge.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3d79000 } + }, +/* cpocmpeq.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4179000 } + }, +/* cpocmpeq.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4379000 } + }, +/* cpocmpeq.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4579000 } + }, +/* cpocmpne.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4979000 } + }, +/* cpocmpne.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4b79000 } + }, +/* cpocmpne.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4d79000 } + }, +/* cpocmpgtu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5079000 } + }, +/* cpocmpgt.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5179000 } + }, +/* cpocmpgt.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5379000 } + }, +/* cpocmpgtu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5479000 } + }, +/* cpocmpgt.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5579000 } + }, +/* cpocmpgeu.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5879000 } + }, +/* cpocmpge.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5979000 } + }, +/* cpocmpge.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5b79000 } + }, +/* cpocmpgeu.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5c79000 } + }, +/* cpocmpge.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf5d79000 } + }, +/* cpsrli3.b $crqc,$crpc,$imm3p9 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } }, + & ifmt_cpsrli3_b_C3, { 0xf007a000 } + }, +/* cpsrli3.h $crqc,$crpc,$imm4p8 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } }, + & ifmt_cpsrli3_h_C3, { 0xf407a000 } + }, +/* cpsrli3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf807a000 } + }, +/* cdsrli3 $crqc,$crpc,$imm6p6 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } }, + & ifmt_cdsrli3_C3, { 0xfc07a000 } + }, +/* cpsrai3.b $crqc,$crpc,$imm3p9 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } }, + & ifmt_cpsrli3_b_C3, { 0xf007a800 } + }, +/* cpsrai3.h $crqc,$crpc,$imm4p8 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } }, + & ifmt_cpsrli3_h_C3, { 0xf407a800 } + }, +/* cpsrai3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf807a800 } + }, +/* cdsrai3 $crqc,$crpc,$imm6p6 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } }, + & ifmt_cdsrli3_C3, { 0xfc07a800 } + }, +/* cpslli3.b $crqc,$crpc,$imm3p9 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM3P9), 0 } }, + & ifmt_cpsrli3_b_C3, { 0xf007b000 } + }, +/* cpslli3.h $crqc,$crpc,$imm4p8 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } }, + & ifmt_cpsrli3_h_C3, { 0xf407b000 } + }, +/* cpslli3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf807b000 } + }, +/* cdslli3 $crqc,$crpc,$imm6p6 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } }, + & ifmt_cdsrli3_C3, { 0xfc07b000 } + }, +/* cpslai3.h $crqc,$crpc,$imm4p8 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM4P8), 0 } }, + & ifmt_cpsrli3_h_C3, { 0xf407b800 } + }, +/* cpslai3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf807b800 } + }, +/* cpclipiu3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf007c000 } + }, +/* cpclipi3.w $crqc,$crpc,$imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM5P7), 0 } }, + & ifmt_cpsrli3_w_C3, { 0xf407c000 } + }, +/* cdclipiu3 $crqc,$crpc,$imm6p6 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } }, + & ifmt_cdsrli3_C3, { 0xf807c000 } + }, +/* cdclipi3 $crqc,$crpc,$imm6p6 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), ',', OP (IMM6P6), 0 } }, + & ifmt_cdsrli3_C3, { 0xfc07c000 } + }, +/* cpmovi.b $crqc,$simm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } }, + & ifmt_cpmovi_b_C3, { 0xf007c800 } + }, +/* cpmoviu.h $crqc,$imm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } }, + & ifmt_cpmoviu_h_C3, { 0xf007c804 } + }, +/* cpmovi.h $crqc,$simm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } }, + & ifmt_cpmovi_b_C3, { 0xf007c806 } + }, +/* cpmoviu.w $crqc,$imm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } }, + & ifmt_cpmoviu_h_C3, { 0xf007c808 } + }, +/* cpmovi.w $crqc,$simm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } }, + & ifmt_cpmovi_b_C3, { 0xf007c80a } + }, +/* cdmoviu $crqc,$imm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (IMM8P4), 0 } }, + & ifmt_cpmoviu_h_C3, { 0xf007c80c } + }, +/* cdmovi $crqc,$simm8p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (SIMM8P4), 0 } }, + & ifmt_cpmovi_b_C3, { 0xf007c80e } + }, +/* cpadda1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0070001 } + }, +/* cpadda1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0170001 } + }, +/* cpaddua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0270001 } + }, +/* cpaddla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0370001 } + }, +/* cpaddaca1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0470001 } + }, +/* cpaddaca1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0570001 } + }, +/* cpaddacua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0670001 } + }, +/* cpaddacla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0770001 } + }, +/* cpsuba1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0870001 } + }, +/* cpsuba1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0970001 } + }, +/* cpsubua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0a70001 } + }, +/* cpsubla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0b70001 } + }, +/* cpsubaca1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0c70001 } + }, +/* cpsubaca1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0d70001 } + }, +/* cpsubacua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0e70001 } + }, +/* cpsubacla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0f70001 } + }, +/* cpabsa1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1070001 } + }, +/* cpabsa1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1170001 } + }, +/* cpabsua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1270001 } + }, +/* cpabsla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1370001 } + }, +/* cpsada1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1470001 } + }, +/* cpsada1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1570001 } + }, +/* cpsadua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1670001 } + }, +/* cpsadla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1770001 } + }, +/* cpseta1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2070001 } + }, +/* cpsetua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2270001 } + }, +/* cpsetla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf2370001 } + }, +/* cpmova1.b $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072001 } + }, +/* cpmovua1.h $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072005 } + }, +/* cpmovla1.h $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072007 } + }, +/* cpmovuua1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072009 } + }, +/* cpmovula1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007200b } + }, +/* cpmovlua1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007200d } + }, +/* cpmovlla1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007200f } + }, +/* cppacka1u.b $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072021 } + }, +/* cppacka1.b $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072023 } + }, +/* cppackua1.h $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072025 } + }, +/* cppackla1.h $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072027 } + }, +/* cppackua1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf0072029 } + }, +/* cppackla1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007202b } + }, +/* cpmovhua1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007202d } + }, +/* cpmovhla1.w $croc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROC), 0 } }, + & ifmt_cpmovfrcsar0_C3, { 0xf007202f } + }, +/* cpsrla1 $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf0071001 } + }, +/* cpsraa1 $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf0171001 } + }, +/* cpslla1 $crqc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), 0 } }, + & ifmt_cpmovtocsar0_C3, { 0xf0271001 } + }, +/* cpsrlia1 $imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P7), 0 } }, + & ifmt_cpsrlia1_P1, { 0xf0071801 } + }, +/* cpsraia1 $imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P7), 0 } }, + & ifmt_cpsrlia1_P1, { 0xf4071801 } + }, +/* cpsllia1 $imm5p7 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P7), 0 } }, + & ifmt_cpsrlia1_P1, { 0xf8071801 } + }, +/* cpssqa1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0070801 } + }, +/* cpssqa1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0170801 } + }, +/* cpssda1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0470801 } + }, +/* cpssda1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0570801 } + }, +/* cpmula1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0870801 } + }, +/* cpmula1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0970801 } + }, +/* cpmulua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0a70801 } + }, +/* cpmulla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0b70801 } + }, +/* cpmulua1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0c70801 } + }, +/* cpmulla1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0d70801 } + }, +/* cpmulua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0e70801 } + }, +/* cpmulla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf0f70801 } + }, +/* cpmada1u.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1070801 } + }, +/* cpmada1.b $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1170801 } + }, +/* cpmadua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1270801 } + }, +/* cpmadla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1370801 } + }, +/* cpmadua1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1470801 } + }, +/* cpmadla1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1570801 } + }, +/* cpmadua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1670801 } + }, +/* cpmadla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1770801 } + }, +/* cpmsbua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1a70801 } + }, +/* cpmsbla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1b70801 } + }, +/* cpmsbua1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1c70801 } + }, +/* cpmsbla1u.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1d70801 } + }, +/* cpmsbua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1e70801 } + }, +/* cpmsbla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf1f70801 } + }, +/* cpsmadua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3270801 } + }, +/* cpsmadla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3370801 } + }, +/* cpsmadua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3670801 } + }, +/* cpsmadla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3770801 } + }, +/* cpsmsbua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3a70801 } + }, +/* cpsmsbla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3b70801 } + }, +/* cpsmsbua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3e70801 } + }, +/* cpsmsbla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf3f70801 } + }, +/* cpmulslua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4a70801 } + }, +/* cpmulslla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4b70801 } + }, +/* cpmulslua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4e70801 } + }, +/* cpmulslla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf4f70801 } + }, +/* cpsmadslua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7270801 } + }, +/* cpsmadslla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7370801 } + }, +/* cpsmadslua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7670801 } + }, +/* cpsmadslla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7770801 } + }, +/* cpsmsbslua1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7a70801 } + }, +/* cpsmsbslla1.h $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7b70801 } + }, +/* cpsmsbslua1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7e70801 } + }, +/* cpsmsbslla1.w $crqc,$crpc */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQC), ',', OP (CRPC), 0 } }, + & ifmt_cpcmpeqz_b_C3, { 0xf7f70801 } + }, +/* c0nop */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0x0 } + }, +/* cpadd3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x80000 } + }, +/* cpadd3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x100000 } + }, +/* cpadd3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x180000 } + }, +/* cpunpacku.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x280000 } + }, +/* cpunpacku.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x300000 } + }, +/* cpunpacku.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x380000 } + }, +/* cpunpackl.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x480000 } + }, +/* cpunpackl.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x500000 } + }, +/* cpunpackl.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x580000 } + }, +/* cpsel $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x200000 } + }, +/* cpfsftbs0 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x600000 } + }, +/* cpfsftbs1 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x680000 } + }, +/* cpmov $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800000 } + }, +/* cpabsz.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800200 } + }, +/* cpabsz.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800400 } + }, +/* cpabsz.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800600 } + }, +/* cpldz.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800800 } + }, +/* cpldz.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800a00 } + }, +/* cpnorm.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800c00 } + }, +/* cpnorm.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x800e00 } + }, +/* cphaddu.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801000 } + }, +/* cphadd.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801200 } + }, +/* cphadd.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801400 } + }, +/* cphadd.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801600 } + }, +/* cpccadd.b $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0x801800 } + }, +/* cpbcast.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801a00 } + }, +/* cpbcast.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801c00 } + }, +/* cpbcast.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x801e00 } + }, +/* cpextuu.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802000 } + }, +/* cpextu.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802200 } + }, +/* cpextuu.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802400 } + }, +/* cpextu.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802600 } + }, +/* cpextlu.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802800 } + }, +/* cpextl.b $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802a00 } + }, +/* cpextlu.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802c00 } + }, +/* cpextl.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x802e00 } + }, +/* cpcastub.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803000 } + }, +/* cpcastb.h $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803200 } + }, +/* cpcastub.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803800 } + }, +/* cpcastb.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803a00 } + }, +/* cpcastuh.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803c00 } + }, +/* cpcasth.w $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803e00 } + }, +/* cdcastuw $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803400 } + }, +/* cdcastw $crop,$crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), 0 } }, + & ifmt_cpmov_P0S_P1, { 0x803600 } + }, +/* cpmovfrcsar0 $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0x880000 } + }, +/* cpmovfrcsar1 $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0x881e00 } + }, +/* cpmovfrcc $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0x880200 } + }, +/* cpmovtocsar0 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0x882000 } + }, +/* cpmovtocsar1 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0x883e00 } + }, +/* cpmovtocc $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0x882200 } + }, +/* cpcmpeqz.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900000 } + }, +/* cpcmpeq.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900010 } + }, +/* cpcmpeq.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900030 } + }, +/* cpcmpeq.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900050 } + }, +/* cpcmpne.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900090 } + }, +/* cpcmpne.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9000b0 } + }, +/* cpcmpne.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9000d0 } + }, +/* cpcmpgtu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900100 } + }, +/* cpcmpgt.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900110 } + }, +/* cpcmpgt.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900130 } + }, +/* cpcmpgtu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900140 } + }, +/* cpcmpgt.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900150 } + }, +/* cpcmpgeu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900180 } + }, +/* cpcmpge.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x900190 } + }, +/* cpcmpge.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001b0 } + }, +/* cpcmpgeu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001c0 } + }, +/* cpcmpge.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9001d0 } + }, +/* cpadda0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00000 } + }, +/* cpadda0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00010 } + }, +/* cpaddua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00020 } + }, +/* cpaddla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00030 } + }, +/* cpaddaca0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00040 } + }, +/* cpaddaca0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00050 } + }, +/* cpaddacua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00060 } + }, +/* cpaddacla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00070 } + }, +/* cpsuba0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00080 } + }, +/* cpsuba0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00090 } + }, +/* cpsubua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000a0 } + }, +/* cpsubla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000b0 } + }, +/* cpsubaca0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000c0 } + }, +/* cpsubaca0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000d0 } + }, +/* cpsubacua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000e0 } + }, +/* cpsubacla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000f0 } + }, +/* cpabsa0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00100 } + }, +/* cpabsa0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00110 } + }, +/* cpabsua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00120 } + }, +/* cpabsla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00130 } + }, +/* cpsada0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00140 } + }, +/* cpsada0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00150 } + }, +/* cpsadua0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00160 } + }, +/* cpsadla0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00170 } + }, +/* cpseta0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001b0 } + }, +/* cpsetua0.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001c0 } + }, +/* cpsetla0.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001d0 } + }, +/* cpmova0.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80200 } + }, +/* cpmovua0.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80400 } + }, +/* cpmovla0.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80600 } + }, +/* cpmovuua0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80800 } + }, +/* cpmovula0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80a00 } + }, +/* cpmovlua0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80c00 } + }, +/* cpmovlla0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80e00 } + }, +/* cppacka0u.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81000 } + }, +/* cppacka0.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81200 } + }, +/* cppackua0.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81400 } + }, +/* cppackla0.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81600 } + }, +/* cppackua0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81800 } + }, +/* cppackla0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81a00 } + }, +/* cpmovhua0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81c00 } + }, +/* cpmovhla0.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81e00 } + }, +/* cpacsuma0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0xc82000 } + }, +/* cpaccpa0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0xc82200 } + }, +/* cpsrla0 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83000 } + }, +/* cpsraa0 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83200 } + }, +/* cpslla0 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83400 } + }, +/* cpsrlia0 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83800 } + }, +/* cpsraia0 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83a00 } + }, +/* cpsllia0 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83c00 } + }, +/* cpfsftba0s0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80000 } + }, +/* cpfsftba0s0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80010 } + }, +/* cpfsftbua0s0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80020 } + }, +/* cpfsftbla0s0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80030 } + }, +/* cpfaca0s0u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80040 } + }, +/* cpfaca0s0.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80050 } + }, +/* cpfacua0s0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80060 } + }, +/* cpfacla0s0.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80070 } + }, +/* cpfsftba0s1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80080 } + }, +/* cpfsftba0s1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf80090 } + }, +/* cpfsftbua0s1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800a0 } + }, +/* cpfsftbla0s1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800b0 } + }, +/* cpfaca0s1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800c0 } + }, +/* cpfaca0s1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800d0 } + }, +/* cpfacua0s1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800e0 } + }, +/* cpfacla0s1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf800f0 } + }, +/* cpfsftbi $crop,$crqp,$crpp,$imm3p5 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P5), 0 } }, + & ifmt_cpfsftbi_P0_P1, { 0x400000 } + }, +/* cpacmpeq.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980010 } + }, +/* cpacmpeq.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980030 } + }, +/* cpacmpeq.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980050 } + }, +/* cpacmpne.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980090 } + }, +/* cpacmpne.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9800b0 } + }, +/* cpacmpne.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9800d0 } + }, +/* cpacmpgtu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980100 } + }, +/* cpacmpgt.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980110 } + }, +/* cpacmpgt.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980130 } + }, +/* cpacmpgtu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980140 } + }, +/* cpacmpgt.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980150 } + }, +/* cpacmpgeu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980180 } + }, +/* cpacmpge.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x980190 } + }, +/* cpacmpge.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801b0 } + }, +/* cpacmpgeu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801c0 } + }, +/* cpacmpge.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x9801d0 } + }, +/* cpocmpeq.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980010 } + }, +/* cpocmpeq.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980030 } + }, +/* cpocmpeq.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980050 } + }, +/* cpocmpne.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980090 } + }, +/* cpocmpne.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x19800b0 } + }, +/* cpocmpne.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x19800d0 } + }, +/* cpocmpgtu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980100 } + }, +/* cpocmpgt.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980110 } + }, +/* cpocmpgt.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980130 } + }, +/* cpocmpgtu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980140 } + }, +/* cpocmpgt.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980150 } + }, +/* cpocmpgeu.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980180 } + }, +/* cpocmpge.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1980190 } + }, +/* cpocmpge.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801b0 } + }, +/* cpocmpgeu.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801c0 } + }, +/* cpocmpge.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x19801d0 } + }, +/* cdadd3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x3a00000 } + }, +/* cpsub3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4a00000 } + }, +/* cpsub3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x5a00000 } + }, +/* cpsub3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x6a00000 } + }, +/* cdsub3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x7a00000 } + }, +/* cpsadd3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0xaa00000 } + }, +/* cpsadd3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0xba00000 } + }, +/* cpssub3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0xea00000 } + }, +/* cpssub3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0xfa00000 } + }, +/* cpextuaddu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x10a00000 } + }, +/* cpextuadd3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x11a00000 } + }, +/* cpextladdu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x12a00000 } + }, +/* cpextladd3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x13a00000 } + }, +/* cpextusubu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x14a00000 } + }, +/* cpextusub3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x15a00000 } + }, +/* cpextlsubu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x16a00000 } + }, +/* cpextlsub3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x17a00000 } + }, +/* cpaveu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x18a00000 } + }, +/* cpave3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x19a00000 } + }, +/* cpave3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1aa00000 } + }, +/* cpave3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1ba00000 } + }, +/* cpaddsru3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1ca00000 } + }, +/* cpaddsr3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1da00000 } + }, +/* cpaddsr3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1ea00000 } + }, +/* cpaddsr3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x1fa00000 } + }, +/* cpabsu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x20a00000 } + }, +/* cpabs3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x21a00000 } + }, +/* cpabs3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x22a00000 } + }, +/* cpand3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x24a00000 } + }, +/* cpor3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x25a00000 } + }, +/* cpnor3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x26a00000 } + }, +/* cpxor3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x27a00000 } + }, +/* cppacku.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x2ca00000 } + }, +/* cppack.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x2da00000 } + }, +/* cppack.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x2fa00000 } + }, +/* cpmaxu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x30a00000 } + }, +/* cpmax3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x31a00000 } + }, +/* cpmax3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x33a00000 } + }, +/* cpmaxu3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x34a00000 } + }, +/* cpmax3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x35a00000 } + }, +/* cpminu3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x38a00000 } + }, +/* cpmin3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x39a00000 } + }, +/* cpmin3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x3ba00000 } + }, +/* cpminu3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x3ca00000 } + }, +/* cpmin3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x3da00000 } + }, +/* cpsrl3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x40a00000 } + }, +/* cpssrl3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x41a00000 } + }, +/* cpsrl3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x42a00000 } + }, +/* cpssrl3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x43a00000 } + }, +/* cpsrl3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x44a00000 } + }, +/* cpssrl3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x45a00000 } + }, +/* cdsrl3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x46a00000 } + }, +/* cpsra3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x48a00000 } + }, +/* cpssra3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x49a00000 } + }, +/* cpsra3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4aa00000 } + }, +/* cpssra3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4ba00000 } + }, +/* cpsra3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4ca00000 } + }, +/* cpssra3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4da00000 } + }, +/* cdsra3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x4ea00000 } + }, +/* cpsll3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x50a00000 } + }, +/* cpssll3.b $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x51a00000 } + }, +/* cpsll3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x52a00000 } + }, +/* cpssll3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x53a00000 } + }, +/* cpsll3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x54a00000 } + }, +/* cpssll3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x55a00000 } + }, +/* cdsll3 $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x56a00000 } + }, +/* cpsla3.h $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x5aa00000 } + }, +/* cpsla3.w $crop,$crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpadd3_b_P0S_P1, { 0x5ca00000 } + }, +/* cpsrli3.b $crop,$crqp,$imm3p5 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } }, + & ifmt_cpsrli3_b_P0_P1, { 0xa80000 } + }, +/* cpsrli3.h $crop,$crqp,$imm4p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } }, + & ifmt_cpsrli3_h_P0_P1, { 0xa80200 } + }, +/* cpsrli3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa80400 } + }, +/* cdsrli3 $crop,$crqp,$imm6p2 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } }, + & ifmt_cdsrli3_P0_P1, { 0xa80600 } + }, +/* cpsrai3.b $crop,$crqp,$imm3p5 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } }, + & ifmt_cpsrli3_b_P0_P1, { 0xa80800 } + }, +/* cpsrai3.h $crop,$crqp,$imm4p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } }, + & ifmt_cpsrli3_h_P0_P1, { 0xa80a00 } + }, +/* cpsrai3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa80c00 } + }, +/* cdsrai3 $crop,$crqp,$imm6p2 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } }, + & ifmt_cdsrli3_P0_P1, { 0xa80e00 } + }, +/* cpslli3.b $crop,$crqp,$imm3p5 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM3P5), 0 } }, + & ifmt_cpsrli3_b_P0_P1, { 0xa81000 } + }, +/* cpslli3.h $crop,$crqp,$imm4p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } }, + & ifmt_cpsrli3_h_P0_P1, { 0xa81200 } + }, +/* cpslli3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa81400 } + }, +/* cdslli3 $crop,$crqp,$imm6p2 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } }, + & ifmt_cdsrli3_P0_P1, { 0xa81600 } + }, +/* cpslai3.h $crop,$crqp,$imm4p4 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM4P4), 0 } }, + & ifmt_cpsrli3_h_P0_P1, { 0xa81a00 } + }, +/* cpslai3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa81c00 } + }, +/* cpclipiu3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa82000 } + }, +/* cpclipi3.w $crop,$crqp,$imm5p3 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM5P3), 0 } }, + & ifmt_cpsrli3_w_P0_P1, { 0xa82200 } + }, +/* cdclipiu3 $crop,$crqp,$imm6p2 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } }, + & ifmt_cdsrli3_P0_P1, { 0xa82400 } + }, +/* cdclipi3 $crop,$crqp,$imm6p2 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), ',', OP (CRQP), ',', OP (IMM6P2), 0 } }, + & ifmt_cdsrli3_P0_P1, { 0xa82600 } + }, +/* cpmovi.h $crqp,$simm16p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } }, + & ifmt_cpmovi_h_P0_P1, { 0xb01000 } + }, +/* cpmoviu.w $crqp,$imm16p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (IMM16P0), 0 } }, + & ifmt_cpmoviu_w_P0_P1, { 0xb80000 } + }, +/* cpmovi.w $crqp,$simm16p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } }, + & ifmt_cpmovi_h_P0_P1, { 0xb81000 } + }, +/* cdmoviu $crqp,$imm16p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (IMM16P0), 0 } }, + & ifmt_cpmoviu_w_P0_P1, { 0xb82000 } + }, +/* cdmovi $crqp,$simm16p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (SIMM16P0), 0 } }, + & ifmt_cpmovi_h_P0_P1, { 0xb83000 } + }, +/* c1nop */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0x0 } + }, +/* cpadda1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00000 } + }, +/* cpadda1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00010 } + }, +/* cpaddua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00020 } + }, +/* cpaddla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00030 } + }, +/* cpaddaca1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00040 } + }, +/* cpaddaca1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00050 } + }, +/* cpaddacua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00060 } + }, +/* cpaddacla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00070 } + }, +/* cpsuba1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00080 } + }, +/* cpsuba1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00090 } + }, +/* cpsubua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000a0 } + }, +/* cpsubla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000b0 } + }, +/* cpsubaca1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000c0 } + }, +/* cpsubaca1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000d0 } + }, +/* cpsubacua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000e0 } + }, +/* cpsubacla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc000f0 } + }, +/* cpabsa1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00100 } + }, +/* cpabsa1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00110 } + }, +/* cpabsua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00120 } + }, +/* cpabsla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00130 } + }, +/* cpsada1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00140 } + }, +/* cpsada1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00150 } + }, +/* cpsadua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00160 } + }, +/* cpsadla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc00170 } + }, +/* cpseta1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001b0 } + }, +/* cpsetua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001c0 } + }, +/* cpsetla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xc001d0 } + }, +/* cpmova1.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80200 } + }, +/* cpmovua1.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80400 } + }, +/* cpmovla1.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80600 } + }, +/* cpmovuua1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80800 } + }, +/* cpmovula1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80a00 } + }, +/* cpmovlua1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80c00 } + }, +/* cpmovlla1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc80e00 } + }, +/* cppacka1u.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81000 } + }, +/* cppacka1.b $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81200 } + }, +/* cppackua1.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81400 } + }, +/* cppackla1.h $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81600 } + }, +/* cppackua1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81800 } + }, +/* cppackla1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81a00 } + }, +/* cpmovhua1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81c00 } + }, +/* cpmovhla1.w $crop */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CROP), 0 } }, + & ifmt_cpmovfrcsar0_P0S_P1, { 0xc81e00 } + }, +/* cpacsuma1 */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0xc82000 } + }, +/* cpaccpa1 */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0xc82200 } + }, +/* cpacswp */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_c0nop_P0_P0S, { 0xc82400 } + }, +/* cpsrla1 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83000 } + }, +/* cpsraa1 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83200 } + }, +/* cpslla1 $crqp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), 0 } }, + & ifmt_cpccadd_b_P0S_P1, { 0xc83400 } + }, +/* cpsrlia1 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83800 } + }, +/* cpsraia1 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83a00 } + }, +/* cpsllia1 $imm5p23 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (IMM5P23), 0 } }, + & ifmt_cpsrlia0_P0S, { 0xc83c00 } + }, +/* cpfmulia1s0u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80000 } + }, +/* cpfmulia1s0.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80010 } + }, +/* cpfmuliua1s0.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80020 } + }, +/* cpfmulila1s0.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80030 } + }, +/* cpfmadia1s0u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80040 } + }, +/* cpfmadia1s0.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80050 } + }, +/* cpfmadiua1s0.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80060 } + }, +/* cpfmadila1s0.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80070 } + }, +/* cpfmulia1s1u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80080 } + }, +/* cpfmulia1s1.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80090 } + }, +/* cpfmuliua1s1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800a0 } + }, +/* cpfmulila1s1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800b0 } + }, +/* cpfmadia1s1u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800c0 } + }, +/* cpfmadia1s1.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800d0 } + }, +/* cpfmadiua1s1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800e0 } + }, +/* cpfmadila1s1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf800f0 } + }, +/* cpamulia1u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80100 } + }, +/* cpamulia1.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80110 } + }, +/* cpamuliua1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80120 } + }, +/* cpamulila1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80130 } + }, +/* cpamadia1u.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80140 } + }, +/* cpamadia1.b $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80150 } + }, +/* cpamadiua1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80160 } + }, +/* cpamadila1.h $crqp,$crpp,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1s0u_b_P1, { 0xf80170 } + }, +/* cpfmulia1u.b $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe00000 } + }, +/* cpfmulia1.b $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe00080 } + }, +/* cpfmuliua1.h $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe00100 } + }, +/* cpfmulila1.h $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe00180 } + }, +/* cpfmadia1u.b $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe80000 } + }, +/* cpfmadia1.b $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe80080 } + }, +/* cpfmadiua1.h $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe80100 } + }, +/* cpfmadila1.h $crqp,$crpp,$imm3p25,$simm8p0 */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), ',', OP (IMM3P25), ',', OP (SIMM8P0), 0 } }, + & ifmt_cpfmulia1u_b_P1, { 0xe80180 } + }, +/* cpssqa1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00000 } + }, +/* cpssqa1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00010 } + }, +/* cpssda1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00040 } + }, +/* cpssda1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00050 } + }, +/* cpmula1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00080 } + }, +/* cpmula1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00090 } + }, +/* cpmulua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000a0 } + }, +/* cpmulla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000b0 } + }, +/* cpmulua1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000c0 } + }, +/* cpmulla1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000d0 } + }, +/* cpmulua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000e0 } + }, +/* cpmulla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf000f0 } + }, +/* cpmada1u.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00100 } + }, +/* cpmada1.b $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00110 } + }, +/* cpmadua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00120 } + }, +/* cpmadla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00130 } + }, +/* cpmadua1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00140 } + }, +/* cpmadla1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00150 } + }, +/* cpmadua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00160 } + }, +/* cpmadla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf00170 } + }, +/* cpmsbua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001a0 } + }, +/* cpmsbla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001b0 } + }, +/* cpmsbua1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001c0 } + }, +/* cpmsbla1u.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001d0 } + }, +/* cpmsbua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001e0 } + }, +/* cpmsbla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0xf001f0 } + }, +/* cpsmadua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00120 } + }, +/* cpsmadla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00130 } + }, +/* cpsmadua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00160 } + }, +/* cpsmadla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f00170 } + }, +/* cpsmsbua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001a0 } + }, +/* cpsmsbla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001b0 } + }, +/* cpsmsbua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001e0 } + }, +/* cpsmsbla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x1f001f0 } + }, +/* cpmulslua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000a0 } + }, +/* cpmulslla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000b0 } + }, +/* cpmulslua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000e0 } + }, +/* cpmulslla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x2f000f0 } + }, +/* cpsmadslua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00120 } + }, +/* cpsmadslla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00130 } + }, +/* cpsmadslua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00160 } + }, +/* cpsmadslla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f00170 } + }, +/* cpsmsbslua1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001a0 } + }, +/* cpsmsbslla1.h $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001b0 } + }, +/* cpsmsbslua1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001e0 } + }, +/* cpsmsbslla1.w $crqp,$crpp */ + { + { 0, 0, 0, 0 }, + { { MNEM, ' ', OP (CRQP), ',', OP (CRPP), 0 } }, + & ifmt_cpcmpeqz_b_P0S_P1, { 0x3f001f0 } + }, }; #undef A @@ -1891,67 +6151,67 @@ static const CGEN_IBASE mep_cgen_macro_insn_table[] = /* nop */ { -1, "nop", "nop", 16, - { 0|A(ALIAS), { { { (1<