iew_impl.hh (7720:65d338a8dba4) | iew_impl.hh (7782:9b87755cb699) |
---|---|
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 --- 1222 unchanged lines hidden (view full) --- 1231 if (inst->isLoad()) { 1232 // Loads will mark themselves as executed, and their writeback 1233 // event adds the instruction to the queue to commit 1234 fault = ldstQueue.executeLoad(inst); 1235 } else if (inst->isStore()) { 1236 fault = ldstQueue.executeStore(inst); 1237 1238 // If the store had a fault then it may not have a mem req | 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 --- 1222 unchanged lines hidden (view full) --- 1231 if (inst->isLoad()) { 1232 // Loads will mark themselves as executed, and their writeback 1233 // event adds the instruction to the queue to commit 1234 fault = ldstQueue.executeLoad(inst); 1235 } else if (inst->isStore()) { 1236 fault = ldstQueue.executeStore(inst); 1237 1238 // If the store had a fault then it may not have a mem req |
1239 if (!inst->isStoreConditional() && fault == NoFault) { 1240 inst->setExecuted(); 1241 1242 instToCommit(inst); 1243 } else if (fault != NoFault) { 1244 // If the instruction faulted, then we need to send it along to commit 1245 // without the instruction completing. 1246 DPRINTF(IEW, "Store has fault %s! [sn:%lli]\n", 1247 fault->name(), inst->seqNum); 1248 | 1239 if (fault != NoFault || inst->readPredicate() == false || 1240 !inst->isStoreConditional()) { 1241 // If the instruction faulted, then we need to send it along 1242 // to commit without the instruction completing. |
1249 // Send this instruction to commit, also make sure iew stage 1250 // realizes there is activity. 1251 inst->setExecuted(); | 1243 // Send this instruction to commit, also make sure iew stage 1244 // realizes there is activity. 1245 inst->setExecuted(); |
1252 | |
1253 instToCommit(inst); 1254 activityThisCycle(); 1255 } 1256 1257 // Store conditionals will mark themselves as 1258 // executed, and their writeback event will add the 1259 // instruction to the queue to commit. 1260 } else { --- 356 unchanged lines hidden --- | 1246 instToCommit(inst); 1247 activityThisCycle(); 1248 } 1249 1250 // Store conditionals will mark themselves as 1251 // executed, and their writeback event will add the 1252 // instruction to the queue to commit. 1253 } else { --- 356 unchanged lines hidden --- |