/*
 *  Copyright (c) 2012-2014 Bastian Koppelmann C-Lab/University Paderborn
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */

#ifndef TARGET_TRICORE_TRICORE_OPCODES_H
#define TARGET_TRICORE_TRICORE_OPCODES_H

/*
 * Opcode Masks for Tricore
 * Format MASK_OP_InstrFormatName_Field
 */

/* This creates a mask with bits start .. end set to 1 and applies it to op */
#define MASK_BITS_SHIFT(op, start, end) (extract32(op, (start), \
                                        (end) - (start) + 1))
#define MASK_BITS_SHIFT_SEXT(op, start, end) (sextract32(op, (start),\
                                             (end) - (start) + 1))

/* new opcode masks */

#define MASK_OP_MAJOR(op)      MASK_BITS_SHIFT(op, 0, 7)

/* 16-Bit Formats */
#define MASK_OP_SB_DISP8(op)   MASK_BITS_SHIFT(op, 8, 15)
#define MASK_OP_SB_DISP8_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 8, 15)

#define MASK_OP_SBC_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SBC_CONST4_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 12, 15)
#define MASK_OP_SBC_DISP4(op)  MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SBR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SBR_DISP4(op)  MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SBRN_N(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SBRN_DISP4(op) MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SC_CONST8(op)  MASK_BITS_SHIFT(op, 8, 15)

#define MASK_OP_SLR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SLR_D(op)      MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SLRO_OFF4(op)  MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SLRO_D(op)     MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SR_OP2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SR_S1D(op)     MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SRC_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SRC_CONST4_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 12, 15)
#define MASK_OP_SRC_S1D(op)    MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SRO_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SRO_OFF4(op)   MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SRR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SRR_S1D(op)    MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SRRS_S2(op)    MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SRRS_S1D(op)   MASK_BITS_SHIFT(op, 8, 11)
#define MASK_OP_SRRS_N(op)     MASK_BITS_SHIFT(op, 6, 7)

#define MASK_OP_SSR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SSR_S1(op)     MASK_BITS_SHIFT(op, 8, 11)

#define MASK_OP_SSRO_OFF4(op)  MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_SSRO_S1(op)    MASK_BITS_SHIFT(op, 8, 11)

/* 32-Bit Formats */

/* ABS Format */
#define MASK_OP_ABS_OFF18(op)  (MASK_BITS_SHIFT(op, 16, 21) +       \
                               (MASK_BITS_SHIFT(op, 28, 31) << 6) + \
                               (MASK_BITS_SHIFT(op, 22, 25) << 10) +\
                               (MASK_BITS_SHIFT(op, 12, 15) << 14))
#define MASK_OP_ABS_OP2(op)    MASK_BITS_SHIFT(op, 26, 27)
#define MASK_OP_ABS_S1D(op)    MASK_BITS_SHIFT(op, 8, 11)

/* ABSB Format */
#define MASK_OP_ABSB_OFF18(op) MASK_OP_ABS_OFF18(op)
#define MASK_OP_ABSB_OP2(op)   MASK_BITS_SHIFT(op, 26, 27)
#define MASK_OP_ABSB_B(op)     MASK_BITS_SHIFT(op, 11, 11)
#define MASK_OP_ABSB_BPOS(op)  MASK_BITS_SHIFT(op, 8, 10)

/* B Format   */
#define MASK_OP_B_DISP24(op)   (MASK_BITS_SHIFT(op, 16, 31) + \
                               (MASK_BITS_SHIFT(op, 8, 15) << 16))
#define MASK_OP_B_DISP24_SEXT(op)   (MASK_BITS_SHIFT(op, 16, 31) + \
                                    (MASK_BITS_SHIFT_SEXT(op, 8, 15) << 16))
/* BIT Format */
#define MASK_OP_BIT_D(op)      MASK_BITS_SHIFT(op, 28, 31)
#define MASK_OP_BIT_POS2(op)   MASK_BITS_SHIFT(op, 23, 27)
#define MASK_OP_BIT_OP2(op)    MASK_BITS_SHIFT(op, 21, 22)
#define MASK_OP_BIT_POS1(op)   MASK_BITS_SHIFT(op, 16, 20)
#define MASK_OP_BIT_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_BIT_S1(op)     MASK_BITS_SHIFT(op, 8, 11)

/* BO Format */
#define MASK_OP_BO_OFF10(op)   (MASK_BITS_SHIFT(op, 16, 21) + \
                               (MASK_BITS_SHIFT(op, 28, 31) << 6))
#define MASK_OP_BO_OFF10_SEXT(op)   (MASK_BITS_SHIFT(op, 16, 21) + \
                                    (MASK_BITS_SHIFT_SEXT(op, 28, 31) << 6))
#define MASK_OP_BO_OP2(op)     MASK_BITS_SHIFT(op, 22, 27)
#define MASK_OP_BO_S2(op)      MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_BO_S1D(op)     MASK_BITS_SHIFT(op, 8, 11)

/* BOL Format */
#define MASK_OP_BOL_OFF16(op)  ((MASK_BITS_SHIFT(op, 16, 21) +        \
                               (MASK_BITS_SHIFT(op, 28, 31) << 6)) + \
                               (MASK_BITS_SHIFT(op, 22, 27) << 10))
#define MASK_OP_BOL_OFF16_SEXT(op)  ((MASK_BITS_SHIFT(op, 16, 21) +        \
                                    (MASK_BITS_SHIFT(op, 28, 31) << 6)) + \
                                    (MASK_BITS_SHIFT_SEXT(op, 22, 27) << 10))
#define MASK_OP_BOL_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_BOL_S1D(op)    MASK_BITS_SHIFT(op, 8, 11)

/* BRC Format */
#define MASK_OP_BRC_OP2(op)    MASK_BITS_SHIFT(op, 31, 31)
#define MASK_OP_BRC_DISP15(op) MASK_BITS_SHIFT(op, 16, 30)
#define MASK_OP_BRC_DISP15_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 16, 30)
#define MASK_OP_BRC_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_BRC_CONST4_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 12, 15)
#define MASK_OP_BRC_S1(op)     MASK_BITS_SHIFT(op, 8, 11)

/* BRN Format */
#define MASK_OP_BRN_OP2(op)    MASK_BITS_SHIFT(op, 31, 31)
#define MASK_OP_BRN_DISP15(op) MASK_BITS_SHIFT(op, 16, 30)
#define MASK_OP_BRN_DISP15_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 16, 30)
#define MASK_OP_BRN_N(op)      (MASK_BITS_SHIFT(op, 12, 15) + \
                               (MASK_BITS_SHIFT(op, 7, 7) << 4))
#define MASK_OP_BRN_S1(op)     MASK_BITS_SHIFT(op, 8, 11)
/* BRR Format */
#define MASK_OP_BRR_OP2(op)    MASK_BITS_SHIFT(op, 31, 31)
#define MASK_OP_BRR_DISP15(op) MASK_BITS_SHIFT(op, 16, 30)
#define MASK_OP_BRR_DISP15_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 16, 30)
#define MASK_OP_BRR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_BRR_S1(op)     MASK_BITS_SHIFT(op, 8, 11)

/* META MASK for similar instr Formats */
#define MASK_OP_META_D(op)     MASK_BITS_SHIFT(op, 28, 31)
#define MASK_OP_META_S1(op)    MASK_BITS_SHIFT(op, 8, 11)

/* RC Format */
#define MASK_OP_RC_D(op)       MASK_OP_META_D(op)
#define MASK_OP_RC_OP2(op)     MASK_BITS_SHIFT(op, 21, 27)
#define MASK_OP_RC_CONST9(op)  MASK_BITS_SHIFT(op, 12, 20)
#define MASK_OP_RC_CONST9_SEXT(op)  MASK_BITS_SHIFT_SEXT(op, 12, 20)
#define MASK_OP_RC_S1(op)      MASK_OP_META_S1(op)

/* RCPW Format */

#define MASK_OP_RCPW_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RCPW_POS(op)    MASK_BITS_SHIFT(op, 23, 27)
#define MASK_OP_RCPW_OP2(op)    MASK_BITS_SHIFT(op, 21, 22)
#define MASK_OP_RCPW_WIDTH(op)  MASK_BITS_SHIFT(op, 16, 20)
#define MASK_OP_RCPW_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RCPW_S1(op)     MASK_OP_META_S1(op)

/* RCR Format */

#define MASK_OP_RCR_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RCR_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RCR_OP2(op)    MASK_BITS_SHIFT(op, 21, 23)
#define MASK_OP_RCR_CONST9(op) MASK_BITS_SHIFT(op, 12, 20)
#define MASK_OP_RCR_CONST9_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 12, 20)
#define MASK_OP_RCR_S1(op)     MASK_OP_META_S1(op)

/* RCRR Format */

#define MASK_OP_RCRR_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RCRR_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RCRR_OP2(op)    MASK_BITS_SHIFT(op, 21, 23)
#define MASK_OP_RCRR_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RCRR_S1(op)     MASK_OP_META_S1(op)

/* RCRW Format */

#define MASK_OP_RCRW_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RCRW_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RCRW_OP2(op)    MASK_BITS_SHIFT(op, 21, 23)
#define MASK_OP_RCRW_WIDTH(op)  MASK_BITS_SHIFT(op, 16, 20)
#define MASK_OP_RCRW_CONST4(op) MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RCRW_S1(op)     MASK_OP_META_S1(op)

/* RLC Format */

#define MASK_OP_RLC_D(op)       MASK_OP_META_D(op)
#define MASK_OP_RLC_CONST16(op) MASK_BITS_SHIFT(op, 12, 27)
#define MASK_OP_RLC_CONST16_SEXT(op) MASK_BITS_SHIFT_SEXT(op, 12, 27)
#define MASK_OP_RLC_S1(op)      MASK_OP_META_S1(op)

/* RR  Format */
#define MASK_OP_RR_D(op)        MASK_OP_META_D(op)
#define MASK_OP_RR_OP2(op)      MASK_BITS_SHIFT(op, 20, 27)
#define MASK_OP_RR_N(op)        MASK_BITS_SHIFT(op, 16, 17)
#define MASK_OP_RR_S2(op)       MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RR_S1(op)       MASK_OP_META_S1(op)

/* RR1  Format */
#define MASK_OP_RR1_D(op)       MASK_OP_META_D(op)
#define MASK_OP_RR1_OP2(op)     MASK_BITS_SHIFT(op, 18, 27)
#define MASK_OP_RR1_N(op)       MASK_BITS_SHIFT(op, 16, 17)
#define MASK_OP_RR1_S2(op)      MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RR1_S1(op)      MASK_OP_META_S1(op)

