Lines Matching refs:bi

85         BranchInfo* bi, int hitBank, int altBank) const
87 return (bi->predBeforeSC + (((hitBank+1)/4)<<4) + (bi->highConf<<1) +
88 (bi->lowConf <<2) + ((altBank!=0)<<3) +
94 BranchInfo* bi, int & lsum, int64_t pathHist)
100 (branch_pc << 1) + bi->predBeforeSC, sh->bwHist, bwm,
166 bool taken, BranchInfo* bi, int64_t phist)
171 gUpdate((pc << 1) + bi->predBeforeSC, taken, sh->bwHist, bwm,
172 bwgehl, bwnb, logBwnb, wbw, bi);
175 pgehl, pnb, logPnb, wp, bi);
178 lgehl, lnb, logLnb, wl, bi);
181 sgehl, snb, logSnb, ws, bi);
184 tgehl, tnb, logTnb, wt, bi);
187 imgehl, imnb, logImnb, wim, bi);
190 igehl, inb, logInb, wi, bi);
217 bool alloc, bool taken, TAGEBase::BranchInfo* bi, int nrand)
227 for (int I = calcDep(bi); I < nHistoryTables; I += 2) {
232 if (gtable[i][bi->tableIndices[i]].u == 0) {
233 int8_t ctr = gtable[i][bi->tableIndices[i]].ctr;
235 gtable[i][bi->tableIndices[i]].tag = bi->tableTags[i];
236 gtable[i][bi->tableIndices[i]].ctr = taken ? 0 : -1;
242 if (gtable[i][bi->tableIndices[i]].ctr > 0) {
243 gtable[i][bi->tableIndices[i]].ctr--;
245 gtable[i][bi->tableIndices[i]].ctr++;
265 TAGEBase::BranchInfo* bi)
267 if (bi->hitBank > 0) {
268 if (abs (2 * gtable[bi->hitBank][bi->hitBankIndex].ctr + 1) == 1) {
269 if (bi->longestMatchPred != taken) {
271 if (bi->altBank > 0) {
272 ctrUpdate(gtable[bi->altBank][bi->altBankIndex].ctr, taken,
275 if (bi->altBank == 0){
276 baseUpdate(branch_pc, taken, bi);
281 ctrUpdate(gtable[bi->hitBank][bi->hitBankIndex].ctr, taken,
285 if (abs (2 * gtable[bi->hitBank][bi->hitBankIndex].ctr + 1) == 1) {
286 gtable[bi->hitBank][bi->hitBankIndex].u = 0;
289 if (bi->altTaken == taken) {
290 if (bi->altBank > 0) {
291 int8_t ctr = gtable[bi->altBank][bi->altBankIndex].ctr;
293 if (gtable[bi->hitBank][bi->hitBankIndex].u == 1) {
294 if (bi->longestMatchPred == taken) {
295 gtable[bi->hitBank][bi->hitBankIndex].u = 0;
302 baseUpdate(branch_pc, taken, bi);
305 if ((bi->longestMatchPred != bi->altTaken) &&
306 (bi->longestMatchPred == taken) &&
307 (gtable[bi->hitBank][bi->hitBankIndex].u < (1 << tagTableUBits) -1)) {
308 gtable[bi->hitBank][bi->hitBankIndex].u++;