Browse Source

Don't require __int128 support in isa_parser_t

V extension still requires __int128 support, but isa_parser_t is the
wrong place for that check.
pull/917/head
Andrew Waterman 4 years ago
parent
commit
1422fef667
  1. 13
      riscv/processor.cc

13
riscv/processor.cc

@ -33,6 +33,13 @@ processor_t::processor_t(const char* isa, const char* priv, const char* varch,
{ {
VU.p = this; VU.p = this;
#ifndef __SIZEOF_INT128__
if (extension_enabled('V')) {
fprintf(stderr, "V extension is not supported on platforms without __int128 type\n");
abort();
}
#endif
parse_priv_string(priv); parse_priv_string(priv);
parse_varch_string(varch); parse_varch_string(varch);
@ -197,11 +204,7 @@ isa_parser_t::isa_parser_t(const char* str)
: extension_table(256, false) : extension_table(256, false)
{ {
isa_string = strtolower(str); isa_string = strtolower(str);
const char* all_subsets = "mafdqchp" const char* all_subsets = "mafdqchpv";
#ifdef __SIZEOF_INT128__
"v"
#endif
"";
max_isa = reg_t(2) << 62; max_isa = reg_t(2) << 62;
if (isa_string.compare(0, 4, "rv32") == 0) if (isa_string.compare(0, 4, "rv32") == 0)

Loading…
Cancel
Save