/* RR2  Format */
#define MASK_OP_RR2_D(op)       MASK_OP_META_D(op)
#define MASK_OP_RR2_OP2(op)     MASK_BITS_SHIFT(op, 16, 27)
#define MASK_OP_RR2_S2(op)      MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RR2_S1(op)      MASK_OP_META_S1(op)

/* RRPW  Format */
#define MASK_OP_RRPW_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RRPW_POS(op)    MASK_BITS_SHIFT(op, 23, 27)
#define MASK_OP_RRPW_OP2(op)    MASK_BITS_SHIFT(op, 21, 22)
#define MASK_OP_RRPW_WIDTH(op)  MASK_BITS_SHIFT(op, 16, 20)
#define MASK_OP_RRPW_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRPW_S1(op)     MASK_OP_META_S1(op)

/* RRR  Format */
#define MASK_OP_RRR_D(op)       MASK_OP_META_D(op)
#define MASK_OP_RRR_S3(op)      MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RRR_OP2(op)     MASK_BITS_SHIFT(op, 20, 23)
#define MASK_OP_RRR_N(op)       MASK_BITS_SHIFT(op, 16, 17)
#define MASK_OP_RRR_S2(op)      MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRR_S1(op)      MASK_OP_META_S1(op)

/* RRR1  Format */
#define MASK_OP_RRR1_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RRR1_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RRR1_OP2(op)    MASK_BITS_SHIFT(op, 18, 23)
#define MASK_OP_RRR1_N(op)      MASK_BITS_SHIFT(op, 16, 17)
#define MASK_OP_RRR1_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRR1_S1(op)     MASK_OP_META_S1(op)

/* RRR2  Format */
#define MASK_OP_RRR2_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RRR2_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RRR2_OP2(op)    MASK_BITS_SHIFT(op, 16, 23)
#define MASK_OP_RRR2_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRR2_S1(op)     MASK_OP_META_S1(op)

/* RRRR  Format */
#define MASK_OP_RRRR_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RRRR_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RRRR_OP2(op)    MASK_BITS_SHIFT(op, 21, 23)
#define MASK_OP_RRRR_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRRR_S1(op)     MASK_OP_META_S1(op)

/* RRRW  Format */
#define MASK_OP_RRRW_D(op)      MASK_OP_META_D(op)
#define MASK_OP_RRRW_S3(op)     MASK_BITS_SHIFT(op, 24, 27)
#define MASK_OP_RRRW_OP2(op)    MASK_BITS_SHIFT(op, 21, 23)
#define MASK_OP_RRRW_WIDTH(op)  MASK_BITS_SHIFT(op, 16, 20)
#define MASK_OP_RRRW_S2(op)     MASK_BITS_SHIFT(op, 12, 15)
#define MASK_OP_RRRW_S1(op)     MASK_OP_META_S1(op)

/* SYS Format */
#define MASK_OP_SYS_OP2(op)     MASK_BITS_SHIFT(op, 22, 27)
#define MASK_OP_SYS_S1D(op)     MASK_OP_META_S1(op)



/*
 * Tricore Opcodes Enums
 *
 * Format: OPC(1|2|M)_InstrLen_Name
 * OPC1 = only op1 field is used
 * OPC2 = op1 and op2 field used part of OPCM
 * OPCM = op1 field used to group Instr
 * InstrLen = 16|32
 * Name = Name of Instr
 */

/* 16-Bit */
enum {

    OPCM_16_SR_SYSTEM                                = 0x00,
    OPCM_16_SR_ACCU                                  = 0x32,

    OPC1_16_SRC_ADD                                  = 0xc2,
    OPC1_16_SRC_ADD_A15                              = 0x92,
    OPC1_16_SRC_ADD_15A                              = 0x9a,
    OPC1_16_SRR_ADD                                  = 0x42,
    OPC1_16_SRR_ADD_A15                              = 0x12,
    OPC1_16_SRR_ADD_15A                              = 0x1a,
    OPC1_16_SRC_ADD_A                                = 0xb0,
    OPC1_16_SRR_ADD_A                                = 0x30,
    OPC1_16_SRR_ADDS                                 = 0x22,
    OPC1_16_SRRS_ADDSC_A                             = 0x10,
    OPC1_16_SC_AND                                   = 0x16,
    OPC1_16_SRR_AND                                  = 0x26,
    OPC1_16_SC_BISR                                  = 0xe0,
    OPC1_16_SRC_CADD                                 = 0x8a,
    OPC1_16_SRC_CADDN                                = 0xca,
    OPC1_16_SB_CALL                                  = 0x5c,
    OPC1_16_SRC_CMOV                                 = 0xaa,
    OPC1_16_SRR_CMOV                                 = 0x2a,
    OPC1_16_SRC_CMOVN                                = 0xea,
    OPC1_16_SRR_CMOVN                                = 0x6a,
    OPC1_16_SRC_EQ                                   = 0xba,
    OPC1_16_SRR_EQ                                   = 0x3a,
    OPC1_16_SB_J                                     = 0x3c,
    OPC1_16_SBC_JEQ                                  = 0x1e,
    OPC1_16_SBC_JEQ2                                 = 0x9e,
    OPC1_16_SBR_JEQ                                  = 0x3e,
    OPC1_16_SBR_JEQ2                                 = 0xbe,
    OPC1_16_SBR_JGEZ                                 = 0xce,
    OPC1_16_SBR_JGTZ                                 = 0x4e,
    OPC1_16_SR_JI                                    = 0xdc,
    OPC1_16_SBR_JLEZ                                 = 0x8e,
    OPC1_16_SBR_JLTZ                                 = 0x0e,
    OPC1_16_SBC_JNE                                  = 0x5e,
    OPC1_16_SBC_JNE2                                 = 0xde,
    OPC1_16_SBR_JNE                                  = 0x7e,
    OPC1_16_SBR_JNE2                                 = 0xfe,
    OPC1_16_SB_JNZ                                   = 0xee,
    OPC1_16_SBR_JNZ                                  = 0xf6,
    OPC1_16_SBR_JNZ_A                                = 0x7c,
    OPC1_16_SBRN_JNZ_T                               = 0xae,
    OPC1_16_SB_JZ                                    = 0x6e,
    OPC1_16_SBR_JZ                                   = 0x76,
    OPC1_16_SBR_JZ_A                                 = 0xbc,
    OPC1_16_SBRN_JZ_T                                = 0x2e,
    OPC1_16_SC_LD_A                                  = 0xd8,
    OPC1_16_SLR_LD_A                                 = 0xd4,
    OPC1_16_SLR_LD_A_POSTINC                         = 0xc4,
    OPC1_16_SLRO_LD_A                                = 0xc8,
    OPC1_16_SRO_LD_A                                 = 0xcc,
    OPC1_16_SLR_LD_BU                                = 0x14,
    OPC1_16_SLR_LD_BU_POSTINC                        = 0x04,
    OPC1_16_SLRO_LD_BU                               = 0x08,
    OPC1_16_SRO_LD_BU                                = 0x0c,
    OPC1_16_SLR_LD_H                                 = 0x94,
    OPC1_16_SLR_LD_H_POSTINC                         = 0x84,
    OPC1_16_SLRO_LD_H                                = 0x88,
    OPC1_16_SRO_LD_H                                 = 0x8c,
    OPC1_16_SC_LD_W                                  = 0x58,
    OPC1_16_SLR_LD_W                                 = 0x54,
    OPC1_16_SLR_LD_W_POSTINC                         = 0x44,
    OPC1_16_SLRO_LD_W                                = 0x48,
    OPC1_16_SRO_LD_W                                 = 0x4c,
    OPC1_16_SBR_LOOP                                 = 0xfc,
    OPC1_16_SRC_LT                                   = 0xfa,
    OPC1_16_SRR_LT                                   = 0x7a,
    OPC1_16_SC_MOV                                   = 0xda,
    OPC1_16_SRC_MOV                                  = 0x82,
    OPC1_16_SRR_MOV                                  = 0x02,
    OPC1_16_SRC_MOV_E                                = 0xd2,/* 1.6 only */
    OPC1_16_SRC_MOV_A                                = 0xa0,
    OPC1_16_SRR_MOV_A                                = 0x60,
    OPC1_16_SRR_MOV_AA                               = 0x40,
    OPC1_16_SRR_MOV_D                                = 0x80,
    OPC1_16_SRR_MUL                                  = 0xe2,
    OPC1_16_SR_NOT                                   = 0x46,
    OPC1_16_SC_OR                                    = 0x96,
    OPC1_16_SRR_OR                                   = 0xa6,
    OPC1_16_SRC_SH                                   = 0x06,
    OPC1_16_SRC_SHA                                  = 0x86,
    OPC1_16_SC_ST_A                                  = 0xf8,
    OPC1_16_SRO_ST_A                                 = 0xec,
    OPC1_16_SSR_ST_A                                 = 0xf4,
    OPC1_16_SSR_ST_A_POSTINC                         = 0xe4,
    OPC1_16_SSRO_ST_A                                = 0xe8,
    OPC1_16_SRO_ST_B                                 = 0x2c,
    OPC1_16_SSR_ST_B                                 = 0x34,
    OPC1_16_SSR_ST_B_POSTINC                         = 0x24,
    OPC1_16_SSRO_ST_B                                = 0x28,
    OPC1_16_SRO_ST_H                                 = 0xac,
    OPC1_16_SSR_ST_H                                 = 0xb4,
    OPC1_16_SSR_ST_H_POSTINC                         = 0xa4,
    OPC1_16_SSRO_ST_H                                = 0xa8,
    OPC1_16_SC_ST_W                                  = 0x78,
    OPC1_16_SRO_ST_W                                 = 0x6c,
    OPC1_16_SSR_ST_W                                 = 0x74,
    OPC1_16_SSR_ST_W_POSTINC                         = 0x64,
    OPC1_16_SSRO_ST_W                                = 0x68,
    OPC1_16_SRR_SUB                                  = 0xa2,
    OPC1_16_SRR_SUB_A15B                             = 0x52,
    OPC1_16_SRR_SUB_15AB                             = 0x5a,
    OPC1_16_SC_SUB_A                                 = 0x20,
    OPC1_16_SRR_SUBS                                 = 0x62,
    OPC1_16_SRR_XOR                                  = 0xc6,

};

