src/cpu/pred/tage_base.cc
// gindex computes a full hash of pc, ghist and pathHist
gindex computes a full hash of pc, ghist and pathHist
gindex computes a full hash of pc ghist and pathHist
int
TAGEBase::gindex(ThreadID tid, Addr pc, int bank) const
{
    int index;
    int hlen = (histLengths[bank] > pathHistBits) ? pathHistBits :
                                                    histLengths[bank];
    const unsigned int shiftedPc = pc >> instShiftAmt;
    index =
        shiftedPc ^
        (shiftedPc >> ((int) abs(logTagTableSizes[bank] - bank) + 1)) ^
        threadHistory[tid].computeIndices[bank].comp ^
        F(threadHistory[tid].pathHist, hlen, bank);
    return (index & ((1ULL << (logTagTableSizes[bank])) - 1));
}
int TAGEBase :: gindex ( ThreadID tid , Addr pc , int bank ) const { int index ; int hlen = ( histLengths [ bank ] > pathHistBits ) ? pathHistBits : histLengths [ bank ] ; const unsigned int shiftedPc = pc >> instShiftAmt ; index = shiftedPc ^ ( shiftedPc >> ( ( int ) abs ( logTagTableSizes [ bank ] - bank ) + 1 ) ) ^ threadHistory [ tid ] . computeIndices [ bank ] . comp ^ F ( threadHistory [ tid ] . pathHist , hlen , bank ) ; return ( index & ( ( 1ULL << ( logTagTableSizes [ bank ] ) ) - 1 ) ) ; }
gindex computes a full hash of pc, ghist and pathHist
gindex computes a full hash of pc ghist and pathHist