xref: /netbsd-src/external/gpl3/binutils/dist/opcodes/lm32-opinst.c (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1fc4f4269Schristos /* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
2be9ac0eaSchristos /* Semantic operand instances for lm32.
3be9ac0eaSchristos 
4be9ac0eaSchristos THIS FILE IS MACHINE GENERATED WITH CGEN.
5be9ac0eaSchristos 
6*cb63e24eSchristos Copyright (C) 1996-2024 Free Software Foundation, Inc.
7be9ac0eaSchristos 
8be9ac0eaSchristos This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9be9ac0eaSchristos 
10be9ac0eaSchristos    This file is free software; you can redistribute it and/or modify
11be9ac0eaSchristos    it under the terms of the GNU General Public License as published by
12be9ac0eaSchristos    the Free Software Foundation; either version 3, or (at your option)
13be9ac0eaSchristos    any later version.
14be9ac0eaSchristos 
15be9ac0eaSchristos    It is distributed in the hope that it will be useful, but WITHOUT
16be9ac0eaSchristos    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17be9ac0eaSchristos    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
18be9ac0eaSchristos    License for more details.
19be9ac0eaSchristos 
20be9ac0eaSchristos    You should have received a copy of the GNU General Public License along
21be9ac0eaSchristos    with this program; if not, write to the Free Software Foundation, Inc.,
22be9ac0eaSchristos    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
23be9ac0eaSchristos 
24be9ac0eaSchristos */
25be9ac0eaSchristos 
26be9ac0eaSchristos #include "sysdep.h"
27be9ac0eaSchristos #include "ansidecl.h"
28be9ac0eaSchristos #include "bfd.h"
29be9ac0eaSchristos #include "symcat.h"
30be9ac0eaSchristos #include "lm32-desc.h"
31be9ac0eaSchristos #include "lm32-opc.h"
32be9ac0eaSchristos 
33be9ac0eaSchristos /* Operand references.  */
34be9ac0eaSchristos 
35be9ac0eaSchristos #define OP_ENT(op) LM32_OPERAND_##op
36be9ac0eaSchristos #define INPUT CGEN_OPINST_INPUT
37be9ac0eaSchristos #define OUTPUT CGEN_OPINST_OUTPUT
38be9ac0eaSchristos #define END CGEN_OPINST_END
39be9ac0eaSchristos #define COND_REF CGEN_OPINST_COND_REF
40be9ac0eaSchristos 
41be9ac0eaSchristos static const CGEN_OPINST sfmt_empty_ops[] ATTRIBUTE_UNUSED = {
42be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
43be9ac0eaSchristos };
44be9ac0eaSchristos 
45be9ac0eaSchristos static const CGEN_OPINST sfmt_add_ops[] ATTRIBUTE_UNUSED = {
46be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
47be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
48be9ac0eaSchristos   { OUTPUT, "r2", HW_H_GR, CGEN_MODE_SI, OP_ENT (R2), 0, 0 },
49be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
50be9ac0eaSchristos };
51be9ac0eaSchristos 
52be9ac0eaSchristos static const CGEN_OPINST sfmt_addi_ops[] ATTRIBUTE_UNUSED = {
53be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
54be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
55be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
56be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
57be9ac0eaSchristos };
58be9ac0eaSchristos 
59be9ac0eaSchristos static const CGEN_OPINST sfmt_andi_ops[] ATTRIBUTE_UNUSED = {
60be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
61be9ac0eaSchristos   { INPUT, "uimm", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (UIMM), 0, 0 },
62be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
63be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
64be9ac0eaSchristos };
65be9ac0eaSchristos 
66be9ac0eaSchristos static const CGEN_OPINST sfmt_andhii_ops[] ATTRIBUTE_UNUSED = {
67be9ac0eaSchristos   { INPUT, "hi16", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (HI16), 0, 0 },
68be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
69be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
70be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
71be9ac0eaSchristos };
72be9ac0eaSchristos 
73be9ac0eaSchristos static const CGEN_OPINST sfmt_b_ops[] ATTRIBUTE_UNUSED = {
74be9ac0eaSchristos   { INPUT, "f_r0", HW_H_UINT, CGEN_MODE_UINT, 0, 0, 0 },
75be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
76be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
77be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
78be9ac0eaSchristos };
79be9ac0eaSchristos 
80be9ac0eaSchristos static const CGEN_OPINST sfmt_bi_ops[] ATTRIBUTE_UNUSED = {
81be9ac0eaSchristos   { INPUT, "call", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (CALL), 0, 0 },
82be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
83be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
84be9ac0eaSchristos };
85be9ac0eaSchristos 
86be9ac0eaSchristos static const CGEN_OPINST sfmt_be_ops[] ATTRIBUTE_UNUSED = {
87be9ac0eaSchristos   { INPUT, "branch", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (BRANCH), 0, COND_REF },
88be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
89be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
90be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
91be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
92be9ac0eaSchristos };
93be9ac0eaSchristos 
94be9ac0eaSchristos static const CGEN_OPINST sfmt_call_ops[] ATTRIBUTE_UNUSED = {
95be9ac0eaSchristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
96be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
97be9ac0eaSchristos   { OUTPUT, "h_gr_SI_29", HW_H_GR, CGEN_MODE_SI, 0, 29, 0 },
98be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
99be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
100be9ac0eaSchristos };
101be9ac0eaSchristos 
102be9ac0eaSchristos static const CGEN_OPINST sfmt_calli_ops[] ATTRIBUTE_UNUSED = {
103be9ac0eaSchristos   { INPUT, "call", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (CALL), 0, 0 },
104be9ac0eaSchristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
105be9ac0eaSchristos   { OUTPUT, "h_gr_SI_29", HW_H_GR, CGEN_MODE_SI, 0, 29, 0 },
106be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
107be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
108be9ac0eaSchristos };
109be9ac0eaSchristos 
110be9ac0eaSchristos static const CGEN_OPINST sfmt_divu_ops[] ATTRIBUTE_UNUSED = {
111be9ac0eaSchristos   { INPUT, "f_r0", HW_H_UINT, CGEN_MODE_UINT, 0, 0, 0 },
112be9ac0eaSchristos   { INPUT, "f_r1", HW_H_UINT, CGEN_MODE_UINT, 0, 0, 0 },
113be9ac0eaSchristos   { INPUT, "f_r2", HW_H_UINT, CGEN_MODE_UINT, 0, 0, 0 },
114be9ac0eaSchristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
115be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
116be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
117be9ac0eaSchristos };
118be9ac0eaSchristos 
119be9ac0eaSchristos static const CGEN_OPINST sfmt_lb_ops[] ATTRIBUTE_UNUSED = {
120be9ac0eaSchristos   { INPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
121be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
122be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
123be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
124be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
125be9ac0eaSchristos };
126be9ac0eaSchristos 
127be9ac0eaSchristos static const CGEN_OPINST sfmt_lh_ops[] ATTRIBUTE_UNUSED = {
128be9ac0eaSchristos   { INPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
129be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
130be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
131be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
132be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
133be9ac0eaSchristos };
134be9ac0eaSchristos 
135be9ac0eaSchristos static const CGEN_OPINST sfmt_lw_ops[] ATTRIBUTE_UNUSED = {
136be9ac0eaSchristos   { INPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
137be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
138be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
139be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
140be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
141be9ac0eaSchristos };
142be9ac0eaSchristos 
143be9ac0eaSchristos static const CGEN_OPINST sfmt_ori_ops[] ATTRIBUTE_UNUSED = {
144be9ac0eaSchristos   { INPUT, "lo16", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (LO16), 0, 0 },
145be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
146be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
147be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
148be9ac0eaSchristos };
149be9ac0eaSchristos 
150be9ac0eaSchristos static const CGEN_OPINST sfmt_rcsr_ops[] ATTRIBUTE_UNUSED = {
151be9ac0eaSchristos   { INPUT, "csr", HW_H_CSR, CGEN_MODE_SI, OP_ENT (CSR), 0, 0 },
152be9ac0eaSchristos   { OUTPUT, "r2", HW_H_GR, CGEN_MODE_SI, OP_ENT (R2), 0, 0 },
153be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
154be9ac0eaSchristos };
155be9ac0eaSchristos 
156be9ac0eaSchristos static const CGEN_OPINST sfmt_sb_ops[] ATTRIBUTE_UNUSED = {
157be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
158be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
159be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
160be9ac0eaSchristos   { OUTPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
161be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
162be9ac0eaSchristos };
163be9ac0eaSchristos 
164be9ac0eaSchristos static const CGEN_OPINST sfmt_sextb_ops[] ATTRIBUTE_UNUSED = {
165be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
166be9ac0eaSchristos   { OUTPUT, "r2", HW_H_GR, CGEN_MODE_SI, OP_ENT (R2), 0, 0 },
167be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
168be9ac0eaSchristos };
169be9ac0eaSchristos 
170be9ac0eaSchristos static const CGEN_OPINST sfmt_sh_ops[] ATTRIBUTE_UNUSED = {
171be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
172be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
173be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
174be9ac0eaSchristos   { OUTPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
175be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
176be9ac0eaSchristos };
177be9ac0eaSchristos 
178be9ac0eaSchristos static const CGEN_OPINST sfmt_sw_ops[] ATTRIBUTE_UNUSED = {
179be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
180be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
181be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
182be9ac0eaSchristos   { OUTPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_imm", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
183be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
184be9ac0eaSchristos };
185be9ac0eaSchristos 
186be9ac0eaSchristos static const CGEN_OPINST sfmt_user_ops[] ATTRIBUTE_UNUSED = {
187be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
188be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
189be9ac0eaSchristos   { INPUT, "user", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (USER), 0, 0 },
190be9ac0eaSchristos   { OUTPUT, "r2", HW_H_GR, CGEN_MODE_SI, OP_ENT (R2), 0, 0 },
191be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
192be9ac0eaSchristos };
193be9ac0eaSchristos 
194be9ac0eaSchristos static const CGEN_OPINST sfmt_wcsr_ops[] ATTRIBUTE_UNUSED = {
195be9ac0eaSchristos   { INPUT, "f_csr", HW_H_UINT, CGEN_MODE_UINT, 0, 0, 0 },
196be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
197be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
198be9ac0eaSchristos };
199be9ac0eaSchristos 
200be9ac0eaSchristos static const CGEN_OPINST sfmt_break_ops[] ATTRIBUTE_UNUSED = {
201be9ac0eaSchristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
202be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
203be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
204be9ac0eaSchristos };
205be9ac0eaSchristos 
206be9ac0eaSchristos static const CGEN_OPINST sfmt_bret_ops[] ATTRIBUTE_UNUSED = {
207be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
208be9ac0eaSchristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
209be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
210be9ac0eaSchristos };
211be9ac0eaSchristos 
212be9ac0eaSchristos static const CGEN_OPINST sfmt_mvi_ops[] ATTRIBUTE_UNUSED = {
213be9ac0eaSchristos   { INPUT, "imm", HW_H_SINT, CGEN_MODE_INT, OP_ENT (IMM), 0, 0 },
214be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
215be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
216be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
217be9ac0eaSchristos };
218be9ac0eaSchristos 
219be9ac0eaSchristos static const CGEN_OPINST sfmt_mvui_ops[] ATTRIBUTE_UNUSED = {
220be9ac0eaSchristos   { INPUT, "lo16", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (LO16), 0, 0 },
221be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
222be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
223be9ac0eaSchristos };
224be9ac0eaSchristos 
225be9ac0eaSchristos static const CGEN_OPINST sfmt_mvhi_ops[] ATTRIBUTE_UNUSED = {
226be9ac0eaSchristos   { INPUT, "hi16", HW_H_UINT, CGEN_MODE_UINT, OP_ENT (HI16), 0, 0 },
227be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
228be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
229be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
230be9ac0eaSchristos };
231be9ac0eaSchristos 
232be9ac0eaSchristos static const CGEN_OPINST sfmt_mva_ops[] ATTRIBUTE_UNUSED = {
233be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
234be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
235be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
236be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
237be9ac0eaSchristos };
238be9ac0eaSchristos 
239be9ac0eaSchristos static const CGEN_OPINST sfmt_nop_ops[] ATTRIBUTE_UNUSED = {
240be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
241be9ac0eaSchristos   { OUTPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
242be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
243be9ac0eaSchristos };
244be9ac0eaSchristos 
245be9ac0eaSchristos static const CGEN_OPINST sfmt_lbgprel_ops[] ATTRIBUTE_UNUSED = {
246be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
247be9ac0eaSchristos   { INPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
248be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
249be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
250be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
251be9ac0eaSchristos };
252be9ac0eaSchristos 
253be9ac0eaSchristos static const CGEN_OPINST sfmt_lhgprel_ops[] ATTRIBUTE_UNUSED = {
254be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
255be9ac0eaSchristos   { INPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
256be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
257be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
258be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
259be9ac0eaSchristos };
260be9ac0eaSchristos 
261be9ac0eaSchristos static const CGEN_OPINST sfmt_lwgprel_ops[] ATTRIBUTE_UNUSED = {
262be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
263be9ac0eaSchristos   { INPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
264be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
265be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
266be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
267be9ac0eaSchristos };
268be9ac0eaSchristos 
269be9ac0eaSchristos static const CGEN_OPINST sfmt_sbgprel_ops[] ATTRIBUTE_UNUSED = {
270be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
271be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
272be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
273be9ac0eaSchristos   { OUTPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
274be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
275be9ac0eaSchristos };
276be9ac0eaSchristos 
277be9ac0eaSchristos static const CGEN_OPINST sfmt_shgprel_ops[] ATTRIBUTE_UNUSED = {
278be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
279be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
280be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
281be9ac0eaSchristos   { OUTPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
282be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
283be9ac0eaSchristos };
284be9ac0eaSchristos 
285be9ac0eaSchristos static const CGEN_OPINST sfmt_swgprel_ops[] ATTRIBUTE_UNUSED = {
286be9ac0eaSchristos   { INPUT, "gp16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GP16), 0, 0 },
287be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
288be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
289be9ac0eaSchristos   { OUTPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_gp16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
290be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
291be9ac0eaSchristos };
292be9ac0eaSchristos 
293be9ac0eaSchristos static const CGEN_OPINST sfmt_lwgotrel_ops[] ATTRIBUTE_UNUSED = {
294be9ac0eaSchristos   { INPUT, "got16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOT16), 0, 0 },
295be9ac0eaSchristos   { INPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_got16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
296be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
297be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
298be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
299be9ac0eaSchristos };
300be9ac0eaSchristos 
301be9ac0eaSchristos static const CGEN_OPINST sfmt_orhigotoffi_ops[] ATTRIBUTE_UNUSED = {
302be9ac0eaSchristos   { INPUT, "gotoffhi16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFHI16), 0, 0 },
303be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
304be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
305be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
306be9ac0eaSchristos };
307be9ac0eaSchristos 
308be9ac0eaSchristos static const CGEN_OPINST sfmt_addgotoff_ops[] ATTRIBUTE_UNUSED = {
309be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
310be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
311be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
312be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
313be9ac0eaSchristos };
314be9ac0eaSchristos 
315be9ac0eaSchristos static const CGEN_OPINST sfmt_swgotoff_ops[] ATTRIBUTE_UNUSED = {
316be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
317be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
318be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
319be9ac0eaSchristos   { OUTPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
320be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
321be9ac0eaSchristos };
322be9ac0eaSchristos 
323be9ac0eaSchristos static const CGEN_OPINST sfmt_lwgotoff_ops[] ATTRIBUTE_UNUSED = {
324be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
325be9ac0eaSchristos   { INPUT, "h_memory_SI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
326be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
327be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
328be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
329be9ac0eaSchristos };
330be9ac0eaSchristos 
331be9ac0eaSchristos static const CGEN_OPINST sfmt_shgotoff_ops[] ATTRIBUTE_UNUSED = {
332be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
333be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
334be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
335be9ac0eaSchristos   { OUTPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
336be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
337be9ac0eaSchristos };
338be9ac0eaSchristos 
339be9ac0eaSchristos static const CGEN_OPINST sfmt_lhgotoff_ops[] ATTRIBUTE_UNUSED = {
340be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
341be9ac0eaSchristos   { INPUT, "h_memory_HI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
342be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
343be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
344be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
345be9ac0eaSchristos };
346be9ac0eaSchristos 
347be9ac0eaSchristos static const CGEN_OPINST sfmt_sbgotoff_ops[] ATTRIBUTE_UNUSED = {
348be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
349be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
350be9ac0eaSchristos   { INPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
351be9ac0eaSchristos   { OUTPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
352be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
353be9ac0eaSchristos };
354be9ac0eaSchristos 
355be9ac0eaSchristos static const CGEN_OPINST sfmt_lbgotoff_ops[] ATTRIBUTE_UNUSED = {
356be9ac0eaSchristos   { INPUT, "gotofflo16", HW_H_SINT, CGEN_MODE_INT, OP_ENT (GOTOFFLO16), 0, 0 },
357be9ac0eaSchristos   { INPUT, "h_memory_QI_add__SI_r0_ext__SI_trunc__HI_gotofflo16", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
358be9ac0eaSchristos   { INPUT, "r0", HW_H_GR, CGEN_MODE_SI, OP_ENT (R0), 0, 0 },
359be9ac0eaSchristos   { OUTPUT, "r1", HW_H_GR, CGEN_MODE_SI, OP_ENT (R1), 0, 0 },
360be9ac0eaSchristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
361be9ac0eaSchristos };
362be9ac0eaSchristos 
363be9ac0eaSchristos #undef OP_ENT
364be9ac0eaSchristos #undef INPUT
365be9ac0eaSchristos #undef OUTPUT
366be9ac0eaSchristos #undef END
367be9ac0eaSchristos #undef COND_REF
368be9ac0eaSchristos 
369be9ac0eaSchristos /* Operand instance lookup table.  */
370be9ac0eaSchristos 
371be9ac0eaSchristos static const CGEN_OPINST *lm32_cgen_opinst_table[MAX_INSNS] = {
372be9ac0eaSchristos   0,
373be9ac0eaSchristos   & sfmt_add_ops[0],
374be9ac0eaSchristos   & sfmt_addi_ops[0],
375be9ac0eaSchristos   & sfmt_add_ops[0],
376be9ac0eaSchristos   & sfmt_andi_ops[0],
377be9ac0eaSchristos   & sfmt_andhii_ops[0],
378be9ac0eaSchristos   & sfmt_b_ops[0],
379be9ac0eaSchristos   & sfmt_bi_ops[0],
380be9ac0eaSchristos   & sfmt_be_ops[0],
381be9ac0eaSchristos   & sfmt_be_ops[0],
382be9ac0eaSchristos   & sfmt_be_ops[0],
383be9ac0eaSchristos   & sfmt_be_ops[0],
384be9ac0eaSchristos   & sfmt_be_ops[0],
385be9ac0eaSchristos   & sfmt_be_ops[0],
386be9ac0eaSchristos   & sfmt_call_ops[0],
387be9ac0eaSchristos   & sfmt_calli_ops[0],
388be9ac0eaSchristos   & sfmt_add_ops[0],
389be9ac0eaSchristos   & sfmt_addi_ops[0],
390be9ac0eaSchristos   & sfmt_add_ops[0],
391be9ac0eaSchristos   & sfmt_addi_ops[0],
392be9ac0eaSchristos   & sfmt_add_ops[0],
393be9ac0eaSchristos   & sfmt_addi_ops[0],
394be9ac0eaSchristos   & sfmt_add_ops[0],
395be9ac0eaSchristos   & sfmt_andi_ops[0],
396be9ac0eaSchristos   & sfmt_add_ops[0],
397be9ac0eaSchristos   & sfmt_andi_ops[0],
398be9ac0eaSchristos   & sfmt_add_ops[0],
399be9ac0eaSchristos   & sfmt_addi_ops[0],
400be9ac0eaSchristos   & sfmt_divu_ops[0],
401be9ac0eaSchristos   & sfmt_lb_ops[0],
402be9ac0eaSchristos   & sfmt_lb_ops[0],
403be9ac0eaSchristos   & sfmt_lh_ops[0],
404be9ac0eaSchristos   & sfmt_lh_ops[0],
405be9ac0eaSchristos   & sfmt_lw_ops[0],
406be9ac0eaSchristos   & sfmt_divu_ops[0],
407be9ac0eaSchristos   & sfmt_add_ops[0],
408be9ac0eaSchristos   & sfmt_addi_ops[0],
409be9ac0eaSchristos   & sfmt_add_ops[0],
410be9ac0eaSchristos   & sfmt_andi_ops[0],
411be9ac0eaSchristos   & sfmt_add_ops[0],
412be9ac0eaSchristos   & sfmt_ori_ops[0],
413be9ac0eaSchristos   & sfmt_andhii_ops[0],
414be9ac0eaSchristos   & sfmt_rcsr_ops[0],
415be9ac0eaSchristos   & sfmt_sb_ops[0],
416be9ac0eaSchristos   & sfmt_sextb_ops[0],
417be9ac0eaSchristos   & sfmt_sextb_ops[0],
418be9ac0eaSchristos   & sfmt_sh_ops[0],
419be9ac0eaSchristos   & sfmt_add_ops[0],
420be9ac0eaSchristos   & sfmt_addi_ops[0],
421be9ac0eaSchristos   & sfmt_add_ops[0],
422be9ac0eaSchristos   & sfmt_addi_ops[0],
423be9ac0eaSchristos   & sfmt_add_ops[0],
424be9ac0eaSchristos   & sfmt_addi_ops[0],
425be9ac0eaSchristos   & sfmt_add_ops[0],
426be9ac0eaSchristos   & sfmt_sw_ops[0],
427be9ac0eaSchristos   & sfmt_user_ops[0],
428be9ac0eaSchristos   & sfmt_wcsr_ops[0],
429be9ac0eaSchristos   & sfmt_add_ops[0],
430be9ac0eaSchristos   & sfmt_andi_ops[0],
431be9ac0eaSchristos   & sfmt_add_ops[0],
432be9ac0eaSchristos   & sfmt_andi_ops[0],
433be9ac0eaSchristos   & sfmt_break_ops[0],
434be9ac0eaSchristos   & sfmt_break_ops[0],
435be9ac0eaSchristos   & sfmt_bret_ops[0],
436be9ac0eaSchristos   & sfmt_bret_ops[0],
437be9ac0eaSchristos   & sfmt_bret_ops[0],
438be9ac0eaSchristos   & sfmt_sextb_ops[0],
439be9ac0eaSchristos   & sfmt_mvi_ops[0],
440be9ac0eaSchristos   & sfmt_mvui_ops[0],
441be9ac0eaSchristos   & sfmt_mvhi_ops[0],
442be9ac0eaSchristos   & sfmt_mva_ops[0],
443be9ac0eaSchristos   & sfmt_sextb_ops[0],
444be9ac0eaSchristos   & sfmt_nop_ops[0],
445be9ac0eaSchristos   & sfmt_lbgprel_ops[0],
446be9ac0eaSchristos   & sfmt_lbgprel_ops[0],
447be9ac0eaSchristos   & sfmt_lhgprel_ops[0],
448be9ac0eaSchristos   & sfmt_lhgprel_ops[0],
449be9ac0eaSchristos   & sfmt_lwgprel_ops[0],
450be9ac0eaSchristos   & sfmt_sbgprel_ops[0],
451be9ac0eaSchristos   & sfmt_shgprel_ops[0],
452be9ac0eaSchristos   & sfmt_swgprel_ops[0],
453be9ac0eaSchristos   & sfmt_lwgotrel_ops[0],
454be9ac0eaSchristos   & sfmt_orhigotoffi_ops[0],
455be9ac0eaSchristos   & sfmt_addgotoff_ops[0],
456be9ac0eaSchristos   & sfmt_swgotoff_ops[0],
457be9ac0eaSchristos   & sfmt_lwgotoff_ops[0],
458be9ac0eaSchristos   & sfmt_shgotoff_ops[0],
459be9ac0eaSchristos   & sfmt_lhgotoff_ops[0],
460be9ac0eaSchristos   & sfmt_lhgotoff_ops[0],
461be9ac0eaSchristos   & sfmt_sbgotoff_ops[0],
462be9ac0eaSchristos   & sfmt_lbgotoff_ops[0],
463be9ac0eaSchristos   & sfmt_lbgotoff_ops[0],
464be9ac0eaSchristos };
465be9ac0eaSchristos 
466be9ac0eaSchristos /* Function to call before using the operand instance table.  */
467be9ac0eaSchristos 
468be9ac0eaSchristos void
lm32_cgen_init_opinst_table(CGEN_CPU_DESC cd)4698cbf5cb7Schristos lm32_cgen_init_opinst_table (CGEN_CPU_DESC cd)
470be9ac0eaSchristos {
471be9ac0eaSchristos   int i;
472be9ac0eaSchristos   const CGEN_OPINST **oi = & lm32_cgen_opinst_table[0];
473be9ac0eaSchristos   CGEN_INSN *insns = (CGEN_INSN *) cd->insn_table.init_entries;
474be9ac0eaSchristos   for (i = 0; i < MAX_INSNS; ++i)
475be9ac0eaSchristos     insns[i].opinst = oi[i];
476be9ac0eaSchristos }
477