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:         // entry cannot be verified, because this may block conflicting
          // rules/methods forever.
  `ifdef TSO_MM
          // // TSO: need to figure out if older LQ entry exists
          // LdQTag ldDeqP = ld_deqP_verify;
          // Bool no_older_ld;
          // if(ld_valid_verify[ldDeqP]) begin
          //     if(olderStVirTags[ldDeqP] matches tagged Valid .older) begin
          //         no_older_ld = older >= stVirTags[verP];
          //     end
          //     else begin
          //         // LQ head has no olderSt, so LQ head is older
          //         no_older_ld = False;
          //     end
          // end
          // else begin
          //     // LQ empty
          //     no_older_ld = True;
          // end
          // when(no_older_ld &&
          when(st_memFunc[verP] == St &&
               !st_isMMIO_verify[verP] &&
               st_computed_verify[verP], noAction);
  
  