Fix snafu in aarch64 opcodes debugging statement.
[deliverable/binutils-gdb.git] / opcodes / mt-opc.h
CommitLineData
d031aafb 1/* Instruction opcode header for mt.
ac188222
DB
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
2571583a 5Copyright (C) 1996-2017 Free Software Foundation, Inc.
ac188222
DB
6
7This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8
9b201bb5
NC
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.
ac188222 13
9b201bb5
NC
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.
ac188222 18
9b201bb5
NC
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.
ac188222
DB
22
23*/
24
d031aafb
NS
25#ifndef MT_OPC_H
26#define MT_OPC_H
ac188222 27
f47b0d4a
AM
28#ifdef __cplusplus
29extern "C" {
30#endif
31
ac188222
DB
32/* -- opc.h */
33
34/* Check applicability of instructions against machines. */
35#define CGEN_VALIDATE_INSN_SUPPORTED
36
37/* Allows reason codes to be output when assembler errors occur. */
38#define CGEN_VERBOSE_ASSEMBLER_ERRORS
39
40/* Override disassembly hashing - there are variable bits in the top
41 byte of these instructions. */
42#define CGEN_DIS_HASH_SIZE 8
43#define CGEN_DIS_HASH(buf, value) (((* (unsigned char *) (buf)) >> 5) % CGEN_DIS_HASH_SIZE)
44
45#define CGEN_ASM_HASH_SIZE 127
d031aafb 46#define CGEN_ASM_HASH(insn) mt_asm_hash (insn)
ac188222 47
d031aafb 48extern unsigned int mt_asm_hash (const char *);
ac188222 49
d031aafb 50extern int mt_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
ac188222
DB
51
52\f
53/* -- opc.c */
d031aafb 54/* Enum declaration for mt instruction types. */
ac188222 55typedef enum cgen_insn_type {
d031aafb
NS
56 MT_INSN_INVALID, MT_INSN_ADD, MT_INSN_ADDU, MT_INSN_ADDI
57 , MT_INSN_ADDUI, MT_INSN_SUB, MT_INSN_SUBU, MT_INSN_SUBI
58 , MT_INSN_SUBUI, MT_INSN_MUL, MT_INSN_MULI, MT_INSN_AND
59 , MT_INSN_ANDI, MT_INSN_OR, MT_INSN_NOP, MT_INSN_ORI
60 , MT_INSN_XOR, MT_INSN_XORI, MT_INSN_NAND, MT_INSN_NANDI
61 , MT_INSN_NOR, MT_INSN_NORI, MT_INSN_XNOR, MT_INSN_XNORI
62 , MT_INSN_LDUI, MT_INSN_LSL, MT_INSN_LSLI, MT_INSN_LSR
63 , MT_INSN_LSRI, MT_INSN_ASR, MT_INSN_ASRI, MT_INSN_BRLT
64 , MT_INSN_BRLE, MT_INSN_BREQ, MT_INSN_BRNE, MT_INSN_JMP
65 , MT_INSN_JAL, MT_INSN_DBNZ, MT_INSN_EI, MT_INSN_DI
66 , MT_INSN_SI, MT_INSN_RETI, MT_INSN_LDW, MT_INSN_STW
67 , MT_INSN_BREAK, MT_INSN_IFLUSH, MT_INSN_LDCTXT, MT_INSN_LDFB
68 , MT_INSN_STFB, MT_INSN_FBCB, MT_INSN_MFBCB, MT_INSN_FBCCI
69 , MT_INSN_FBRCI, MT_INSN_FBCRI, MT_INSN_FBRRI, MT_INSN_MFBCCI
70 , MT_INSN_MFBRCI, MT_INSN_MFBCRI, MT_INSN_MFBRRI, MT_INSN_FBCBDR
71 , MT_INSN_RCFBCB, MT_INSN_MRCFBCB, MT_INSN_CBCAST, MT_INSN_DUPCBCAST
72 , MT_INSN_WFBI, MT_INSN_WFB, MT_INSN_RCRISC, MT_INSN_FBCBINC
73 , MT_INSN_RCXMODE, MT_INSN_INTERLEAVER, MT_INSN_WFBINC, MT_INSN_MWFBINC
74 , MT_INSN_WFBINCR, MT_INSN_MWFBINCR, MT_INSN_FBCBINCS, MT_INSN_MFBCBINCS
75 , MT_INSN_FBCBINCRS, MT_INSN_MFBCBINCRS, MT_INSN_LOOP, MT_INSN_LOOPI
76 , MT_INSN_DFBC, MT_INSN_DWFB, MT_INSN_FBWFB, MT_INSN_DFBR
ac188222
DB
77} CGEN_INSN_TYPE;
78
79/* Index of `invalid' insn place holder. */
d031aafb 80#define CGEN_INSN_INVALID MT_INSN_INVALID
ac188222
DB
81
82/* Total number of insns in table. */
d031aafb 83#define MAX_INSNS ((int) MT_INSN_DFBR + 1)
ac188222
DB
84
85/* This struct records data prior to insertion or after extraction. */
86struct cgen_fields
87{
88 int length;
89 long f_nil;
90 long f_anyof;
91 long f_msys;
92 long f_opc;
93 long f_imm;
94 long f_uu24;
95 long f_sr1;
96 long f_sr2;
97 long f_dr;
98 long f_drrr;
99 long f_imm16u;
100 long f_imm16s;
101 long f_imm16a;
102 long f_uu4a;
103 long f_uu4b;
104 long f_uu12;
6f84a2a6 105 long f_uu8;
ac188222 106 long f_uu16;
6f84a2a6 107 long f_uu1;
ac188222
DB
108 long f_msopc;
109 long f_uu_26_25;
110 long f_mask;
111 long f_bankaddr;
112 long f_rda;
113 long f_uu_2_25;
114 long f_rbbc;
115 long f_perm;
116 long f_mode;
117 long f_uu_1_24;
118 long f_wr;
119 long f_fbincr;
120 long f_uu_2_23;
121 long f_xmode;
122 long f_a23;
123 long f_mask1;
124 long f_cr;
125 long f_type;
126 long f_incamt;
127 long f_cbs;
128 long f_uu_1_19;
129 long f_ball;
130 long f_colnum;
131 long f_brc;
132 long f_incr;
133 long f_fbdisp;
134 long f_uu_4_15;
135 long f_length;
136 long f_uu_1_15;
137 long f_rc;
138 long f_rcnum;
139 long f_rownum;
140 long f_cbx;
141 long f_id;
142 long f_size;
143 long f_rownum1;
144 long f_uu_3_11;
145 long f_rc1;
146 long f_ccb;
147 long f_cbrb;
148 long f_cdb;
149 long f_rownum2;
150 long f_cell;
151 long f_uu_3_9;
152 long f_contnum;
153 long f_uu_1_6;
154 long f_dup;
155 long f_rc2;
156 long f_ctxdisp;
6f84a2a6
NS
157 long f_imm16l;
158 long f_loopo;
159 long f_cb1sel;
160 long f_cb2sel;
161 long f_cb1incr;
162 long f_cb2incr;
163 long f_rc3;
ac188222
DB
164 long f_msysfrsr2;
165 long f_brc2;
166 long f_ball2;
167};
168
169#define CGEN_INIT_PARSE(od) \
170{\
171}
172#define CGEN_INIT_INSERT(od) \
173{\
174}
175#define CGEN_INIT_EXTRACT(od) \
176{\
177}
178#define CGEN_INIT_PRINT(od) \
179{\
180}
181
182
f47b0d4a
AM
183 #ifdef __cplusplus
184 }
185 #endif
186
d031aafb 187#endif /* MT_OPC_H */
This page took 0.51713 seconds and 4 git commands to generate.