/*
 * SR Format
 */
/* OPCM_16_SR_SYSTEM                                 */
enum {

    OPC2_16_SR_NOP                                   = 0x00,
    OPC2_16_SR_RET                                   = 0x09,
    OPC2_16_SR_RFE                                   = 0x08,
    OPC2_16_SR_DEBUG                                 = 0x0a,
    OPC2_16_SR_FRET                                  = 0x07,
};
/* OPCM_16_SR_ACCU                                   */
enum {
    OPC2_16_SR_RSUB                                  = 0x05,
    OPC2_16_SR_SAT_B                                 = 0x00,
    OPC2_16_SR_SAT_BU                                = 0x01,
    OPC2_16_SR_SAT_H                                 = 0x02,
    OPC2_16_SR_SAT_HU                                = 0x03,

};

/* 32-Bit */

enum {
/* ABS Format 1, M */
    OPCM_32_ABS_LDW                                  = 0x85,
    OPCM_32_ABS_LDB                                  = 0x05,
    OPCM_32_ABS_LDMST_SWAP                           = 0xe5,
    OPCM_32_ABS_LDST_CONTEXT                         = 0x15,
    OPCM_32_ABS_STORE                                = 0xa5,
    OPCM_32_ABS_STOREB_H                             = 0x25,
    OPC1_32_ABS_STOREQ                               = 0x65,
    OPC1_32_ABS_LD_Q                                 = 0x45,
    OPCM_32_ABS_LEA_LHA                              = 0xc5,
/* ABSB Format */
    OPC1_32_ABSB_ST_T                                = 0xd5,
/* B Format */
    OPC1_32_B_CALL                                   = 0x6d,
    OPC1_32_B_CALLA                                  = 0xed,
    OPC1_32_B_FCALL                                  = 0x61,
    OPC1_32_B_FCALLA                                 = 0xe1,
    OPC1_32_B_J                                      = 0x1d,
    OPC1_32_B_JA                                     = 0x9d,
    OPC1_32_B_JL                                     = 0x5d,
    OPC1_32_B_JLA                                    = 0xdd,
/* Bit Format */
    OPCM_32_BIT_ANDACC                               = 0x47,
    OPCM_32_BIT_LOGICAL_T1                           = 0x87,
    OPCM_32_BIT_INSERT                               = 0x67,
    OPCM_32_BIT_LOGICAL_T2                           = 0x07,
    OPCM_32_BIT_ORAND                                = 0xc7,
    OPCM_32_BIT_SH_LOGIC1                            = 0x27,
    OPCM_32_BIT_SH_LOGIC2                            = 0xa7,
/* BO Format */
    OPCM_32_BO_ADDRMODE_POST_PRE_BASE                = 0x89,
    OPCM_32_BO_ADDRMODE_BITREVERSE_CIRCULAR          = 0xa9,
    OPCM_32_BO_ADDRMODE_LD_POST_PRE_BASE             = 0x09,
    OPCM_32_BO_ADDRMODE_LD_BITREVERSE_CIRCULAR       = 0x29,
    OPCM_32_BO_ADDRMODE_STCTX_POST_PRE_BASE          = 0x49,
    OPCM_32_BO_ADDRMODE_LDMST_BITREVERSE_CIRCULAR    = 0x69,
/* BOL Format */
    OPC1_32_BOL_LD_A_LONGOFF                         = 0x99,
    OPC1_32_BOL_LD_W_LONGOFF                         = 0x19,
    OPC1_32_BOL_LEA_LONGOFF                          = 0xd9,
    OPC1_32_BOL_ST_W_LONGOFF                         = 0x59,
    OPC1_32_BOL_ST_A_LONGOFF                         = 0xb5, /* 1.6 only */
    OPC1_32_BOL_LD_B_LONGOFF                         = 0x79, /* 1.6 only */
    OPC1_32_BOL_LD_BU_LONGOFF                        = 0x39, /* 1.6 only */
    OPC1_32_BOL_LD_H_LONGOFF                         = 0xc9, /* 1.6 only */
    OPC1_32_BOL_LD_HU_LONGOFF                        = 0xb9, /* 1.6 only */
    OPC1_32_BOL_ST_B_LONGOFF                         = 0xe9, /* 1.6 only */
    OPC1_32_BOL_ST_H_LONGOFF                         = 0xf9, /* 1.6 only */
/* BRC Format */
    OPCM_32_BRC_EQ_NEQ                               = 0xdf,
    OPCM_32_BRC_GE                                   = 0xff,
    OPCM_32_BRC_JLT                                  = 0xbf,
    OPCM_32_BRC_JNE                                  = 0x9f,
/* BRN Format */
    OPCM_32_BRN_JTT                                  = 0x6f,
/* BRR Format */
    OPCM_32_BRR_EQ_NEQ                               = 0x5f,
    OPCM_32_BRR_ADDR_EQ_NEQ                          = 0x7d,
    OPCM_32_BRR_GE                                   = 0x7f,
    OPCM_32_BRR_JLT                                  = 0x3f,
    OPCM_32_BRR_JNE                                  = 0x1f,
    OPCM_32_BRR_JNZ                                  = 0xbd,
    OPCM_32_BRR_LOOP                                 = 0xfd,
/* RC Format */
    OPCM_32_RC_LOGICAL_SHIFT                         = 0x8f,
    OPCM_32_RC_ACCUMULATOR                           = 0x8b,
    OPCM_32_RC_SERVICEROUTINE                        = 0xad,
    OPCM_32_RC_MUL                                   = 0x53,
/* RCPW Format */
    OPCM_32_RCPW_MASK_INSERT                         = 0xb7,
/* RCR Format */
    OPCM_32_RCR_COND_SELECT                          = 0xab,
    OPCM_32_RCR_MADD                                 = 0x13,
    OPCM_32_RCR_MSUB                                 = 0x33,
/* RCRR Format */
    OPC1_32_RCRR_INSERT                              = 0x97,
/* RCRW Format */
    OPCM_32_RCRW_MASK_INSERT                         = 0xd7,
/* RLC Format */
    OPC1_32_RLC_ADDI                                 = 0x1b,
    OPC1_32_RLC_ADDIH                                = 0x9b,
    OPC1_32_RLC_ADDIH_A                              = 0x11,
    OPC1_32_RLC_MFCR                                 = 0x4d,
    OPC1_32_RLC_MOV                                  = 0x3b,
    OPC1_32_RLC_MOV_64                               = 0xfb, /* 1.6 only */
    OPC1_32_RLC_MOV_U                                = 0xbb,
    OPC1_32_RLC_MOV_H                                = 0x7b,
    OPC1_32_RLC_MOVH_A                               = 0x91,
    OPC1_32_RLC_MTCR                                 = 0xcd,
/* RR Format */
    OPCM_32_RR_LOGICAL_SHIFT                         = 0x0f,
    OPCM_32_RR_ACCUMULATOR                           = 0x0b,
    OPCM_32_RR_ADDRESS                               = 0x01,
    OPCM_32_RR_DIVIDE                                = 0x4b,
    OPCM_32_RR_IDIRECT                               = 0x2d,
/* RR1 Format */
    OPCM_32_RR1_MUL                                  = 0xb3,
    OPCM_32_RR1_MULQ                                 = 0x93,
/* RR2 Format */
    OPCM_32_RR2_MUL                                  = 0x73,
/* RRPW Format */
    OPCM_32_RRPW_EXTRACT_INSERT                      = 0x37,
    OPC1_32_RRPW_DEXTR                               = 0x77,
/* RRR Format */
    OPCM_32_RRR_COND_SELECT                          = 0x2b,
    OPCM_32_RRR_DIVIDE                               = 0x6b,
/* RRR1 Format */
    OPCM_32_RRR1_MADD                                = 0x83,
    OPCM_32_RRR1_MADDQ_H                             = 0x43,
    OPCM_32_RRR1_MADDSU_H                            = 0xc3,
    OPCM_32_RRR1_MSUB_H                              = 0xa3,
    OPCM_32_RRR1_MSUB_Q                              = 0x63,
    OPCM_32_RRR1_MSUBAD_H                            = 0xe3,
/* RRR2 Format */
    OPCM_32_RRR2_MADD                                = 0x03,
    OPCM_32_RRR2_MSUB                                = 0x23,
/* RRRR Format */
    OPCM_32_RRRR_EXTRACT_INSERT                      = 0x17,
/* RRRW Format */
    OPCM_32_RRRW_EXTRACT_INSERT                      = 0x57,
/* SYS Format */
    OPCM_32_SYS_INTERRUPTS                           = 0x0d,
    OPC1_32_SYS_RSTV                                 = 0x2f,
};



/*
 * ABS Format
 */

/* OPCM_32_ABS_LDW  */
enum {

    OPC2_32_ABS_LD_A                             = 0x02,
    OPC2_32_ABS_LD_D                             = 0x01,
    OPC2_32_ABS_LD_DA                            = 0x03,
    OPC2_32_ABS_LD_W                             = 0x00,
};

/* OPCM_32_ABS_LDB */
enum {
    OPC2_32_ABS_LD_B                             = 0x00,
    OPC2_32_ABS_LD_BU                            = 0x01,
    OPC2_32_ABS_LD_H                             = 0x02,
    OPC2_32_ABS_LD_HU                            = 0x03,
};
/* OPCM_32_ABS_LDMST_SWAP       */
enum {
    OPC2_32_ABS_LDMST                            = 0x01,
    OPC2_32_ABS_SWAP_W                           = 0x00,
};
/* OPCM_32_ABS_LDST_CONTEXT     */
enum {
    OPC2_32_ABS_LDLCX                            = 0x02,
    OPC2_32_ABS_LDUCX                            = 0x03,
    OPC2_32_ABS_STLCX                            = 0x00,
    OPC2_32_ABS_STUCX                            = 0x01,
};
/* OPCM_32_ABS_STORE            */
enum {
    OPC2_32_ABS_ST_A                             = 0x02,
    OPC2_32_ABS_ST_D                             = 0x01,
    OPC2_32_ABS_ST_DA                            = 0x03,
    OPC2_32_ABS_ST_W                             = 0x00,
};
/* OPCM_32_ABS_STOREB_H */
enum {
    OPC2_32_ABS_ST_B                             = 0x00,
    OPC2_32_ABS_ST_H                             = 0x02,
};

/* OPCM_32_ABS_LEA_LHA */
enum {
    OPC2_32_ABS_LEA                              = 0x00,
    OPC2_32_ABS_LHA                              = 0x01,
};

