Home | History | Annotate | Download | only in opcodes
      1 /* Instruction opcode header for mt.
      2 
      3 THIS FILE IS MACHINE GENERATED WITH CGEN.
      4 
      5 Copyright (C) 1996-2014 Free Software Foundation, Inc.
      6 
      7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
      8 
      9    This file is free software; you can redistribute it and/or modify
     10    it under the terms of the GNU General Public License as published by
     11    the Free Software Foundation; either version 3, or (at your option)
     12    any later version.
     13 
     14    It is distributed in the hope that it will be useful, but WITHOUT
     15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     17    License for more details.
     18 
     19    You should have received a copy of the GNU General Public License along
     20    with this program; if not, write to the Free Software Foundation, Inc.,
     21    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
     22 
     23 */
     24 
     25 #ifndef MT_OPC_H
     26 #define MT_OPC_H
     27 
     28 /* -- opc.h */
     29 
     30 /* Check applicability of instructions against machines.  */
     31 #define CGEN_VALIDATE_INSN_SUPPORTED
     32 
     33 /* Allows reason codes to be output when assembler errors occur.  */
     34 #define CGEN_VERBOSE_ASSEMBLER_ERRORS
     35 
     36 /* Override disassembly hashing - there are variable bits in the top
     37    byte of these instructions.  */
     38 #define CGEN_DIS_HASH_SIZE 8
     39 #define CGEN_DIS_HASH(buf, value) (((* (unsigned char *) (buf)) >> 5) % CGEN_DIS_HASH_SIZE)
     40 
     41 #define CGEN_ASM_HASH_SIZE 127
     42 #define CGEN_ASM_HASH(insn) mt_asm_hash (insn)
     43 
     44 extern unsigned int mt_asm_hash (const char *);
     45 
     46 extern int mt_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
     47 
     48 
     49 /* -- opc.c */
     51 /* Enum declaration for mt instruction types.  */
     52 typedef enum cgen_insn_type {
     53   MT_INSN_INVALID, MT_INSN_ADD, MT_INSN_ADDU, MT_INSN_ADDI
     54  , MT_INSN_ADDUI, MT_INSN_SUB, MT_INSN_SUBU, MT_INSN_SUBI
     55  , MT_INSN_SUBUI, MT_INSN_MUL, MT_INSN_MULI, MT_INSN_AND
     56  , MT_INSN_ANDI, MT_INSN_OR, MT_INSN_NOP, MT_INSN_ORI
     57  , MT_INSN_XOR, MT_INSN_XORI, MT_INSN_NAND, MT_INSN_NANDI
     58  , MT_INSN_NOR, MT_INSN_NORI, MT_INSN_XNOR, MT_INSN_XNORI
     59  , MT_INSN_LDUI, MT_INSN_LSL, MT_INSN_LSLI, MT_INSN_LSR
     60  , MT_INSN_LSRI, MT_INSN_ASR, MT_INSN_ASRI, MT_INSN_BRLT
     61  , MT_INSN_BRLE, MT_INSN_BREQ, MT_INSN_BRNE, MT_INSN_JMP
     62  , MT_INSN_JAL, MT_INSN_DBNZ, MT_INSN_EI, MT_INSN_DI
     63  , MT_INSN_SI, MT_INSN_RETI, MT_INSN_LDW, MT_INSN_STW
     64  , MT_INSN_BREAK, MT_INSN_IFLUSH, MT_INSN_LDCTXT, MT_INSN_LDFB
     65  , MT_INSN_STFB, MT_INSN_FBCB, MT_INSN_MFBCB, MT_INSN_FBCCI
     66  , MT_INSN_FBRCI, MT_INSN_FBCRI, MT_INSN_FBRRI, MT_INSN_MFBCCI
     67  , MT_INSN_MFBRCI, MT_INSN_MFBCRI, MT_INSN_MFBRRI, MT_INSN_FBCBDR
     68  , MT_INSN_RCFBCB, MT_INSN_MRCFBCB, MT_INSN_CBCAST, MT_INSN_DUPCBCAST
     69  , MT_INSN_WFBI, MT_INSN_WFB, MT_INSN_RCRISC, MT_INSN_FBCBINC
     70  , MT_INSN_RCXMODE, MT_INSN_INTERLEAVER, MT_INSN_WFBINC, MT_INSN_MWFBINC
     71  , MT_INSN_WFBINCR, MT_INSN_MWFBINCR, MT_INSN_FBCBINCS, MT_INSN_MFBCBINCS
     72  , MT_INSN_FBCBINCRS, MT_INSN_MFBCBINCRS, MT_INSN_LOOP, MT_INSN_LOOPI
     73  , MT_INSN_DFBC, MT_INSN_DWFB, MT_INSN_FBWFB, MT_INSN_DFBR
     74 } CGEN_INSN_TYPE;
     75 
     76 /* Index of `invalid' insn place holder.  */
     77 #define CGEN_INSN_INVALID MT_INSN_INVALID
     78 
     79 /* Total number of insns in table.  */
     80 #define MAX_INSNS ((int) MT_INSN_DFBR + 1)
     81 
     82 /* This struct records data prior to insertion or after extraction.  */
     83 struct cgen_fields
     84 {
     85   int length;
     86   long f_nil;
     87   long f_anyof;
     88   long f_msys;
     89   long f_opc;
     90   long f_imm;
     91   long f_uu24;
     92   long f_sr1;
     93   long f_sr2;
     94   long f_dr;
     95   long f_drrr;
     96   long f_imm16u;
     97   long f_imm16s;
     98   long f_imm16a;
     99   long f_uu4a;
    100   long f_uu4b;
    101   long f_uu12;
    102   long f_uu8;
    103   long f_uu16;
    104   long f_uu1;
    105   long f_msopc;
    106   long f_uu_26_25;
    107   long f_mask;
    108   long f_bankaddr;
    109   long f_rda;
    110   long f_uu_2_25;
    111   long f_rbbc;
    112   long f_perm;
    113   long f_mode;
    114   long f_uu_1_24;
    115   long f_wr;
    116   long f_fbincr;
    117   long f_uu_2_23;
    118   long f_xmode;
    119   long f_a23;
    120   long f_mask1;
    121   long f_cr;
    122   long f_type;
    123   long f_incamt;
    124   long f_cbs;
    125   long f_uu_1_19;
    126   long f_ball;
    127   long f_colnum;
    128   long f_brc;
    129   long f_incr;
    130   long f_fbdisp;
    131   long f_uu_4_15;
    132   long f_length;
    133   long f_uu_1_15;
    134   long f_rc;
    135   long f_rcnum;
    136   long f_rownum;
    137   long f_cbx;
    138   long f_id;
    139   long f_size;
    140   long f_rownum1;
    141   long f_uu_3_11;
    142   long f_rc1;
    143   long f_ccb;
    144   long f_cbrb;
    145   long f_cdb;
    146   long f_rownum2;
    147   long f_cell;
    148   long f_uu_3_9;
    149   long f_contnum;
    150   long f_uu_1_6;
    151   long f_dup;
    152   long f_rc2;
    153   long f_ctxdisp;
    154   long f_imm16l;
    155   long f_loopo;
    156   long f_cb1sel;
    157   long f_cb2sel;
    158   long f_cb1incr;
    159   long f_cb2incr;
    160   long f_rc3;
    161   long f_msysfrsr2;
    162   long f_brc2;
    163   long f_ball2;
    164 };
    165 
    166 #define CGEN_INIT_PARSE(od) \
    167 {\
    168 }
    169 #define CGEN_INIT_INSERT(od) \
    170 {\
    171 }
    172 #define CGEN_INIT_EXTRACT(od) \
    173 {\
    174 }
    175 #define CGEN_INIT_PRINT(od) \
    176 {\
    177 }
    178 
    179 
    180 #endif /* MT_OPC_H */
    181