[BACK]Return to iq2000-opc.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils.old / dist / opcodes

Annotation of src/external/gpl3/binutils.old/dist/opcodes/iq2000-opc.h, Revision 1.7

1.6       christos    1: /* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
1.1       christos    2: /* Instruction opcode header for iq2000.
                      3:
                      4: THIS FILE IS MACHINE GENERATED WITH CGEN.
                      5:
1.7     ! christos    6: Copyright (C) 1996-2020 Free Software Foundation, Inc.
1.1       christos    7:
                      8: This file is part of the GNU Binutils and/or GDB, the GNU debugger.
                      9:
                     10:    This file is free software; you can redistribute it and/or modify
                     11:    it under the terms of the GNU General Public License as published by
                     12:    the Free Software Foundation; either version 3, or (at your option)
                     13:    any later version.
                     14:
                     15:    It is distributed in the hope that it will be useful, but WITHOUT
                     16:    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     17:    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
                     18:    License for more details.
                     19:
                     20:    You should have received a copy of the GNU General Public License along
                     21:    with this program; if not, write to the Free Software Foundation, Inc.,
                     22:    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
                     23:
                     24: */
                     25:
                     26: #ifndef IQ2000_OPC_H
                     27: #define IQ2000_OPC_H
                     28:
1.6       christos   29: #ifdef __cplusplus
                     30: extern "C" {
                     31: #endif
                     32:
1.1       christos   33: /* -- opc.h */
                     34:
                     35: /* Allows reason codes to be output when assembler errors occur.  */
                     36: #define CGEN_VERBOSE_ASSEMBLER_ERRORS
                     37:
                     38: /* Override disassembly hashing - there are variable bits in the top
                     39:    byte of these instructions.  */
                     40: #define CGEN_DIS_HASH_SIZE 8
                     41: #define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 6) % CGEN_DIS_HASH_SIZE)
                     42:
                     43: /* following activates check beyond hashing since some iq2000 and iq10
                     44:    instructions have same mnemonics but different functionality. */
                     45: #define CGEN_VALIDATE_INSN_SUPPORTED
                     46:
                     47: extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
                     48:
                     49: /* -- asm.c */
                     50: /* Enum declaration for iq2000 instruction types.  */
                     51: typedef enum cgen_insn_type {
                     52:   IQ2000_INSN_INVALID, IQ2000_INSN_ADD2, IQ2000_INSN_ADD, IQ2000_INSN_ADDI2
                     53:  , IQ2000_INSN_ADDI, IQ2000_INSN_ADDIU2, IQ2000_INSN_ADDIU, IQ2000_INSN_ADDU2
                     54:  , IQ2000_INSN_ADDU, IQ2000_INSN_ADO162, IQ2000_INSN_ADO16, IQ2000_INSN_AND2
                     55:  , IQ2000_INSN_AND, IQ2000_INSN_ANDI2, IQ2000_INSN_ANDI, IQ2000_INSN_ANDOI2
                     56:  , IQ2000_INSN_ANDOI, IQ2000_INSN_NOR2, IQ2000_INSN_NOR, IQ2000_INSN_OR2
                     57:  , IQ2000_INSN_OR, IQ2000_INSN_ORI2, IQ2000_INSN_ORI, IQ2000_INSN_RAM
                     58:  , IQ2000_INSN_SLL, IQ2000_INSN_SLLV2, IQ2000_INSN_SLLV, IQ2000_INSN_SLMV2
                     59:  , IQ2000_INSN_SLMV, IQ2000_INSN_SLT2, IQ2000_INSN_SLT, IQ2000_INSN_SLTI2
                     60:  , IQ2000_INSN_SLTI, IQ2000_INSN_SLTIU2, IQ2000_INSN_SLTIU, IQ2000_INSN_SLTU2
                     61:  , IQ2000_INSN_SLTU, IQ2000_INSN_SRA2, IQ2000_INSN_SRA, IQ2000_INSN_SRAV2
                     62:  , IQ2000_INSN_SRAV, IQ2000_INSN_SRL, IQ2000_INSN_SRLV2, IQ2000_INSN_SRLV
                     63:  , IQ2000_INSN_SRMV2, IQ2000_INSN_SRMV, IQ2000_INSN_SUB2, IQ2000_INSN_SUB
                     64:  , IQ2000_INSN_SUBU2, IQ2000_INSN_SUBU, IQ2000_INSN_XOR2, IQ2000_INSN_XOR
                     65:  , IQ2000_INSN_XORI2, IQ2000_INSN_XORI, IQ2000_INSN_BBI, IQ2000_INSN_BBIN
                     66:  , IQ2000_INSN_BBV, IQ2000_INSN_BBVN, IQ2000_INSN_BEQ, IQ2000_INSN_BEQL
                     67:  , IQ2000_INSN_BGEZ, IQ2000_INSN_BGEZAL, IQ2000_INSN_BGEZALL, IQ2000_INSN_BGEZL
                     68:  , IQ2000_INSN_BLTZ, IQ2000_INSN_BLTZL, IQ2000_INSN_BLTZAL, IQ2000_INSN_BLTZALL
                     69:  , IQ2000_INSN_BMB0, IQ2000_INSN_BMB1, IQ2000_INSN_BMB2, IQ2000_INSN_BMB3
                     70:  , IQ2000_INSN_BNE, IQ2000_INSN_BNEL, IQ2000_INSN_JALR, IQ2000_INSN_JR
                     71:  , IQ2000_INSN_LB, IQ2000_INSN_LBU, IQ2000_INSN_LH, IQ2000_INSN_LHU
                     72:  , IQ2000_INSN_LUI, IQ2000_INSN_LW, IQ2000_INSN_SB, IQ2000_INSN_SH
                     73:  , IQ2000_INSN_SW, IQ2000_INSN_BREAK, IQ2000_INSN_SYSCALL, IQ2000_INSN_ANDOUI
                     74:  , IQ2000_INSN_ANDOUI2, IQ2000_INSN_ORUI2, IQ2000_INSN_ORUI, IQ2000_INSN_BGTZ
                     75:  , IQ2000_INSN_BGTZL, IQ2000_INSN_BLEZ, IQ2000_INSN_BLEZL, IQ2000_INSN_MRGB
                     76:  , IQ2000_INSN_MRGB2, IQ2000_INSN_BCTXT, IQ2000_INSN_BC0F, IQ2000_INSN_BC0FL
                     77:  , IQ2000_INSN_BC3F, IQ2000_INSN_BC3FL, IQ2000_INSN_BC0T, IQ2000_INSN_BC0TL
                     78:  , IQ2000_INSN_BC3T, IQ2000_INSN_BC3TL, IQ2000_INSN_CFC0, IQ2000_INSN_CFC1
                     79:  , IQ2000_INSN_CFC2, IQ2000_INSN_CFC3, IQ2000_INSN_CHKHDR, IQ2000_INSN_CTC0
                     80:  , IQ2000_INSN_CTC1, IQ2000_INSN_CTC2, IQ2000_INSN_CTC3, IQ2000_INSN_JCR
                     81:  , IQ2000_INSN_LUC32, IQ2000_INSN_LUC32L, IQ2000_INSN_LUC64, IQ2000_INSN_LUC64L
                     82:  , IQ2000_INSN_LUK, IQ2000_INSN_LULCK, IQ2000_INSN_LUM32, IQ2000_INSN_LUM32L
                     83:  , IQ2000_INSN_LUM64, IQ2000_INSN_LUM64L, IQ2000_INSN_LUR, IQ2000_INSN_LURL
                     84:  , IQ2000_INSN_LUULCK, IQ2000_INSN_MFC0, IQ2000_INSN_MFC1, IQ2000_INSN_MFC2
                     85:  , IQ2000_INSN_MFC3, IQ2000_INSN_MTC0, IQ2000_INSN_MTC1, IQ2000_INSN_MTC2
                     86:  , IQ2000_INSN_MTC3, IQ2000_INSN_PKRL, IQ2000_INSN_PKRLR1, IQ2000_INSN_PKRLR30
                     87:  , IQ2000_INSN_RB, IQ2000_INSN_RBR1, IQ2000_INSN_RBR30, IQ2000_INSN_RFE
                     88:  , IQ2000_INSN_RX, IQ2000_INSN_RXR1, IQ2000_INSN_RXR30, IQ2000_INSN_SLEEP
                     89:  , IQ2000_INSN_SRRD, IQ2000_INSN_SRRDL, IQ2000_INSN_SRULCK, IQ2000_INSN_SRWR
                     90:  , IQ2000_INSN_SRWRU, IQ2000_INSN_TRAPQFL, IQ2000_INSN_TRAPQNE, IQ2000_INSN_TRAPREL
                     91:  , IQ2000_INSN_WB, IQ2000_INSN_WBU, IQ2000_INSN_WBR1, IQ2000_INSN_WBR1U
                     92:  , IQ2000_INSN_WBR30, IQ2000_INSN_WBR30U, IQ2000_INSN_WX, IQ2000_INSN_WXU
                     93:  , IQ2000_INSN_WXR1, IQ2000_INSN_WXR1U, IQ2000_INSN_WXR30, IQ2000_INSN_WXR30U
                     94:  , IQ2000_INSN_LDW, IQ2000_INSN_SDW, IQ2000_INSN_J, IQ2000_INSN_JAL
                     95:  , IQ2000_INSN_BMB, IQ2000_INSN_ANDOUI_Q10, IQ2000_INSN_ANDOUI2_Q10, IQ2000_INSN_ORUI_Q10
                     96:  , IQ2000_INSN_ORUI2_Q10, IQ2000_INSN_MRGBQ10, IQ2000_INSN_MRGBQ102, IQ2000_INSN_JQ10
                     97:  , IQ2000_INSN_JALQ10, IQ2000_INSN_JALQ10_2, IQ2000_INSN_BBIL, IQ2000_INSN_BBINL
                     98:  , IQ2000_INSN_BBVL, IQ2000_INSN_BBVNL, IQ2000_INSN_BGTZAL, IQ2000_INSN_BGTZALL
                     99:  , IQ2000_INSN_BLEZAL, IQ2000_INSN_BLEZALL, IQ2000_INSN_BGTZ_Q10, IQ2000_INSN_BGTZL_Q10
                    100:  , IQ2000_INSN_BLEZ_Q10, IQ2000_INSN_BLEZL_Q10, IQ2000_INSN_BMB_Q10, IQ2000_INSN_BMBL
                    101:  , IQ2000_INSN_BRI, IQ2000_INSN_BRV, IQ2000_INSN_BCTX, IQ2000_INSN_YIELD
                    102:  , IQ2000_INSN_CRC32, IQ2000_INSN_CRC32B, IQ2000_INSN_CNT1S, IQ2000_INSN_AVAIL
                    103:  , IQ2000_INSN_FREE, IQ2000_INSN_TSTOD, IQ2000_INSN_CMPHDR, IQ2000_INSN_MCID
                    104:  , IQ2000_INSN_DBA, IQ2000_INSN_DBD, IQ2000_INSN_DPWT, IQ2000_INSN_CHKHDRQ10
                    105:  , IQ2000_INSN_RBA, IQ2000_INSN_RBAL, IQ2000_INSN_RBAR, IQ2000_INSN_WBA
                    106:  , IQ2000_INSN_WBAU, IQ2000_INSN_WBAC, IQ2000_INSN_RBI, IQ2000_INSN_RBIL
                    107:  , IQ2000_INSN_RBIR, IQ2000_INSN_WBI, IQ2000_INSN_WBIC, IQ2000_INSN_WBIU
                    108:  , IQ2000_INSN_PKRLI, IQ2000_INSN_PKRLIH, IQ2000_INSN_PKRLIU, IQ2000_INSN_PKRLIC
                    109:  , IQ2000_INSN_PKRLA, IQ2000_INSN_PKRLAU, IQ2000_INSN_PKRLAH, IQ2000_INSN_PKRLAC
                    110:  , IQ2000_INSN_LOCK, IQ2000_INSN_UNLK, IQ2000_INSN_SWRD, IQ2000_INSN_SWRDL
                    111:  , IQ2000_INSN_SWWR, IQ2000_INSN_SWWRU, IQ2000_INSN_DWRD, IQ2000_INSN_DWRDL
                    112:  , IQ2000_INSN_CAM36, IQ2000_INSN_CAM72, IQ2000_INSN_CAM144, IQ2000_INSN_CAM288
                    113:  , IQ2000_INSN_CM32AND, IQ2000_INSN_CM32ANDN, IQ2000_INSN_CM32OR, IQ2000_INSN_CM32RA
                    114:  , IQ2000_INSN_CM32RD, IQ2000_INSN_CM32RI, IQ2000_INSN_CM32RS, IQ2000_INSN_CM32SA
                    115:  , IQ2000_INSN_CM32SD, IQ2000_INSN_CM32SI, IQ2000_INSN_CM32SS, IQ2000_INSN_CM32XOR
                    116:  , IQ2000_INSN_CM64CLR, IQ2000_INSN_CM64RA, IQ2000_INSN_CM64RD, IQ2000_INSN_CM64RI
                    117:  , IQ2000_INSN_CM64RIA2, IQ2000_INSN_CM64RS, IQ2000_INSN_CM64SA, IQ2000_INSN_CM64SD
                    118:  , IQ2000_INSN_CM64SI, IQ2000_INSN_CM64SIA2, IQ2000_INSN_CM64SS, IQ2000_INSN_CM128RIA2
                    119:  , IQ2000_INSN_CM128RIA3, IQ2000_INSN_CM128RIA4, IQ2000_INSN_CM128SIA2, IQ2000_INSN_CM128SIA3
                    120:  , IQ2000_INSN_CM128SIA4, IQ2000_INSN_CM128VSA, IQ2000_INSN_CFC, IQ2000_INSN_CTC
                    121: } CGEN_INSN_TYPE;
                    122:
                    123: /* Index of `invalid' insn place holder.  */
                    124: #define CGEN_INSN_INVALID IQ2000_INSN_INVALID
                    125:
                    126: /* Total number of insns in table.  */
                    127: #define MAX_INSNS ((int) IQ2000_INSN_CTC + 1)
                    128:
                    129: /* This struct records data prior to insertion or after extraction.  */
                    130: struct cgen_fields
                    131: {
                    132:   int length;
                    133:   long f_nil;
                    134:   long f_anyof;
                    135:   long f_opcode;
                    136:   long f_rs;
                    137:   long f_rt;
                    138:   long f_rd;
                    139:   long f_shamt;
                    140:   long f_cp_op;
                    141:   long f_cp_op_10;
                    142:   long f_cp_grp;
                    143:   long f_func;
                    144:   long f_imm;
                    145:   long f_rd_rs;
                    146:   long f_rd_rt;
                    147:   long f_rt_rs;
                    148:   long f_jtarg;
                    149:   long f_jtargq10;
                    150:   long f_offset;
                    151:   long f_count;
                    152:   long f_bytecount;
                    153:   long f_index;
                    154:   long f_mask;
                    155:   long f_maskq10;
                    156:   long f_maskl;
                    157:   long f_excode;
                    158:   long f_rsrvd;
                    159:   long f_10_11;
                    160:   long f_24_19;
                    161:   long f_5;
                    162:   long f_10;
                    163:   long f_25;
                    164:   long f_cam_z;
                    165:   long f_cam_y;
                    166:   long f_cm_3func;
                    167:   long f_cm_4func;
                    168:   long f_cm_3z;
                    169:   long f_cm_4z;
                    170: };
                    171:
                    172: #define CGEN_INIT_PARSE(od) \
                    173: {\
                    174: }
                    175: #define CGEN_INIT_INSERT(od) \
                    176: {\
                    177: }
                    178: #define CGEN_INIT_EXTRACT(od) \
                    179: {\
                    180: }
                    181: #define CGEN_INIT_PRINT(od) \
                    182: {\
                    183: }
                    184:
                    185:
1.6       christos  186:    #ifdef __cplusplus
                    187:    }
                    188:    #endif
                    189:
1.1       christos  190: #endif /* IQ2000_OPC_H */

CVSweb <webmaster@jp.NetBSD.org>