Lines Matching refs:cd

1180 build_hw_table (CGEN_CPU_TABLE *cd)
1183 int machs = cd->machs;
1191 cd->hw_table.init_entries = init;
1192 cd->hw_table.entry_size = sizeof (CGEN_HW_ENTRY);
1199 cd->hw_table.entries = selected;
1200 cd->hw_table.num_entries = MAX_HW;
1206 build_ifield_table (CGEN_CPU_TABLE *cd)
1208 cd->ifld_table = & xstormy16_cgen_ifld_table[0];
1214 build_operand_table (CGEN_CPU_TABLE *cd)
1217 int machs = cd->machs;
1224 cd->operand_table.init_entries = init;
1225 cd->operand_table.entry_size = sizeof (CGEN_OPERAND);
1232 cd->operand_table.entries = selected;
1233 cd->operand_table.num_entries = MAX_OPERANDS;
1245 build_insn_table (CGEN_CPU_TABLE *cd)
1254 cd->insn_table.init_entries = insns;
1255 cd->insn_table.entry_size = sizeof (CGEN_IBASE);
1256 cd->insn_table.num_init_entries = MAX_INSNS;
1262 xstormy16_cgen_rebuild_tables (CGEN_CPU_TABLE *cd)
1265 CGEN_BITSET *isas = cd->isas;
1266 unsigned int machs = cd->machs;
1268 cd->int_insn_p = CGEN_INT_INSN_P;
1272 cd->default_insn_bitsize = UNSET;
1273 cd->base_insn_bitsize = UNSET;
1274 cd->min_insn_bitsize = 65535; /* Some ridiculously big number. */
1275 cd->max_insn_bitsize = 0;
1283 if (cd->default_insn_bitsize == UNSET)
1284 cd->default_insn_bitsize = isa->default_insn_bitsize;
1285 else if (isa->default_insn_bitsize == cd->default_insn_bitsize)
1288 cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN;
1292 if (cd->base_insn_bitsize == UNSET)
1293 cd->base_insn_bitsize = isa->base_insn_bitsize;
1294 else if (isa->base_insn_bitsize == cd->base_insn_bitsize)
1297 cd->base_insn_bitsize = CGEN_SIZE_UNKNOWN;
1300 if (isa->min_insn_bitsize < cd->min_insn_bitsize)
1301 cd->min_insn_bitsize = isa->min_insn_bitsize;
1302 if (isa->max_insn_bitsize > cd->max_insn_bitsize)
1303 cd->max_insn_bitsize = isa->max_insn_bitsize;
1314 if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
1320 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
1324 cd->insn_chunk_bitsize = mach->insn_chunk_bitsize;
1329 build_hw_table (cd);
1332 build_ifield_table (cd);
1335 build_operand_table (cd);
1338 build_insn_table (cd);
1360 CGEN_CPU_TABLE *cd = (CGEN_CPU_TABLE *) xmalloc (sizeof (CGEN_CPU_TABLE));
1374 memset (cd, 0, sizeof (*cd));
1429 cd->isas = cgen_bitset_copy (isas);
1430 cd->machs = machs;
1431 cd->endian = endian;
1432 cd->insn_endian
1436 cd->rebuild_tables = xstormy16_cgen_rebuild_tables;
1437 xstormy16_cgen_rebuild_tables (cd);
1440 cd->signed_overflow_ok_p = 0;
1442 return (CGEN_CPU_DESC) cd;
1462 xstormy16_cgen_cpu_close (CGEN_CPU_DESC cd)
1467 if (cd->macro_insn_table.init_entries)
1469 insns = cd->macro_insn_table.init_entries;
1470 for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns)
1475 if (cd->insn_table.init_entries)
1477 insns = cd->insn_table.init_entries;
1478 for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns)
1483 free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
1484 free ((CGEN_INSN *) cd->insn_table.init_entries);
1485 free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
1486 free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
1487 free (cd);