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 --- |