From 4bbdd6ceb2639fe21408ab211b7c4c7e53adb249 Mon Sep 17 00:00:00 2001 From: Min Kyu Jeong Date: Tue, 7 Dec 2010 16:19:57 -0800 Subject: O3: Support SWAP and predicated loads/store in ARM. --- src/cpu/o3/lsq_unit_impl.hh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/cpu/o3/lsq_unit_impl.hh') diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh index 345d3ea69..807c0b527 100644 --- a/src/cpu/o3/lsq_unit_impl.hh +++ b/src/cpu/o3/lsq_unit_impl.hh @@ -531,10 +531,14 @@ LSQUnit::executeStore(DynInstPtr &store_inst) Fault store_fault = store_inst->initiateAcc(); if (storeQueue[store_idx].size == 0) { - DPRINTF(LSQUnit,"Fault on Store PC %s, [sn:%lli],Size = 0\n", + DPRINTF(LSQUnit,"Fault on Store PC %s, [sn:%lli], Size = 0\n", store_inst->pcState(), store_inst->seqNum); return store_fault; + } else if (store_inst->readPredicate() == false) { + DPRINTF(LSQUnit, "Store [sn:%lli] not executed from predication\n", + store_inst->seqNum); + return store_fault; } assert(store_fault == NoFault); -- cgit v1.2.3