Patent ID: 7765384

Claim:
A method for universal register renaming, the method comprising: allocating a destination tag for an instruction being issued in a microprocessor; setting a destination type for the instruction in a logical register array in a rename stage in the microprocessor; asserting a rename buffer bit in the logical register array if a result of the instruction is written to a rename buffer corresponding to the destination type; determining whether the instruction accesses a target register that matches a target register of a previous instruction; if the instruction accesses a target register that matches a target register of a previous instruction, writing a destination tag for the previous instruction in a recovery link entry in a recovery link array; maintaining validity of entries in the recovery link array; at completion time, sending a completing destination tag for a completing instruction to the rename stage; using the completing destination tag to read out completing register target fields and destination type bits from the logical register array; using the completing destination tag to read out a result from a rename buffer corresponding to a destination type of the completing instruction; and writing the result to an architected register corresponding to the destination type of the completing instruction.