fetch_impl.hh (8134:b01a51ff05fa) | fetch_impl.hh (8137:48371b9fb929) |
---|---|
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 --- 920 unchanged lines hidden (view full) --- 929 // Check squash signals from commit. 930 if (fromCommit->commitInfo[tid].squash) { 931 932 DPRINTF(Fetch, "[tid:%u]: Squashing instructions due to squash " 933 "from commit.\n",tid); 934 // In any case, squash. 935 squash(fromCommit->commitInfo[tid].pc, 936 fromCommit->commitInfo[tid].doneSeqNum, | 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 --- 920 unchanged lines hidden (view full) --- 929 // Check squash signals from commit. 930 if (fromCommit->commitInfo[tid].squash) { 931 932 DPRINTF(Fetch, "[tid:%u]: Squashing instructions due to squash " 933 "from commit.\n",tid); 934 // In any case, squash. 935 squash(fromCommit->commitInfo[tid].pc, 936 fromCommit->commitInfo[tid].doneSeqNum, |
937 tid); | 937 fromCommit->commitInfo[tid].squashInst, tid); |
938 939 // If it was a branch mispredict on a control instruction, update the 940 // branch predictor with that instruction, otherwise just kill the 941 // invalid state we generated in after sequence number | 938 939 // If it was a branch mispredict on a control instruction, update the 940 // branch predictor with that instruction, otherwise just kill the 941 // invalid state we generated in after sequence number |
942 assert(!fromCommit->commitInfo[tid].branchMispredict || 943 fromCommit->commitInfo[tid].mispredictInst); 944 945 if (fromCommit->commitInfo[tid].branchMispredict && | 942 if (fromCommit->commitInfo[tid].mispredictInst && |
946 fromCommit->commitInfo[tid].mispredictInst->isControl()) { 947 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 948 fromCommit->commitInfo[tid].pc, 949 fromCommit->commitInfo[tid].branchTaken, 950 tid); 951 } else { 952 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 953 tid); --- 530 unchanged lines hidden --- | 943 fromCommit->commitInfo[tid].mispredictInst->isControl()) { 944 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 945 fromCommit->commitInfo[tid].pc, 946 fromCommit->commitInfo[tid].branchTaken, 947 tid); 948 } else { 949 branchPred.squash(fromCommit->commitInfo[tid].doneSeqNum, 950 tid); --- 530 unchanged lines hidden --- |