cpu: Fix a bug in counting issued instructions in MinorCPU
authorAndrew Bardsley <Andrew.Bardsley@arm.com>
Tue, 26 May 2015 07:21:37 +0000 (03:21 -0400)
committerAndrew Bardsley <Andrew.Bardsley@arm.com>
Tue, 26 May 2015 07:21:37 +0000 (03:21 -0400)
The MinorCPU would count bubbles in Execute::issue as part of
the num_insts_issued and so sometimes reach the instruction
issue limit incorrectly.

Fixed by checking for a bubble in one new place.

src/cpu/minor/execute.cc

index ea325e28cd6cbab8a0cf94e2d28ed6f2902b8343..001515eff931939dd4ee8338088892dbc53c27d2 100644 (file)
@@ -770,7 +770,7 @@ Execute::issue(bool only_issue_microops)
 
             if (discarded) {
                 num_insts_discarded++;
-            } else {
+            } else if (!inst->isBubble()) {
                 num_insts_issued++;
 
                 if (num_insts_issued == issueLimit)