1 /* Instruction opcode header for openrisc.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9 This program 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 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
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 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #ifndef OPENRISC_OPC_H
26 #define OPENRISC_OPC_H
29 #undef CGEN_DIS_HASH_SIZE
30 #define CGEN_DIS_HASH_SIZE 64
32 #define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 2)
35 /* Enum declaration for openrisc instruction types. */
36 typedef enum cgen_insn_type
{
37 OPENRISC_INSN_INVALID
, OPENRISC_INSN_L_J
, OPENRISC_INSN_L_JAL
, OPENRISC_INSN_L_JR
38 , OPENRISC_INSN_L_JALR
, OPENRISC_INSN_L_BAL
, OPENRISC_INSN_L_BNF
, OPENRISC_INSN_L_BF
39 , OPENRISC_INSN_L_BRK
, OPENRISC_INSN_L_RFE
, OPENRISC_INSN_L_SYS
, OPENRISC_INSN_L_NOP
40 , OPENRISC_INSN_L_MOVHI
, OPENRISC_INSN_L_MFSR
, OPENRISC_INSN_L_MTSR
, OPENRISC_INSN_L_LW
41 , OPENRISC_INSN_L_LBZ
, OPENRISC_INSN_L_LBS
, OPENRISC_INSN_L_LHZ
, OPENRISC_INSN_L_LHS
42 , OPENRISC_INSN_L_SW
, OPENRISC_INSN_L_SB
, OPENRISC_INSN_L_SH
, OPENRISC_INSN_L_SLL
43 , OPENRISC_INSN_L_SLLI
, OPENRISC_INSN_L_SRL
, OPENRISC_INSN_L_SRLI
, OPENRISC_INSN_L_SRA
44 , OPENRISC_INSN_L_SRAI
, OPENRISC_INSN_L_ROR
, OPENRISC_INSN_L_RORI
, OPENRISC_INSN_L_ADD
45 , OPENRISC_INSN_L_ADDI
, OPENRISC_INSN_L_SUB
, OPENRISC_INSN_L_SUBI
, OPENRISC_INSN_L_AND
46 , OPENRISC_INSN_L_ANDI
, OPENRISC_INSN_L_OR
, OPENRISC_INSN_L_ORI
, OPENRISC_INSN_L_XOR
47 , OPENRISC_INSN_L_XORI
, OPENRISC_INSN_L_MUL
, OPENRISC_INSN_L_MULI
, OPENRISC_INSN_L_DIV
48 , OPENRISC_INSN_L_DIVU
, OPENRISC_INSN_L_SFGTS
, OPENRISC_INSN_L_SFGTU
, OPENRISC_INSN_L_SFGES
49 , OPENRISC_INSN_L_SFGEU
, OPENRISC_INSN_L_SFLTS
, OPENRISC_INSN_L_SFLTU
, OPENRISC_INSN_L_SFLES
50 , OPENRISC_INSN_L_SFLEU
, OPENRISC_INSN_L_SFGTSI
, OPENRISC_INSN_L_SFGTUI
, OPENRISC_INSN_L_SFGESI
51 , OPENRISC_INSN_L_SFGEUI
, OPENRISC_INSN_L_SFLTSI
, OPENRISC_INSN_L_SFLTUI
, OPENRISC_INSN_L_SFLESI
52 , OPENRISC_INSN_L_SFLEUI
, OPENRISC_INSN_L_SFEQ
, OPENRISC_INSN_L_SFEQI
, OPENRISC_INSN_L_SFNE
53 , OPENRISC_INSN_L_SFNEI
56 /* Index of `invalid' insn place holder. */
57 #define CGEN_INSN_INVALID OPENRISC_INSN_INVALID
59 /* Total number of insns in table. */
60 #define MAX_INSNS ((int) OPENRISC_INSN_L_SFNEI + 1)
62 /* This struct records data prior to insertion or after extraction. */
98 #define CGEN_INIT_PARSE(od) \
101 #define CGEN_INIT_INSERT(od) \
104 #define CGEN_INIT_EXTRACT(od) \
107 #define CGEN_INIT_PRINT(od) \
112 #endif /* OPENRISC_OPC_H */
This page took 0.036648 seconds and 4 git commands to generate.