Fix snafu in aarch64 opcodes debugging statement.
[deliverable/binutils-gdb.git] / opcodes / ip2k-opc.h
CommitLineData
a40cbfa3
NC
1/* Instruction opcode header for ip2k.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
2571583a 5Copyright (C) 1996-2017 Free Software Foundation, Inc.
a40cbfa3
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.
a40cbfa3 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.
a40cbfa3 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.
a40cbfa3
NC
22
23*/
24
25#ifndef IP2K_OPC_H
26#define IP2K_OPC_H
27
f47b0d4a
AM
28#ifdef __cplusplus
29extern "C" {
30#endif
31
a40cbfa3
NC
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
47b0e7ad
NC
43#define CGEN_DIS_HASH(buf, value) \
44 (((* (unsigned char*) (buf)) >> 5) % CGEN_DIS_HASH_SIZE)
a40cbfa3
NC
45
46#define CGEN_ASM_HASH_SIZE 127
47b0e7ad 47#define CGEN_ASM_HASH(insn) ip2k_asm_hash (insn)
a40cbfa3 48
47b0e7ad
NC
49extern unsigned int ip2k_asm_hash (const char *);
50extern int ip2k_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
a40cbfa3
NC
51\f
52/* -- opc.c */
53/* Enum declaration for ip2k instruction types. */
54typedef enum cgen_insn_type {
55 IP2K_INSN_INVALID, IP2K_INSN_JMP, IP2K_INSN_CALL, IP2K_INSN_SB
56 , IP2K_INSN_SNB, IP2K_INSN_SETB, IP2K_INSN_CLRB, IP2K_INSN_XORW_L
57 , IP2K_INSN_ANDW_L, IP2K_INSN_ORW_L, IP2K_INSN_ADDW_L, IP2K_INSN_SUBW_L
58 , IP2K_INSN_CMPW_L, IP2K_INSN_RETW_L, IP2K_INSN_CSEW_L, IP2K_INSN_CSNEW_L
59 , IP2K_INSN_PUSH_L, IP2K_INSN_MULSW_L, IP2K_INSN_MULUW_L, IP2K_INSN_LOADL_L
60 , IP2K_INSN_LOADH_L, IP2K_INSN_LOADL_A, IP2K_INSN_LOADH_A, IP2K_INSN_ADDCFR_W
61 , IP2K_INSN_ADDCW_FR, IP2K_INSN_INCSNZ_FR, IP2K_INSN_INCSNZW_FR, IP2K_INSN_MULSW_FR
62 , IP2K_INSN_MULUW_FR, IP2K_INSN_DECSNZ_FR, IP2K_INSN_DECSNZW_FR, IP2K_INSN_SUBCW_FR
63 , IP2K_INSN_SUBCFR_W, IP2K_INSN_POP_FR, IP2K_INSN_PUSH_FR, IP2K_INSN_CSEW_FR
64 , IP2K_INSN_CSNEW_FR, IP2K_INSN_INCSZ_FR, IP2K_INSN_INCSZW_FR, IP2K_INSN_SWAP_FR
65 , IP2K_INSN_SWAPW_FR, IP2K_INSN_RL_FR, IP2K_INSN_RLW_FR, IP2K_INSN_RR_FR
66 , IP2K_INSN_RRW_FR, IP2K_INSN_DECSZ_FR, IP2K_INSN_DECSZW_FR, IP2K_INSN_INC_FR
67 , IP2K_INSN_INCW_FR, IP2K_INSN_NOT_FR, IP2K_INSN_NOTW_FR, IP2K_INSN_TEST_FR
68 , IP2K_INSN_MOVW_L, IP2K_INSN_MOVFR_W, IP2K_INSN_MOVW_FR, IP2K_INSN_ADDFR_W
69 , IP2K_INSN_ADDW_FR, IP2K_INSN_XORFR_W, IP2K_INSN_XORW_FR, IP2K_INSN_ANDFR_W
70 , IP2K_INSN_ANDW_FR, IP2K_INSN_ORFR_W, IP2K_INSN_ORW_FR, IP2K_INSN_DEC_FR
71 , IP2K_INSN_DECW_FR, IP2K_INSN_SUBFR_W, IP2K_INSN_SUBW_FR, IP2K_INSN_CLR_FR
72 , IP2K_INSN_CMPW_FR, IP2K_INSN_SPEED, IP2K_INSN_IREADI, IP2K_INSN_IWRITEI
73 , IP2K_INSN_FREAD, IP2K_INSN_FWRITE, IP2K_INSN_IREAD, IP2K_INSN_IWRITE
74 , IP2K_INSN_PAGE, IP2K_INSN_SYSTEM, IP2K_INSN_RETI, IP2K_INSN_RET
75 , IP2K_INSN_INT, IP2K_INSN_BREAKX, IP2K_INSN_CWDT, IP2K_INSN_FERASE
76 , IP2K_INSN_RETNP, IP2K_INSN_BREAK, IP2K_INSN_NOP
77} CGEN_INSN_TYPE;
78
79/* Index of `invalid' insn place holder. */
80#define CGEN_INSN_INVALID IP2K_INSN_INVALID
81
82/* Total number of insns in table. */
83#define MAX_INSNS ((int) IP2K_INSN_NOP + 1)
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_imm8;
92 long f_reg;
93 long f_addr16cjp;
94 long f_dir;
95 long f_bitno;
96 long f_op3;
97 long f_op4;
98 long f_op4mid;
99 long f_op6;
100 long f_op8;
101 long f_op6_10low;
102 long f_op6_7low;
103 long f_reti3;
104 long f_skipb;
105 long f_page3;
106};
107
108#define CGEN_INIT_PARSE(od) \
109{\
110}
111#define CGEN_INIT_INSERT(od) \
112{\
113}
114#define CGEN_INIT_EXTRACT(od) \
115{\
116}
117#define CGEN_INIT_PRINT(od) \
118{\
119}
120
121
f47b0d4a
AM
122 #ifdef __cplusplus
123 }
124 #endif
125
a40cbfa3 126#endif /* IP2K_OPC_H */
This page took 0.657831 seconds and 4 git commands to generate.