anchor.diff:              joinActions(map(kill, idxVec));
               // move enqP: find the oldest **valid** entry being killed
               Vector#(size, Bool) killValid = zipWith( \&& , isKill , readVEhr(valid_wrongSpec_port, valid) );
  +            indexT nextEnqP = enqP;
               if(findOldest(killValid) matches tagged Valid .idx) begin
  -                enqP <= idx;
  -            end
  +                nextEnqP = idx;
  +            end
  +            enqP <= nextEnqP;
           end
           else begin
               // claim phy reg
               for(Integer i = 0; i < valueof(SupSize); i = i+1) begin
  -                if(claimEn[i][1] matches tagged Valid .claim) begin
  +                if(claimEn[i].wget matches tagged Valid .claim) begin
                       indexT curEnqP = claimIndex[i];
                       new_renamings_arch[curEnqP] <= claim.arch; // keep phy reg unchanged
                       valid[curEnqP][valid_claim_port] <= True;
  
positive.code:     // function to search claimed phy regs just in this cycle to
      // get phy reg for an arch reg for get_renaming at port getPort
      function Maybe#(PhyRIndx) search_claimed_renamings(Integer getPort, ArchRIndx arch_reg);
          List#(Maybe#(RenameClaim)) claims = readListEhr(1, List::take(getPort, toList(claimEn)));
          function Maybe#(PhyRIndx) getHit(Maybe#(RenameClaim) x);
              if(x matches tagged Valid .e) begin
                  return e.arch == (Valid (arch_reg)) ? Valid (e.phy) : Invalid;
              end
              else begin
  
negative.code: // old name is taken from the FreeList and moved back to the RenamingTable.
  
  import Vector::*;
  import GetPut::*;
  import List::*;
  import RevertingVirtualReg::*;
  import Types::*;
  