cpu-o3: Prevent SW prefetches from forwarding from STQ
The store-to-load forwarding (STLDF) code will consider a SW prefetch hitting on an older store as a succesful case of STLDF, which is incorrect as SW prefetches do not return data, and eventually leads to an assert firing. Jira Issue: https://gem5.atlassian.net/browse/GEM5-934 Change-Id: I4c26f13642dc0b5101914109288614010f8f9978 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46261 Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Arthur Perais
parent
93e5734685
commit
e2edde5cd5
@@ -1380,7 +1380,7 @@ LSQUnit::read(LSQRequest *req, int load_idx)
|
||||
auto store_it = load_inst->sqIt;
|
||||
assert (store_it >= storeWBIt);
|
||||
// End once we've reached the top of the LSQ
|
||||
while (store_it != storeWBIt) {
|
||||
while (store_it != storeWBIt && !load_inst->isDataPrefetch()) {
|
||||
// Move the index to one younger
|
||||
store_it--;
|
||||
assert(store_it->valid());
|
||||
|
||||
Reference in New Issue
Block a user