Don't have "predict" set the predicted target of the instruction. Do that explicitly...
authorGabe Black <gblack@eecs.umich.edu>
Sat, 16 Dec 2006 12:39:44 +0000 (07:39 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Sat, 16 Dec 2006 12:39:44 +0000 (07:39 -0500)
--HG--
extra : convert_revision : 8b613bb365b31ffaef1cea9fd789abe46219bdcf

src/cpu/o3/bpred_unit_impl.hh

index 477c8e4cb63be919dcfbe48f3a4888cc9afc3f6f..dbc603082db32a16268b065e210e4d67919ed553 100644 (file)
@@ -233,15 +233,6 @@ BPredUnit<Impl>::predict(DynInstPtr &inst, Addr &PC, unsigned tid)
         }
     }
 
-    if (pred_taken) {
-        // Set the PC and the instruction's predicted target.
-        PC = target;
-        inst->setPredTarg(target);
-    } else {
-        PC = PC + sizeof(MachInst);
-        inst->setPredTarg(PC);
-    }
-
     predHist[tid].push_front(predict_record);
 
     DPRINTF(Fetch, "[tid:%i]: predHist.size(): %i\n", tid, predHist[tid].size());