/*
 * Bit Format
 */
/* OPCM_32_BIT_ANDACC              */
enum {
    OPC2_32_BIT_AND_AND_T                        = 0x00,
    OPC2_32_BIT_AND_ANDN_T                       = 0x03,
    OPC2_32_BIT_AND_NOR_T                        = 0x02,
    OPC2_32_BIT_AND_OR_T                         = 0x01,
};
/* OPCM_32_BIT_LOGICAL_T                       */
enum {
    OPC2_32_BIT_AND_T                            = 0x00,
    OPC2_32_BIT_ANDN_T                           = 0x03,
    OPC2_32_BIT_NOR_T                            = 0x02,
    OPC2_32_BIT_OR_T                             = 0x01,
};
/* OPCM_32_BIT_INSERT                   */
enum {
    OPC2_32_BIT_INS_T                            = 0x00,
    OPC2_32_BIT_INSN_T                           = 0x01,
};
/* OPCM_32_BIT_LOGICAL_T2              */
enum {
    OPC2_32_BIT_NAND_T                           = 0x00,
    OPC2_32_BIT_ORN_T                            = 0x01,
    OPC2_32_BIT_XNOR_T                           = 0x02,
    OPC2_32_BIT_XOR_T                            = 0x03,
};
/* OPCM_32_BIT_ORAND                    */
enum {
    OPC2_32_BIT_OR_AND_T                         = 0x00,
    OPC2_32_BIT_OR_ANDN_T                        = 0x03,
    OPC2_32_BIT_OR_NOR_T                         = 0x02,
    OPC2_32_BIT_OR_OR_T                          = 0x01,
};
/*OPCM_32_BIT_SH_LOGIC1                 */
enum {
    OPC2_32_BIT_SH_AND_T                         = 0x00,
    OPC2_32_BIT_SH_ANDN_T                        = 0x03,
    OPC2_32_BIT_SH_NOR_T                         = 0x02,
    OPC2_32_BIT_SH_OR_T                          = 0x01,
};
/* OPCM_32_BIT_SH_LOGIC2              */
enum {
    OPC2_32_BIT_SH_NAND_T                        = 0x00,
    OPC2_32_BIT_SH_ORN_T                         = 0x01,
    OPC2_32_BIT_SH_XNOR_T                        = 0x02,
    OPC2_32_BIT_SH_XOR_T                         = 0x03,
};
/*
 * BO Format
 */
/* OPCM_32_BO_ADDRMODE_POST_PRE_BASE     */
enum {
    OPC2_32_BO_CACHEA_I_SHORTOFF                 = 0x2e,
    OPC2_32_BO_CACHEA_I_POSTINC                  = 0x0e,
    OPC2_32_BO_CACHEA_I_PREINC                   = 0x1e,
    OPC2_32_BO_CACHEA_W_SHORTOFF                 = 0x2c,
    OPC2_32_BO_CACHEA_W_POSTINC                  = 0x0c,
    OPC2_32_BO_CACHEA_W_PREINC                   = 0x1c,
    OPC2_32_BO_CACHEA_WI_SHORTOFF                = 0x2d,
    OPC2_32_BO_CACHEA_WI_POSTINC                 = 0x0d,
    OPC2_32_BO_CACHEA_WI_PREINC                  = 0x1d,
    /* 1.3.1 only */
    OPC2_32_BO_CACHEI_W_SHORTOFF                 = 0x2b,
    OPC2_32_BO_CACHEI_W_POSTINC                  = 0x0b,
    OPC2_32_BO_CACHEI_W_PREINC                   = 0x1b,
    OPC2_32_BO_CACHEI_WI_SHORTOFF                = 0x2f,
    OPC2_32_BO_CACHEI_WI_POSTINC                 = 0x0f,
    OPC2_32_BO_CACHEI_WI_PREINC                  = 0x1f,
    /* end 1.3.1 only */
    OPC2_32_BO_ST_A_SHORTOFF                     = 0x26,
    OPC2_32_BO_ST_A_POSTINC                      = 0x06,
    OPC2_32_BO_ST_A_PREINC                       = 0x16,
    OPC2_32_BO_ST_B_SHORTOFF                     = 0x20,
    OPC2_32_BO_ST_B_POSTINC                      = 0x00,
    OPC2_32_BO_ST_B_PREINC                       = 0x10,
    OPC2_32_BO_ST_D_SHORTOFF                     = 0x25,
    OPC2_32_BO_ST_D_POSTINC                      = 0x05,
    OPC2_32_BO_ST_D_PREINC                       = 0x15,
    OPC2_32_BO_ST_DA_SHORTOFF                    = 0x27,
    OPC2_32_BO_ST_DA_POSTINC                     = 0x07,
    OPC2_32_BO_ST_DA_PREINC                      = 0x17,
    OPC2_32_BO_ST_H_SHORTOFF                     = 0x22,
    OPC2_32_BO_ST_H_POSTINC                      = 0x02,
    OPC2_32_BO_ST_H_PREINC                       = 0x12,
    OPC2_32_BO_ST_Q_SHORTOFF                     = 0x28,
    OPC2_32_BO_ST_Q_POSTINC                      = 0x08,
    OPC2_32_BO_ST_Q_PREINC                       = 0x18,
    OPC2_32_BO_ST_W_SHORTOFF                     = 0x24,
    OPC2_32_BO_ST_W_POSTINC                      = 0x04,
    OPC2_32_BO_ST_W_PREINC                       = 0x14,
};
/* OPCM_32_BO_ADDRMODE_BITREVERSE_CIRCULAR   */
enum {
    OPC2_32_BO_CACHEA_I_BR                       = 0x0e,
    OPC2_32_BO_CACHEA_I_CIRC                     = 0x1e,
    OPC2_32_BO_CACHEA_W_BR                       = 0x0c,
    OPC2_32_BO_CACHEA_W_CIRC                     = 0x1c,
    OPC2_32_BO_CACHEA_WI_BR                      = 0x0d,
    OPC2_32_BO_CACHEA_WI_CIRC                    = 0x1d,
    OPC2_32_BO_ST_A_BR                           = 0x06,
    OPC2_32_BO_ST_A_CIRC                         = 0x16,
    OPC2_32_BO_ST_B_BR                           = 0x00,
    OPC2_32_BO_ST_B_CIRC                         = 0x10,
    OPC2_32_BO_ST_D_BR                           = 0x05,
    OPC2_32_BO_ST_D_CIRC                         = 0x15,
    OPC2_32_BO_ST_DA_BR                          = 0x07,
    OPC2_32_BO_ST_DA_CIRC                        = 0x17,
    OPC2_32_BO_ST_H_BR                           = 0x02,
    OPC2_32_BO_ST_H_CIRC                         = 0x12,
    OPC2_32_BO_ST_Q_BR                           = 0x08,
    OPC2_32_BO_ST_Q_CIRC                         = 0x18,
    OPC2_32_BO_ST_W_BR                           = 0x04,
    OPC2_32_BO_ST_W_CIRC                         = 0x14,
};
/*    OPCM_32_BO_ADDRMODE_LD_POST_PRE_BASE   */
enum {
    OPC2_32_BO_LD_A_SHORTOFF                     = 0x26,
    OPC2_32_BO_LD_A_POSTINC                      = 0x06,
    OPC2_32_BO_LD_A_PREINC                       = 0x16,
    OPC2_32_BO_LD_B_SHORTOFF                     = 0x20,
    OPC2_32_BO_LD_B_POSTINC                      = 0x00,
    OPC2_32_BO_LD_B_PREINC                       = 0x10,
    OPC2_32_BO_LD_BU_SHORTOFF                    = 0x21,
    OPC2_32_BO_LD_BU_POSTINC                     = 0x01,
    OPC2_32_BO_LD_BU_PREINC                      = 0x11,
    OPC2_32_BO_LD_D_SHORTOFF                     = 0x25,
    OPC2_32_BO_LD_D_POSTINC                      = 0x05,
    OPC2_32_BO_LD_D_PREINC                       = 0x15,
    OPC2_32_BO_LD_DA_SHORTOFF                    = 0x27,
    OPC2_32_BO_LD_DA_POSTINC                     = 0x07,
    OPC2_32_BO_LD_DA_PREINC                      = 0x17,
    OPC2_32_BO_LD_H_SHORTOFF                     = 0x22,
    OPC2_32_BO_LD_H_POSTINC                      = 0x02,
    OPC2_32_BO_LD_H_PREINC                       = 0x12,
    OPC2_32_BO_LD_HU_SHORTOFF                    = 0x23,
    OPC2_32_BO_LD_HU_POSTINC                     = 0x03,
    OPC2_32_BO_LD_HU_PREINC                      = 0x13,
    OPC2_32_BO_LD_Q_SHORTOFF                     = 0x28,
    OPC2_32_BO_LD_Q_POSTINC                      = 0x08,
    OPC2_32_BO_LD_Q_PREINC                       = 0x18,
    OPC2_32_BO_LD_W_SHORTOFF                     = 0x24,
    OPC2_32_BO_LD_W_POSTINC                      = 0x04,
    OPC2_32_BO_LD_W_PREINC                       = 0x14,
};
/* OPCM_32_BO_ADDRMODE_LD_BITREVERSE_CIRCULAR  */
enum {
    OPC2_32_BO_LD_A_BR                           = 0x06,
    OPC2_32_BO_LD_A_CIRC                         = 0x16,
    OPC2_32_BO_LD_B_BR                           = 0x00,
    OPC2_32_BO_LD_B_CIRC                         = 0x10,
    OPC2_32_BO_LD_BU_BR                          = 0x01,
    OPC2_32_BO_LD_BU_CIRC                        = 0x11,
    OPC2_32_BO_LD_D_BR                           = 0x05,
    OPC2_32_BO_LD_D_CIRC                         = 0x15,
    OPC2_32_BO_LD_DA_BR                          = 0x07,
    OPC2_32_BO_LD_DA_CIRC                        = 0x17,
    OPC2_32_BO_LD_H_BR                           = 0x02,
    OPC2_32_BO_LD_H_CIRC                         = 0x12,
    OPC2_32_BO_LD_HU_BR                          = 0x03,
    OPC2_32_BO_LD_HU_CIRC                        = 0x13,
    OPC2_32_BO_LD_Q_BR                           = 0x08,
    OPC2_32_BO_LD_Q_CIRC                         = 0x18,
    OPC2_32_BO_LD_W_BR                           = 0x04,
    OPC2_32_BO_LD_W_CIRC                         = 0x14,
};
/* OPCM_32_BO_ADDRMODE_STCTX_POST_PRE_BASE    */
enum {
    OPC2_32_BO_LDLCX_SHORTOFF                    = 0x24,
    OPC2_32_BO_LDMST_SHORTOFF                    = 0x21,
    OPC2_32_BO_LDMST_POSTINC                     = 0x01,
    OPC2_32_BO_LDMST_PREINC                      = 0x11,
    OPC2_32_BO_LDUCX_SHORTOFF                    = 0x25,
    OPC2_32_BO_LEA_SHORTOFF                      = 0x28,
    OPC2_32_BO_STLCX_SHORTOFF                    = 0x26,
    OPC2_32_BO_STUCX_SHORTOFF                    = 0x27,
    OPC2_32_BO_SWAP_W_SHORTOFF                   = 0x20,
    OPC2_32_BO_SWAP_W_POSTINC                    = 0x00,
    OPC2_32_BO_SWAP_W_PREINC                     = 0x10,
    OPC2_32_BO_CMPSWAP_W_SHORTOFF                = 0x23,
    OPC2_32_BO_CMPSWAP_W_POSTINC                 = 0x03,
    OPC2_32_BO_CMPSWAP_W_PREINC                  = 0x13,
    OPC2_32_BO_SWAPMSK_W_SHORTOFF                = 0x22,
    OPC2_32_BO_SWAPMSK_W_POSTINC                 = 0x02,
    OPC2_32_BO_SWAPMSK_W_PREINC                  = 0x12,
};
/*OPCM_32_BO_ADDRMODE_LDMST_BITREVERSE_CIRCULAR  */
enum {
    OPC2_32_BO_LDMST_BR                          = 0x01,
    OPC2_32_BO_LDMST_CIRC                        = 0x11,
    OPC2_32_BO_SWAP_W_BR                         = 0x00,
    OPC2_32_BO_SWAP_W_CIRC                       = 0x10,
    OPC2_32_BO_CMPSWAP_W_BR                      = 0x03,
    OPC2_32_BO_CMPSWAP_W_CIRC                    = 0x13,
    OPC2_32_BO_SWAPMSK_W_BR                      = 0x02,
    OPC2_32_BO_SWAPMSK_W_CIRC                    = 0x12,
};
/*
 * BRC Format
 */
