summaryrefslogtreecommitdiff
path: root/src/cpu/o3/lsq_unit_impl.hh
diff options
context:
space:
mode:
authorMin Kyu Jeong <minkyu.jeong@arm.com>2010-08-23 11:18:40 -0500
committerMin Kyu Jeong <minkyu.jeong@arm.com>2010-08-23 11:18:40 -0500
commit43c938d23e2b28c7190bd10c470c452676f5cb9d (patch)
treed6176dc000ff7dd2d0789ae92f6318791e3e6f27 /src/cpu/o3/lsq_unit_impl.hh
parent5f91ec3f4618dad8d36efbf8b5a5112a1ce0d1b7 (diff)
downloadgem5-43c938d23e2b28c7190bd10c470c452676f5cb9d.tar.xz
O3: Handle loads when the destination is the PC.
For loads that PC is the destination, check if the load was mispredicted again when the value being loaded returns from memory
Diffstat (limited to 'src/cpu/o3/lsq_unit_impl.hh')
-rw-r--r--src/cpu/o3/lsq_unit_impl.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh
index dddfb7e1b..9e6bbe92f 100644
--- a/src/cpu/o3/lsq_unit_impl.hh
+++ b/src/cpu/o3/lsq_unit_impl.hh
@@ -989,6 +989,9 @@ LSQUnit<Impl>::writeback(DynInstPtr &inst, PacketPtr pkt)
iewStage->instToCommit(inst);
iewStage->activityThisCycle();
+
+ // see if this load changed the PC
+ iewStage->checkMisprediction(inst);
}
template <class Impl>