From: Gabe Black Date: Wed, 6 Dec 2006 11:05:28 +0000 (-0500) Subject: Merge zizzer:/bk/newmem X-Git-Tag: m5_2.0_beta3~274^2~25 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2dcf00bc8b6ca0bdfc8ab9a105f7a7780c763bb4;p=gem5.git Merge zizzer:/bk/newmem into zower.eecs.umich.edu:/eecshome/m5/newmem src/cpu/o3/commit_impl.hh: Hand Merge --HG-- extra : convert_revision : 6984db90d5b5ec71c31f1c345f5a77eed540059e --- 2dcf00bc8b6ca0bdfc8ab9a105f7a7780c763bb4 diff --cc src/cpu/o3/commit_impl.hh index ba6a62b4d,43305f962..1527efe1a --- a/src/cpu/o3/commit_impl.hh +++ b/src/cpu/o3/commit_impl.hh @@@ -728,12 -728,28 +728,11 @@@ DefaultCommit::commit( InstSeqNum squashed_inst = fromIEW->squashedSeqNum[tid]; #if ISA_HAS_DELAY_SLOT - InstSeqNum bdelay_done_seq_num; - bool squash_bdelay_slot; - - if (fromIEW->branchMispredict[tid]) { - if (fromIEW->branchTaken[tid] && - fromIEW->condDelaySlotBranch[tid]) { - DPRINTF(Commit, "[tid:%i]: Cond. delay slot branch" - "mispredicted as taken. Squashing after previous " - "inst, [sn:%i]\n", - tid, squashed_inst); - bdelay_done_seq_num = squashed_inst; - squash_bdelay_slot = true; - } else { - DPRINTF(Commit, "[tid:%i]: Branch Mispredict. Squashing " - "after delay slot [sn:%i]\n", tid, squashed_inst+1); - bdelay_done_seq_num = squashed_inst + 1; - squash_bdelay_slot = false; - } - } else { - bdelay_done_seq_num = squashed_inst; - squash_bdelay_slot = true; - } + InstSeqNum bdelay_done_seq_num = squashed_inst; + bool squash_bdelay_slot = fromIEW->squashDelaySlot[tid]; + + if (!squash_bdelay_slot) + bdelay_done_seq_num++; - #endif if (fromIEW->includeSquashInst[tid] == true) {