/*OPCM_32_BRC_EQ_NEQ                             */
enum {
    OPC2_32_BRC_JEQ                              = 0x00,
    OPC2_32_BRC_JNE                              = 0x01,
};
/* OPCM_32_BRC_GE                                   */
enum {
    OP2_32_BRC_JGE                               = 0x00,
    OPC_32_BRC_JGE_U                             = 0x01,
};
/* OPCM_32_BRC_JLT                                  */
enum {
    OPC2_32_BRC_JLT                              = 0x00,
    OPC2_32_BRC_JLT_U                            = 0x01,
};
/* OPCM_32_BRC_JNE                                  */
enum {
    OPC2_32_BRC_JNED                             = 0x01,
    OPC2_32_BRC_JNEI                             = 0x00,
};
/*
 * BRN Format
 */
/* OPCM_32_BRN_JTT                                  */
enum {
    OPC2_32_BRN_JNZ_T                            = 0x01,
    OPC2_32_BRN_JZ_T                             = 0x00,
};
/*
 * BRR Format
 */
/* OPCM_32_BRR_EQ_NEQ                               */
enum {
    OPC2_32_BRR_JEQ                              = 0x00,
    OPC2_32_BRR_JNE                              = 0x01,
};
/* OPCM_32_BRR_ADDR_EQ_NEQ                        */
enum {
    OPC2_32_BRR_JEQ_A                            = 0x00,
    OPC2_32_BRR_JNE_A                            = 0x01,
};
/*OPCM_32_BRR_GE                                   */
enum {
    OPC2_32_BRR_JGE                              = 0x00,
    OPC2_32_BRR_JGE_U                            = 0x01,
};
/* OPCM_32_BRR_JLT                                  */
enum {
    OPC2_32_BRR_JLT                              = 0x00,
    OPC2_32_BRR_JLT_U                            = 0x01,
};
/* OPCM_32_BRR_JNE                                  */
enum {
    OPC2_32_BRR_JNED                             = 0x01,
    OPC2_32_BRR_JNEI                             = 0x00,
};
/* OPCM_32_BRR_JNZ                                  */
enum {
    OPC2_32_BRR_JNZ_A                            = 0x01,
    OPC2_32_BRR_JZ_A                             = 0x00,
};
/* OPCM_32_BRR_LOOP                                 */
enum {
    OPC2_32_BRR_LOOP                             = 0x00,
    OPC2_32_BRR_LOOPU                            = 0x01,
};
/*
 * RC Format
 */
/* OPCM_32_RC_LOGICAL_SHIFT                         */
enum {
    OPC2_32_RC_AND                               = 0x08,
    OPC2_32_RC_ANDN                              = 0x0e,
    OPC2_32_RC_NAND                              = 0x09,
    OPC2_32_RC_NOR                               = 0x0b,
    OPC2_32_RC_OR                                = 0x0a,
    OPC2_32_RC_ORN                               = 0x0f,
    OPC2_32_RC_SH                                = 0x00,
    OPC2_32_RC_SH_H                              = 0x40,
    OPC2_32_RC_SHA                               = 0x01,
    OPC2_32_RC_SHA_H                             = 0x41,
    OPC2_32_RC_SHAS                              = 0x02,
    OPC2_32_RC_XNOR                              = 0x0d,
    OPC2_32_RC_XOR                               = 0x0c,
    OPC2_32_RC_SHUFFLE                           = 0x07, /* v1.6.2 only */
};
/* OPCM_32_RC_ACCUMULATOR                           */
enum {
    OPC2_32_RC_ABSDIF                            = 0x0e,
    OPC2_32_RC_ABSDIFS                           = 0x0f,
    OPC2_32_RC_ADD                               = 0x00,
    OPC2_32_RC_ADDC                              = 0x05,
    OPC2_32_RC_ADDS                              = 0x02,
    OPC2_32_RC_ADDS_U                            = 0x03,
    OPC2_32_RC_ADDX                              = 0x04,
    OPC2_32_RC_AND_EQ                            = 0x20,
    OPC2_32_RC_AND_GE                            = 0x24,
    OPC2_32_RC_AND_GE_U                          = 0x25,
    OPC2_32_RC_AND_LT                            = 0x22,
    OPC2_32_RC_AND_LT_U                          = 0x23,
    OPC2_32_RC_AND_NE                            = 0x21,
    OPC2_32_RC_EQ                                = 0x10,
    OPC2_32_RC_EQANY_B                           = 0x56,
    OPC2_32_RC_EQANY_H                           = 0x76,
    OPC2_32_RC_GE                                = 0x14,
    OPC2_32_RC_GE_U                              = 0x15,
    OPC2_32_RC_LT                                = 0x12,
    OPC2_32_RC_LT_U                              = 0x13,
    OPC2_32_RC_MAX                               = 0x1a,
    OPC2_32_RC_MAX_U                             = 0x1b,
    OPC2_32_RC_MIN                               = 0x18,
    OPC2_32_RC_MIN_U                             = 0x19,
    OPC2_32_RC_NE                                = 0x11,
    OPC2_32_RC_OR_EQ                             = 0x27,
    OPC2_32_RC_OR_GE                             = 0x2b,
    OPC2_32_RC_OR_GE_U                           = 0x2c,
    OPC2_32_RC_OR_LT                             = 0x29,
    OPC2_32_RC_OR_LT_U                           = 0x2a,
    OPC2_32_RC_OR_NE                             = 0x28,
    OPC2_32_RC_RSUB                              = 0x08,
    OPC2_32_RC_RSUBS                             = 0x0a,
    OPC2_32_RC_RSUBS_U                           = 0x0b,
    OPC2_32_RC_SH_EQ                             = 0x37,
    OPC2_32_RC_SH_GE                             = 0x3b,
    OPC2_32_RC_SH_GE_U                           = 0x3c,
    OPC2_32_RC_SH_LT                             = 0x39,
    OPC2_32_RC_SH_LT_U                           = 0x3a,
    OPC2_32_RC_SH_NE                             = 0x38,
    OPC2_32_RC_XOR_EQ                            = 0x2f,
    OPC2_32_RC_XOR_GE                            = 0x33,
    OPC2_32_RC_XOR_GE_U                          = 0x34,
    OPC2_32_RC_XOR_LT                            = 0x31,
    OPC2_32_RC_XOR_LT_U                          = 0x32,
    OPC2_32_RC_XOR_NE                            = 0x30,
};
/* OPCM_32_RC_SERVICEROUTINE                        */
enum {
    OPC2_32_RC_BISR                              = 0x00,
    OPC2_32_RC_SYSCALL                           = 0x04,
};
/* OPCM_32_RC_MUL                                   */
enum {
    OPC2_32_RC_MUL_32                            = 0x01,
    OPC2_32_RC_MUL_64                            = 0x03,
    OPC2_32_RC_MULS_32                           = 0x05,
    OPC2_32_RC_MUL_U_64                          = 0x02,
    OPC2_32_RC_MULS_U_32                         = 0x04,
};
/*
 * RCPW Format
 */
/* OPCM_32_RCPW_MASK_INSERT                         */
enum {
    OPC2_32_RCPW_IMASK                           = 0x01,
    OPC2_32_RCPW_INSERT                          = 0x00,
};
/*
 * RCR Format
 */
/* OPCM_32_RCR_COND_SELECT                          */
enum {
    OPC2_32_RCR_CADD                             = 0x00,
    OPC2_32_RCR_CADDN                            = 0x01,
    OPC2_32_RCR_SEL                              = 0x04,
    OPC2_32_RCR_SELN                             = 0x05,
};
/* OPCM_32_RCR_MADD                                 */
enum {
    OPC2_32_RCR_MADD_32                          = 0x01,
    OPC2_32_RCR_MADD_64                          = 0x03,
    OPC2_32_RCR_MADDS_32                         = 0x05,
    OPC2_32_RCR_MADDS_64                         = 0x07,
    OPC2_32_RCR_MADD_U_64                        = 0x02,
    OPC2_32_RCR_MADDS_U_32                       = 0x04,
    OPC2_32_RCR_MADDS_U_64                       = 0x06,
};
/* OPCM_32_RCR_MSUB                                 */
enum {
    OPC2_32_RCR_MSUB_32                          = 0x01,
    OPC2_32_RCR_MSUB_64                          = 0x03,
    OPC2_32_RCR_MSUBS_32                         = 0x05,
    OPC2_32_RCR_MSUBS_64                         = 0x07,
    OPC2_32_RCR_MSUB_U_64                        = 0x02,
    OPC2_32_RCR_MSUBS_U_32                       = 0x04,
    OPC2_32_RCR_MSUBS_U_64                       = 0x06,
};
/*
 * RCRW Format
 */
