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