1. A method of executing instructions in a processing system, the method comprising: fetching one or more instructions to be executed by the processing system; assigning respective age tags to each of the one or more instructions, wherein each of the age tags indicates an age of the corresponding instruction in the processing system; allocating, to each destination logical register referenced by each instruction, respective physical registers in a physical register file; writing the respective age tags assigned to the instructions to (i) respective physical registers allocated to the destination logical registers of the instructions and (ii) a buffer configured to maintain a program order of the instructions; executing at least some of the instructions in an order different from the program order of the instructions, and retiring, using the age tags in the buffer, the executed instructions from the processing system in a same order as the program order of the instructions.