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