O3 IEW: Make incrWb and decrWb clearer
Move the increment/decrement of wbOutstanding outside of the comparison in incrWb and decrWb in the IEW. This also fixes a compiler bug with gcc 4.4.7, which incorrectly optimizes "-- ==" as "-=".
This commit is contained in:
parent
5b6f972750
commit
1429d21244
1 changed files with 4 additions and 2 deletions
|
@ -213,7 +213,8 @@ class DefaultIEW
|
|||
|
||||
void incrWb(InstSeqNum &sn)
|
||||
{
|
||||
if (++wbOutstanding == wbMax)
|
||||
++wbOutstanding;
|
||||
if (wbOutstanding == wbMax)
|
||||
ableToIssue = false;
|
||||
DPRINTF(IEW, "wbOutstanding: %i [sn:%lli]\n", wbOutstanding, sn);
|
||||
assert(wbOutstanding <= wbMax);
|
||||
|
@ -224,8 +225,9 @@ class DefaultIEW
|
|||
|
||||
void decrWb(InstSeqNum &sn)
|
||||
{
|
||||
if (wbOutstanding-- == wbMax)
|
||||
if (wbOutstanding == wbMax)
|
||||
ableToIssue = true;
|
||||
wbOutstanding--;
|
||||
DPRINTF(IEW, "wbOutstanding: %i [sn:%lli]\n", wbOutstanding, sn);
|
||||
assert(wbOutstanding >= 0);
|
||||
#ifdef DEBUG
|
||||
|
|
Loading…
Reference in a new issue