o3 cpu: fix zero reg problem
There was an issue w/ the rename logic, which would assign a previous physical register to the ZeroReg architectural register in x86. This issue was giving problems for instructions squashed in threads w/ ID different from 0, sometimes allowing non-mispredicted instructions to obtain a value different from zero when reading the zeroReg.
This commit is contained in:
parent
fc57ae6401
commit
11d5ffa108
1 changed files with 1 additions and 0 deletions
|
@ -158,6 +158,7 @@ SimpleRenameMap::rename(RegIndex arch_reg)
|
|||
} else {
|
||||
// Otherwise return the zero register so nothing bad happens.
|
||||
renamed_reg = intZeroReg;
|
||||
prev_reg = intZeroReg;
|
||||
}
|
||||
} else if (arch_reg < numLogicalRegs) {
|
||||
// Record the current physical register that is renamed to the
|
||||
|
|
Loading…
Reference in a new issue