anchor.diff:          return i < st_enqP ? zeroExtend(i) + fromInteger(valueof(StQSize))
                              : zeroExtend(i);
       endfunction
  -    // virtual tags to be reused in all associative searches
  +    // virtual tags for LQ/SQ indices to be reused in all associative searches
       Vector#(LdQSize, LdQVirTag) ldVirTags = map(getLdVirTag,
                                                   genWith(fromInteger));
       Vector#(StQSize, StQVirTag) stVirTags = map(getStVirTag,
                                                   genWith(fromInteger));
  +    // virtual tag for st verify ptr. XXX NOTE that this ptr may point to
  +    // invalid entry, so need to check entry valid first.
  +    StQVirTag stVerifyVirTag = getStVirTag(st_verifyP);
   
       // find oldest LQ entry that satisfy a constraint (i.e. smallest tag)
       function Maybe#(LdQTag) findOldestLd(Vector#(LdQSize, Bool) pred);
  
positive.code: 
      method ActionValue#(LSQHitInfo) getHit(LdStQTag t);
          wrongSpec_hit_conflict.wset(?); // TODO remove, seems useless
          return LSQHitInfo {
              waitWPResp: ld_waitWPResp[t],
              dst: ld_dst[t]
          };
      endmethod
  
      method Maybe#(LdStQTag) enqTag(MemFunc f);
          return (case(f)
              Ld, Lr:  (ld_can_enq_wire ? Valid (ld_enqP) : Invalid);
              default: (st_can_enq_wire ? Valid (st_enqP) : Invalid);
          endcase);
      endmethod
  
  
negative.code:     Vector#(LdQSize, Ehr#(3, Maybe#(LdStQTag))) ld_depLdQDeq  <- replicateM(mkEhr(?));
      Vector#(LdQSize, Ehr#(3, Maybe#(LdStQTag))) ld_depLdEx    <- replicateM(mkEhr(?));
      Vector#(LdQSize, Ehr#(3, Maybe#(SBIndex)))  ld_depStQDeq  <- replicateM(mkEhr(?));
  `ifndef TSO_MM
      Vector#(LdQSize, Ehr#(3, Maybe#(SBIndex)))  ld_depSBDeq   <- replicateM(mkEhr(?));
  `endif
      Vector#(LdQSize, Ehr#(3, Maybe#(SpecTag)))  ld_specTag    <- replicateM(mkEhr(?));
      Vector#(LdQSize, Ehr#(3, SpecBits))         ld_specBits   <- replicateM(mkEhr(?));
      // wrong-path load filter (must init to all False)
  