From 13639b9c457b3879efa620ce55abddbdc834ce68 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 20 Feb 2017 18:48:35 -0800 Subject: serialize simulator on wfi This improves simulator perf when a thread is idle, or waiting on HTIF. --- riscv/decode.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'riscv/decode.h') diff --git a/riscv/decode.h b/riscv/decode.h index b607bf3..d82767d 100644 --- a/riscv/decode.h +++ b/riscv/decode.h @@ -202,9 +202,10 @@ private: } while(0) #define set_pc_and_serialize(x) \ - do { set_pc(x); /* check alignment */ \ + do { reg_t __npc = (x); \ + set_pc(__npc); /* check alignment */ \ npc = PC_SERIALIZE_AFTER; \ - STATE.pc = (x); \ + STATE.pc = __npc; \ } while(0) /* Sentinel PC values to serialize simulator pipeline */ -- cgit v1.1