aboutsummaryrefslogtreecommitdiff
path: root/spike_main
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2019-08-20 01:23:58 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2019-09-04 19:40:15 -0700
commit4ed4b14572709bebf304c8a4cfae54942bc876f0 (patch)
treea1468f15135881e04398310cfa7879fc36863584 /spike_main
parent34f443eeb0858d9f1313d117be44454e1af27519 (diff)
downloadspike-4ed4b14572709bebf304c8a4cfae54942bc876f0.zip
spike-4ed4b14572709bebf304c8a4cfae54942bc876f0.tar.gz
spike-4ed4b14572709bebf304c8a4cfae54942bc876f0.tar.bz2
rvv: reimplement check-1905 as check-impl
build with --enable-check-imple run with --check-impl=1905 (or 1905 or future release) Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'spike_main')
-rw-r--r--spike_main/spike.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index 83454ad..5bd5fe0 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -30,6 +30,9 @@ static void help(int exit_code = 1)
fprintf(stderr, " -H Start halted, allowing a debugger to connect\n");
fprintf(stderr, " --isa=<name> RISC-V ISA string [default %s]\n", DEFAULT_ISA);
fprintf(stderr, " --varch=<name> RISC-V Vector uArch string [default %s]\n", DEFAULT_VARCH);
+#ifdef RISCV_ENABLE_IMPL_CHECK
+ fprintf(stderr, " --check-impl Check vector instruction implementation\n");
+#endif
fprintf(stderr, " --pc=<address> Override ELF entry point\n");
fprintf(stderr, " --hartids=<a,b,...> Explicitly specify hartids, default is 0,1,...\n");
fprintf(stderr, " --ic=<S>:<W>:<B> Instantiate a cache model with S sets,\n");
@@ -100,7 +103,9 @@ static std::vector<std::pair<reg_t, mem_t*>> make_mems(const char* arg)
return res;
}
-extern bool g_check_1905;
+#ifdef RISCV_ENABLE_IMPL_CHECK
+extern unsigned g_check_impl;
+#endif
extern bool g_vector_mistrap;
int main(int argc, char** argv)
@@ -213,7 +218,9 @@ int main(int argc, char** argv)
parser.option(0, "device", 1, device_parser);
parser.option(0, "extension", 1, [&](const char* s){extension = find_extension(s);});
parser.option(0, "dump-dts", 0, [&](const char *s){dump_dts = true;});
- parser.option(0, "check-1905", 0, [&](const char *s){g_check_1905 = true;});
+#ifdef RISCV_ENABLE_IMPL_CHECK
+ parser.option(0, "check-impl", 1, [&](const char *s){g_check_impl = strtoul(s, NULL, 0);});
+#endif
parser.option(0, "vector-mistrap", 0, [&](const char *s){g_vector_mistrap = true;});
parser.option(0, "disable-dtb", 0, [&](const char *s){dtb_enabled = false;});
parser.option(0, "extlib", 1, [&](const char *s){