Deleted Added
sdiff udiff text old ( 7823:dac01f14f20f ) new ( 7848:cc5e64f8423f )
full compact
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

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

453
454 // If the instruction faulted or predicated false, then we need to send it
455 // along to commit without the instruction completing.
456 if (load_fault != NoFault || inst->readPredicate() == false) {
457 // Send this instruction to commit, also make sure iew stage
458 // realizes there is activity.
459 // Mark it as executed unless it is an uncached load that
460 // needs to hit the head of commit.
461 DPRINTF(LSQUnit, "Load [sn:%lli] not executed from %s\n",
462 inst->seqNum,
463 (load_fault != NoFault ? "fault" : "predication"));
464 if (!(inst->hasRequest() && inst->uncacheable()) ||
465 inst->isAtCommit()) {
466 inst->setExecuted();
467 }
468 iewStage->instToCommit(inst);

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

525 assert(!store_inst->isSquashed());
526
527 // Check the recently completed loads to see if any match this store's
528 // address. If so, then we have a memory ordering violation.
529 int load_idx = store_inst->lqIdx;
530
531 Fault store_fault = store_inst->initiateAcc();
532
533 if (storeQueue[store_idx].size == 0) {
534 DPRINTF(LSQUnit,"Fault on Store PC %s, [sn:%lli], Size = 0\n",
535 store_inst->pcState(), store_inst->seqNum);
536
537 return store_fault;
538 } else if (store_inst->readPredicate() == false) {
539 DPRINTF(LSQUnit, "Store [sn:%lli] not executed from predication\n",
540 store_inst->seqNum);

--- 640 unchanged lines hidden ---