/* OPCM_32_RCRW_MASK_INSERT                         */
enum {
    OPC2_32_RCRW_IMASK                           = 0x01,
    OPC2_32_RCRW_INSERT                          = 0x00,
};

/*
 * RR Format
 */
/* OPCM_32_RR_LOGICAL_SHIFT                         */
enum {
    OPC2_32_RR_AND                               = 0x08,
    OPC2_32_RR_ANDN                              = 0x0e,
    OPC2_32_RR_CLO                               = 0x1c,
    OPC2_32_RR_CLO_H                             = 0x7d,
    OPC2_32_RR_CLS                               = 0x1d,
    OPC2_32_RR_CLS_H                             = 0x7e,
    OPC2_32_RR_CLZ                               = 0x1b,
    OPC2_32_RR_CLZ_H                             = 0x7c,
    OPC2_32_RR_NAND                              = 0x09,
    OPC2_32_RR_NOR                               = 0x0b,
    OPC2_32_RR_OR                                = 0x0a,
    OPC2_32_RR_ORN                               = 0x0f,
    OPC2_32_RR_SH                                = 0x00,
    OPC2_32_RR_SH_H                              = 0x40,
    OPC2_32_RR_SHA                               = 0x01,
    OPC2_32_RR_SHA_H                             = 0x41,
    OPC2_32_RR_SHAS                              = 0x02,
    OPC2_32_RR_XNOR                              = 0x0d,
    OPC2_32_RR_XOR                               = 0x0c,
};
/* OPCM_32_RR_ACCUMULATOR                           */
enum {
    OPC2_32_RR_ABS                               = 0x1c,
    OPC2_32_RR_ABS_B                             = 0x5c,
    OPC2_32_RR_ABS_H                             = 0x7c,
    OPC2_32_RR_ABSDIF                            = 0x0e,
    OPC2_32_RR_ABSDIF_B                          = 0x4e,
    OPC2_32_RR_ABSDIF_H                          = 0x6e,
    OPC2_32_RR_ABSDIFS                           = 0x0f,
    OPC2_32_RR_ABSDIFS_H                         = 0x6f,
    OPC2_32_RR_ABSS                              = 0x1d,
    OPC2_32_RR_ABSS_H                            = 0x7d,
    OPC2_32_RR_ADD                               = 0x00,
    OPC2_32_RR_ADD_B                             = 0x40,
    OPC2_32_RR_ADD_H                             = 0x60,
    OPC2_32_RR_ADDC                              = 0x05,
    OPC2_32_RR_ADDS                              = 0x02,
    OPC2_32_RR_ADDS_H                            = 0x62,
    OPC2_32_RR_ADDS_HU                           = 0x63,
    OPC2_32_RR_ADDS_U                            = 0x03,
    OPC2_32_RR_ADDX                              = 0x04,
    OPC2_32_RR_AND_EQ                            = 0x20,
    OPC2_32_RR_AND_GE                            = 0x24,
    OPC2_32_RR_AND_GE_U                          = 0x25,
    OPC2_32_RR_AND_LT                            = 0x22,
    OPC2_32_RR_AND_LT_U                          = 0x23,
    OPC2_32_RR_AND_NE                            = 0x21,
    OPC2_32_RR_EQ                                = 0x10,
    OPC2_32_RR_EQ_B                              = 0x50,
    OPC2_32_RR_EQ_H                              = 0x70,
    OPC2_32_RR_EQ_W                              = 0x90,
    OPC2_32_RR_EQANY_B                           = 0x56,
    OPC2_32_RR_EQANY_H                           = 0x76,
    OPC2_32_RR_GE                                = 0x14,
    OPC2_32_RR_GE_U                              = 0x15,
    OPC2_32_RR_LT                                = 0x12,
    OPC2_32_RR_LT_U                              = 0x13,
    OPC2_32_RR_LT_B                              = 0x52,
    OPC2_32_RR_LT_BU                             = 0x53,
    OPC2_32_RR_LT_H                              = 0x72,
    OPC2_32_RR_LT_HU                             = 0x73,
    OPC2_32_RR_LT_W                              = 0x92,
    OPC2_32_RR_LT_WU                             = 0x93,
    OPC2_32_RR_MAX                               = 0x1a,
    OPC2_32_RR_MAX_U                             = 0x1b,
    OPC2_32_RR_MAX_B                             = 0x5a,
    OPC2_32_RR_MAX_BU                            = 0x5b,
    OPC2_32_RR_MAX_H                             = 0x7a,
    OPC2_32_RR_MAX_HU                            = 0x7b,
    OPC2_32_RR_MIN                               = 0x18,
    OPC2_32_RR_MIN_U                             = 0x19,
    OPC2_32_RR_MIN_B                             = 0x58,
    OPC2_32_RR_MIN_BU                            = 0x59,
    OPC2_32_RR_MIN_H                             = 0x78,
    OPC2_32_RR_MIN_HU                            = 0x79,
    OPC2_32_RR_MOV                               = 0x1f,
    OPC2_32_RR_MOVS_64                           = 0x80,
    OPC2_32_RR_MOV_64                            = 0x81,
    OPC2_32_RR_NE                                = 0x11,
    OPC2_32_RR_OR_EQ                             = 0x27,
    OPC2_32_RR_OR_GE                             = 0x2b,
    OPC2_32_RR_OR_GE_U                           = 0x2c,
    OPC2_32_RR_OR_LT                             = 0x29,
    OPC2_32_RR_OR_LT_U                           = 0x2a,
    OPC2_32_RR_OR_NE                             = 0x28,
    OPC2_32_RR_SAT_B                             = 0x5e,
    OPC2_32_RR_SAT_BU                            = 0x5f,
    OPC2_32_RR_SAT_H                             = 0x7e,
    OPC2_32_RR_SAT_HU                            = 0x7f,
    OPC2_32_RR_SH_EQ                             = 0x37,
    OPC2_32_RR_SH_GE                             = 0x3b,
    OPC2_32_RR_SH_GE_U                           = 0x3c,
    OPC2_32_RR_SH_LT                             = 0x39,
    OPC2_32_RR_SH_LT_U                           = 0x3a,
    OPC2_32_RR_SH_NE                             = 0x38,
    OPC2_32_RR_SUB                               = 0x08,
    OPC2_32_RR_SUB_B                             = 0x48,
    OPC2_32_RR_SUB_H                             = 0x68,
    OPC2_32_RR_SUBC                              = 0x0d,
    OPC2_32_RR_SUBS                              = 0x0a,
    OPC2_32_RR_SUBS_U                            = 0x0b,
    OPC2_32_RR_SUBS_H                            = 0x6a,
    OPC2_32_RR_SUBS_HU                           = 0x6b,
    OPC2_32_RR_SUBX                              = 0x0c,
    OPC2_32_RR_XOR_EQ                            = 0x2f,
    OPC2_32_RR_XOR_GE                            = 0x33,
    OPC2_32_RR_XOR_GE_U                          = 0x34,
    OPC2_32_RR_XOR_LT                            = 0x31,
    OPC2_32_RR_XOR_LT_U                          = 0x32,
    OPC2_32_RR_XOR_NE                            = 0x30,
};
/* OPCM_32_RR_ADDRESS                               */
enum {
    OPC2_32_RR_ADD_A                             = 0x01,
    OPC2_32_RR_ADDSC_A                           = 0x60,
    OPC2_32_RR_ADDSC_AT                          = 0x62,
    OPC2_32_RR_EQ_A                              = 0x40,
    OPC2_32_RR_EQZ                               = 0x48,
    OPC2_32_RR_GE_A                              = 0x43,
    OPC2_32_RR_LT_A                              = 0x42,
    OPC2_32_RR_MOV_A                             = 0x63,
    OPC2_32_RR_MOV_AA                            = 0x00,
    OPC2_32_RR_MOV_D                             = 0x4c,
    OPC2_32_RR_NE_A                              = 0x41,
    OPC2_32_RR_NEZ_A                             = 0x49,
    OPC2_32_RR_SUB_A                             = 0x02,
};
/* OPCM_32_RR_FLOAT                                 */
enum {
    OPC2_32_RR_BMERGE                            = 0x01,
    OPC2_32_RR_BSPLIT                            = 0x09,
    OPC2_32_RR_DVINIT_B                          = 0x5a,
    OPC2_32_RR_DVINIT_BU                         = 0x4a,
    OPC2_32_RR_DVINIT_H                          = 0x3a,
    OPC2_32_RR_DVINIT_HU                         = 0x2a,
    OPC2_32_RR_DVINIT                            = 0x1a,
    OPC2_32_RR_DVINIT_U                          = 0x0a,
    OPC2_32_RR_PARITY                            = 0x02,
    OPC2_32_RR_UNPACK                            = 0x08,
    OPC2_32_RR_CRC32                             = 0x03, /* CRC32B.W in 1.6.2 */
    OPC2_32_RR_CRC32_B                           = 0x06, /* 1.6.2 only */
    OPC2_32_RR_CRC32L_W                          = 0x07, /* 1.6.2 only */
    OPC2_32_RR_POPCNT_W                          = 0x22, /* 1.6.2 only */
    OPC2_32_RR_DIV                               = 0x20,
    OPC2_32_RR_DIV_U                             = 0x21,
    OPC2_32_RR_MUL_F                             = 0x04,
    OPC2_32_RR_DIV_F                             = 0x05,
    OPC2_32_RR_FTOI                              = 0x10,
    OPC2_32_RR_ITOF                              = 0x14,
    OPC2_32_RR_CMP_F                             = 0x00,
    OPC2_32_RR_FTOIZ                             = 0x13,
    OPC2_32_RR_FTOHP                             = 0x25, /* 1.6.2 only */
    OPC2_32_RR_HPTOF                             = 0x24, /* 1.6.2 only */
    OPC2_32_RR_FTOQ31                            = 0x11,
    OPC2_32_RR_FTOQ31Z                           = 0x18,
    OPC2_32_RR_FTOU                              = 0x12,
    OPC2_32_RR_FTOUZ                             = 0x17,
    OPC2_32_RR_Q31TOF                            = 0x15,
    OPC2_32_RR_QSEED_F                           = 0x19,
    OPC2_32_RR_UPDFL                             = 0x0c,
    OPC2_32_RR_UTOF                              = 0x16,
};
/* OPCM_32_RR_IDIRECT                               */
enum {
    OPC2_32_RR_JI                                = 0x03,
    OPC2_32_RR_JLI                               = 0x02,
    OPC2_32_RR_CALLI                             = 0x00,
    OPC2_32_RR_FCALLI                            = 0x01,
};
/*
 * RR1 Format
 */
