Fix commit log for CSR instructions
authorAndrew Waterman <waterman@cs.berkeley.edu>
Thu, 30 Apr 2015 21:31:25 +0000 (14:31 -0700)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Thu, 30 Apr 2015 21:31:25 +0000 (14:31 -0700)
riscv/processor.cc

index 1fe0a9c3813fd591f4e032379d66272214c68225..6277de027d5716fa8ed07197fc50c0f3dea0827c 100644 (file)
@@ -191,8 +191,10 @@ inline void processor_t::update_histogram(size_t pc)
 static reg_t execute_insn(processor_t* p, reg_t pc, insn_fetch_t fetch)
 {
   reg_t npc = fetch.func(p, fetch.insn, pc);
 static reg_t execute_insn(processor_t* p, reg_t pc, insn_fetch_t fetch)
 {
   reg_t npc = fetch.func(p, fetch.insn, pc);
-  commit_log(p->get_state(), pc, fetch.insn);
-  p->update_histogram(pc);
+  if (npc != PC_SERIALIZE) {
+    commit_log(p->get_state(), pc, fetch.insn);
+    p->update_histogram(pc);
+  }
   return npc;
 }
 
   return npc;
 }