diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-02-18 14:30:38 -0500 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-02-18 14:30:38 -0500 |
commit | 64d31e75b960f08de57cf78f8bdc793d1135c5cd (patch) | |
tree | c1265c324b865116490d0353bdf1d04e36fba80d /src/cpu | |
parent | 0fe19836c7101fea012148a4852b9619087e42d6 (diff) | |
download | gem5-64d31e75b960f08de57cf78f8bdc793d1135c5cd.tar.xz |
inorder: ignore nops in execution unit
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/inorder/resources/execution_unit.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/cpu/inorder/resources/execution_unit.cc b/src/cpu/inorder/resources/execution_unit.cc index e4d0c20b9..b2540cff8 100644 --- a/src/cpu/inorder/resources/execution_unit.cc +++ b/src/cpu/inorder/resources/execution_unit.cc @@ -101,8 +101,17 @@ ExecutionUnit::execute(int slot_num) { case ExecuteInst: { - DPRINTF(InOrderExecute, "[tid:%i] Executing [sn:%i] [PC:%s] %s.\n", - inst->readTid(), seq_num, inst->pcState(), inst->instName()); + if (inst->isNop()) { + DPRINTF(InOrderExecute, "[tid:%i] [sn:%i] [PC:%s] Ignoring execution" + "of %s.\n", inst->readTid(), seq_num, inst->pcState(), + inst->instName()); + inst->setExecuted(); + exec_req->done(); + return; + } else { + DPRINTF(InOrderExecute, "[tid:%i] Executing [sn:%i] [PC:%s] %s.\n", + inst->readTid(), seq_num, inst->pcState(), inst->instName()); + } if (cur_tick != lastExecuteTick) { lastExecuteTick = cur_tick; |