Lines Matching refs:subset

1039 		       riscv_subset_t *subset ATTRIBUTE_UNUSED)  in check_implicit_always()
1048 riscv_subset_t *subset) in check_implicit_for_i() argument
1050 return (subset->major_version < 2 in check_implicit_for_i()
1051 || (subset->major_version == 2 in check_implicit_for_i()
1052 && subset->minor_version < 1)); in check_implicit_for_i()
1423 const char *subset, in riscv_lookup_subset() argument
1430 && riscv_compare_subsets (subset_list->tail->name, subset) < 0) in riscv_lookup_subset()
1440 int cmp = riscv_compare_subsets (s->name, subset); in riscv_lookup_subset()
1459 const char *subset, in riscv_add_subset() argument
1465 if (riscv_lookup_subset (subset_list, subset, &current)) in riscv_add_subset()
1469 new->name = xstrdup (subset); in riscv_add_subset()
1536 const char *subset, in riscv_parse_add_subset() argument
1546 riscv_get_default_ext_version (rps->isa_spec, subset, in riscv_parse_add_subset()
1554 if (subset[0] == 'x') in riscv_parse_add_subset()
1557 subset); in riscv_parse_add_subset()
1559 else if (strcmp (subset, "zicsr") != 0 in riscv_parse_add_subset()
1560 && strcmp (subset, "zifencei") != 0) in riscv_parse_add_subset()
1563 subset); in riscv_parse_add_subset()
1567 riscv_add_subset (rps->subset_list, subset, in riscv_parse_add_subset()
1683 char subset[2] = {0, 0}; in riscv_parse_std_ext() local
1685 subset[0] = *p; in riscv_parse_std_ext()
1688 if (riscv_ext_order[(subset[0] - 'a')] == 0) in riscv_parse_std_ext()
1692 arch, subset[0]); in riscv_parse_std_ext()
1698 && riscv_compare_subsets (rps->subset_list->tail->name, subset) > 0) in riscv_parse_std_ext()
1702 "in canonical order"), arch, subset[0]); in riscv_parse_std_ext()
1708 if (subset[0] == 'g') in riscv_parse_std_ext()
1714 riscv_parse_add_subset (rps, subset, major, minor, implicit); in riscv_parse_std_ext()
1756 char *subset = xstrdup (p); in riscv_parse_prefixed_ext() local
1757 char *q = subset; in riscv_parse_prefixed_ext()
1788 arch, subset); in riscv_parse_prefixed_ext()
1789 free (subset); in riscv_parse_prefixed_ext()
1798 free (subset); in riscv_parse_prefixed_ext()
1804 && !riscv_recognized_prefixed_ext (subset)) in riscv_parse_prefixed_ext()
1808 arch, subset); in riscv_parse_prefixed_ext()
1809 free (subset); in riscv_parse_prefixed_ext()
1813 riscv_parse_add_subset (rps, subset, in riscv_parse_prefixed_ext()
1816 p += end_of_version - subset; in riscv_parse_prefixed_ext()
1817 free (subset); in riscv_parse_prefixed_ext()
1839 riscv_subset_t *subset = NULL; in riscv_parse_add_implicit_subsets() local
1840 if (riscv_lookup_subset (rps->subset_list, t->subset_name, &subset) in riscv_parse_add_implicit_subsets()
1841 && t->check_func (t->implicit_name, subset)) in riscv_parse_add_implicit_subsets()
1853 riscv_subset_t *subset = NULL; in riscv_parse_check_conflicts() local
1857 if (riscv_lookup_subset (rps->subset_list, "e", &subset) in riscv_parse_check_conflicts()
1864 if (riscv_lookup_subset (rps->subset_list, "q", &subset) in riscv_parse_check_conflicts()
1865 && (subset->major_version < 2 || (subset->major_version == 2 in riscv_parse_check_conflicts()
1866 && subset->minor_version < 2)) in riscv_parse_check_conflicts()
1872 if (riscv_lookup_subset (rps->subset_list, "e", &subset) in riscv_parse_check_conflicts()
1873 && riscv_lookup_subset (rps->subset_list, "f", &subset)) in riscv_parse_check_conflicts()
1879 if (riscv_lookup_subset (rps->subset_list, "zfinx", &subset) in riscv_parse_check_conflicts()
1880 && riscv_lookup_subset (rps->subset_list, "f", &subset)) in riscv_parse_check_conflicts()
2037 riscv_estimate_arch_strlen1 (const riscv_subset_t *subset) in riscv_estimate_arch_strlen1() argument
2039 if (subset == NULL) in riscv_estimate_arch_strlen1()
2042 return riscv_estimate_arch_strlen1 (subset->next) in riscv_estimate_arch_strlen1()
2043 + strlen (subset->name) in riscv_estimate_arch_strlen1()
2044 + riscv_estimate_digit (subset->major_version) in riscv_estimate_arch_strlen1()
2046 + riscv_estimate_digit (subset->minor_version) in riscv_estimate_arch_strlen1()
2061 riscv_arch_str1 (riscv_subset_t *subset, in riscv_arch_str1() argument
2065 riscv_subset_t *subset_t = subset; in riscv_arch_str1()
2098 riscv_arch_str (unsigned xlen, const riscv_subset_list_t *subset) in riscv_arch_str() argument
2100 size_t arch_str_len = riscv_estimate_arch_strlen (subset); in riscv_arch_str()
2106 riscv_arch_str1 (subset->head, attr_str, buf, arch_str_len); in riscv_arch_str()
2116 riscv_subset_t *subset) in riscv_copy_subset() argument
2118 if (subset == NULL) in riscv_copy_subset()
2122 new->name = xstrdup (subset->name); in riscv_copy_subset()
2123 new->major_version = subset->major_version; in riscv_copy_subset()
2124 new->minor_version = subset->minor_version; in riscv_copy_subset()
2125 new->next = riscv_copy_subset (subset_list, subset->next); in riscv_copy_subset()
2127 if (subset->next == NULL) in riscv_copy_subset()
2147 const char *subset) in riscv_remove_subset() argument
2153 if (strcmp (current->name, subset) == 0) in riscv_remove_subset()
2193 char *subset = xstrdup (p); in riscv_update_subset() local
2194 char *q = subset; in riscv_update_subset()
2203 size_t len = q - subset; in riscv_update_subset()
2229 free (subset); in riscv_update_subset()
2238 free (subset); in riscv_update_subset()
2242 if (strlen (subset) == 0 in riscv_update_subset()
2243 || (strlen (subset) == 1 in riscv_update_subset()
2244 && riscv_ext_order[(*subset - 'a')] == 0) in riscv_update_subset()
2245 || (strlen (subset) > 1 in riscv_update_subset()
2247 && !riscv_recognized_prefixed_ext (subset))) in riscv_update_subset()
2251 subset, str); in riscv_update_subset()
2252 free (subset); in riscv_update_subset()
2256 if (strcmp (subset, "i") == 0 in riscv_update_subset()
2257 || strcmp (subset, "e") == 0 in riscv_update_subset()
2258 || strcmp (subset, "g") == 0) in riscv_update_subset()
2262 "arch `%s'"), subset, str); in riscv_update_subset()
2263 free (subset); in riscv_update_subset()
2268 riscv_remove_subset (rps->subset_list, subset); in riscv_update_subset()
2270 riscv_parse_add_subset (rps, subset, major_version, minor_version, true); in riscv_update_subset()
2271 p += end_of_version - subset; in riscv_update_subset()
2272 free (subset); in riscv_update_subset()
2287 struct riscv_subset_t *subset; in riscv_subset_supports() local
2288 return riscv_lookup_subset (rps->subset_list, feature, &subset); in riscv_subset_supports()