/* OPCM_32_RR1_MUL                                  */
enum {
    OPC2_32_RR1_MUL_H_32_LL                      = 0x1a,
    OPC2_32_RR1_MUL_H_32_LU                      = 0x19,
    OPC2_32_RR1_MUL_H_32_UL                      = 0x18,
    OPC2_32_RR1_MUL_H_32_UU                      = 0x1b,
    OPC2_32_RR1_MULM_H_64_LL                     = 0x1e,
    OPC2_32_RR1_MULM_H_64_LU                     = 0x1d,
    OPC2_32_RR1_MULM_H_64_UL                     = 0x1c,
    OPC2_32_RR1_MULM_H_64_UU                     = 0x1f,
    OPC2_32_RR1_MULR_H_16_LL                     = 0x0e,
    OPC2_32_RR1_MULR_H_16_LU                     = 0x0d,
    OPC2_32_RR1_MULR_H_16_UL                     = 0x0c,
    OPC2_32_RR1_MULR_H_16_UU                     = 0x0f,
};
/* OPCM_32_RR1_MULQ                                 */
enum {
    OPC2_32_RR1_MUL_Q_32                         = 0x02,
    OPC2_32_RR1_MUL_Q_64                         = 0x1b,
    OPC2_32_RR1_MUL_Q_32_L                       = 0x01,
    OPC2_32_RR1_MUL_Q_64_L                       = 0x19,
    OPC2_32_RR1_MUL_Q_32_U                       = 0x00,
    OPC2_32_RR1_MUL_Q_64_U                       = 0x18,
    OPC2_32_RR1_MUL_Q_32_LL                      = 0x05,
    OPC2_32_RR1_MUL_Q_32_UU                      = 0x04,
    OPC2_32_RR1_MULR_Q_32_L                      = 0x07,
    OPC2_32_RR1_MULR_Q_32_U                      = 0x06,
};
/*
 * RR2 Format
 */
/* OPCM_32_RR2_MUL                                  */
enum {
    OPC2_32_RR2_MUL_32                           = 0x0a,
    OPC2_32_RR2_MUL_64                           = 0x6a,
    OPC2_32_RR2_MULS_32                          = 0x8a,
    OPC2_32_RR2_MUL_U_64                         = 0x68,
    OPC2_32_RR2_MULS_U_32                        = 0x88,
};
/*
 * RRPW Format
 */
/* OPCM_32_RRPW_EXTRACT_INSERT                      */
enum {

    OPC2_32_RRPW_EXTR                            = 0x02,
    OPC2_32_RRPW_EXTR_U                          = 0x03,
    OPC2_32_RRPW_IMASK                           = 0x01,
    OPC2_32_RRPW_INSERT                          = 0x00,
};
/*
 * RRR Format
 */
/* OPCM_32_RRR_COND_SELECT                          */
enum {
    OPC2_32_RRR_CADD                             = 0x00,
    OPC2_32_RRR_CADDN                            = 0x01,
    OPC2_32_RRR_CSUB                             = 0x02,
    OPC2_32_RRR_CSUBN                            = 0x03,
    OPC2_32_RRR_SEL                              = 0x04,
    OPC2_32_RRR_SELN                             = 0x05,
};
/* OPCM_32_RRR_FLOAT                                */
enum {
    OPC2_32_RRR_DVADJ                            = 0x0d,
    OPC2_32_RRR_DVSTEP                           = 0x0f,
    OPC2_32_RRR_DVSTEP_U                         = 0x0e,
    OPC2_32_RRR_IXMAX                            = 0x0a,
    OPC2_32_RRR_IXMAX_U                          = 0x0b,
    OPC2_32_RRR_IXMIN                            = 0x08,
    OPC2_32_RRR_IXMIN_U                          = 0x09,
    OPC2_32_RRR_PACK                             = 0x00,
    OPC2_32_RRR_ADD_F                            = 0x02,
    OPC2_32_RRR_SUB_F                            = 0x03,
    OPC2_32_RRR_MADD_F                           = 0x06,
    OPC2_32_RRR_MSUB_F                           = 0x07,
    OPC2_32_RRR_CRCN                             = 0x01, /* 1.6.2 up */
};
/*
 * RRR1 Format
 */
