inorder: write-hints bug fix
make sure to only read 1 src reg. for write-hint and any other similar 'store' instruction. Reading the source reg when its not necessary can cause the simulator to read from uninitialized values
This commit is contained in:
parent
d484e1b334
commit
ac316d45e8
1 changed files with 3 additions and 1 deletions
|
@ -116,7 +116,9 @@ bool createBackEndSchedule(DynInstPtr &inst)
|
||||||
if ( inst->isLoad() ) {
|
if ( inst->isLoad() ) {
|
||||||
M->needs(DCache, CacheUnit::InitiateReadData);
|
M->needs(DCache, CacheUnit::InitiateReadData);
|
||||||
} else if ( inst->isStore() ) {
|
} else if ( inst->isStore() ) {
|
||||||
M->needs(RegManager, UseDefUnit::ReadSrcReg, 1);
|
if ( inst->numSrcRegs() >= 2 ) {
|
||||||
|
M->needs(RegManager, UseDefUnit::ReadSrcReg, 1);
|
||||||
|
}
|
||||||
M->needs(AGEN, AGENUnit::GenerateAddr);
|
M->needs(AGEN, AGENUnit::GenerateAddr);
|
||||||
M->needs(DCache, CacheUnit::InitiateWriteData);
|
M->needs(DCache, CacheUnit::InitiateWriteData);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue