1 /* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
2 /* Instruction opcode header for fr30.
4 THIS FILE IS MACHINE GENERATED WITH CGEN.
6 Copyright (C) 1996-2019 Free Software Foundation, Inc.
8 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
10 This file is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3, or (at your option)
15 It is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18 License for more details.
20 You should have received a copy of the GNU General Public License along
21 with this program; if not, write to the Free Software Foundation, Inc.,
22 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
35 /* ??? This can be improved upon. */
36 #undef CGEN_DIS_HASH_SIZE
37 #define CGEN_DIS_HASH_SIZE 16
39 #define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 4)
42 /* Enum declaration for fr30 instruction types. */
43 typedef enum cgen_insn_type
{
44 FR30_INSN_INVALID
, FR30_INSN_ADD
, FR30_INSN_ADDI
, FR30_INSN_ADD2
45 , FR30_INSN_ADDC
, FR30_INSN_ADDN
, FR30_INSN_ADDNI
, FR30_INSN_ADDN2
46 , FR30_INSN_SUB
, FR30_INSN_SUBC
, FR30_INSN_SUBN
, FR30_INSN_CMP
47 , FR30_INSN_CMPI
, FR30_INSN_CMP2
, FR30_INSN_AND
, FR30_INSN_OR
48 , FR30_INSN_EOR
, FR30_INSN_ANDM
, FR30_INSN_ANDH
, FR30_INSN_ANDB
49 , FR30_INSN_ORM
, FR30_INSN_ORH
, FR30_INSN_ORB
, FR30_INSN_EORM
50 , FR30_INSN_EORH
, FR30_INSN_EORB
, FR30_INSN_BANDL
, FR30_INSN_BORL
51 , FR30_INSN_BEORL
, FR30_INSN_BANDH
, FR30_INSN_BORH
, FR30_INSN_BEORH
52 , FR30_INSN_BTSTL
, FR30_INSN_BTSTH
, FR30_INSN_MUL
, FR30_INSN_MULU
53 , FR30_INSN_MULH
, FR30_INSN_MULUH
, FR30_INSN_DIV0S
, FR30_INSN_DIV0U
54 , FR30_INSN_DIV1
, FR30_INSN_DIV2
, FR30_INSN_DIV3
, FR30_INSN_DIV4S
55 , FR30_INSN_LSL
, FR30_INSN_LSLI
, FR30_INSN_LSL2
, FR30_INSN_LSR
56 , FR30_INSN_LSRI
, FR30_INSN_LSR2
, FR30_INSN_ASR
, FR30_INSN_ASRI
57 , FR30_INSN_ASR2
, FR30_INSN_LDI8
, FR30_INSN_LDI20
, FR30_INSN_LDI32
58 , FR30_INSN_LD
, FR30_INSN_LDUH
, FR30_INSN_LDUB
, FR30_INSN_LDR13
59 , FR30_INSN_LDR13UH
, FR30_INSN_LDR13UB
, FR30_INSN_LDR14
, FR30_INSN_LDR14UH
60 , FR30_INSN_LDR14UB
, FR30_INSN_LDR15
, FR30_INSN_LDR15GR
, FR30_INSN_LDR15DR
61 , FR30_INSN_LDR15PS
, FR30_INSN_ST
, FR30_INSN_STH
, FR30_INSN_STB
62 , FR30_INSN_STR13
, FR30_INSN_STR13H
, FR30_INSN_STR13B
, FR30_INSN_STR14
63 , FR30_INSN_STR14H
, FR30_INSN_STR14B
, FR30_INSN_STR15
, FR30_INSN_STR15GR
64 , FR30_INSN_STR15DR
, FR30_INSN_STR15PS
, FR30_INSN_MOV
, FR30_INSN_MOVDR
65 , FR30_INSN_MOVPS
, FR30_INSN_MOV2DR
, FR30_INSN_MOV2PS
, FR30_INSN_JMP
66 , FR30_INSN_JMPD
, FR30_INSN_CALLR
, FR30_INSN_CALLRD
, FR30_INSN_CALL
67 , FR30_INSN_CALLD
, FR30_INSN_RET
, FR30_INSN_RET_D
, FR30_INSN_INT
68 , FR30_INSN_INTE
, FR30_INSN_RETI
, FR30_INSN_BRAD
, FR30_INSN_BRA
69 , FR30_INSN_BNOD
, FR30_INSN_BNO
, FR30_INSN_BEQD
, FR30_INSN_BEQ
70 , FR30_INSN_BNED
, FR30_INSN_BNE
, FR30_INSN_BCD
, FR30_INSN_BC
71 , FR30_INSN_BNCD
, FR30_INSN_BNC
, FR30_INSN_BND
, FR30_INSN_BN
72 , FR30_INSN_BPD
, FR30_INSN_BP
, FR30_INSN_BVD
, FR30_INSN_BV
73 , FR30_INSN_BNVD
, FR30_INSN_BNV
, FR30_INSN_BLTD
, FR30_INSN_BLT
74 , FR30_INSN_BGED
, FR30_INSN_BGE
, FR30_INSN_BLED
, FR30_INSN_BLE
75 , FR30_INSN_BGTD
, FR30_INSN_BGT
, FR30_INSN_BLSD
, FR30_INSN_BLS
76 , FR30_INSN_BHID
, FR30_INSN_BHI
, FR30_INSN_DMOVR13
, FR30_INSN_DMOVR13H
77 , FR30_INSN_DMOVR13B
, FR30_INSN_DMOVR13PI
, FR30_INSN_DMOVR13PIH
, FR30_INSN_DMOVR13PIB
78 , FR30_INSN_DMOVR15PI
, FR30_INSN_DMOV2R13
, FR30_INSN_DMOV2R13H
, FR30_INSN_DMOV2R13B
79 , FR30_INSN_DMOV2R13PI
, FR30_INSN_DMOV2R13PIH
, FR30_INSN_DMOV2R13PIB
, FR30_INSN_DMOV2R15PD
80 , FR30_INSN_LDRES
, FR30_INSN_STRES
, FR30_INSN_COPOP
, FR30_INSN_COPLD
81 , FR30_INSN_COPST
, FR30_INSN_COPSV
, FR30_INSN_NOP
, FR30_INSN_ANDCCR
82 , FR30_INSN_ORCCR
, FR30_INSN_STILM
, FR30_INSN_ADDSP
, FR30_INSN_EXTSB
83 , FR30_INSN_EXTUB
, FR30_INSN_EXTSH
, FR30_INSN_EXTUH
, FR30_INSN_LDM0
84 , FR30_INSN_LDM1
, FR30_INSN_STM0
, FR30_INSN_STM1
, FR30_INSN_ENTER
85 , FR30_INSN_LEAVE
, FR30_INSN_XCHB
88 /* Index of `invalid' insn place holder. */
89 #define CGEN_INSN_INVALID FR30_INSN_INVALID
91 /* Total number of insns in table. */
92 #define MAX_INSNS ((int) FR30_INSN_XCHB + 1)
94 /* This struct records data prior to insertion or after extraction. */
136 long f_reglist_hi_st
;
137 long f_reglist_low_st
;
138 long f_reglist_hi_ld
;
139 long f_reglist_low_ld
;
142 #define CGEN_INIT_PARSE(od) \
145 #define CGEN_INIT_INSERT(od) \
148 #define CGEN_INIT_EXTRACT(od) \
151 #define CGEN_INIT_PRINT(od) \
160 #endif /* FR30_OPC_H */