Lines Matching refs:cd
1002 build_hw_table (CGEN_CPU_TABLE *cd)
1005 int machs = cd->machs;
1013 cd->hw_table.init_entries = init;
1014 cd->hw_table.entry_size = sizeof (CGEN_HW_ENTRY);
1021 cd->hw_table.entries = selected;
1022 cd->hw_table.num_entries = MAX_HW;
1028 build_ifield_table (CGEN_CPU_TABLE *cd)
1030 cd->ifld_table = & mt_cgen_ifld_table[0];
1036 build_operand_table (CGEN_CPU_TABLE *cd)
1039 int machs = cd->machs;
1046 cd->operand_table.init_entries = init;
1047 cd->operand_table.entry_size = sizeof (CGEN_OPERAND);
1054 cd->operand_table.entries = selected;
1055 cd->operand_table.num_entries = MAX_OPERANDS;
1067 build_insn_table (CGEN_CPU_TABLE *cd)
1076 cd->insn_table.init_entries = insns;
1077 cd->insn_table.entry_size = sizeof (CGEN_IBASE);
1078 cd->insn_table.num_init_entries = MAX_INSNS;
1084 mt_cgen_rebuild_tables (CGEN_CPU_TABLE *cd)
1087 CGEN_BITSET *isas = cd->isas;
1088 unsigned int machs = cd->machs;
1090 cd->int_insn_p = CGEN_INT_INSN_P;
1094 cd->default_insn_bitsize = UNSET;
1095 cd->base_insn_bitsize = UNSET;
1096 cd->min_insn_bitsize = 65535; /* Some ridiculously big number. */
1097 cd->max_insn_bitsize = 0;
1105 if (cd->default_insn_bitsize == UNSET)
1106 cd->default_insn_bitsize = isa->default_insn_bitsize;
1107 else if (isa->default_insn_bitsize == cd->default_insn_bitsize)
1110 cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN;
1114 if (cd->base_insn_bitsize == UNSET)
1115 cd->base_insn_bitsize = isa->base_insn_bitsize;
1116 else if (isa->base_insn_bitsize == cd->base_insn_bitsize)
1119 cd->base_insn_bitsize = CGEN_SIZE_UNKNOWN;
1122 if (isa->min_insn_bitsize < cd->min_insn_bitsize)
1123 cd->min_insn_bitsize = isa->min_insn_bitsize;
1124 if (isa->max_insn_bitsize > cd->max_insn_bitsize)
1125 cd->max_insn_bitsize = isa->max_insn_bitsize;
1136 if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
1139 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
1143 cd->insn_chunk_bitsize = mach->insn_chunk_bitsize;
1148 build_hw_table (cd);
1151 build_ifield_table (cd);
1154 build_operand_table (cd);
1157 build_insn_table (cd);
1178 CGEN_CPU_TABLE *cd = (CGEN_CPU_TABLE *) xmalloc (sizeof (CGEN_CPU_TABLE));
1191 memset (cd, 0, sizeof (*cd));
1237 cd->isas = cgen_bitset_copy (isas);
1238 cd->machs = machs;
1239 cd->endian = endian;
1244 cd->insn_endian = endian;
1247 cd->rebuild_tables = mt_cgen_rebuild_tables;
1248 mt_cgen_rebuild_tables (cd);
1251 cd->signed_overflow_ok_p = 0;
1253 return (CGEN_CPU_DESC) cd;
1273 mt_cgen_cpu_close (CGEN_CPU_DESC cd)
1278 if (cd->macro_insn_table.init_entries)
1280 insns = cd->macro_insn_table.init_entries;
1281 for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns)
1286 if (cd->insn_table.init_entries)
1288 insns = cd->insn_table.init_entries;
1289 for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns)
1294 if (cd->macro_insn_table.init_entries)
1295 free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
1297 if (cd->insn_table.init_entries)
1298 free ((CGEN_INSN *) cd->insn_table.init_entries);
1300 if (cd->hw_table.entries)
1301 free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
1303 if (cd->operand_table.entries)
1304 free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
1306 free (cd);