xref: /openbsd-src/gnu/usr.bin/binutils/opcodes/m32r-opinst.c (revision cf2f2c5620d6d9a4fd01930983c4b9a1f76d7aa3)
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