Lines Matching defs:bi

149 StatisticalCorrector::getIndBias(Addr branch_pc, BranchInfo* bi,
152 return (((((branch_pc ^(branch_pc >>2))<<1) ^ (bi->lowConf & bias)) <<1)
153 + bi->predBeforeSC) & ((1<<logBias) -1);
157 StatisticalCorrector::getIndBiasSK(Addr branch_pc, BranchInfo* bi) const
160 (bi->highConf))<<1) + bi->predBeforeSC) & ((1<<logBias) -1);
205 BranchInfo* bi)
215 int xsum = bi->lsum - ((w[getIndUpds(branch_pc)] >= 0)) * percsum;
224 BranchInfo* bi, bool prev_pred_taken, bool bias_bit,
231 bi->predBeforeSC = prev_pred_taken;
235 bi->lowConf = (abs(2 * conf_ctr + 1) == 1);
236 bi->medConf = (abs(2 * conf_ctr + 1) == 5);
237 bi->highConf = (abs(2 * conf_ctr + 1) >= (1<<conf_bits) - 1);
242 int8_t ctr = bias[getIndBias(branch_pc, bi, bias_bit)];
244 ctr = biasSK[getIndBiasSK(branch_pc, bi)];
246 ctr = biasBank[getIndBiasBank(branch_pc, bi, hitBank, altBank)];
251 int thres = gPredictions(tid, branch_pc, bi, lsum, phist);
254 bi->lsum = lsum;
255 bi->thres = thres;
262 if (bi->highConf) {
270 if (bi->medConf) {
276 bi->usedScPred = useScPred;
279 bi->scPred = scPred;
318 bool taken, BranchInfo *bi, Addr corrTarget, bool b, int hitBank,
321 bool scPred = (bi->lsum >= 0);
323 if (bi->predBeforeSC != scPred) {
324 if (abs(bi->lsum) < bi->thres) {
325 if (bi->highConf) {
326 if ((abs(bi->lsum) < bi->thres / 2)) {
327 if ((abs(bi->lsum) >= bi->thres / 4)) {
328 ctrUpdate(secondH, (bi->predBeforeSC == taken),
334 if (bi->medConf) {
335 if ((abs(bi->lsum) < bi->thres / 4)) {
336 ctrUpdate(firstH, (bi->predBeforeSC == taken),
342 if ((scPred != taken) || ((abs(bi->lsum) < bi->thres))) {
348 unsigned indBias = getIndBias(branch_pc, bi, b);
349 unsigned indBiasSK = getIndBiasSK(branch_pc, bi);
350 unsigned indBiasBank = getIndBiasBank(branch_pc, bi, hitBank, altBank);
352 int xsum = bi->lsum -
371 gUpdates(tid, branch_pc, taken, bi, phist);
376 StatisticalCorrector::updateStats(bool taken, BranchInfo *bi)
378 if (taken == bi->scPred) {