Searched refs:branch_pc (Results 1 - 23 of 23) sorted by relevance

/gem5/src/cpu/pred/
H A Dtage.cc56 TAGE::update(ThreadID tid, Addr branch_pc, bool taken, void* bp_history, argument
76 branch_pc, taken);
78 tage->condBranchUpdate(tid, branch_pc, taken, tage_bi, nrand,
83 tage->updateHistories(tid, branch_pc, taken, tage_bi, false, inst,
97 TAGE::predict(ThreadID tid, Addr branch_pc, bool cond_branch, void* &b) argument
101 return tage->tagePredict(tid, branch_pc, cond_branch, bi->tageBranchInfo);
105 TAGE::lookup(ThreadID tid, Addr branch_pc, void* &bp_history) argument
107 bool retval = predict(tid, branch_pc, true, bp_history);
111 DPRINTF(Tage, "Lookup branch: %lx; predict:%d\n", branch_pc, retval);
113 tage->updateHistories(tid, branch_pc, retva
119 btbUpdate(ThreadID tid, Addr branch_pc, void* &bp_history) argument
[all...]
H A Dtage_sc_l_64KB.cc84 TAGE_SC_L_64KB_StatisticalCorrector::getIndBiasBank(Addr branch_pc, argument
89 ((branch_pc^(branch_pc>>2))<<7)) & ((1<<logBias) -1);
93 TAGE_SC_L_64KB_StatisticalCorrector::gPredictions(ThreadID tid, Addr branch_pc, argument
100 (branch_pc << 1) + bi->predBeforeSC, sh->bwHist, bwm,
104 branch_pc, pathHist, pm, pgehl, pnb, logPnb, wp);
107 branch_pc, sh->getLocalHistory(1, branch_pc), lm,
111 branch_pc, sh->getLocalHistory(2, branch_pc), s
141 scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, BranchInfo* tage_bi, Addr corrTarget) argument
264 handleTAGEUpdate(Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi) argument
[all...]
H A Dstatistical_corrector.cc149 StatisticalCorrector::getIndBias(Addr branch_pc, BranchInfo* bi, argument
152 return (((((branch_pc ^(branch_pc >>2))<<1) ^ (bi->lowConf & bias)) <<1)
157 StatisticalCorrector::getIndBiasSK(Addr branch_pc, BranchInfo* bi) const argument
159 return (((((branch_pc ^ (branch_pc >> (logBias-2)))<<1) ^
164 StatisticalCorrector::getIndUpd(Addr branch_pc) const
166 return ((branch_pc ^ (branch_pc >>2)) & ((1 << (logSizeUp)) - 1));
170 StatisticalCorrector::getIndUpds(Addr branch_pc) cons
176 gIndex(Addr branch_pc, int64_t bhist, int logs, int nbr, int i) argument
186 gPredict(Addr branch_pc, int64_t hist, std::vector<int> & length, std::vector<int8_t> * tab, int nbr, int logs, std::vector<int8_t> & w) argument
202 gUpdate(Addr branch_pc, bool taken, int64_t hist, std::vector<int> & length, std::vector<int8_t> * tab, int nbr, int logs, std::vector<int8_t> & w, BranchInfo* bi) argument
223 scPredict(ThreadID tid, Addr branch_pc, bool cond_branch, BranchInfo* bi, bool prev_pred_taken, bool bias_bit, bool use_conf_ctr, int8_t conf_ctr, unsigned conf_bits, int hitBank, int altBank, int64_t phist, int init_lsum) argument
288 scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, BranchInfo * tage_bi, Addr corrTarget) argument
317 condBranchUpdate(ThreadID tid, Addr branch_pc, bool taken, BranchInfo *bi, Addr corrTarget, bool b, int hitBank, int altBank, int64_t phist) argument
[all...]
H A Dmultiperspective_perceptron_tage_64KB.cc73 MPP_StatisticalCorrector_64KB::getBiasLSUM(Addr branch_pc, argument
76 int8_t ctr = bias[getIndBias(branch_pc, bi, false /* unused */)];
78 ctr = biasSK[getIndBiasSK(branch_pc, bi)];
83 MPP_StatisticalCorrector_64KB::gPredictions(ThreadID tid, Addr branch_pc, argument
87 unsigned int pc = branch_pc;
92 lsum += 2.02 * gPredict(branch_pc, sh->getLocalHistory(1, branch_pc),
94 if (sh->getLocalHistory(1, branch_pc) == 2047) lsum += 4;
95 if (sh->getLocalHistory(1, branch_pc) == 0) lsum -= 4;
98 lsum += gPredict(branch_pc, s
136 scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, StatisticalCorrector::BranchInfo *bi, Addr corrTarget) argument
[all...]
H A Dmultiperspective_perceptron_tage_8KB.cc72 MPP_StatisticalCorrector_8KB::getBiasLSUM(Addr branch_pc, argument
75 int8_t ctr = bias[getIndBias(branch_pc, bi, false /* unused */)];
77 ctr = biasSK[getIndBiasSK(branch_pc, bi)];
82 MPP_StatisticalCorrector_8KB::gPredictions(ThreadID tid, Addr branch_pc, argument
86 unsigned int pc = branch_pc;
91 lsum += 2 * gPredict(branch_pc, sh->getLocalHistory(1, branch_pc),
93 if (sh->getLocalHistory(1, branch_pc) == 2047) lsum += 4;
94 if (sh->getLocalHistory(1, branch_pc) == 0) lsum -= 4;
96 lsum += gPredict(branch_pc, s
121 scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken, StatisticalCorrector::BranchInfo *bi, Addr corrTarget) argument
[all...]
H A Dltage.cc63 LTAGE::predict(ThreadID tid, Addr branch_pc, bool cond_branch, void* &b) argument
68 bool pred_taken = tage->tagePredict(tid, branch_pc, cond_branch,
71 pred_taken = loopPredictor->loopPredict(tid, branch_pc, cond_branch,
80 branch_pc, pred_taken, bi->lpBranchInfo->loopPred,
94 LTAGE::update(ThreadID tid, Addr branch_pc, bool taken, void* bp_history, argument
119 branch_pc, taken);
124 loopPredictor->condBranchUpdate(tid, branch_pc, taken,
127 tage->condBranchUpdate(tid, branch_pc, taken, bi->tageBranchInfo,
131 tage->updateHistories(tid, branch_pc, taken, bi->tageBranchInfo, false,
H A Dmultiperspective_perceptron_tage_8KB.hh62 int gPredictions(ThreadID tid, Addr branch_pc,
65 void getBiasLSUM(Addr branch_pc,
69 void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken,
H A Dtage_sc_l_8KB.hh65 Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi) override;
93 unsigned getIndBiasBank( Addr branch_pc, BranchInfo* bi, int hitBank,
96 int gPredictions( ThreadID tid, Addr branch_pc,
102 Addr branch_pc, const StaticInstPtr &inst, bool taken,
H A Dstatistical_corrector.hh102 int ordinal, Addr branch_pc, bool taken, Addr extraXor = 0)
107 unsigned entry = getEntry(branch_pc, idx);
218 ThreadID tid, Addr branch_pc, bool cond_branch, BranchInfo* bi,
223 virtual unsigned getIndBias(Addr branch_pc, BranchInfo* bi, bool b) const;
225 virtual unsigned getIndBiasSK(Addr branch_pc, BranchInfo* bi) const;
227 virtual unsigned getIndBiasBank( Addr branch_pc, BranchInfo* bi,
230 virtual unsigned getIndUpd(Addr branch_pc) const;
231 unsigned getIndUpds(Addr branch_pc) const;
233 virtual int gPredictions(ThreadID tid, Addr branch_pc, BranchInfo* bi,
236 int64_t gIndex(Addr branch_pc, int64_
101 updateLocalHistory( int ordinal, Addr branch_pc, bool taken, Addr extraXor = 0) argument
[all...]
H A Dtage_sc_l_64KB.hh66 Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi) override;
113 unsigned getIndBiasBank(Addr branch_pc, BranchInfo* bi, int hitBank,
116 int gPredictions(ThreadID tid, Addr branch_pc, BranchInfo* bi,
121 void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken,
H A Dmultiperspective_perceptron_tage.cc53 MPP_TAGE::handleTAGEUpdate(Addr branch_pc, bool taken, argument
65 baseUpdate(branch_pc, taken, bi);
78 baseUpdate(branch_pc, taken, bi);
169 MPP_TAGE::getUseAltIdx(TAGEBase::BranchInfo* bi, Addr branch_pc) argument
171 uint32_t hpc = ((uint32_t) branch_pc);
188 ThreadID tid, Addr branch_pc, bool taken, TAGEBase::BranchInfo* b,
203 updatePathAndGlobalHistory(tHist, brtype, taken, branch_pc, target);
208 ThreadHistory& tHist, int brtype, bool taken, Addr branch_pc, Addr target)
211 int tmp = (branch_pc << 1) + taken;
212 int path = branch_pc;
187 updateHistories( ThreadID tid, Addr branch_pc, bool taken, TAGEBase::BranchInfo* b, bool speculative, const StaticInstPtr &inst, Addr target) argument
207 updatePathAndGlobalHistory( ThreadHistory& tHist, int brtype, bool taken, Addr branch_pc, Addr target) argument
298 getIndBias(Addr branch_pc, StatisticalCorrector::BranchInfo* bi, bool bias) const argument
306 getIndBiasSK(Addr branch_pc, StatisticalCorrector::BranchInfo* bi) const argument
314 getIndBiasBank(Addr branch_pc, StatisticalCorrector::BranchInfo* bi, int hitBank, int altBank) const argument
333 gUpdate(Addr branch_pc, bool taken, int64_t hist, std::vector<int> & length, std::vector<int8_t> * tab, int nbr, int logs, std::vector<int8_t> & w, StatisticalCorrector::BranchInfo* bi) argument
348 scPredict(ThreadID tid, Addr branch_pc, bool cond_branch, StatisticalCorrector::BranchInfo* bi, bool prev_pred_taken, bool bias_bit, bool use_conf_ctr, int8_t conf_ctr, unsigned conf_bits, int hitBank, int altBank, int64_t phist, int init_lsum) argument
559 condBranchUpdate(ThreadID tid, Addr branch_pc, bool taken, StatisticalCorrector::BranchInfo *bi, Addr corrTarget, bool bias_bit, int hitBank, int altBank, int64_t phist) argument
[all...]
H A Dmultiperspective_perceptron_tage.hh66 void handleTAGEUpdate(Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi)
75 unsigned getUseAltIdx(TAGEBase::BranchInfo* bi, Addr branch_pc) override;
77 void updateHistories(ThreadID tid, Addr branch_pc, bool taken,
82 bool taken, Addr branch_pc, Addr target);
152 unsigned getIndBias(Addr branch_pc, StatisticalCorrector::BranchInfo* bi,
154 unsigned getIndBiasSK(Addr branch_pc, StatisticalCorrector::BranchInfo* bi)
156 unsigned getIndBiasBank(Addr branch_pc,
159 unsigned getIndUpd(Addr branch_pc) const override;
162 bool scPredict(ThreadID tid, Addr branch_pc, bool cond_branch,
168 void condBranchUpdate(ThreadID tid, Addr branch_pc, boo
[all...]
H A Dmultiperspective_perceptron_tage_64KB.hh65 int gPredictions(ThreadID tid, Addr branch_pc,
68 void getBiasLSUM(Addr branch_pc,
72 void scHistoryUpdate(Addr branch_pc, const StaticInstPtr &inst, bool taken,
H A Dtage_sc_l.cc171 TAGE_SC_L_TAGE::getUseAltIdx(TAGEBase::BranchInfo* bi, Addr branch_pc) argument
231 ThreadHistory& tHist, int brtype, bool taken, Addr branch_pc, Addr target)
234 int tmp = ((branch_pc ^ (branch_pc >> instShiftAmt))) ^ taken;
235 int path = branch_pc ^ (branch_pc >> instShiftAmt)
236 ^ (branch_pc >> (instShiftAmt+2));
266 ThreadID tid, Addr branch_pc, bool taken, TAGEBase::BranchInfo* b,
281 updatePathAndGlobalHistory(tHist, brtype, taken, branch_pc, target);
284 "path Hist: %x; pointer:%d\n", branch_pc, take
230 updatePathAndGlobalHistory( ThreadHistory& tHist, int brtype, bool taken, Addr branch_pc, Addr target) argument
265 updateHistories( ThreadID tid, Addr branch_pc, bool taken, TAGEBase::BranchInfo* b, bool speculative, const StaticInstPtr &inst, Addr target) argument
365 predict(ThreadID tid, Addr branch_pc, bool cond_branch, void* &b) argument
413 update(ThreadID tid, Addr branch_pc, bool taken, void *bp_history, bool squashed, const StaticInstPtr & inst, Addr corrTarget) argument
[all...]
H A Dtage_sc_l.hh95 ThreadID tid, Addr branch_pc, TAGEBase::BranchInfo* bi) override;
97 unsigned getUseAltIdx(TAGEBase::BranchInfo* bi, Addr branch_pc) override;
100 ThreadID tid, Addr branch_pc, bool taken, TAGEBase::BranchInfo* b,
116 Addr branch_pc, Addr target);
126 Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi) override = 0;
130 bool getBimodePred(Addr branch_pc,
155 ThreadID tid, Addr branch_pc, bool cond_branch, void* &b) override;
H A Dtage_sc_l_8KB.cc67 TAGE_SC_L_8KB_StatisticalCorrector::getIndBiasBank(Addr branch_pc, argument
76 ThreadID tid, Addr branch_pc, BranchInfo* bi, int & lsum, int64_t phist)
80 branch_pc, sh->globalHist, gm, ggehl, gnb, logGnb, wg);
83 branch_pc, sh->bwHist, bwm, bwgehl, bwnb, logBwnb, wbw);
87 branch_pc, sh->getLocalHistory(1, branch_pc), lm,
91 branch_pc, sh->imliCount, im, igehl, inb, logInb, wi);
93 int thres = (updateThreshold>>3)+pUpdateThreshold[getIndUpd(branch_pc)];
104 TAGE_SC_L_8KB_StatisticalCorrector::scHistoryUpdate(Addr branch_pc, argument
119 StatisticalCorrector::scHistoryUpdate(branch_pc, ins
75 gPredictions( ThreadID tid, Addr branch_pc, BranchInfo* bi, int & lsum, int64_t phist) argument
258 handleTAGEUpdate(Addr branch_pc, bool taken, TAGEBase::BranchInfo* bi) argument
[all...]
H A Dtage_base.hh271 * @param branch_pc The unshifted branch PC.
276 void update(ThreadID tid, Addr branch_pc, bool taken, BranchInfo* bi);
284 * @param branch_pc The unshifted branch PC.
291 ThreadID tid, Addr branch_pc, bool taken, BranchInfo* b,
314 * @param branch_pc The unshifted branch PC.
325 ThreadID tid, Addr branch_pc, bool taken, BranchInfo* bi,
332 * @param branch_pc The unshifted branch PC.
337 ThreadID tid, Addr branch_pc, bool cond_branch, BranchInfo* bi);
363 ThreadID tid, Addr branch_pc, BranchInfo* bi);
369 virtual unsigned getUseAltIdx(BranchInfo* bi, Addr branch_pc);
[all...]
H A Dltage.hh106 * @param branch_pc The unshifted branch PC.
112 ThreadID tid, Addr branch_pc, bool cond_branch, void* &b) override;
H A Dtage.hh78 virtual bool predict(ThreadID tid, Addr branch_pc, bool cond_branch,
H A Dtage_base.cc183 TAGEBase::btbUpdate(ThreadID tid, Addr branch_pc, BranchInfo* &bi) argument
187 DPRINTF(Tage, "BTB miss resets prediction: %lx\n", branch_pc);
335 TAGEBase::calculateIndicesAndTags(ThreadID tid, Addr branch_pc, argument
340 tableIndices[i] = gindex(tid, branch_pc, i);
342 tableTags[i] = gtag(tid, branch_pc, i);
348 TAGEBase::getUseAltIdx(BranchInfo* bi, Addr branch_pc) argument
355 TAGEBase::tagePredict(ThreadID tid, Addr branch_pc, argument
358 Addr pc = branch_pc;
406 if ((useAltPredForNewlyAllocated[getUseAltIdx(bi, branch_pc)] < 0)
425 branch_pc, pred_take
509 condBranchUpdate(ThreadID tid, Addr branch_pc, bool taken, BranchInfo* bi, int nrand, Addr corrTarget, bool pred, bool preAdjustAlloc) argument
550 handleTAGEUpdate(Addr branch_pc, bool taken, BranchInfo* bi) argument
583 updateHistories(ThreadID tid, Addr branch_pc, bool taken, BranchInfo* bi, bool speculative, const StaticInstPtr &inst, Addr target) argument
[all...]
H A Dloop_predictor.hh197 * @param branch_pc The unshifted branch PC.
204 void condBranchUpdate(ThreadID tid, Addr branch_pc, bool taken,
211 * @param branch_pc The unshifted branch PC.
221 ThreadID tid, Addr branch_pc, bool cond_branch,
H A Dloop_predictor.cc272 LoopPredictor::loopPredict(ThreadID tid, Addr branch_pc, bool cond_branch, argument
278 bi->loopPred = getLoop(branch_pc, bi, useSpeculation, instShiftAmt);
326 LoopPredictor::condBranchUpdate(ThreadID tid, Addr branch_pc, bool taken, argument
335 bi->loopPred = getLoop(branch_pc, bi, false, instShiftAmt);
346 loopUpdate(branch_pc, taken, bi, tage_pred);
H A Dmultiperspective_perceptron.cc810 MultiperspectivePerceptron::btbUpdate(ThreadID tid, Addr branch_pc, argument

Completed in 39 milliseconds