Regenerate.
[external/binutils.git] / sim / m32r / arch.h
1 /* Simulator header for m32r.
2
3 Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
4
5 This file is part of the GNU Simulators.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21 */
22
23 #ifndef M32R_ARCH_H
24 #define M32R_ARCH_H
25
26 #define MAX_INSNS 166
27
28 #define TARGET_BIG_ENDIAN 1
29
30 /* Shorthand macro for fetching registers.  */
31 #define CPU(x) (CPU_CGEN_HW (current_cpu)->x)
32
33 /* Macros to determine which cpus are supported.  */
34 #define HAVE_CPU_M32R
35 /* start-sanitize-m32rx */
36 #define HAVE_CPU_M32RX
37 /* end-sanitize-m32rx */
38
39 /* Enum declaration for mode types.  */
40 typedef enum mode_type {
41   MODE_VM, MODE_BI, MODE_QI, MODE_HI,
42   MODE_SI, MODE_DI, MODE_UBI, MODE_UQI,
43   MODE_UHI, MODE_USI, MODE_UDI, MODE_SF,
44   MODE_DF, MODE_XF, MODE_TF, MODE_MAX
45 } MODE_TYPE;
46
47 #define MAX_MODES ((int) MODE_MAX)
48
49 /* Return name of instruction numbered INSN.  */
50 #define INSN_NAME(insn) (m32r_cgen_insn_table_entries[insn].name)
51
52 /* Enum declaration for model types.  */
53 typedef enum model_type {
54   MODEL_M32R_D, MODEL_TEST, MODEL_M32RX, MODEL_MAX
55 } MODEL_TYPE;
56
57 #define MAX_MODELS ((int) MODEL_MAX)
58
59 /* Enum declaration for unit types.  */
60 typedef enum unit_type {
61   UNIT_NONE, UNIT_M32R_D_U_STORE, UNIT_M32R_D_U_LOAD, UNIT_M32R_D_U_EXEC,
62   UNIT_TEST_U_EXEC, UNIT_M32RX_U_EXEC, UNIT_MAX
63 } UNIT_TYPE;
64
65 #define MAX_UNITS (1)
66
67 #endif /* M32R_ARCH_H */