1aa4b58b1Schristos /* DO NOT EDIT!  -*- buffer-read-only: t -*- vi:set ro:  */
2bb8203c9Smatt /* Semantic operand instances for or1k.
3bb8203c9Smatt 
4bb8203c9Smatt THIS FILE IS MACHINE GENERATED WITH CGEN.
5bb8203c9Smatt 
6*e072ec67Schristos Copyright (C) 1996-2022 Free Software Foundation, Inc.
7bb8203c9Smatt 
8bb8203c9Smatt This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9bb8203c9Smatt 
10bb8203c9Smatt    This file is free software; you can redistribute it and/or modify
11bb8203c9Smatt    it under the terms of the GNU General Public License as published by
12bb8203c9Smatt    the Free Software Foundation; either version 3, or (at your option)
13bb8203c9Smatt    any later version.
14bb8203c9Smatt 
15bb8203c9Smatt    It is distributed in the hope that it will be useful, but WITHOUT
16bb8203c9Smatt    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17bb8203c9Smatt    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
18bb8203c9Smatt    License for more details.
19bb8203c9Smatt 
20bb8203c9Smatt    You should have received a copy of the GNU General Public License along
21bb8203c9Smatt    with this program; if not, write to the Free Software Foundation, Inc.,
22bb8203c9Smatt    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
23bb8203c9Smatt 
24bb8203c9Smatt */
25bb8203c9Smatt 
26bb8203c9Smatt #include "sysdep.h"
27bb8203c9Smatt #include "ansidecl.h"
28bb8203c9Smatt #include "bfd.h"
29bb8203c9Smatt #include "symcat.h"
30bb8203c9Smatt #include "or1k-desc.h"
31bb8203c9Smatt #include "or1k-opc.h"
32bb8203c9Smatt 
33bb8203c9Smatt /* Operand references.  */
34bb8203c9Smatt 
35bb8203c9Smatt #define OP_ENT(op) OR1K_OPERAND_##op
36bb8203c9Smatt #define INPUT CGEN_OPINST_INPUT
37bb8203c9Smatt #define OUTPUT CGEN_OPINST_OUTPUT
38bb8203c9Smatt #define END CGEN_OPINST_END
39bb8203c9Smatt #define COND_REF CGEN_OPINST_COND_REF
40bb8203c9Smatt 
41bb8203c9Smatt static const CGEN_OPINST sfmt_empty_ops[] ATTRIBUTE_UNUSED = {
42bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
43bb8203c9Smatt };
44bb8203c9Smatt 
45bb8203c9Smatt static const CGEN_OPINST sfmt_l_j_ops[] ATTRIBUTE_UNUSED = {
46*e072ec67Schristos   { INPUT, "disp26", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP26), 0, 0 },
47*e072ec67Schristos   { INPUT, "sys_cpucfgr_nd", HW_H_SYS_CPUCFGR_ND, CGEN_MODE_USI, 0, 0, 0 },
48*e072ec67Schristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
49bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
50bb8203c9Smatt };
51bb8203c9Smatt 
52c21fdd85Schristos static const CGEN_OPINST sfmt_l_adrp_ops[] ATTRIBUTE_UNUSED = {
53*e072ec67Schristos   { INPUT, "disp21", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP21), 0, 0 },
54*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
55c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
56c21fdd85Schristos };
57c21fdd85Schristos 
58bb8203c9Smatt static const CGEN_OPINST sfmt_l_jal_ops[] ATTRIBUTE_UNUSED = {
59*e072ec67Schristos   { INPUT, "disp26", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP26), 0, 0 },
60*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
61*e072ec67Schristos   { INPUT, "sys_cpucfgr_nd", HW_H_SYS_CPUCFGR_ND, CGEN_MODE_USI, 0, 0, 0 },
62*e072ec67Schristos   { OUTPUT, "h_gpr_USI_9", HW_H_GPR, CGEN_MODE_USI, 0, 9, 0 },
63*e072ec67Schristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
64bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
65bb8203c9Smatt };
66bb8203c9Smatt 
67bb8203c9Smatt static const CGEN_OPINST sfmt_l_jr_ops[] ATTRIBUTE_UNUSED = {
68*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
69*e072ec67Schristos   { INPUT, "sys_cpucfgr_nd", HW_H_SYS_CPUCFGR_ND, CGEN_MODE_USI, 0, 0, 0 },
70*e072ec67Schristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
71bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
72bb8203c9Smatt };
73bb8203c9Smatt 
74bb8203c9Smatt static const CGEN_OPINST sfmt_l_jalr_ops[] ATTRIBUTE_UNUSED = {
75*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
76*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
77*e072ec67Schristos   { INPUT, "sys_cpucfgr_nd", HW_H_SYS_CPUCFGR_ND, CGEN_MODE_USI, 0, 0, 0 },
78*e072ec67Schristos   { OUTPUT, "h_gpr_USI_9", HW_H_GPR, CGEN_MODE_USI, 0, 9, 0 },
79*e072ec67Schristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
80bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
81bb8203c9Smatt };
82bb8203c9Smatt 
83bb8203c9Smatt static const CGEN_OPINST sfmt_l_bnf_ops[] ATTRIBUTE_UNUSED = {
84*e072ec67Schristos   { INPUT, "disp26", HW_H_IADDR, CGEN_MODE_USI, OP_ENT (DISP26), 0, COND_REF },
85*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
86*e072ec67Schristos   { INPUT, "sys_cpucfgr_nd", HW_H_SYS_CPUCFGR_ND, CGEN_MODE_USI, 0, 0, COND_REF },
87*e072ec67Schristos   { INPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
88*e072ec67Schristos   { OUTPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
89bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
90bb8203c9Smatt };
91bb8203c9Smatt 
92bb8203c9Smatt static const CGEN_OPINST sfmt_l_trap_ops[] ATTRIBUTE_UNUSED = {
93*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, 0 },
94bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
95bb8203c9Smatt };
96bb8203c9Smatt 
97bb8203c9Smatt static const CGEN_OPINST sfmt_l_msync_ops[] ATTRIBUTE_UNUSED = {
98bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
99bb8203c9Smatt };
100bb8203c9Smatt 
101bb8203c9Smatt static const CGEN_OPINST sfmt_l_nop_imm_ops[] ATTRIBUTE_UNUSED = {
102bb8203c9Smatt   { INPUT, "uimm16", HW_H_UIMM16, CGEN_MODE_UINT, OP_ENT (UIMM16), 0, 0 },
103bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
104bb8203c9Smatt };
105bb8203c9Smatt 
106bb8203c9Smatt static const CGEN_OPINST sfmt_l_movhi_ops[] ATTRIBUTE_UNUSED = {
107bb8203c9Smatt   { INPUT, "uimm16", HW_H_UIMM16, CGEN_MODE_UINT, OP_ENT (UIMM16), 0, 0 },
108*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
109bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
110bb8203c9Smatt };
111bb8203c9Smatt 
112bb8203c9Smatt static const CGEN_OPINST sfmt_l_macrc_ops[] ATTRIBUTE_UNUSED = {
113*e072ec67Schristos   { INPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
114*e072ec67Schristos   { OUTPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
115*e072ec67Schristos   { OUTPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
116*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
117bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
118bb8203c9Smatt };
119bb8203c9Smatt 
120bb8203c9Smatt static const CGEN_OPINST sfmt_l_mfspr_ops[] ATTRIBUTE_UNUSED = {
121*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
122bb8203c9Smatt   { INPUT, "uimm16", HW_H_UIMM16, CGEN_MODE_UINT, OP_ENT (UIMM16), 0, 0 },
123*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
124bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
125bb8203c9Smatt };
126bb8203c9Smatt 
127bb8203c9Smatt static const CGEN_OPINST sfmt_l_mtspr_ops[] ATTRIBUTE_UNUSED = {
128*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
129*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
130bb8203c9Smatt   { INPUT, "uimm16_split", HW_H_UIMM16, CGEN_MODE_UINT, OP_ENT (UIMM16_SPLIT), 0, 0 },
131bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
132bb8203c9Smatt };
133bb8203c9Smatt 
134bb8203c9Smatt static const CGEN_OPINST sfmt_l_lwz_ops[] ATTRIBUTE_UNUSED = {
135bb8203c9Smatt   { INPUT, "h_memory_USI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_4", HW_H_MEMORY, CGEN_MODE_USI, 0, 0, 0 },
136*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
137bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
138*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
139bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
140bb8203c9Smatt };
141bb8203c9Smatt 
142bb8203c9Smatt static const CGEN_OPINST sfmt_l_lws_ops[] ATTRIBUTE_UNUSED = {
143bb8203c9Smatt   { INPUT, "h_memory_SI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_4", HW_H_MEMORY, CGEN_MODE_SI, 0, 0, 0 },
144*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
145bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
146*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
147bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
148bb8203c9Smatt };
149bb8203c9Smatt 
150bb8203c9Smatt static const CGEN_OPINST sfmt_l_lwa_ops[] ATTRIBUTE_UNUSED = {
151bb8203c9Smatt   { INPUT, "h_memory_USI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_4", HW_H_MEMORY, CGEN_MODE_USI, 0, 0, 0 },
152*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
153bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
154bb8203c9Smatt   { OUTPUT, "atomic_address", HW_H_ATOMIC_ADDRESS, CGEN_MODE_SI, 0, 0, 0 },
155bb8203c9Smatt   { OUTPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, 0 },
156*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
157bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
158bb8203c9Smatt };
159bb8203c9Smatt 
160bb8203c9Smatt static const CGEN_OPINST sfmt_l_lbz_ops[] ATTRIBUTE_UNUSED = {
161bb8203c9Smatt   { INPUT, "h_memory_UQI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_1", HW_H_MEMORY, CGEN_MODE_UQI, 0, 0, 0 },
162*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
163bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
164*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
165bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
166bb8203c9Smatt };
167bb8203c9Smatt 
168bb8203c9Smatt static const CGEN_OPINST sfmt_l_lbs_ops[] ATTRIBUTE_UNUSED = {
169bb8203c9Smatt   { INPUT, "h_memory_QI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_1", HW_H_MEMORY, CGEN_MODE_QI, 0, 0, 0 },
170*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
171bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
172*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
173bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
174bb8203c9Smatt };
175bb8203c9Smatt 
176bb8203c9Smatt static const CGEN_OPINST sfmt_l_lhz_ops[] ATTRIBUTE_UNUSED = {
177bb8203c9Smatt   { INPUT, "h_memory_UHI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_2", HW_H_MEMORY, CGEN_MODE_UHI, 0, 0, 0 },
178*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
179bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
180*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
181bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
182bb8203c9Smatt };
183bb8203c9Smatt 
184bb8203c9Smatt static const CGEN_OPINST sfmt_l_lhs_ops[] ATTRIBUTE_UNUSED = {
185bb8203c9Smatt   { INPUT, "h_memory_HI_c_call__AI_@cpu@_make_load_store_addr_rA_ext__SI_simm16_2", HW_H_MEMORY, CGEN_MODE_HI, 0, 0, 0 },
186*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
187bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
188*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
189bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
190bb8203c9Smatt };
191bb8203c9Smatt 
192bb8203c9Smatt static const CGEN_OPINST sfmt_l_sw_ops[] ATTRIBUTE_UNUSED = {
193bb8203c9Smatt   { INPUT, "atomic_address", HW_H_ATOMIC_ADDRESS, CGEN_MODE_SI, 0, 0, 0 },
194*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
195*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
196bb8203c9Smatt   { INPUT, "simm16_split", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16_SPLIT), 0, 0 },
197bb8203c9Smatt   { OUTPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, COND_REF },
198bb8203c9Smatt   { OUTPUT, "h_memory_USI_addr", HW_H_MEMORY, CGEN_MODE_USI, 0, 0, 0 },
199bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
200bb8203c9Smatt };
201bb8203c9Smatt 
202bb8203c9Smatt static const CGEN_OPINST sfmt_l_sb_ops[] ATTRIBUTE_UNUSED = {
203bb8203c9Smatt   { INPUT, "atomic_address", HW_H_ATOMIC_ADDRESS, CGEN_MODE_SI, 0, 0, 0 },
204*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
205*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
206bb8203c9Smatt   { INPUT, "simm16_split", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16_SPLIT), 0, 0 },
207bb8203c9Smatt   { OUTPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, COND_REF },
208bb8203c9Smatt   { OUTPUT, "h_memory_UQI_addr", HW_H_MEMORY, CGEN_MODE_UQI, 0, 0, 0 },
209bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
210bb8203c9Smatt };
211bb8203c9Smatt 
212bb8203c9Smatt static const CGEN_OPINST sfmt_l_sh_ops[] ATTRIBUTE_UNUSED = {
213bb8203c9Smatt   { INPUT, "atomic_address", HW_H_ATOMIC_ADDRESS, CGEN_MODE_SI, 0, 0, 0 },
214*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
215*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
216bb8203c9Smatt   { INPUT, "simm16_split", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16_SPLIT), 0, 0 },
217bb8203c9Smatt   { OUTPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, COND_REF },
218bb8203c9Smatt   { OUTPUT, "h_memory_UHI_addr", HW_H_MEMORY, CGEN_MODE_UHI, 0, 0, 0 },
219bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
220bb8203c9Smatt };
221bb8203c9Smatt 
222bb8203c9Smatt static const CGEN_OPINST sfmt_l_swa_ops[] ATTRIBUTE_UNUSED = {
223bb8203c9Smatt   { INPUT, "atomic_address", HW_H_ATOMIC_ADDRESS, CGEN_MODE_SI, 0, 0, 0 },
224bb8203c9Smatt   { INPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, 0 },
225*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
226*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, COND_REF },
227bb8203c9Smatt   { INPUT, "simm16_split", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16_SPLIT), 0, 0 },
228*e072ec67Schristos   { INPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
229bb8203c9Smatt   { OUTPUT, "atomic_reserve", HW_H_ATOMIC_RESERVE, CGEN_MODE_BI, 0, 0, 0 },
230bb8203c9Smatt   { OUTPUT, "h_memory_USI_addr", HW_H_MEMORY, CGEN_MODE_USI, 0, 0, COND_REF },
231*e072ec67Schristos   { OUTPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
232bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
233bb8203c9Smatt };
234bb8203c9Smatt 
235bb8203c9Smatt static const CGEN_OPINST sfmt_l_sll_ops[] ATTRIBUTE_UNUSED = {
236*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
237*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
238*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
239bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
240bb8203c9Smatt };
241bb8203c9Smatt 
242bb8203c9Smatt static const CGEN_OPINST sfmt_l_slli_ops[] ATTRIBUTE_UNUSED = {
243*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
244bb8203c9Smatt   { INPUT, "uimm6", HW_H_UIMM6, CGEN_MODE_UINT, OP_ENT (UIMM6), 0, 0 },
245*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
246bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
247bb8203c9Smatt };
248bb8203c9Smatt 
249bb8203c9Smatt static const CGEN_OPINST sfmt_l_and_ops[] ATTRIBUTE_UNUSED = {
250*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
251*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
252*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
253bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
254bb8203c9Smatt };
255bb8203c9Smatt 
256bb8203c9Smatt static const CGEN_OPINST sfmt_l_add_ops[] ATTRIBUTE_UNUSED = {
257*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
258*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
259*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
260*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
261*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
262*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
263*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
264*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
265bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
266bb8203c9Smatt };
267bb8203c9Smatt 
268bb8203c9Smatt static const CGEN_OPINST sfmt_l_addc_ops[] ATTRIBUTE_UNUSED = {
269*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
270*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
271*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
272*e072ec67Schristos   { INPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
273*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
274*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
275*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
276*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
277*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
278bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
279bb8203c9Smatt };
280bb8203c9Smatt 
281c21fdd85Schristos static const CGEN_OPINST sfmt_l_mul_ops[] ATTRIBUTE_UNUSED = {
282*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
283*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
284*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
285*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
286*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
287*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
288*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
289c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
290c21fdd85Schristos };
291c21fdd85Schristos 
292c21fdd85Schristos static const CGEN_OPINST sfmt_l_muld_ops[] ATTRIBUTE_UNUSED = {
293*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
294*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
295*e072ec67Schristos   { OUTPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
296*e072ec67Schristos   { OUTPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
297c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
298c21fdd85Schristos };
299c21fdd85Schristos 
300c21fdd85Schristos static const CGEN_OPINST sfmt_l_mulu_ops[] ATTRIBUTE_UNUSED = {
301*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
302*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
303*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
304*e072ec67Schristos   { INPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
305*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
306*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
307*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
308c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
309c21fdd85Schristos };
310c21fdd85Schristos 
311bb8203c9Smatt static const CGEN_OPINST sfmt_l_div_ops[] ATTRIBUTE_UNUSED = {
312*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
313*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, COND_REF },
314*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
315*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, COND_REF },
316*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, COND_REF },
317*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, COND_REF },
318c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
319c21fdd85Schristos };
320c21fdd85Schristos 
321c21fdd85Schristos static const CGEN_OPINST sfmt_l_divu_ops[] ATTRIBUTE_UNUSED = {
322*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
323*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, COND_REF },
324*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
325*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, COND_REF },
326*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, COND_REF },
327*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, COND_REF },
328bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
329bb8203c9Smatt };
330bb8203c9Smatt 
331bb8203c9Smatt static const CGEN_OPINST sfmt_l_ff1_ops[] ATTRIBUTE_UNUSED = {
332*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
333*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
334bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
335bb8203c9Smatt };
336bb8203c9Smatt 
337bb8203c9Smatt static const CGEN_OPINST sfmt_l_xori_ops[] ATTRIBUTE_UNUSED = {
338*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
339bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
340*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
341bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
342bb8203c9Smatt };
343bb8203c9Smatt 
344bb8203c9Smatt static const CGEN_OPINST sfmt_l_addi_ops[] ATTRIBUTE_UNUSED = {
345*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
346*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
347bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
348*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
349*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
350*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
351*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
352*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
353bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
354bb8203c9Smatt };
355bb8203c9Smatt 
356bb8203c9Smatt static const CGEN_OPINST sfmt_l_addic_ops[] ATTRIBUTE_UNUSED = {
357*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
358*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
359bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
360*e072ec67Schristos   { INPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
361*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
362*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
363*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
364*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
365*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
366bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
367bb8203c9Smatt };
368bb8203c9Smatt 
369c21fdd85Schristos static const CGEN_OPINST sfmt_l_muli_ops[] ATTRIBUTE_UNUSED = {
370*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
371*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
372c21fdd85Schristos   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
373*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
374*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
375*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
376*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
377c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
378c21fdd85Schristos };
379c21fdd85Schristos 
380bb8203c9Smatt static const CGEN_OPINST sfmt_l_exths_ops[] ATTRIBUTE_UNUSED = {
381*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
382*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
383bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
384bb8203c9Smatt };
385bb8203c9Smatt 
386bb8203c9Smatt static const CGEN_OPINST sfmt_l_cmov_ops[] ATTRIBUTE_UNUSED = {
387*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, COND_REF },
388*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, COND_REF },
389*e072ec67Schristos   { INPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
390*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, COND_REF },
391bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
392bb8203c9Smatt };
393bb8203c9Smatt 
394bb8203c9Smatt static const CGEN_OPINST sfmt_l_sfgts_ops[] ATTRIBUTE_UNUSED = {
395*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
396*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
397*e072ec67Schristos   { OUTPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
398bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
399bb8203c9Smatt };
400bb8203c9Smatt 
401bb8203c9Smatt static const CGEN_OPINST sfmt_l_sfgtsi_ops[] ATTRIBUTE_UNUSED = {
402*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
403bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
404*e072ec67Schristos   { OUTPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
405bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
406bb8203c9Smatt };
407bb8203c9Smatt 
408bb8203c9Smatt static const CGEN_OPINST sfmt_l_mac_ops[] ATTRIBUTE_UNUSED = {
409*e072ec67Schristos   { INPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
410*e072ec67Schristos   { INPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
411*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
412*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
413*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
414*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
415*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
416*e072ec67Schristos   { OUTPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
417*e072ec67Schristos   { OUTPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
418*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
419bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
420bb8203c9Smatt };
421bb8203c9Smatt 
422bb8203c9Smatt static const CGEN_OPINST sfmt_l_maci_ops[] ATTRIBUTE_UNUSED = {
423*e072ec67Schristos   { INPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
424*e072ec67Schristos   { INPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
425*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
426*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
427bb8203c9Smatt   { INPUT, "simm16", HW_H_SIMM16, CGEN_MODE_INT, OP_ENT (SIMM16), 0, 0 },
428*e072ec67Schristos   { INPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
429*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
430*e072ec67Schristos   { OUTPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
431*e072ec67Schristos   { OUTPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
432*e072ec67Schristos   { OUTPUT, "sys_sr_ov", HW_H_SYS_SR_OV, CGEN_MODE_USI, 0, 0, 0 },
433c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
434c21fdd85Schristos };
435c21fdd85Schristos 
436c21fdd85Schristos static const CGEN_OPINST sfmt_l_macu_ops[] ATTRIBUTE_UNUSED = {
437*e072ec67Schristos   { INPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
438*e072ec67Schristos   { INPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
439*e072ec67Schristos   { INPUT, "pc", HW_H_PC, CGEN_MODE_USI, 0, 0, COND_REF },
440*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
441*e072ec67Schristos   { INPUT, "rB", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RB), 0, 0 },
442*e072ec67Schristos   { INPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
443*e072ec67Schristos   { INPUT, "sys_sr_ove", HW_H_SYS_SR_OVE, CGEN_MODE_USI, 0, 0, 0 },
444*e072ec67Schristos   { OUTPUT, "mac_machi", HW_H_MAC_MACHI, CGEN_MODE_USI, 0, 0, 0 },
445*e072ec67Schristos   { OUTPUT, "mac_maclo", HW_H_MAC_MACLO, CGEN_MODE_USI, 0, 0, 0 },
446*e072ec67Schristos   { OUTPUT, "sys_sr_cy", HW_H_SYS_SR_CY, CGEN_MODE_USI, 0, 0, 0 },
447bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
448bb8203c9Smatt };
449bb8203c9Smatt 
450bb8203c9Smatt static const CGEN_OPINST sfmt_lf_add_s_ops[] ATTRIBUTE_UNUSED = {
451bb8203c9Smatt   { INPUT, "rASF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RASF), 0, 0 },
452bb8203c9Smatt   { INPUT, "rBSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RBSF), 0, 0 },
453bb8203c9Smatt   { OUTPUT, "rDSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RDSF), 0, 0 },
454bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
455bb8203c9Smatt };
456bb8203c9Smatt 
457c21fdd85Schristos static const CGEN_OPINST sfmt_lf_add_d32_ops[] ATTRIBUTE_UNUSED = {
458c21fdd85Schristos   { INPUT, "rAD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RAD32F), 0, 0 },
459c21fdd85Schristos   { INPUT, "rBD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RBD32F), 0, 0 },
460c21fdd85Schristos   { OUTPUT, "rDD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RDD32F), 0, 0 },
461c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
462c21fdd85Schristos };
463c21fdd85Schristos 
464bb8203c9Smatt static const CGEN_OPINST sfmt_lf_itof_s_ops[] ATTRIBUTE_UNUSED = {
465*e072ec67Schristos   { INPUT, "rA", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RA), 0, 0 },
466*e072ec67Schristos   { INPUT, "sys_fpcsr_rm", HW_H_SYS_FPCSR_RM, CGEN_MODE_USI, 0, 0, 0 },
467bb8203c9Smatt   { OUTPUT, "rDSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RDSF), 0, 0 },
468bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
469bb8203c9Smatt };
470bb8203c9Smatt 
471c21fdd85Schristos static const CGEN_OPINST sfmt_lf_itof_d32_ops[] ATTRIBUTE_UNUSED = {
472c21fdd85Schristos   { INPUT, "rADI", HW_H_I64R, CGEN_MODE_DI, OP_ENT (RADI), 0, 0 },
473*e072ec67Schristos   { INPUT, "sys_fpcsr_rm", HW_H_SYS_FPCSR_RM, CGEN_MODE_USI, 0, 0, 0 },
474c21fdd85Schristos   { OUTPUT, "rDD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RDD32F), 0, 0 },
475c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
476c21fdd85Schristos };
477c21fdd85Schristos 
478bb8203c9Smatt static const CGEN_OPINST sfmt_lf_ftoi_s_ops[] ATTRIBUTE_UNUSED = {
479bb8203c9Smatt   { INPUT, "rASF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RASF), 0, 0 },
480*e072ec67Schristos   { INPUT, "sys_fpcsr_rm", HW_H_SYS_FPCSR_RM, CGEN_MODE_USI, 0, 0, 0 },
481*e072ec67Schristos   { OUTPUT, "rD", HW_H_GPR, CGEN_MODE_USI, OP_ENT (RD), 0, 0 },
482bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
483bb8203c9Smatt };
484bb8203c9Smatt 
485c21fdd85Schristos static const CGEN_OPINST sfmt_lf_ftoi_d32_ops[] ATTRIBUTE_UNUSED = {
486c21fdd85Schristos   { INPUT, "rAD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RAD32F), 0, 0 },
487*e072ec67Schristos   { INPUT, "sys_fpcsr_rm", HW_H_SYS_FPCSR_RM, CGEN_MODE_USI, 0, 0, 0 },
488c21fdd85Schristos   { OUTPUT, "rDDI", HW_H_I64R, CGEN_MODE_DI, OP_ENT (RDDI), 0, 0 },
489c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
490c21fdd85Schristos };
491c21fdd85Schristos 
492c21fdd85Schristos static const CGEN_OPINST sfmt_lf_sfeq_s_ops[] ATTRIBUTE_UNUSED = {
493bb8203c9Smatt   { INPUT, "rASF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RASF), 0, 0 },
494bb8203c9Smatt   { INPUT, "rBSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RBSF), 0, 0 },
495*e072ec67Schristos   { OUTPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
496bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
497bb8203c9Smatt };
498bb8203c9Smatt 
499c21fdd85Schristos static const CGEN_OPINST sfmt_lf_sfeq_d32_ops[] ATTRIBUTE_UNUSED = {
500c21fdd85Schristos   { INPUT, "rAD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RAD32F), 0, 0 },
501c21fdd85Schristos   { INPUT, "rBD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RBD32F), 0, 0 },
502*e072ec67Schristos   { OUTPUT, "sys_sr_f", HW_H_SYS_SR_F, CGEN_MODE_USI, 0, 0, 0 },
503c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
504c21fdd85Schristos };
505c21fdd85Schristos 
506bb8203c9Smatt static const CGEN_OPINST sfmt_lf_madd_s_ops[] ATTRIBUTE_UNUSED = {
507bb8203c9Smatt   { INPUT, "rASF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RASF), 0, 0 },
508bb8203c9Smatt   { INPUT, "rBSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RBSF), 0, 0 },
509bb8203c9Smatt   { INPUT, "rDSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RDSF), 0, 0 },
510bb8203c9Smatt   { OUTPUT, "rDSF", HW_H_FSR, CGEN_MODE_SF, OP_ENT (RDSF), 0, 0 },
511bb8203c9Smatt   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
512bb8203c9Smatt };
513bb8203c9Smatt 
514c21fdd85Schristos static const CGEN_OPINST sfmt_lf_madd_d32_ops[] ATTRIBUTE_UNUSED = {
515c21fdd85Schristos   { INPUT, "rAD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RAD32F), 0, 0 },
516c21fdd85Schristos   { INPUT, "rBD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RBD32F), 0, 0 },
517c21fdd85Schristos   { INPUT, "rDD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RDD32F), 0, 0 },
518c21fdd85Schristos   { OUTPUT, "rDD32F", HW_H_FD32R, CGEN_MODE_DF, OP_ENT (RDD32F), 0, 0 },
519c21fdd85Schristos   { END, (const char *)0, (enum cgen_hw_type)0, (enum cgen_mode)0, (enum cgen_operand_type)0, 0, 0 }
520c21fdd85Schristos };
521c21fdd85Schristos 
522bb8203c9Smatt #undef OP_ENT
523bb8203c9Smatt #undef INPUT
524bb8203c9Smatt #undef OUTPUT
525bb8203c9Smatt #undef END
526bb8203c9Smatt #undef COND_REF
527bb8203c9Smatt 
528bb8203c9Smatt /* Operand instance lookup table.  */
529bb8203c9Smatt 
530bb8203c9Smatt static const CGEN_OPINST *or1k_cgen_opinst_table[MAX_INSNS] = {
531bb8203c9Smatt   0,
532bb8203c9Smatt   & sfmt_l_j_ops[0],
533c21fdd85Schristos   & sfmt_l_adrp_ops[0],
534bb8203c9Smatt   & sfmt_l_jal_ops[0],
535bb8203c9Smatt   & sfmt_l_jr_ops[0],
536bb8203c9Smatt   & sfmt_l_jalr_ops[0],
537bb8203c9Smatt   & sfmt_l_bnf_ops[0],
538bb8203c9Smatt   & sfmt_l_bnf_ops[0],
539bb8203c9Smatt   & sfmt_l_trap_ops[0],
540bb8203c9Smatt   & sfmt_l_trap_ops[0],
541bb8203c9Smatt   & sfmt_l_msync_ops[0],
542bb8203c9Smatt   & sfmt_l_msync_ops[0],
543bb8203c9Smatt   & sfmt_l_msync_ops[0],
544bb8203c9Smatt   & sfmt_l_msync_ops[0],
545bb8203c9Smatt   & sfmt_l_nop_imm_ops[0],
546bb8203c9Smatt   & sfmt_l_msync_ops[0],
547bb8203c9Smatt   & sfmt_l_movhi_ops[0],
548bb8203c9Smatt   & sfmt_l_macrc_ops[0],
549bb8203c9Smatt   & sfmt_l_mfspr_ops[0],
550bb8203c9Smatt   & sfmt_l_mtspr_ops[0],
551bb8203c9Smatt   & sfmt_l_lwz_ops[0],
552bb8203c9Smatt   & sfmt_l_lws_ops[0],
553bb8203c9Smatt   & sfmt_l_lwa_ops[0],
554bb8203c9Smatt   & sfmt_l_lbz_ops[0],
555bb8203c9Smatt   & sfmt_l_lbs_ops[0],
556bb8203c9Smatt   & sfmt_l_lhz_ops[0],
557bb8203c9Smatt   & sfmt_l_lhs_ops[0],
558bb8203c9Smatt   & sfmt_l_sw_ops[0],
559bb8203c9Smatt   & sfmt_l_sb_ops[0],
560bb8203c9Smatt   & sfmt_l_sh_ops[0],
561bb8203c9Smatt   & sfmt_l_swa_ops[0],
562bb8203c9Smatt   & sfmt_l_sll_ops[0],
563bb8203c9Smatt   & sfmt_l_slli_ops[0],
564bb8203c9Smatt   & sfmt_l_sll_ops[0],
565bb8203c9Smatt   & sfmt_l_slli_ops[0],
566bb8203c9Smatt   & sfmt_l_sll_ops[0],
567bb8203c9Smatt   & sfmt_l_slli_ops[0],
568bb8203c9Smatt   & sfmt_l_sll_ops[0],
569bb8203c9Smatt   & sfmt_l_slli_ops[0],
570bb8203c9Smatt   & sfmt_l_and_ops[0],
571bb8203c9Smatt   & sfmt_l_and_ops[0],
572bb8203c9Smatt   & sfmt_l_and_ops[0],
573bb8203c9Smatt   & sfmt_l_add_ops[0],
574bb8203c9Smatt   & sfmt_l_add_ops[0],
575bb8203c9Smatt   & sfmt_l_addc_ops[0],
576c21fdd85Schristos   & sfmt_l_mul_ops[0],
577c21fdd85Schristos   & sfmt_l_muld_ops[0],
578c21fdd85Schristos   & sfmt_l_mulu_ops[0],
579c21fdd85Schristos   & sfmt_l_muld_ops[0],
580bb8203c9Smatt   & sfmt_l_div_ops[0],
581c21fdd85Schristos   & sfmt_l_divu_ops[0],
582bb8203c9Smatt   & sfmt_l_ff1_ops[0],
583bb8203c9Smatt   & sfmt_l_ff1_ops[0],
584bb8203c9Smatt   & sfmt_l_mfspr_ops[0],
585bb8203c9Smatt   & sfmt_l_mfspr_ops[0],
586bb8203c9Smatt   & sfmt_l_xori_ops[0],
587bb8203c9Smatt   & sfmt_l_addi_ops[0],
588bb8203c9Smatt   & sfmt_l_addic_ops[0],
589c21fdd85Schristos   & sfmt_l_muli_ops[0],
590bb8203c9Smatt   & sfmt_l_exths_ops[0],
591bb8203c9Smatt   & sfmt_l_exths_ops[0],
592bb8203c9Smatt   & sfmt_l_exths_ops[0],
593bb8203c9Smatt   & sfmt_l_exths_ops[0],
594bb8203c9Smatt   & sfmt_l_exths_ops[0],
595bb8203c9Smatt   & sfmt_l_exths_ops[0],
596bb8203c9Smatt   & sfmt_l_cmov_ops[0],
597bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
598bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
599bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
600bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
601bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
602bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
603bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
604bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
605bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
606bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
607bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
608bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
609bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
610bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
611bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
612bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
613bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
614bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
615bb8203c9Smatt   & sfmt_l_sfgts_ops[0],
616bb8203c9Smatt   & sfmt_l_sfgtsi_ops[0],
617bb8203c9Smatt   & sfmt_l_mac_ops[0],
618bb8203c9Smatt   & sfmt_l_maci_ops[0],
619c21fdd85Schristos   & sfmt_l_macu_ops[0],
620c21fdd85Schristos   & sfmt_l_mac_ops[0],
621c21fdd85Schristos   & sfmt_l_macu_ops[0],
622bb8203c9Smatt   & sfmt_l_msync_ops[0],
623bb8203c9Smatt   & sfmt_l_msync_ops[0],
624bb8203c9Smatt   & sfmt_l_msync_ops[0],
625bb8203c9Smatt   & sfmt_l_msync_ops[0],
626bb8203c9Smatt   & sfmt_l_msync_ops[0],
627bb8203c9Smatt   & sfmt_l_msync_ops[0],
628bb8203c9Smatt   & sfmt_l_msync_ops[0],
629bb8203c9Smatt   & sfmt_l_msync_ops[0],
630bb8203c9Smatt   & sfmt_lf_add_s_ops[0],
631c21fdd85Schristos   & sfmt_lf_add_d32_ops[0],
632bb8203c9Smatt   & sfmt_lf_add_s_ops[0],
633c21fdd85Schristos   & sfmt_lf_add_d32_ops[0],
634bb8203c9Smatt   & sfmt_lf_add_s_ops[0],
635c21fdd85Schristos   & sfmt_lf_add_d32_ops[0],
636bb8203c9Smatt   & sfmt_lf_add_s_ops[0],
637c21fdd85Schristos   & sfmt_lf_add_d32_ops[0],
638bb8203c9Smatt   & sfmt_lf_add_s_ops[0],
639c21fdd85Schristos   & sfmt_lf_add_d32_ops[0],
640bb8203c9Smatt   & sfmt_lf_itof_s_ops[0],
641c21fdd85Schristos   & sfmt_lf_itof_d32_ops[0],
642bb8203c9Smatt   & sfmt_lf_ftoi_s_ops[0],
643c21fdd85Schristos   & sfmt_lf_ftoi_d32_ops[0],
644c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
645c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
646c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
647c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
648c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
649c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
650c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
651c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
652c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
653c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
654c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
655c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
656c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
657c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
658c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
659c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
660c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
661c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
662c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
663c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
664c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
665c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
666c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
667c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
668c21fdd85Schristos   & sfmt_lf_sfeq_s_ops[0],
669c21fdd85Schristos   & sfmt_lf_sfeq_d32_ops[0],
670bb8203c9Smatt   & sfmt_lf_madd_s_ops[0],
671c21fdd85Schristos   & sfmt_lf_madd_d32_ops[0],
672c21fdd85Schristos   & sfmt_l_msync_ops[0],
673bb8203c9Smatt   & sfmt_l_msync_ops[0],
674bb8203c9Smatt };
675bb8203c9Smatt 
676bb8203c9Smatt /* Function to call before using the operand instance table.  */
677bb8203c9Smatt 
678bb8203c9Smatt void
or1k_cgen_init_opinst_table(CGEN_CPU_DESC cd)679ad93aa80Schristos or1k_cgen_init_opinst_table (CGEN_CPU_DESC cd)
680bb8203c9Smatt {
681bb8203c9Smatt   int i;
682bb8203c9Smatt   const CGEN_OPINST **oi = & or1k_cgen_opinst_table[0];
683bb8203c9Smatt   CGEN_INSN *insns = (CGEN_INSN *) cd->insn_table.init_entries;
684bb8203c9Smatt   for (i = 0; i < MAX_INSNS; ++i)
685bb8203c9Smatt     insns[i].opinst = oi[i];
686bb8203c9Smatt }
687