X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=riscv%2Finteractive.cc;h=dbcd22455d5fe6fdb75388946df176d7227ca6df;hb=a91d9f7d89abd6cda6fafb7b5e7cacf4b3590c29;hp=31b91622720f5f7e2efcc5fe00a41e523e5a7a00;hpb=d6fce459767509249311a120fddb21c844dc9b2c;p=riscv-isa-sim.git diff --git a/riscv/interactive.cc b/riscv/interactive.cc index 31b9162..dbcd224 100644 --- a/riscv/interactive.cc +++ b/riscv/interactive.cc @@ -17,6 +17,7 @@ #include #include #include +#include DECLARE_TRAP(-1, interactive) @@ -239,21 +240,22 @@ union fpr void sim_t::interactive_freg(const std::string& cmd, const std::vector& args) { - fprintf(stderr, "0x%016" PRIx64 "\n", get_freg(args).v); + freg_t r = get_freg(args); + fprintf(stderr, "0x%016" PRIx64 "%016" PRIx64 "\n", r.v[1], r.v[0]); } void sim_t::interactive_fregs(const std::string& cmd, const std::vector& args) { fpr f; f.r = get_freg(args); - fprintf(stderr, "%g\n",f.s); + fprintf(stderr, "%g\n", isBoxedF32(f.r) ? (double)f.s : NAN); } void sim_t::interactive_fregd(const std::string& cmd, const std::vector& args) { fpr f; f.r = get_freg(args); - fprintf(stderr, "%g\n",f.d); + fprintf(stderr, "%g\n", isBoxedF64(f.r) ? f.d : NAN); } reg_t sim_t::get_mem(const std::vector& args)