fetch_impl.hh (7849:2290428b5f04) fetch_impl.hh (7851:bb38f0c47ade)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 888 unchanged lines hidden (view full) ---

897
898 DPRINTF(Fetch, "[tid:%u]: Squashing instructions due to squash "
899 "from commit.\n",tid);
900 // In any case, squash.
901 squash(fromCommit->commitInfo[tid].pc,
902 fromCommit->commitInfo[tid].doneSeqNum,
903 tid);
904
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 888 unchanged lines hidden (view full) ---

897
898 DPRINTF(Fetch, "[tid:%u]: Squashing instructions due to squash "
899 "from commit.\n",tid);
900 // In any case, squash.
901 squash(fromCommit->commitInfo[tid].pc,
902 fromCommit->commitInfo[tid].doneSeqNum,
903 tid);
904
905 // Also check if there's a mispredict that happened.
906 if (fromCommit->commitInfo[tid].branchMispredict) {
905 // If it was a branch mispredict on a control instruction, update the
906 // branch predictor with that instruction, otherwise just kill the
907 // invalid state we generated in after sequence number
908 assert(!fromCommit->commitInfo[tid].branchMispredict ||
909 fromCommit->commitInfo[tid].mispredictInst);
910
911 if (fromCommit->commitInfo[tid].branchMispredict &&
912 fromCommit->commitInfo[tid].mispredictInst->isControl()) {
907 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum,
908 fromCommit->commitInfo[tid].pc,
909 fromCommit->commitInfo[tid].branchTaken,
910 tid);
911 } else {
912 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum,
913 tid);
914 }

--- 508 unchanged lines hidden ---
913 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum,
914 fromCommit->commitInfo[tid].pc,
915 fromCommit->commitInfo[tid].branchTaken,
916 tid);
917 } else {
918 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum,
919 tid);
920 }

--- 508 unchanged lines hidden ---