Lines Matching refs:cd
871 build_hw_table (CGEN_CPU_TABLE *cd) in build_hw_table() argument
874 int machs = cd->machs; in build_hw_table()
882 cd->hw_table.init_entries = init; in build_hw_table()
883 cd->hw_table.entry_size = sizeof (CGEN_HW_ENTRY); in build_hw_table()
890 cd->hw_table.entries = selected; in build_hw_table()
891 cd->hw_table.num_entries = MAX_HW; in build_hw_table()
897 build_ifield_table (CGEN_CPU_TABLE *cd) in build_ifield_table() argument
899 cd->ifld_table = & ip2k_cgen_ifld_table[0]; in build_ifield_table()
905 build_operand_table (CGEN_CPU_TABLE *cd) in build_operand_table() argument
908 int machs = cd->machs; in build_operand_table()
915 cd->operand_table.init_entries = init; in build_operand_table()
916 cd->operand_table.entry_size = sizeof (CGEN_OPERAND); in build_operand_table()
923 cd->operand_table.entries = selected; in build_operand_table()
924 cd->operand_table.num_entries = MAX_OPERANDS; in build_operand_table()
936 build_insn_table (CGEN_CPU_TABLE *cd) in build_insn_table() argument
945 cd->insn_table.init_entries = insns; in build_insn_table()
946 cd->insn_table.entry_size = sizeof (CGEN_IBASE); in build_insn_table()
947 cd->insn_table.num_init_entries = MAX_INSNS; in build_insn_table()
953 ip2k_cgen_rebuild_tables (CGEN_CPU_TABLE *cd) in ip2k_cgen_rebuild_tables() argument
956 CGEN_BITSET *isas = cd->isas; in ip2k_cgen_rebuild_tables()
957 unsigned int machs = cd->machs; in ip2k_cgen_rebuild_tables()
959 cd->int_insn_p = CGEN_INT_INSN_P; in ip2k_cgen_rebuild_tables()
963 cd->default_insn_bitsize = UNSET; in ip2k_cgen_rebuild_tables()
964 cd->base_insn_bitsize = UNSET; in ip2k_cgen_rebuild_tables()
965 cd->min_insn_bitsize = 65535; /* Some ridiculously big number. */ in ip2k_cgen_rebuild_tables()
966 cd->max_insn_bitsize = 0; in ip2k_cgen_rebuild_tables()
974 if (cd->default_insn_bitsize == UNSET) in ip2k_cgen_rebuild_tables()
975 cd->default_insn_bitsize = isa->default_insn_bitsize; in ip2k_cgen_rebuild_tables()
976 else if (isa->default_insn_bitsize == cd->default_insn_bitsize) in ip2k_cgen_rebuild_tables()
979 cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; in ip2k_cgen_rebuild_tables()
983 if (cd->base_insn_bitsize == UNSET) in ip2k_cgen_rebuild_tables()
984 cd->base_insn_bitsize = isa->base_insn_bitsize; in ip2k_cgen_rebuild_tables()
985 else if (isa->base_insn_bitsize == cd->base_insn_bitsize) in ip2k_cgen_rebuild_tables()
988 cd->base_insn_bitsize = CGEN_SIZE_UNKNOWN; in ip2k_cgen_rebuild_tables()
991 if (isa->min_insn_bitsize < cd->min_insn_bitsize) in ip2k_cgen_rebuild_tables()
992 cd->min_insn_bitsize = isa->min_insn_bitsize; in ip2k_cgen_rebuild_tables()
993 if (isa->max_insn_bitsize > cd->max_insn_bitsize) in ip2k_cgen_rebuild_tables()
994 cd->max_insn_bitsize = isa->max_insn_bitsize; in ip2k_cgen_rebuild_tables()
1005 if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize) in ip2k_cgen_rebuild_tables()
1008 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize); in ip2k_cgen_rebuild_tables()
1012 cd->insn_chunk_bitsize = mach->insn_chunk_bitsize; in ip2k_cgen_rebuild_tables()
1017 build_hw_table (cd); in ip2k_cgen_rebuild_tables()
1020 build_ifield_table (cd); in ip2k_cgen_rebuild_tables()
1023 build_operand_table (cd); in ip2k_cgen_rebuild_tables()
1026 build_insn_table (cd); in ip2k_cgen_rebuild_tables()
1047 CGEN_CPU_TABLE *cd = (CGEN_CPU_TABLE *) xmalloc (sizeof (CGEN_CPU_TABLE)); in ip2k_cgen_cpu_open() local
1060 memset (cd, 0, sizeof (*cd)); in ip2k_cgen_cpu_open()
1106 cd->isas = cgen_bitset_copy (isas); in ip2k_cgen_cpu_open()
1107 cd->machs = machs; in ip2k_cgen_cpu_open()
1108 cd->endian = endian; in ip2k_cgen_cpu_open()
1113 cd->insn_endian = endian; in ip2k_cgen_cpu_open()
1116 cd->rebuild_tables = ip2k_cgen_rebuild_tables; in ip2k_cgen_cpu_open()
1117 ip2k_cgen_rebuild_tables (cd); in ip2k_cgen_cpu_open()
1120 cd->signed_overflow_ok_p = 0; in ip2k_cgen_cpu_open()
1122 return (CGEN_CPU_DESC) cd; in ip2k_cgen_cpu_open()
1142 ip2k_cgen_cpu_close (CGEN_CPU_DESC cd) in ip2k_cgen_cpu_close() argument
1147 if (cd->macro_insn_table.init_entries) in ip2k_cgen_cpu_close()
1149 insns = cd->macro_insn_table.init_entries; in ip2k_cgen_cpu_close()
1150 for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns) in ip2k_cgen_cpu_close()
1155 if (cd->insn_table.init_entries) in ip2k_cgen_cpu_close()
1157 insns = cd->insn_table.init_entries; in ip2k_cgen_cpu_close()
1158 for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns) in ip2k_cgen_cpu_close()
1163 if (cd->macro_insn_table.init_entries) in ip2k_cgen_cpu_close()
1164 free ((CGEN_INSN *) cd->macro_insn_table.init_entries); in ip2k_cgen_cpu_close()
1166 if (cd->insn_table.init_entries) in ip2k_cgen_cpu_close()
1167 free ((CGEN_INSN *) cd->insn_table.init_entries); in ip2k_cgen_cpu_close()
1169 if (cd->hw_table.entries) in ip2k_cgen_cpu_close()
1170 free ((CGEN_HW_ENTRY *) cd->hw_table.entries); in ip2k_cgen_cpu_close()
1172 if (cd->operand_table.entries) in ip2k_cgen_cpu_close()
1173 free ((CGEN_HW_ENTRY *) cd->operand_table.entries); in ip2k_cgen_cpu_close()
1175 free (cd); in ip2k_cgen_cpu_close()