anchor.diff:  // old name is taken from the FreeList and moved back to the RenamingTable.
   
   import Vector::*;
  +import GetPut::*;
   import List::*;
   import RevertingVirtualReg::*;
   import Types::*;
  
positive.code: 
              method Action claimRename(ArchRegs r, SpecBits sb) if(guard);
                  // record the claim
                  claimEn[i][0] <= Valid (RenameClaim {
                      arch: r.dst,
                      phy: claim_phy_reg,
                      specBits: sb
  
negative.code:             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
                  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].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;
  