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