1 /* Instruction opcode header for sh.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2019 Free Software Foundation, Inc.
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
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)
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.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
27 /* Enum declaration for sh instruction types. */
28 typedef enum cgen_insn_type
{
29 SH_INSN_INVALID
, SH_INSN_ADD_COMPACT
, SH_INSN_ADDI_COMPACT
, SH_INSN_ADDC_COMPACT
30 , SH_INSN_ADDV_COMPACT
, SH_INSN_AND_COMPACT
, SH_INSN_ANDI_COMPACT
, SH_INSN_ANDB_COMPACT
31 , SH_INSN_BF_COMPACT
, SH_INSN_BFS_COMPACT
, SH_INSN_BRA_COMPACT
, SH_INSN_BRAF_COMPACT
32 , SH_INSN_BRK_COMPACT
, SH_INSN_BSR_COMPACT
, SH_INSN_BSRF_COMPACT
, SH_INSN_BT_COMPACT
33 , SH_INSN_BTS_COMPACT
, SH_INSN_CLRMAC_COMPACT
, SH_INSN_CLRS_COMPACT
, SH_INSN_CLRT_COMPACT
34 , SH_INSN_CMPEQ_COMPACT
, SH_INSN_CMPEQI_COMPACT
, SH_INSN_CMPGE_COMPACT
, SH_INSN_CMPGT_COMPACT
35 , SH_INSN_CMPHI_COMPACT
, SH_INSN_CMPHS_COMPACT
, SH_INSN_CMPPL_COMPACT
, SH_INSN_CMPPZ_COMPACT
36 , SH_INSN_CMPSTR_COMPACT
, SH_INSN_DIV0S_COMPACT
, SH_INSN_DIV0U_COMPACT
, SH_INSN_DIV1_COMPACT
37 , SH_INSN_DIVU_COMPACT
, SH_INSN_MULR_COMPACT
, SH_INSN_DMULSL_COMPACT
, SH_INSN_DMULUL_COMPACT
38 , SH_INSN_DT_COMPACT
, SH_INSN_EXTSB_COMPACT
, SH_INSN_EXTSW_COMPACT
, SH_INSN_EXTUB_COMPACT
39 , SH_INSN_EXTUW_COMPACT
, SH_INSN_FABS_COMPACT
, SH_INSN_FADD_COMPACT
, SH_INSN_FCMPEQ_COMPACT
40 , SH_INSN_FCMPGT_COMPACT
, SH_INSN_FCNVDS_COMPACT
, SH_INSN_FCNVSD_COMPACT
, SH_INSN_FDIV_COMPACT
41 , SH_INSN_FIPR_COMPACT
, SH_INSN_FLDS_COMPACT
, SH_INSN_FLDI0_COMPACT
, SH_INSN_FLDI1_COMPACT
42 , SH_INSN_FLOAT_COMPACT
, SH_INSN_FMAC_COMPACT
, SH_INSN_FMOV1_COMPACT
, SH_INSN_FMOV2_COMPACT
43 , SH_INSN_FMOV3_COMPACT
, SH_INSN_FMOV4_COMPACT
, SH_INSN_FMOV5_COMPACT
, SH_INSN_FMOV6_COMPACT
44 , SH_INSN_FMOV7_COMPACT
, SH_INSN_FMOV8_COMPACT
, SH_INSN_FMOV9_COMPACT
, SH_INSN_FMUL_COMPACT
45 , SH_INSN_FNEG_COMPACT
, SH_INSN_FRCHG_COMPACT
, SH_INSN_FSCHG_COMPACT
, SH_INSN_FSQRT_COMPACT
46 , SH_INSN_FSTS_COMPACT
, SH_INSN_FSUB_COMPACT
, SH_INSN_FTRC_COMPACT
, SH_INSN_FTRV_COMPACT
47 , SH_INSN_JMP_COMPACT
, SH_INSN_JSR_COMPACT
, SH_INSN_LDC_GBR_COMPACT
, SH_INSN_LDC_VBR_COMPACT
48 , SH_INSN_LDC_SR_COMPACT
, SH_INSN_LDCL_GBR_COMPACT
, SH_INSN_LDCL_VBR_COMPACT
, SH_INSN_LDS_FPSCR_COMPACT
49 , SH_INSN_LDSL_FPSCR_COMPACT
, SH_INSN_LDS_FPUL_COMPACT
, SH_INSN_LDSL_FPUL_COMPACT
, SH_INSN_LDS_MACH_COMPACT
50 , SH_INSN_LDSL_MACH_COMPACT
, SH_INSN_LDS_MACL_COMPACT
, SH_INSN_LDSL_MACL_COMPACT
, SH_INSN_LDS_PR_COMPACT
51 , SH_INSN_LDSL_PR_COMPACT
, SH_INSN_MACL_COMPACT
, SH_INSN_MACW_COMPACT
, SH_INSN_MOV_COMPACT
52 , SH_INSN_MOVI_COMPACT
, SH_INSN_MOVI20_COMPACT
, SH_INSN_MOVB1_COMPACT
, SH_INSN_MOVB2_COMPACT
53 , SH_INSN_MOVB3_COMPACT
, SH_INSN_MOVB4_COMPACT
, SH_INSN_MOVB5_COMPACT
, SH_INSN_MOVB6_COMPACT
54 , SH_INSN_MOVB7_COMPACT
, SH_INSN_MOVB8_COMPACT
, SH_INSN_MOVB9_COMPACT
, SH_INSN_MOVB10_COMPACT
55 , SH_INSN_MOVL1_COMPACT
, SH_INSN_MOVL2_COMPACT
, SH_INSN_MOVL3_COMPACT
, SH_INSN_MOVL4_COMPACT
56 , SH_INSN_MOVL5_COMPACT
, SH_INSN_MOVL6_COMPACT
, SH_INSN_MOVL7_COMPACT
, SH_INSN_MOVL8_COMPACT
57 , SH_INSN_MOVL9_COMPACT
, SH_INSN_MOVL10_COMPACT
, SH_INSN_MOVL11_COMPACT
, SH_INSN_MOVL12_COMPACT
58 , SH_INSN_MOVL13_COMPACT
, SH_INSN_MOVW1_COMPACT
, SH_INSN_MOVW2_COMPACT
, SH_INSN_MOVW3_COMPACT
59 , SH_INSN_MOVW4_COMPACT
, SH_INSN_MOVW5_COMPACT
, SH_INSN_MOVW6_COMPACT
, SH_INSN_MOVW7_COMPACT
60 , SH_INSN_MOVW8_COMPACT
, SH_INSN_MOVW9_COMPACT
, SH_INSN_MOVW10_COMPACT
, SH_INSN_MOVW11_COMPACT
61 , SH_INSN_MOVA_COMPACT
, SH_INSN_MOVCAL_COMPACT
, SH_INSN_MOVCOL_COMPACT
, SH_INSN_MOVT_COMPACT
62 , SH_INSN_MOVUAL_COMPACT
, SH_INSN_MOVUAL2_COMPACT
, SH_INSN_MULL_COMPACT
, SH_INSN_MULSW_COMPACT
63 , SH_INSN_MULUW_COMPACT
, SH_INSN_NEG_COMPACT
, SH_INSN_NEGC_COMPACT
, SH_INSN_NOP_COMPACT
64 , SH_INSN_NOT_COMPACT
, SH_INSN_OCBI_COMPACT
, SH_INSN_OCBP_COMPACT
, SH_INSN_OCBWB_COMPACT
65 , SH_INSN_OR_COMPACT
, SH_INSN_ORI_COMPACT
, SH_INSN_ORB_COMPACT
, SH_INSN_PREF_COMPACT
66 , SH_INSN_ROTCL_COMPACT
, SH_INSN_ROTCR_COMPACT
, SH_INSN_ROTL_COMPACT
, SH_INSN_ROTR_COMPACT
67 , SH_INSN_RTS_COMPACT
, SH_INSN_SETS_COMPACT
, SH_INSN_SETT_COMPACT
, SH_INSN_SHAD_COMPACT
68 , SH_INSN_SHAL_COMPACT
, SH_INSN_SHAR_COMPACT
, SH_INSN_SHLD_COMPACT
, SH_INSN_SHLL_COMPACT
69 , SH_INSN_SHLL2_COMPACT
, SH_INSN_SHLL8_COMPACT
, SH_INSN_SHLL16_COMPACT
, SH_INSN_SHLR_COMPACT
70 , SH_INSN_SHLR2_COMPACT
, SH_INSN_SHLR8_COMPACT
, SH_INSN_SHLR16_COMPACT
, SH_INSN_STC_GBR_COMPACT
71 , SH_INSN_STC_VBR_COMPACT
, SH_INSN_STCL_GBR_COMPACT
, SH_INSN_STCL_VBR_COMPACT
, SH_INSN_STS_FPSCR_COMPACT
72 , SH_INSN_STSL_FPSCR_COMPACT
, SH_INSN_STS_FPUL_COMPACT
, SH_INSN_STSL_FPUL_COMPACT
, SH_INSN_STS_MACH_COMPACT
73 , SH_INSN_STSL_MACH_COMPACT
, SH_INSN_STS_MACL_COMPACT
, SH_INSN_STSL_MACL_COMPACT
, SH_INSN_STS_PR_COMPACT
74 , SH_INSN_STSL_PR_COMPACT
, SH_INSN_SUB_COMPACT
, SH_INSN_SUBC_COMPACT
, SH_INSN_SUBV_COMPACT
75 , SH_INSN_SWAPB_COMPACT
, SH_INSN_SWAPW_COMPACT
, SH_INSN_TASB_COMPACT
, SH_INSN_TRAPA_COMPACT
76 , SH_INSN_TST_COMPACT
, SH_INSN_TSTI_COMPACT
, SH_INSN_TSTB_COMPACT
, SH_INSN_XOR_COMPACT
77 , SH_INSN_XORI_COMPACT
, SH_INSN_XORB_COMPACT
, SH_INSN_XTRCT_COMPACT
, SH_INSN_ADD
78 , SH_INSN_ADDL
, SH_INSN_ADDI
, SH_INSN_ADDIL
, SH_INSN_ADDZL
79 , SH_INSN_ALLOCO
, SH_INSN_AND
, SH_INSN_ANDC
, SH_INSN_ANDI
80 , SH_INSN_BEQ
, SH_INSN_BEQI
, SH_INSN_BGE
, SH_INSN_BGEU
81 , SH_INSN_BGT
, SH_INSN_BGTU
, SH_INSN_BLINK
, SH_INSN_BNE
82 , SH_INSN_BNEI
, SH_INSN_BRK
, SH_INSN_BYTEREV
, SH_INSN_CMPEQ
83 , SH_INSN_CMPGT
, SH_INSN_CMPGTU
, SH_INSN_CMVEQ
, SH_INSN_CMVNE
84 , SH_INSN_FABSD
, SH_INSN_FABSS
, SH_INSN_FADDD
, SH_INSN_FADDS
85 , SH_INSN_FCMPEQD
, SH_INSN_FCMPEQS
, SH_INSN_FCMPGED
, SH_INSN_FCMPGES
86 , SH_INSN_FCMPGTD
, SH_INSN_FCMPGTS
, SH_INSN_FCMPUND
, SH_INSN_FCMPUNS
87 , SH_INSN_FCNVDS
, SH_INSN_FCNVSD
, SH_INSN_FDIVD
, SH_INSN_FDIVS
88 , SH_INSN_FGETSCR
, SH_INSN_FIPRS
, SH_INSN_FLDD
, SH_INSN_FLDP
89 , SH_INSN_FLDS
, SH_INSN_FLDXD
, SH_INSN_FLDXP
, SH_INSN_FLDXS
90 , SH_INSN_FLOATLD
, SH_INSN_FLOATLS
, SH_INSN_FLOATQD
, SH_INSN_FLOATQS
91 , SH_INSN_FMACS
, SH_INSN_FMOVD
, SH_INSN_FMOVDQ
, SH_INSN_FMOVLS
92 , SH_INSN_FMOVQD
, SH_INSN_FMOVS
, SH_INSN_FMOVSL
, SH_INSN_FMULD
93 , SH_INSN_FMULS
, SH_INSN_FNEGD
, SH_INSN_FNEGS
, SH_INSN_FPUTSCR
94 , SH_INSN_FSQRTD
, SH_INSN_FSQRTS
, SH_INSN_FSTD
, SH_INSN_FSTP
95 , SH_INSN_FSTS
, SH_INSN_FSTXD
, SH_INSN_FSTXP
, SH_INSN_FSTXS
96 , SH_INSN_FSUBD
, SH_INSN_FSUBS
, SH_INSN_FTRCDL
, SH_INSN_FTRCSL
97 , SH_INSN_FTRCDQ
, SH_INSN_FTRCSQ
, SH_INSN_FTRVS
, SH_INSN_GETCFG
98 , SH_INSN_GETCON
, SH_INSN_GETTR
, SH_INSN_ICBI
, SH_INSN_LDB
99 , SH_INSN_LDL
, SH_INSN_LDQ
, SH_INSN_LDUB
, SH_INSN_LDUW
100 , SH_INSN_LDW
, SH_INSN_LDHIL
, SH_INSN_LDHIQ
, SH_INSN_LDLOL
101 , SH_INSN_LDLOQ
, SH_INSN_LDXB
, SH_INSN_LDXL
, SH_INSN_LDXQ
102 , SH_INSN_LDXUB
, SH_INSN_LDXUW
, SH_INSN_LDXW
, SH_INSN_MABSL
103 , SH_INSN_MABSW
, SH_INSN_MADDL
, SH_INSN_MADDW
, SH_INSN_MADDSL
104 , SH_INSN_MADDSUB
, SH_INSN_MADDSW
, SH_INSN_MCMPEQB
, SH_INSN_MCMPEQL
105 , SH_INSN_MCMPEQW
, SH_INSN_MCMPGTL
, SH_INSN_MCMPGTUB
, SH_INSN_MCMPGTW
106 , SH_INSN_MCMV
, SH_INSN_MCNVSLW
, SH_INSN_MCNVSWB
, SH_INSN_MCNVSWUB
107 , SH_INSN_MEXTR1
, SH_INSN_MEXTR2
, SH_INSN_MEXTR3
, SH_INSN_MEXTR4
108 , SH_INSN_MEXTR5
, SH_INSN_MEXTR6
, SH_INSN_MEXTR7
, SH_INSN_MMACFXWL
109 , SH_INSN_MMACNFX_WL
, SH_INSN_MMULL
, SH_INSN_MMULW
, SH_INSN_MMULFXL
110 , SH_INSN_MMULFXW
, SH_INSN_MMULFXRPW
, SH_INSN_MMULHIWL
, SH_INSN_MMULLOWL
111 , SH_INSN_MMULSUMWQ
, SH_INSN_MOVI
, SH_INSN_MPERMW
, SH_INSN_MSADUBQ
112 , SH_INSN_MSHALDSL
, SH_INSN_MSHALDSW
, SH_INSN_MSHARDL
, SH_INSN_MSHARDW
113 , SH_INSN_MSHARDSQ
, SH_INSN_MSHFHIB
, SH_INSN_MSHFHIL
, SH_INSN_MSHFHIW
114 , SH_INSN_MSHFLOB
, SH_INSN_MSHFLOL
, SH_INSN_MSHFLOW
, SH_INSN_MSHLLDL
115 , SH_INSN_MSHLLDW
, SH_INSN_MSHLRDL
, SH_INSN_MSHLRDW
, SH_INSN_MSUBL
116 , SH_INSN_MSUBW
, SH_INSN_MSUBSL
, SH_INSN_MSUBSUB
, SH_INSN_MSUBSW
117 , SH_INSN_MULSL
, SH_INSN_MULUL
, SH_INSN_NOP
, SH_INSN_NSB
118 , SH_INSN_OCBI
, SH_INSN_OCBP
, SH_INSN_OCBWB
, SH_INSN_OR
119 , SH_INSN_ORI
, SH_INSN_PREFI
, SH_INSN_PTA
, SH_INSN_PTABS
120 , SH_INSN_PTB
, SH_INSN_PTREL
, SH_INSN_PUTCFG
, SH_INSN_PUTCON
121 , SH_INSN_RTE
, SH_INSN_SHARD
, SH_INSN_SHARDL
, SH_INSN_SHARI
122 , SH_INSN_SHARIL
, SH_INSN_SHLLD
, SH_INSN_SHLLDL
, SH_INSN_SHLLI
123 , SH_INSN_SHLLIL
, SH_INSN_SHLRD
, SH_INSN_SHLRDL
, SH_INSN_SHLRI
124 , SH_INSN_SHLRIL
, SH_INSN_SHORI
, SH_INSN_SLEEP
, SH_INSN_STB
125 , SH_INSN_STL
, SH_INSN_STQ
, SH_INSN_STW
, SH_INSN_STHIL
126 , SH_INSN_STHIQ
, SH_INSN_STLOL
, SH_INSN_STLOQ
, SH_INSN_STXB
127 , SH_INSN_STXL
, SH_INSN_STXQ
, SH_INSN_STXW
, SH_INSN_SUB
128 , SH_INSN_SUBL
, SH_INSN_SWAPQ
, SH_INSN_SYNCI
, SH_INSN_SYNCO
129 , SH_INSN_TRAPA
, SH_INSN_XOR
, SH_INSN_XORI
132 /* Index of `invalid' insn place holder. */
133 #define CGEN_INSN_INVALID SH_INSN_INVALID
135 /* Total number of insns in table. */
136 #define MAX_INSNS ((int) SH_INSN_XORI + 1)
138 /* This struct records data prior to insertion or after extraction. */
200 #define CGEN_INIT_PARSE(od) \
203 #define CGEN_INIT_INSERT(od) \
206 #define CGEN_INIT_EXTRACT(od) \
209 #define CGEN_INIT_PRINT(od) \
214 #endif /* SH_OPC_H */