/* OPCM_32_RRR1_MADD                                */
enum {
    OPC2_32_RRR1_MADD_H_LL                       = 0x1a,
    OPC2_32_RRR1_MADD_H_LU                       = 0x19,
    OPC2_32_RRR1_MADD_H_UL                       = 0x18,
    OPC2_32_RRR1_MADD_H_UU                       = 0x1b,
    OPC2_32_RRR1_MADDS_H_LL                      = 0x3a,
    OPC2_32_RRR1_MADDS_H_LU                      = 0x39,
    OPC2_32_RRR1_MADDS_H_UL                      = 0x38,
    OPC2_32_RRR1_MADDS_H_UU                      = 0x3b,
    OPC2_32_RRR1_MADDM_H_LL                      = 0x1e,
    OPC2_32_RRR1_MADDM_H_LU                      = 0x1d,
    OPC2_32_RRR1_MADDM_H_UL                      = 0x1c,
    OPC2_32_RRR1_MADDM_H_UU                      = 0x1f,
    OPC2_32_RRR1_MADDMS_H_LL                     = 0x3e,
    OPC2_32_RRR1_MADDMS_H_LU                     = 0x3d,
    OPC2_32_RRR1_MADDMS_H_UL                     = 0x3c,
    OPC2_32_RRR1_MADDMS_H_UU                     = 0x3f,
    OPC2_32_RRR1_MADDR_H_LL                      = 0x0e,
    OPC2_32_RRR1_MADDR_H_LU                      = 0x0d,
    OPC2_32_RRR1_MADDR_H_UL                      = 0x0c,
    OPC2_32_RRR1_MADDR_H_UU                      = 0x0f,
    OPC2_32_RRR1_MADDRS_H_LL                     = 0x2e,
    OPC2_32_RRR1_MADDRS_H_LU                     = 0x2d,
    OPC2_32_RRR1_MADDRS_H_UL                     = 0x2c,
    OPC2_32_RRR1_MADDRS_H_UU                     = 0x2f,
};
/* OPCM_32_RRR1_MADDQ_H                             */
enum {
    OPC2_32_RRR1_MADD_Q_32                       = 0x02,
    OPC2_32_RRR1_MADD_Q_64                       = 0x1b,
    OPC2_32_RRR1_MADD_Q_32_L                     = 0x01,
    OPC2_32_RRR1_MADD_Q_64_L                     = 0x19,
    OPC2_32_RRR1_MADD_Q_32_U                     = 0x00,
    OPC2_32_RRR1_MADD_Q_64_U                     = 0x18,
    OPC2_32_RRR1_MADD_Q_32_LL                    = 0x05,
    OPC2_32_RRR1_MADD_Q_64_LL                    = 0x1d,
    OPC2_32_RRR1_MADD_Q_32_UU                    = 0x04,
    OPC2_32_RRR1_MADD_Q_64_UU                    = 0x1c,
    OPC2_32_RRR1_MADDS_Q_32                      = 0x22,
    OPC2_32_RRR1_MADDS_Q_64                      = 0x3b,
    OPC2_32_RRR1_MADDS_Q_32_L                    = 0x21,
    OPC2_32_RRR1_MADDS_Q_64_L                    = 0x39,
    OPC2_32_RRR1_MADDS_Q_32_U                    = 0x20,
    OPC2_32_RRR1_MADDS_Q_64_U                    = 0x38,
    OPC2_32_RRR1_MADDS_Q_32_LL                   = 0x25,
    OPC2_32_RRR1_MADDS_Q_64_LL                   = 0x3d,
    OPC2_32_RRR1_MADDS_Q_32_UU                   = 0x24,
    OPC2_32_RRR1_MADDS_Q_64_UU                   = 0x3c,
    OPC2_32_RRR1_MADDR_H_64_UL                   = 0x1e,
    OPC2_32_RRR1_MADDRS_H_64_UL                  = 0x3e,
    OPC2_32_RRR1_MADDR_Q_32_LL                   = 0x07,
    OPC2_32_RRR1_MADDR_Q_32_UU                   = 0x06,
    OPC2_32_RRR1_MADDRS_Q_32_LL                  = 0x27,
    OPC2_32_RRR1_MADDRS_Q_32_UU                  = 0x26,
};
/* OPCM_32_RRR1_MADDSU_H                            */
enum {
    OPC2_32_RRR1_MADDSU_H_32_LL                  = 0x1a,
    OPC2_32_RRR1_MADDSU_H_32_LU                  = 0x19,
    OPC2_32_RRR1_MADDSU_H_32_UL                  = 0x18,
    OPC2_32_RRR1_MADDSU_H_32_UU                  = 0x1b,
    OPC2_32_RRR1_MADDSUS_H_32_LL                 = 0x3a,
    OPC2_32_RRR1_MADDSUS_H_32_LU                 = 0x39,
    OPC2_32_RRR1_MADDSUS_H_32_UL                 = 0x38,
    OPC2_32_RRR1_MADDSUS_H_32_UU                 = 0x3b,
    OPC2_32_RRR1_MADDSUM_H_64_LL                 = 0x1e,
    OPC2_32_RRR1_MADDSUM_H_64_LU                 = 0x1d,
    OPC2_32_RRR1_MADDSUM_H_64_UL                 = 0x1c,
    OPC2_32_RRR1_MADDSUM_H_64_UU                 = 0x1f,
    OPC2_32_RRR1_MADDSUMS_H_64_LL                = 0x3e,
    OPC2_32_RRR1_MADDSUMS_H_64_LU                = 0x3d,
    OPC2_32_RRR1_MADDSUMS_H_64_UL                = 0x3c,
    OPC2_32_RRR1_MADDSUMS_H_64_UU                = 0x3f,
    OPC2_32_RRR1_MADDSUR_H_16_LL                 = 0x0e,
    OPC2_32_RRR1_MADDSUR_H_16_LU                 = 0x0d,
    OPC2_32_RRR1_MADDSUR_H_16_UL                 = 0x0c,
    OPC2_32_RRR1_MADDSUR_H_16_UU                 = 0x0f,
    OPC2_32_RRR1_MADDSURS_H_16_LL                = 0x2e,
    OPC2_32_RRR1_MADDSURS_H_16_LU                = 0x2d,
    OPC2_32_RRR1_MADDSURS_H_16_UL                = 0x2c,
    OPC2_32_RRR1_MADDSURS_H_16_UU                = 0x2f,
};
/* OPCM_32_RRR1_MSUB_H                              */
enum {
    OPC2_32_RRR1_MSUB_H_LL                       = 0x1a,
    OPC2_32_RRR1_MSUB_H_LU                       = 0x19,
    OPC2_32_RRR1_MSUB_H_UL                       = 0x18,
    OPC2_32_RRR1_MSUB_H_UU                       = 0x1b,
    OPC2_32_RRR1_MSUBS_H_LL                      = 0x3a,
    OPC2_32_RRR1_MSUBS_H_LU                      = 0x39,
    OPC2_32_RRR1_MSUBS_H_UL                      = 0x38,
    OPC2_32_RRR1_MSUBS_H_UU                      = 0x3b,
    OPC2_32_RRR1_MSUBM_H_LL                      = 0x1e,
    OPC2_32_RRR1_MSUBM_H_LU                      = 0x1d,
    OPC2_32_RRR1_MSUBM_H_UL                      = 0x1c,
    OPC2_32_RRR1_MSUBM_H_UU                      = 0x1f,
    OPC2_32_RRR1_MSUBMS_H_LL                     = 0x3e,
    OPC2_32_RRR1_MSUBMS_H_LU                     = 0x3d,
    OPC2_32_RRR1_MSUBMS_H_UL                     = 0x3c,
    OPC2_32_RRR1_MSUBMS_H_UU                     = 0x3f,
    OPC2_32_RRR1_MSUBR_H_LL                      = 0x0e,
    OPC2_32_RRR1_MSUBR_H_LU                      = 0x0d,
    OPC2_32_RRR1_MSUBR_H_UL                      = 0x0c,
    OPC2_32_RRR1_MSUBR_H_UU                      = 0x0f,
    OPC2_32_RRR1_MSUBRS_H_LL                     = 0x2e,
    OPC2_32_RRR1_MSUBRS_H_LU                     = 0x2d,
    OPC2_32_RRR1_MSUBRS_H_UL                     = 0x2c,
    OPC2_32_RRR1_MSUBRS_H_UU                     = 0x2f,
};
/* OPCM_32_RRR1_MSUB_Q                              */
enum {
    OPC2_32_RRR1_MSUB_Q_32                       = 0x02,
    OPC2_32_RRR1_MSUB_Q_64                       = 0x1b,
    OPC2_32_RRR1_MSUB_Q_32_L                     = 0x01,
    OPC2_32_RRR1_MSUB_Q_64_L                     = 0x19,
    OPC2_32_RRR1_MSUB_Q_32_U                     = 0x00,
    OPC2_32_RRR1_MSUB_Q_64_U                     = 0x18,
    OPC2_32_RRR1_MSUB_Q_32_LL                    = 0x05,
    OPC2_32_RRR1_MSUB_Q_64_LL                    = 0x1d,
    OPC2_32_RRR1_MSUB_Q_32_UU                    = 0x04,
    OPC2_32_RRR1_MSUB_Q_64_UU                    = 0x1c,
    OPC2_32_RRR1_MSUBS_Q_32                      = 0x22,
    OPC2_32_RRR1_MSUBS_Q_64                      = 0x3b,
    OPC2_32_RRR1_MSUBS_Q_32_L                    = 0x21,
    OPC2_32_RRR1_MSUBS_Q_64_L                    = 0x39,
    OPC2_32_RRR1_MSUBS_Q_32_U                    = 0x20,
    OPC2_32_RRR1_MSUBS_Q_64_U                    = 0x38,
    OPC2_32_RRR1_MSUBS_Q_32_LL                   = 0x25,
    OPC2_32_RRR1_MSUBS_Q_64_LL                   = 0x3d,
    OPC2_32_RRR1_MSUBS_Q_32_UU                   = 0x24,
    OPC2_32_RRR1_MSUBS_Q_64_UU                   = 0x3c,
    OPC2_32_RRR1_MSUBR_H_64_UL                   = 0x1e,
    OPC2_32_RRR1_MSUBRS_H_64_UL                  = 0x3e,
    OPC2_32_RRR1_MSUBR_Q_32_LL                   = 0x07,
    OPC2_32_RRR1_MSUBR_Q_32_UU                   = 0x06,
    OPC2_32_RRR1_MSUBRS_Q_32_LL                  = 0x27,
    OPC2_32_RRR1_MSUBRS_Q_32_UU                  = 0x26,
};
/* OPCM_32_RRR1_MSUBADS_H                           */
enum {
    OPC2_32_RRR1_MSUBAD_H_32_LL                  = 0x1a,
    OPC2_32_RRR1_MSUBAD_H_32_LU                  = 0x19,
    OPC2_32_RRR1_MSUBAD_H_32_UL                  = 0x18,
    OPC2_32_RRR1_MSUBAD_H_32_UU                  = 0x1b,
    OPC2_32_RRR1_MSUBADS_H_32_LL                 = 0x3a,
    OPC2_32_RRR1_MSUBADS_H_32_LU                 = 0x39,
    OPC2_32_RRR1_MSUBADS_H_32_UL                 = 0x38,
    OPC2_32_RRR1_MSUBADS_H_32_UU                 = 0x3b,
    OPC2_32_RRR1_MSUBADM_H_64_LL                 = 0x1e,
    OPC2_32_RRR1_MSUBADM_H_64_LU                 = 0x1d,
    OPC2_32_RRR1_MSUBADM_H_64_UL                 = 0x1c,
    OPC2_32_RRR1_MSUBADM_H_64_UU                 = 0x1f,
    OPC2_32_RRR1_MSUBADMS_H_64_LL                = 0x3e,
    OPC2_32_RRR1_MSUBADMS_H_64_LU                = 0x3d,
    OPC2_32_RRR1_MSUBADMS_H_64_UL                = 0x3c,
    OPC2_32_RRR1_MSUBADMS_H_64_UU                = 0x3f,
    OPC2_32_RRR1_MSUBADR_H_16_LL                 = 0x0e,
    OPC2_32_RRR1_MSUBADR_H_16_LU                 = 0x0d,
    OPC2_32_RRR1_MSUBADR_H_16_UL                 = 0x0c,
    OPC2_32_RRR1_MSUBADR_H_16_UU                 = 0x0f,
    OPC2_32_RRR1_MSUBADRS_H_16_LL                = 0x2e,
    OPC2_32_RRR1_MSUBADRS_H_16_LU                = 0x2d,
    OPC2_32_RRR1_MSUBADRS_H_16_UL                = 0x2c,
    OPC2_32_RRR1_MSUBADRS_H_16_UU                = 0x2f,
};
/*
 * RRR2 Format
 */
/* OPCM_32_RRR2_MADD                                */
enum {
    OPC2_32_RRR2_MADD_32                         = 0x0a,
    OPC2_32_RRR2_MADD_64                         = 0x6a,
    OPC2_32_RRR2_MADDS_32                        = 0x8a,
    OPC2_32_RRR2_MADDS_64                        = 0xea,
    OPC2_32_RRR2_MADD_U_64                       = 0x68,
    OPC2_32_RRR2_MADDS_U_32                      = 0x88,
    OPC2_32_RRR2_MADDS_U_64                      = 0xe8,
};
/* OPCM_32_RRR2_MSUB                                */
enum {
    OPC2_32_RRR2_MSUB_32                         = 0x0a,
    OPC2_32_RRR2_MSUB_64                         = 0x6a,
    OPC2_32_RRR2_MSUBS_32                        = 0x8a,
    OPC2_32_RRR2_MSUBS_64                        = 0xea,
    OPC2_32_RRR2_MSUB_U_64                       = 0x68,
    OPC2_32_RRR2_MSUBS_U_32                      = 0x88,
    OPC2_32_RRR2_MSUBS_U_64                      = 0xe8,
};
/*
 * RRRR Format
 */
/* OPCM_32_RRRR_EXTRACT_INSERT                      */
enum {
    OPC2_32_RRRR_DEXTR                           = 0x04,
    OPC2_32_RRRR_EXTR                            = 0x02,
    OPC2_32_RRRR_EXTR_U                          = 0x03,
    OPC2_32_RRRR_INSERT                          = 0x00,
};
/*
 * RRRW Format
 */
/* OPCM_32_RRRW_EXTRACT_INSERT                      */
enum {
    OPC2_32_RRRW_EXTR                            = 0x02,
    OPC2_32_RRRW_EXTR_U                          = 0x03,
    OPC2_32_RRRW_IMASK                           = 0x01,
    OPC2_32_RRRW_INSERT                          = 0x00,
};
/*
 * SYS Format
 */
/* OPCM_32_SYS_INTERRUPTS                           */
enum {
    OPC2_32_SYS_DEBUG                            = 0x04,
    OPC2_32_SYS_DISABLE                          = 0x0d,
    OPC2_32_SYS_DISABLE_D                        = 0x0f, /* 1.6 up */
    OPC2_32_SYS_DSYNC                            = 0x12,
    OPC2_32_SYS_ENABLE                           = 0x0c,
    OPC2_32_SYS_ISYNC                            = 0x13,
    OPC2_32_SYS_NOP                              = 0x00,
    OPC2_32_SYS_RET                              = 0x06,
    OPC2_32_SYS_RFE                              = 0x07,
    OPC2_32_SYS_RFM                              = 0x05,
    OPC2_32_SYS_RSLCX                            = 0x09,
    OPC2_32_SYS_SVLCX                            = 0x08,
    OPC2_32_SYS_TRAPSV                           = 0x15,
    OPC2_32_SYS_TRAPV                            = 0x14,
    OPC2_32_SYS_RESTORE                          = 0x0e,
    OPC2_32_SYS_FRET                             = 0x03,
};

#endif
