Varobj support for Ada.
[deliverable/binutils-gdb.git] / opcodes / openrisc-opc.h
CommitLineData
87e6d782
NC
1/* Instruction opcode header for openrisc.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
05994f45 5Copyright 1996-2010 Free Software Foundation, Inc.
87e6d782
NC
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.
87e6d782 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.
87e6d782 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.
87e6d782
NC
22
23*/
24
25#ifndef OPENRISC_OPC_H
26#define OPENRISC_OPC_H
27
28/* -- opc.h */
0e2ee3ca 29#undef CGEN_DIS_HASH_SIZE
87e6d782 30#define CGEN_DIS_HASH_SIZE 64
0e2ee3ca 31#undef CGEN_DIS_HASH
87e6d782
NC
32#define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 2)
33
47b0e7ad 34extern long openrisc_sign_extend_16bit (long);
87e6d782
NC
35/* -- */
36/* Enum declaration for openrisc instruction types. */
37typedef enum cgen_insn_type {
38 OPENRISC_INSN_INVALID, OPENRISC_INSN_L_J, OPENRISC_INSN_L_JAL, OPENRISC_INSN_L_JR
39 , OPENRISC_INSN_L_JALR, OPENRISC_INSN_L_BAL, OPENRISC_INSN_L_BNF, OPENRISC_INSN_L_BF
40 , OPENRISC_INSN_L_BRK, OPENRISC_INSN_L_RFE, OPENRISC_INSN_L_SYS, OPENRISC_INSN_L_NOP
41 , OPENRISC_INSN_L_MOVHI, OPENRISC_INSN_L_MFSR, OPENRISC_INSN_L_MTSR, OPENRISC_INSN_L_LW
42 , OPENRISC_INSN_L_LBZ, OPENRISC_INSN_L_LBS, OPENRISC_INSN_L_LHZ, OPENRISC_INSN_L_LHS
43 , OPENRISC_INSN_L_SW, OPENRISC_INSN_L_SB, OPENRISC_INSN_L_SH, OPENRISC_INSN_L_SLL
44 , OPENRISC_INSN_L_SLLI, OPENRISC_INSN_L_SRL, OPENRISC_INSN_L_SRLI, OPENRISC_INSN_L_SRA
45 , OPENRISC_INSN_L_SRAI, OPENRISC_INSN_L_ROR, OPENRISC_INSN_L_RORI, OPENRISC_INSN_L_ADD
46 , OPENRISC_INSN_L_ADDI, OPENRISC_INSN_L_SUB, OPENRISC_INSN_L_SUBI, OPENRISC_INSN_L_AND
47 , OPENRISC_INSN_L_ANDI, OPENRISC_INSN_L_OR, OPENRISC_INSN_L_ORI, OPENRISC_INSN_L_XOR
48 , OPENRISC_INSN_L_XORI, OPENRISC_INSN_L_MUL, OPENRISC_INSN_L_MULI, OPENRISC_INSN_L_DIV
49 , OPENRISC_INSN_L_DIVU, OPENRISC_INSN_L_SFGTS, OPENRISC_INSN_L_SFGTU, OPENRISC_INSN_L_SFGES
50 , OPENRISC_INSN_L_SFGEU, OPENRISC_INSN_L_SFLTS, OPENRISC_INSN_L_SFLTU, OPENRISC_INSN_L_SFLES
51 , OPENRISC_INSN_L_SFLEU, OPENRISC_INSN_L_SFGTSI, OPENRISC_INSN_L_SFGTUI, OPENRISC_INSN_L_SFGESI
52 , OPENRISC_INSN_L_SFGEUI, OPENRISC_INSN_L_SFLTSI, OPENRISC_INSN_L_SFLTUI, OPENRISC_INSN_L_SFLESI
53 , OPENRISC_INSN_L_SFLEUI, OPENRISC_INSN_L_SFEQ, OPENRISC_INSN_L_SFEQI, OPENRISC_INSN_L_SFNE
54 , OPENRISC_INSN_L_SFNEI
55} CGEN_INSN_TYPE;
56
57/* Index of `invalid' insn place holder. */
58#define CGEN_INSN_INVALID OPENRISC_INSN_INVALID
59
60/* Total number of insns in table. */
61#define MAX_INSNS ((int) OPENRISC_INSN_L_SFNEI + 1)
62
63/* This struct records data prior to insertion or after extraction. */
64struct cgen_fields
65{
66 int length;
67 long f_nil;
68 long f_anyof;
69 long f_class;
70 long f_sub;
71 long f_r1;
72 long f_r2;
73 long f_r3;
74 long f_simm16;
75 long f_uimm16;
76 long f_uimm5;
77 long f_hi16;
78 long f_lo16;
79 long f_op1;
80 long f_op2;
81 long f_op3;
82 long f_op4;
83 long f_op5;
84 long f_op6;
85 long f_op7;
86 long f_i16_1;
87 long f_i16_2;
88 long f_disp26;
89 long f_abs26;
90 long f_i16nc;
91 long f_f_15_8;
92 long f_f_10_3;
93 long f_f_4_1;
94 long f_f_7_3;
95 long f_f_10_7;
96 long f_f_10_11;
97};
98
99#define CGEN_INIT_PARSE(od) \
100{\
101}
102#define CGEN_INIT_INSERT(od) \
103{\
104}
105#define CGEN_INIT_EXTRACT(od) \
106{\
107}
108#define CGEN_INIT_PRINT(od) \
109{\
110}
111
112
113#endif /* OPENRISC_OPC_H */
This page took 0.484277 seconds and 4 git commands to generate.