1*3d8817e4Smiod /* Semantic operand instances for m32r.
2*3d8817e4Smiod
3*3d8817e4Smiod THIS FILE IS MACHINE GENERATED WITH CGEN.
4*3d8817e4Smiod
5*3d8817e4Smiod Copyright 1996-2005 Free Software Foundation, Inc.
6*3d8817e4Smiod
7*3d8817e4Smiod This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8*3d8817e4Smiod
9*3d8817e4Smiod This program is free software; you can redistribute it and/or modify
10*3d8817e4Smiod it under the terms of the GNU General Public License as published by
11*3d8817e4Smiod the Free Software Foundation; either version 2, or (at your option)
12*3d8817e4Smiod any later version.
13*3d8817e4Smiod
14*3d8817e4Smiod This program is distributed in the hope that it will be useful,
15*3d8817e4Smiod but WITHOUT ANY WARRANTY; without even the implied warranty of
16*3d8817e4Smiod MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17*3d8817e4Smiod GNU General Public License for more details.
18*3d8817e4Smiod
19*3d8817e4Smiod You should have received a copy of the GNU General Public License along
20*3d8817e4Smiod with this program; if not, write to the Free Software Foundation, Inc.,
21*3d8817e4Smiod 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
22*3d8817e4Smiod
23*3d8817e4Smiod */
24*3d8817e4Smiod
25*3d8817e4Smiod #include "sysdep.h"
26*3d8817e4Smiod #include "ansidecl.h"
27*3d8817e4Smiod #include "bfd.h"
28*3d8817e4Smiod #include "symcat.h"
29*3d8817e4Smiod #include "m32r-desc.h"
30*3d8817e4Smiod #include "m32r-opc.h"
31*3d8817e4Smiod
32*3d8817e4Smiod /* Operand references. */
33*3d8817e4Smiod
34*3d8817e4Smiod #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
35*3d8817e4Smiod #define OP_ENT(op) M32R_OPERAND_##op
36*3d8817e4Smiod #else
37*3d8817e4Smiod #define OP_ENT(op) M32R_OPERAND_/**/op
38*3d8817e4Smiod #endif
39*3d8817e4Smiod #define INPUT CGEN_OPINST_INPUT
40*3d8817e4Smiod #define OUTPUT CGEN_OPINST_OUTPUT
41*3d8817e4Smiod #define END CGEN_OPINST_END
42*3d8817e4Smiod #define COND_REF CGEN_OPINST_COND_REF
43*3d8817e4Smiod
44*3d8817e4Smiod static const CGEN_OPINST sfmt_empty_ops[] ATTRIBUTE_UNUSED = {
45*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
46*3d8817e4Smiod };
47*3d8817e4Smiod
48*3d8817e4Smiod static const CGEN_OPINST sfmt_add_ops[] ATTRIBUTE_UNUSED = {
49*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
50*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
51*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
52*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
53*3d8817e4Smiod };
54*3d8817e4Smiod
55*3d8817e4Smiod static const CGEN_OPINST sfmt_add3_ops[] ATTRIBUTE_UNUSED = {
56*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
57*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
58*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
59*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
60*3d8817e4Smiod };
61*3d8817e4Smiod
62*3d8817e4Smiod static const CGEN_OPINST sfmt_and3_ops[] ATTRIBUTE_UNUSED = {
63*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
64*3d8817e4Smiod { INPUT, "uimm16", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (UIMM16), 0, 0 },
65*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
66*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
67*3d8817e4Smiod };
68*3d8817e4Smiod
69*3d8817e4Smiod static const CGEN_OPINST sfmt_or3_ops[] ATTRIBUTE_UNUSED = {
70*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
71*3d8817e4Smiod { INPUT, "ulo16", HW_H_ULO16, CGEN_MODE_UINT, OP_ENT (ULO16), 0, 0 },
72*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
73*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
74*3d8817e4Smiod };
75*3d8817e4Smiod
76*3d8817e4Smiod static const CGEN_OPINST sfmt_addi_ops[] ATTRIBUTE_UNUSED = {
77*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
78*3d8817e4Smiod { INPUT, "simm8", HW_H_SINT, CGEN_MODE_INT, OP_ENT (SIMM8), 0, 0 },
79*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
80*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
81*3d8817e4Smiod };
82*3d8817e4Smiod
83*3d8817e4Smiod static const CGEN_OPINST sfmt_addv_ops[] ATTRIBUTE_UNUSED = {
84*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
85*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
86*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
87*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
88*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
89*3d8817e4Smiod };
90*3d8817e4Smiod
91*3d8817e4Smiod static const CGEN_OPINST sfmt_addv3_ops[] ATTRIBUTE_UNUSED = {
92*3d8817e4Smiod { INPUT, "simm16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
93*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
94*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
95*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
96*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
97*3d8817e4Smiod };
98*3d8817e4Smiod
99*3d8817e4Smiod static const CGEN_OPINST sfmt_addx_ops[] ATTRIBUTE_UNUSED = {
100*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
101*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
102*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
103*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
104*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
105*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
106*3d8817e4Smiod };
107*3d8817e4Smiod
108*3d8817e4Smiod static const CGEN_OPINST sfmt_bc8_ops[] ATTRIBUTE_UNUSED = {
109*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
110*3d8817e4Smiod { INPUT, "disp8", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP8), 0, COND_REF },
111*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
112*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
113*3d8817e4Smiod };
114*3d8817e4Smiod
115*3d8817e4Smiod static const CGEN_OPINST sfmt_bc24_ops[] ATTRIBUTE_UNUSED = {
116*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
117*3d8817e4Smiod { INPUT, "disp24", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP24), 0, COND_REF },
118*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
119*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
120*3d8817e4Smiod };
121*3d8817e4Smiod
122*3d8817e4Smiod static const CGEN_OPINST sfmt_beq_ops[] ATTRIBUTE_UNUSED = {
123*3d8817e4Smiod { INPUT, "disp16", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP16), 0, COND_REF },
124*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
125*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
126*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
127*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
128*3d8817e4Smiod };
129*3d8817e4Smiod
130*3d8817e4Smiod static const CGEN_OPINST sfmt_beqz_ops[] ATTRIBUTE_UNUSED = {
131*3d8817e4Smiod { INPUT, "disp16", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP16), 0, COND_REF },
132*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
133*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
134*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
135*3d8817e4Smiod };
136*3d8817e4Smiod
137*3d8817e4Smiod static const CGEN_OPINST sfmt_bl8_ops[] ATTRIBUTE_UNUSED = {
138*3d8817e4Smiod { INPUT, "disp8", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP8), 0, 0 },
139*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
140*3d8817e4Smiod { OUTPUT, "h_gr_SI_14", HW_H_GR, CGEN_MODE_SI, 0, 14, 0 },
141*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
142*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
143*3d8817e4Smiod };
144*3d8817e4Smiod
145*3d8817e4Smiod static const CGEN_OPINST sfmt_bl24_ops[] ATTRIBUTE_UNUSED = {
146*3d8817e4Smiod { INPUT, "disp24", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP24), 0, 0 },
147*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
148*3d8817e4Smiod { OUTPUT, "h_gr_SI_14", HW_H_GR, CGEN_MODE_SI, 0, 14, 0 },
149*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
150*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
151*3d8817e4Smiod };
152*3d8817e4Smiod
153*3d8817e4Smiod static const CGEN_OPINST sfmt_bcl8_ops[] ATTRIBUTE_UNUSED = {
154*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
155*3d8817e4Smiod { INPUT, "disp8", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP8), 0, COND_REF },
156*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
157*3d8817e4Smiod { OUTPUT, "h_gr_SI_14", HW_H_GR, CGEN_MODE_SI, 0, 14, COND_REF },
158*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
159*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
160*3d8817e4Smiod };
161*3d8817e4Smiod
162*3d8817e4Smiod static const CGEN_OPINST sfmt_bcl24_ops[] ATTRIBUTE_UNUSED = {
163*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
164*3d8817e4Smiod { INPUT, "disp24", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP24), 0, COND_REF },
165*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
166*3d8817e4Smiod { OUTPUT, "h_gr_SI_14", HW_H_GR, CGEN_MODE_SI, 0, 14, COND_REF },
167*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
168*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
169*3d8817e4Smiod };
170*3d8817e4Smiod
171*3d8817e4Smiod static const CGEN_OPINST sfmt_bra8_ops[] ATTRIBUTE_UNUSED = {
172*3d8817e4Smiod { INPUT, "disp8", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP8), 0, 0 },
173*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
174*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
175*3d8817e4Smiod };
176*3d8817e4Smiod
177*3d8817e4Smiod static const CGEN_OPINST sfmt_bra24_ops[] ATTRIBUTE_UNUSED = {
178*3d8817e4Smiod { INPUT, "disp24", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP24), 0, 0 },
179*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
180*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
181*3d8817e4Smiod };
182*3d8817e4Smiod
183*3d8817e4Smiod static const CGEN_OPINST sfmt_cmp_ops[] ATTRIBUTE_UNUSED = {
184*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
185*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
186*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
187*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
188*3d8817e4Smiod };
189*3d8817e4Smiod
190*3d8817e4Smiod static const CGEN_OPINST sfmt_cmpi_ops[] ATTRIBUTE_UNUSED = {
191*3d8817e4Smiod { INPUT, "simm16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
192*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
193*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
194*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
195*3d8817e4Smiod };
196*3d8817e4Smiod
197*3d8817e4Smiod static const CGEN_OPINST sfmt_cmpz_ops[] ATTRIBUTE_UNUSED = {
198*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
199*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
200*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
201*3d8817e4Smiod };
202*3d8817e4Smiod
203*3d8817e4Smiod static const CGEN_OPINST sfmt_div_ops[] ATTRIBUTE_UNUSED = {
204*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, COND_REF },
205*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
206*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, COND_REF },
207*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
208*3d8817e4Smiod };
209*3d8817e4Smiod
210*3d8817e4Smiod static const CGEN_OPINST sfmt_jc_ops[] ATTRIBUTE_UNUSED = {
211*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
212*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, COND_REF },
213*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
214*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
215*3d8817e4Smiod };
216*3d8817e4Smiod
217*3d8817e4Smiod static const CGEN_OPINST sfmt_jl_ops[] ATTRIBUTE_UNUSED = {
218*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
219*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
220*3d8817e4Smiod { OUTPUT, "h_gr_SI_14", HW_H_GR, CGEN_MODE_SI, 0, 14, 0 },
221*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
222*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
223*3d8817e4Smiod };
224*3d8817e4Smiod
225*3d8817e4Smiod static const CGEN_OPINST sfmt_jmp_ops[] ATTRIBUTE_UNUSED = {
226*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
227*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
228*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
229*3d8817e4Smiod };
230*3d8817e4Smiod
231*3d8817e4Smiod static const CGEN_OPINST sfmt_ld_ops[] ATTRIBUTE_UNUSED = {
232*3d8817e4Smiod { INPUT, "h_memory_SI_sr", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
233*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
234*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
235*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
236*3d8817e4Smiod };
237*3d8817e4Smiod
238*3d8817e4Smiod static const CGEN_OPINST sfmt_ld_d_ops[] ATTRIBUTE_UNUSED = {
239*3d8817e4Smiod { INPUT, "h_memory_SI_add__DFLT_sr_slo16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
240*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
241*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
242*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
243*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
244*3d8817e4Smiod };
245*3d8817e4Smiod
246*3d8817e4Smiod static const CGEN_OPINST sfmt_ldb_ops[] ATTRIBUTE_UNUSED = {
247*3d8817e4Smiod { INPUT, "h_memory_QI_sr", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
248*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
249*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
250*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
251*3d8817e4Smiod };
252*3d8817e4Smiod
253*3d8817e4Smiod static const CGEN_OPINST sfmt_ldb_d_ops[] ATTRIBUTE_UNUSED = {
254*3d8817e4Smiod { INPUT, "h_memory_QI_add__DFLT_sr_slo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
255*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
256*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
257*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
258*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
259*3d8817e4Smiod };
260*3d8817e4Smiod
261*3d8817e4Smiod static const CGEN_OPINST sfmt_ldh_ops[] ATTRIBUTE_UNUSED = {
262*3d8817e4Smiod { INPUT, "h_memory_HI_sr", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
263*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
264*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
265*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
266*3d8817e4Smiod };
267*3d8817e4Smiod
268*3d8817e4Smiod static const CGEN_OPINST sfmt_ldh_d_ops[] ATTRIBUTE_UNUSED = {
269*3d8817e4Smiod { INPUT, "h_memory_HI_add__DFLT_sr_slo16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
270*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
271*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
272*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
273*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
274*3d8817e4Smiod };
275*3d8817e4Smiod
276*3d8817e4Smiod static const CGEN_OPINST sfmt_ld_plus_ops[] ATTRIBUTE_UNUSED = {
277*3d8817e4Smiod { INPUT, "h_memory_SI_sr", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
278*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
279*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
280*3d8817e4Smiod { OUTPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
281*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
282*3d8817e4Smiod };
283*3d8817e4Smiod
284*3d8817e4Smiod static const CGEN_OPINST sfmt_ld24_ops[] ATTRIBUTE_UNUSED = {
285*3d8817e4Smiod { INPUT, "uimm24", HW_H_ADDR, CGEN_MODE_USI, OP_ENT (UIMM24), 0, 0 },
286*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
287*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
288*3d8817e4Smiod };
289*3d8817e4Smiod
290*3d8817e4Smiod static const CGEN_OPINST sfmt_ldi8_ops[] ATTRIBUTE_UNUSED = {
291*3d8817e4Smiod { INPUT, "simm8", HW_H_SINT, CGEN_MODE_INT, OP_ENT (SIMM8), 0, 0 },
292*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
293*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
294*3d8817e4Smiod };
295*3d8817e4Smiod
296*3d8817e4Smiod static const CGEN_OPINST sfmt_ldi16_ops[] ATTRIBUTE_UNUSED = {
297*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
298*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
299*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
300*3d8817e4Smiod };
301*3d8817e4Smiod
302*3d8817e4Smiod static const CGEN_OPINST sfmt_lock_ops[] ATTRIBUTE_UNUSED = {
303*3d8817e4Smiod { INPUT, "h_memory_SI_sr", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
304*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
305*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
306*3d8817e4Smiod { OUTPUT, "h_lock_BI", HW_H_LOCK, CGEN_MODE_BI, 0, 0, 0 },
307*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
308*3d8817e4Smiod };
309*3d8817e4Smiod
310*3d8817e4Smiod static const CGEN_OPINST sfmt_machi_ops[] ATTRIBUTE_UNUSED = {
311*3d8817e4Smiod { INPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
312*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
313*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
314*3d8817e4Smiod { OUTPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
315*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
316*3d8817e4Smiod };
317*3d8817e4Smiod
318*3d8817e4Smiod static const CGEN_OPINST sfmt_machi_a_ops[] ATTRIBUTE_UNUSED = {
319*3d8817e4Smiod { INPUT, "acc", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACC), 0, 0 },
320*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
321*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
322*3d8817e4Smiod { OUTPUT, "acc", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACC), 0, 0 },
323*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
324*3d8817e4Smiod };
325*3d8817e4Smiod
326*3d8817e4Smiod static const CGEN_OPINST sfmt_mulhi_ops[] ATTRIBUTE_UNUSED = {
327*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
328*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
329*3d8817e4Smiod { OUTPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
330*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
331*3d8817e4Smiod };
332*3d8817e4Smiod
333*3d8817e4Smiod static const CGEN_OPINST sfmt_mulhi_a_ops[] ATTRIBUTE_UNUSED = {
334*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
335*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
336*3d8817e4Smiod { OUTPUT, "acc", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACC), 0, 0 },
337*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
338*3d8817e4Smiod };
339*3d8817e4Smiod
340*3d8817e4Smiod static const CGEN_OPINST sfmt_mv_ops[] ATTRIBUTE_UNUSED = {
341*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
342*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
343*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
344*3d8817e4Smiod };
345*3d8817e4Smiod
346*3d8817e4Smiod static const CGEN_OPINST sfmt_mvfachi_ops[] ATTRIBUTE_UNUSED = {
347*3d8817e4Smiod { INPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
348*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
349*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
350*3d8817e4Smiod };
351*3d8817e4Smiod
352*3d8817e4Smiod static const CGEN_OPINST sfmt_mvfachi_a_ops[] ATTRIBUTE_UNUSED = {
353*3d8817e4Smiod { INPUT, "accs", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACCS), 0, 0 },
354*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
355*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
356*3d8817e4Smiod };
357*3d8817e4Smiod
358*3d8817e4Smiod static const CGEN_OPINST sfmt_mvfc_ops[] ATTRIBUTE_UNUSED = {
359*3d8817e4Smiod { INPUT, "scr", HW_H_CR, CGEN_MODE_USI, OP_ENT (SCR), 0, 0 },
360*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
361*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
362*3d8817e4Smiod };
363*3d8817e4Smiod
364*3d8817e4Smiod static const CGEN_OPINST sfmt_mvtachi_ops[] ATTRIBUTE_UNUSED = {
365*3d8817e4Smiod { INPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
366*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
367*3d8817e4Smiod { OUTPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
368*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
369*3d8817e4Smiod };
370*3d8817e4Smiod
371*3d8817e4Smiod static const CGEN_OPINST sfmt_mvtachi_a_ops[] ATTRIBUTE_UNUSED = {
372*3d8817e4Smiod { INPUT, "accs", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACCS), 0, 0 },
373*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
374*3d8817e4Smiod { OUTPUT, "accs", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACCS), 0, 0 },
375*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
376*3d8817e4Smiod };
377*3d8817e4Smiod
378*3d8817e4Smiod static const CGEN_OPINST sfmt_mvtc_ops[] ATTRIBUTE_UNUSED = {
379*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
380*3d8817e4Smiod { OUTPUT, "dcr", HW_H_CR, CGEN_MODE_USI, OP_ENT (DCR), 0, 0 },
381*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
382*3d8817e4Smiod };
383*3d8817e4Smiod
384*3d8817e4Smiod static const CGEN_OPINST sfmt_nop_ops[] ATTRIBUTE_UNUSED = {
385*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
386*3d8817e4Smiod };
387*3d8817e4Smiod
388*3d8817e4Smiod static const CGEN_OPINST sfmt_rac_ops[] ATTRIBUTE_UNUSED = {
389*3d8817e4Smiod { INPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
390*3d8817e4Smiod { OUTPUT, "accum", HW_H_ACCUM, CGEN_MODE_DI, 0, 0, 0 },
391*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
392*3d8817e4Smiod };
393*3d8817e4Smiod
394*3d8817e4Smiod static const CGEN_OPINST sfmt_rac_dsi_ops[] ATTRIBUTE_UNUSED = {
395*3d8817e4Smiod { INPUT, "accs", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACCS), 0, 0 },
396*3d8817e4Smiod { INPUT, "imm1", HW_H_UINT, CGEN_MODE_INT, OP_ENT (IMM1), 0, 0 },
397*3d8817e4Smiod { OUTPUT, "accd", HW_H_ACCUMS, CGEN_MODE_DI, OP_ENT (ACCD), 0, 0 },
398*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
399*3d8817e4Smiod };
400*3d8817e4Smiod
401*3d8817e4Smiod static const CGEN_OPINST sfmt_rte_ops[] ATTRIBUTE_UNUSED = {
402*3d8817e4Smiod { INPUT, "h_bbpsw_UQI", HW_H_BBPSW, CGEN_MODE_UQI, 0, 0, 0 },
403*3d8817e4Smiod { INPUT, "h_bpsw_UQI", HW_H_BPSW, CGEN_MODE_UQI, 0, 0, 0 },
404*3d8817e4Smiod { INPUT, "h_cr_USI_14", HW_H_CR, CGEN_MODE_USI, 0, 14, 0 },
405*3d8817e4Smiod { INPUT, "h_cr_USI_6", HW_H_CR, CGEN_MODE_USI, 0, 6, 0 },
406*3d8817e4Smiod { OUTPUT, "h_bpsw_UQI", HW_H_BPSW, CGEN_MODE_UQI, 0, 0, 0 },
407*3d8817e4Smiod { OUTPUT, "h_cr_USI_6", HW_H_CR, CGEN_MODE_USI, 0, 6, 0 },
408*3d8817e4Smiod { OUTPUT, "h_psw_UQI", HW_H_PSW, CGEN_MODE_UQI, 0, 0, 0 },
409*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
410*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
411*3d8817e4Smiod };
412*3d8817e4Smiod
413*3d8817e4Smiod static const CGEN_OPINST sfmt_seth_ops[] ATTRIBUTE_UNUSED = {
414*3d8817e4Smiod { INPUT, "hi16", HW_H_HI16, CGEN_MODE_SI, OP_ENT (HI16), 0, 0 },
415*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
416*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
417*3d8817e4Smiod };
418*3d8817e4Smiod
419*3d8817e4Smiod static const CGEN_OPINST sfmt_sll3_ops[] ATTRIBUTE_UNUSED = {
420*3d8817e4Smiod { INPUT, "simm16", HW_H_SINT, CGEN_MODE_SI, OP_ENT (SIMM16), 0, 0 },
421*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
422*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
423*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
424*3d8817e4Smiod };
425*3d8817e4Smiod
426*3d8817e4Smiod static const CGEN_OPINST sfmt_slli_ops[] ATTRIBUTE_UNUSED = {
427*3d8817e4Smiod { INPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
428*3d8817e4Smiod { INPUT, "uimm5", HW_H_UINT, CGEN_MODE_INT, OP_ENT (UIMM5), 0, 0 },
429*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
430*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
431*3d8817e4Smiod };
432*3d8817e4Smiod
433*3d8817e4Smiod static const CGEN_OPINST sfmt_st_ops[] ATTRIBUTE_UNUSED = {
434*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
435*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_USI, OP_ENT (SRC2), 0, 0 },
436*3d8817e4Smiod { OUTPUT, "h_memory_SI_src2", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
437*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
438*3d8817e4Smiod };
439*3d8817e4Smiod
440*3d8817e4Smiod static const CGEN_OPINST sfmt_st_d_ops[] ATTRIBUTE_UNUSED = {
441*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
442*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
443*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
444*3d8817e4Smiod { OUTPUT, "h_memory_SI_add__DFLT_src2_slo16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
445*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
446*3d8817e4Smiod };
447*3d8817e4Smiod
448*3d8817e4Smiod static const CGEN_OPINST sfmt_stb_ops[] ATTRIBUTE_UNUSED = {
449*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_QI, OP_ENT (SRC1), 0, 0 },
450*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_USI, OP_ENT (SRC2), 0, 0 },
451*3d8817e4Smiod { OUTPUT, "h_memory_QI_src2", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
452*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
453*3d8817e4Smiod };
454*3d8817e4Smiod
455*3d8817e4Smiod static const CGEN_OPINST sfmt_stb_d_ops[] ATTRIBUTE_UNUSED = {
456*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
457*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_QI, OP_ENT (SRC1), 0, 0 },
458*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
459*3d8817e4Smiod { OUTPUT, "h_memory_QI_add__DFLT_src2_slo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
460*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
461*3d8817e4Smiod };
462*3d8817e4Smiod
463*3d8817e4Smiod static const CGEN_OPINST sfmt_sth_ops[] ATTRIBUTE_UNUSED = {
464*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_HI, OP_ENT (SRC1), 0, 0 },
465*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_USI, OP_ENT (SRC2), 0, 0 },
466*3d8817e4Smiod { OUTPUT, "h_memory_HI_src2", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
467*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
468*3d8817e4Smiod };
469*3d8817e4Smiod
470*3d8817e4Smiod static const CGEN_OPINST sfmt_sth_d_ops[] ATTRIBUTE_UNUSED = {
471*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
472*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_HI, OP_ENT (SRC1), 0, 0 },
473*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
474*3d8817e4Smiod { OUTPUT, "h_memory_HI_add__DFLT_src2_slo16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
475*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
476*3d8817e4Smiod };
477*3d8817e4Smiod
478*3d8817e4Smiod static const CGEN_OPINST sfmt_st_plus_ops[] ATTRIBUTE_UNUSED = {
479*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
480*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
481*3d8817e4Smiod { OUTPUT, "h_memory_SI_new_src2", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
482*3d8817e4Smiod { OUTPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
483*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
484*3d8817e4Smiod };
485*3d8817e4Smiod
486*3d8817e4Smiod static const CGEN_OPINST sfmt_sth_plus_ops[] ATTRIBUTE_UNUSED = {
487*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
488*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
489*3d8817e4Smiod { OUTPUT, "h_memory_HI_new_src2", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
490*3d8817e4Smiod { OUTPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
491*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
492*3d8817e4Smiod };
493*3d8817e4Smiod
494*3d8817e4Smiod static const CGEN_OPINST sfmt_stb_plus_ops[] ATTRIBUTE_UNUSED = {
495*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
496*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
497*3d8817e4Smiod { OUTPUT, "h_memory_QI_new_src2", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
498*3d8817e4Smiod { OUTPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
499*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
500*3d8817e4Smiod };
501*3d8817e4Smiod
502*3d8817e4Smiod static const CGEN_OPINST sfmt_trap_ops[] ATTRIBUTE_UNUSED = {
503*3d8817e4Smiod { INPUT, "h_bpsw_UQI", HW_H_BPSW, CGEN_MODE_UQI, 0, 0, 0 },
504*3d8817e4Smiod { INPUT, "h_cr_USI_6", HW_H_CR, CGEN_MODE_USI, 0, 6, 0 },
505*3d8817e4Smiod { INPUT, "h_psw_UQI", HW_H_PSW, CGEN_MODE_UQI, 0, 0, 0 },
506*3d8817e4Smiod { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
507*3d8817e4Smiod { INPUT, "uimm4", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (UIMM4), 0, 0 },
508*3d8817e4Smiod { OUTPUT, "h_bbpsw_UQI", HW_H_BBPSW, CGEN_MODE_UQI, 0, 0, 0 },
509*3d8817e4Smiod { OUTPUT, "h_bpsw_UQI", HW_H_BPSW, CGEN_MODE_UQI, 0, 0, 0 },
510*3d8817e4Smiod { OUTPUT, "h_cr_USI_14", HW_H_CR, CGEN_MODE_USI, 0, 14, 0 },
511*3d8817e4Smiod { OUTPUT, "h_cr_USI_6", HW_H_CR, CGEN_MODE_USI, 0, 6, 0 },
512*3d8817e4Smiod { OUTPUT, "h_psw_UQI", HW_H_PSW, CGEN_MODE_UQI, 0, 0, 0 },
513*3d8817e4Smiod { OUTPUT, "pc", HW_H_PC, CGEN_MODE_SI, 0, 0, 0 },
514*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
515*3d8817e4Smiod };
516*3d8817e4Smiod
517*3d8817e4Smiod static const CGEN_OPINST sfmt_unlock_ops[] ATTRIBUTE_UNUSED = {
518*3d8817e4Smiod { INPUT, "h_lock_BI", HW_H_LOCK, CGEN_MODE_BI, 0, 0, 0 },
519*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, COND_REF },
520*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_USI, OP_ENT (SRC2), 0, COND_REF },
521*3d8817e4Smiod { OUTPUT, "h_lock_BI", HW_H_LOCK, CGEN_MODE_BI, 0, 0, 0 },
522*3d8817e4Smiod { OUTPUT, "h_memory_SI_src2", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, COND_REF },
523*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
524*3d8817e4Smiod };
525*3d8817e4Smiod
526*3d8817e4Smiod static const CGEN_OPINST sfmt_satb_ops[] ATTRIBUTE_UNUSED = {
527*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
528*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
529*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
530*3d8817e4Smiod };
531*3d8817e4Smiod
532*3d8817e4Smiod static const CGEN_OPINST sfmt_sat_ops[] ATTRIBUTE_UNUSED = {
533*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
534*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, COND_REF },
535*3d8817e4Smiod { OUTPUT, "dr", HW_H_GR, CGEN_MODE_SI, OP_ENT (DR), 0, 0 },
536*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
537*3d8817e4Smiod };
538*3d8817e4Smiod
539*3d8817e4Smiod static const CGEN_OPINST sfmt_sadd_ops[] ATTRIBUTE_UNUSED = {
540*3d8817e4Smiod { INPUT, "h_accums_DI_0", HW_H_ACCUMS, CGEN_MODE_DI, 0, 0, 0 },
541*3d8817e4Smiod { INPUT, "h_accums_DI_1", HW_H_ACCUMS, CGEN_MODE_DI, 0, 1, 0 },
542*3d8817e4Smiod { OUTPUT, "h_accums_DI_0", HW_H_ACCUMS, CGEN_MODE_DI, 0, 0, 0 },
543*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
544*3d8817e4Smiod };
545*3d8817e4Smiod
546*3d8817e4Smiod static const CGEN_OPINST sfmt_macwu1_ops[] ATTRIBUTE_UNUSED = {
547*3d8817e4Smiod { INPUT, "h_accums_DI_1", HW_H_ACCUMS, CGEN_MODE_DI, 0, 1, 0 },
548*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
549*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
550*3d8817e4Smiod { OUTPUT, "h_accums_DI_1", HW_H_ACCUMS, CGEN_MODE_DI, 0, 1, 0 },
551*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
552*3d8817e4Smiod };
553*3d8817e4Smiod
554*3d8817e4Smiod static const CGEN_OPINST sfmt_mulwu1_ops[] ATTRIBUTE_UNUSED = {
555*3d8817e4Smiod { INPUT, "src1", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC1), 0, 0 },
556*3d8817e4Smiod { INPUT, "src2", HW_H_GR, CGEN_MODE_SI, OP_ENT (SRC2), 0, 0 },
557*3d8817e4Smiod { OUTPUT, "h_accums_DI_1", HW_H_ACCUMS, CGEN_MODE_DI, 0, 1, 0 },
558*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
559*3d8817e4Smiod };
560*3d8817e4Smiod
561*3d8817e4Smiod static const CGEN_OPINST sfmt_sc_ops[] ATTRIBUTE_UNUSED = {
562*3d8817e4Smiod { INPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
563*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
564*3d8817e4Smiod };
565*3d8817e4Smiod
566*3d8817e4Smiod static const CGEN_OPINST sfmt_clrpsw_ops[] ATTRIBUTE_UNUSED = {
567*3d8817e4Smiod { INPUT, "h_cr_USI_0", HW_H_CR, CGEN_MODE_USI, 0, 0, 0 },
568*3d8817e4Smiod { INPUT, "uimm8", HW_H_UINT, CGEN_MODE_BI, OP_ENT (UIMM8), 0, 0 },
569*3d8817e4Smiod { OUTPUT, "h_cr_USI_0", HW_H_CR, CGEN_MODE_USI, 0, 0, 0 },
570*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
571*3d8817e4Smiod };
572*3d8817e4Smiod
573*3d8817e4Smiod static const CGEN_OPINST sfmt_setpsw_ops[] ATTRIBUTE_UNUSED = {
574*3d8817e4Smiod { INPUT, "uimm8", HW_H_UINT, CGEN_MODE_USI, OP_ENT (UIMM8), 0, 0 },
575*3d8817e4Smiod { OUTPUT, "h_cr_USI_0", HW_H_CR, CGEN_MODE_USI, 0, 0, 0 },
576*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
577*3d8817e4Smiod };
578*3d8817e4Smiod
579*3d8817e4Smiod static const CGEN_OPINST sfmt_bset_ops[] ATTRIBUTE_UNUSED = {
580*3d8817e4Smiod { INPUT, "h_memory_QI_add__DFLT_sr_slo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
581*3d8817e4Smiod { INPUT, "slo16", HW_H_SLO16, CGEN_MODE_INT, OP_ENT (SLO16), 0, 0 },
582*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_SI, OP_ENT (SR), 0, 0 },
583*3d8817e4Smiod { INPUT, "uimm3", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (UIMM3), 0, 0 },
584*3d8817e4Smiod { OUTPUT, "h_memory_QI_add__DFLT_sr_slo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
585*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
586*3d8817e4Smiod };
587*3d8817e4Smiod
588*3d8817e4Smiod static const CGEN_OPINST sfmt_btst_ops[] ATTRIBUTE_UNUSED = {
589*3d8817e4Smiod { INPUT, "sr", HW_H_GR, CGEN_MODE_USI, OP_ENT (SR), 0, 0 },
590*3d8817e4Smiod { INPUT, "uimm3", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (UIMM3), 0, 0 },
591*3d8817e4Smiod { OUTPUT, "condbit", HW_H_COND, CGEN_MODE_BI, 0, 0, 0 },
592*3d8817e4Smiod { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
593*3d8817e4Smiod };
594*3d8817e4Smiod
595*3d8817e4Smiod #undef OP_ENT
596*3d8817e4Smiod #undef INPUT
597*3d8817e4Smiod #undef OUTPUT
598*3d8817e4Smiod #undef END
599*3d8817e4Smiod #undef COND_REF
600*3d8817e4Smiod
601*3d8817e4Smiod /* Operand instance lookup table. */
602*3d8817e4Smiod
603*3d8817e4Smiod static const CGEN_OPINST *m32r_cgen_opinst_table[MAX_INSNS] = {
604*3d8817e4Smiod 0,
605*3d8817e4Smiod & sfmt_add_ops[0],
606*3d8817e4Smiod & sfmt_add3_ops[0],
607*3d8817e4Smiod & sfmt_add_ops[0],
608*3d8817e4Smiod & sfmt_and3_ops[0],
609*3d8817e4Smiod & sfmt_add_ops[0],
610*3d8817e4Smiod & sfmt_or3_ops[0],
611*3d8817e4Smiod & sfmt_add_ops[0],
612*3d8817e4Smiod & sfmt_and3_ops[0],
613*3d8817e4Smiod & sfmt_addi_ops[0],
614*3d8817e4Smiod & sfmt_addv_ops[0],
615*3d8817e4Smiod & sfmt_addv3_ops[0],
616*3d8817e4Smiod & sfmt_addx_ops[0],
617*3d8817e4Smiod & sfmt_bc8_ops[0],
618*3d8817e4Smiod & sfmt_bc24_ops[0],
619*3d8817e4Smiod & sfmt_beq_ops[0],
620*3d8817e4Smiod & sfmt_beqz_ops[0],
621*3d8817e4Smiod & sfmt_beqz_ops[0],
622*3d8817e4Smiod & sfmt_beqz_ops[0],
623*3d8817e4Smiod & sfmt_beqz_ops[0],
624*3d8817e4Smiod & sfmt_beqz_ops[0],
625*3d8817e4Smiod & sfmt_beqz_ops[0],
626*3d8817e4Smiod & sfmt_bl8_ops[0],
627*3d8817e4Smiod & sfmt_bl24_ops[0],
628*3d8817e4Smiod & sfmt_bcl8_ops[0],
629*3d8817e4Smiod & sfmt_bcl24_ops[0],
630*3d8817e4Smiod & sfmt_bc8_ops[0],
631*3d8817e4Smiod & sfmt_bc24_ops[0],
632*3d8817e4Smiod & sfmt_beq_ops[0],
633*3d8817e4Smiod & sfmt_bra8_ops[0],
634*3d8817e4Smiod & sfmt_bra24_ops[0],
635*3d8817e4Smiod & sfmt_bcl8_ops[0],
636*3d8817e4Smiod & sfmt_bcl24_ops[0],
637*3d8817e4Smiod & sfmt_cmp_ops[0],
638*3d8817e4Smiod & sfmt_cmpi_ops[0],
639*3d8817e4Smiod & sfmt_cmp_ops[0],
640*3d8817e4Smiod & sfmt_cmpi_ops[0],
641*3d8817e4Smiod & sfmt_cmp_ops[0],
642*3d8817e4Smiod & sfmt_cmpz_ops[0],
643*3d8817e4Smiod & sfmt_div_ops[0],
644*3d8817e4Smiod & sfmt_div_ops[0],
645*3d8817e4Smiod & sfmt_div_ops[0],
646*3d8817e4Smiod & sfmt_div_ops[0],
647*3d8817e4Smiod & sfmt_div_ops[0],
648*3d8817e4Smiod & sfmt_div_ops[0],
649*3d8817e4Smiod & sfmt_div_ops[0],
650*3d8817e4Smiod & sfmt_div_ops[0],
651*3d8817e4Smiod & sfmt_div_ops[0],
652*3d8817e4Smiod & sfmt_div_ops[0],
653*3d8817e4Smiod & sfmt_div_ops[0],
654*3d8817e4Smiod & sfmt_div_ops[0],
655*3d8817e4Smiod & sfmt_jc_ops[0],
656*3d8817e4Smiod & sfmt_jc_ops[0],
657*3d8817e4Smiod & sfmt_jl_ops[0],
658*3d8817e4Smiod & sfmt_jmp_ops[0],
659*3d8817e4Smiod & sfmt_ld_ops[0],
660*3d8817e4Smiod & sfmt_ld_d_ops[0],
661*3d8817e4Smiod & sfmt_ldb_ops[0],
662*3d8817e4Smiod & sfmt_ldb_d_ops[0],
663*3d8817e4Smiod & sfmt_ldh_ops[0],
664*3d8817e4Smiod & sfmt_ldh_d_ops[0],
665*3d8817e4Smiod & sfmt_ldb_ops[0],
666*3d8817e4Smiod & sfmt_ldb_d_ops[0],
667*3d8817e4Smiod & sfmt_ldh_ops[0],
668*3d8817e4Smiod & sfmt_ldh_d_ops[0],
669*3d8817e4Smiod & sfmt_ld_plus_ops[0],
670*3d8817e4Smiod & sfmt_ld24_ops[0],
671*3d8817e4Smiod & sfmt_ldi8_ops[0],
672*3d8817e4Smiod & sfmt_ldi16_ops[0],
673*3d8817e4Smiod & sfmt_lock_ops[0],
674*3d8817e4Smiod & sfmt_machi_ops[0],
675*3d8817e4Smiod & sfmt_machi_a_ops[0],
676*3d8817e4Smiod & sfmt_machi_ops[0],
677*3d8817e4Smiod & sfmt_machi_a_ops[0],
678*3d8817e4Smiod & sfmt_machi_ops[0],
679*3d8817e4Smiod & sfmt_machi_a_ops[0],
680*3d8817e4Smiod & sfmt_machi_ops[0],
681*3d8817e4Smiod & sfmt_machi_a_ops[0],
682*3d8817e4Smiod & sfmt_add_ops[0],
683*3d8817e4Smiod & sfmt_mulhi_ops[0],
684*3d8817e4Smiod & sfmt_mulhi_a_ops[0],
685*3d8817e4Smiod & sfmt_mulhi_ops[0],
686*3d8817e4Smiod & sfmt_mulhi_a_ops[0],
687*3d8817e4Smiod & sfmt_mulhi_ops[0],
688*3d8817e4Smiod & sfmt_mulhi_a_ops[0],
689*3d8817e4Smiod & sfmt_mulhi_ops[0],
690*3d8817e4Smiod & sfmt_mulhi_a_ops[0],
691*3d8817e4Smiod & sfmt_mv_ops[0],
692*3d8817e4Smiod & sfmt_mvfachi_ops[0],
693*3d8817e4Smiod & sfmt_mvfachi_a_ops[0],
694*3d8817e4Smiod & sfmt_mvfachi_ops[0],
695*3d8817e4Smiod & sfmt_mvfachi_a_ops[0],
696*3d8817e4Smiod & sfmt_mvfachi_ops[0],
697*3d8817e4Smiod & sfmt_mvfachi_a_ops[0],
698*3d8817e4Smiod & sfmt_mvfc_ops[0],
699*3d8817e4Smiod & sfmt_mvtachi_ops[0],
700*3d8817e4Smiod & sfmt_mvtachi_a_ops[0],
701*3d8817e4Smiod & sfmt_mvtachi_ops[0],
702*3d8817e4Smiod & sfmt_mvtachi_a_ops[0],
703*3d8817e4Smiod & sfmt_mvtc_ops[0],
704*3d8817e4Smiod & sfmt_mv_ops[0],
705*3d8817e4Smiod & sfmt_nop_ops[0],
706*3d8817e4Smiod & sfmt_mv_ops[0],
707*3d8817e4Smiod & sfmt_rac_ops[0],
708*3d8817e4Smiod & sfmt_rac_dsi_ops[0],
709*3d8817e4Smiod & sfmt_rac_ops[0],
710*3d8817e4Smiod & sfmt_rac_dsi_ops[0],
711*3d8817e4Smiod & sfmt_rte_ops[0],
712*3d8817e4Smiod & sfmt_seth_ops[0],
713*3d8817e4Smiod & sfmt_add_ops[0],
714*3d8817e4Smiod & sfmt_sll3_ops[0],
715*3d8817e4Smiod & sfmt_slli_ops[0],
716*3d8817e4Smiod & sfmt_add_ops[0],
717*3d8817e4Smiod & sfmt_sll3_ops[0],
718*3d8817e4Smiod & sfmt_slli_ops[0],
719*3d8817e4Smiod & sfmt_add_ops[0],
720*3d8817e4Smiod & sfmt_sll3_ops[0],
721*3d8817e4Smiod & sfmt_slli_ops[0],
722*3d8817e4Smiod & sfmt_st_ops[0],
723*3d8817e4Smiod & sfmt_st_d_ops[0],
724*3d8817e4Smiod & sfmt_stb_ops[0],
725*3d8817e4Smiod & sfmt_stb_d_ops[0],
726*3d8817e4Smiod & sfmt_sth_ops[0],
727*3d8817e4Smiod & sfmt_sth_d_ops[0],
728*3d8817e4Smiod & sfmt_st_plus_ops[0],
729*3d8817e4Smiod & sfmt_sth_plus_ops[0],
730*3d8817e4Smiod & sfmt_stb_plus_ops[0],
731*3d8817e4Smiod & sfmt_st_plus_ops[0],
732*3d8817e4Smiod & sfmt_add_ops[0],
733*3d8817e4Smiod & sfmt_addv_ops[0],
734*3d8817e4Smiod & sfmt_addx_ops[0],
735*3d8817e4Smiod & sfmt_trap_ops[0],
736*3d8817e4Smiod & sfmt_unlock_ops[0],
737*3d8817e4Smiod & sfmt_satb_ops[0],
738*3d8817e4Smiod & sfmt_satb_ops[0],
739*3d8817e4Smiod & sfmt_sat_ops[0],
740*3d8817e4Smiod & sfmt_cmpz_ops[0],
741*3d8817e4Smiod & sfmt_sadd_ops[0],
742*3d8817e4Smiod & sfmt_macwu1_ops[0],
743*3d8817e4Smiod & sfmt_machi_ops[0],
744*3d8817e4Smiod & sfmt_mulwu1_ops[0],
745*3d8817e4Smiod & sfmt_macwu1_ops[0],
746*3d8817e4Smiod & sfmt_sc_ops[0],
747*3d8817e4Smiod & sfmt_sc_ops[0],
748*3d8817e4Smiod & sfmt_clrpsw_ops[0],
749*3d8817e4Smiod & sfmt_setpsw_ops[0],
750*3d8817e4Smiod & sfmt_bset_ops[0],
751*3d8817e4Smiod & sfmt_bset_ops[0],
752*3d8817e4Smiod & sfmt_btst_ops[0],
753*3d8817e4Smiod };
754*3d8817e4Smiod
755*3d8817e4Smiod /* Function to call before using the operand instance table. */
756*3d8817e4Smiod
757*3d8817e4Smiod void
m32r_cgen_init_opinst_table(cd)758*3d8817e4Smiod m32r_cgen_init_opinst_table (cd)
759*3d8817e4Smiod CGEN_CPU_DESC cd;
760*3d8817e4Smiod {
761*3d8817e4Smiod int i;
762*3d8817e4Smiod const CGEN_OPINST **oi = & m32r_cgen_opinst_table[0];
763*3d8817e4Smiod CGEN_INSN *insns = (CGEN_INSN *) cd->insn_table.init_entries;
764*3d8817e4Smiod for (i = 0; i < MAX_INSNS; ++i)
765*3d8817e4Smiod insns[i].opinst = oi[i];
766*3d8817e4Smiod }
767