anchor.diff:  
       // Verify SQ entry one by one
       // - TSO verify requires:
  -    // (1) all older loads are dequeued
  +    // (1) all older loads are dequeued -- XXX No longer needed
       // (2) for normal non-MMIO St, addr and data are computed
       // (3) for Sc/Amo/MMIO, it is dequeued (by completing memory access)
       // (4) for Fence, it is dequeued
  
positive.code: module mkSplitLSQ(SplitLSQ);
      // method/rule ordering
      // getHit, findIssue <
      // (deqLd (TSO ? C : <) verifySt) <
      // cacheEvict <
      // updateAddr <
      // issueLd, getIssueLd <
  
negative.code: // Because of the pathological case that verify-ptr = deq ptr = enq ptr (when
  // SQ is full), we need to add a verified bit to SQ to distinguish the case of
  // everything verified from the case of nothing verified.
  //
  // The requirement listed above is too conservative. Verification of a store
  // does not need to wait for older load to deq. This is because this
  // verification is used only for load deq, and when a load deqs, all older
  // loads must have gone. We just need to stop store verification at atomics or
  // fences.
  
  // For WEAK, we also need verified bits and verify-ptr for SQ. These are for
  // dequeuing LQ. An LQ entry cannot be dequeud until all older SQ entries have
  