1. A method of operating a processor comprising: obtaining a first producer instruction, wherein the first producer instruction includes a first producer instruction result, and wherein the first producer instruction includes a first identifier; generating a first generation of an architected register for the first producer instruction; assigning a physical register to the architected register; obtaining a second producer instruction, wherein the second producer instruction includes a second producer instruction result, and wherein the second producer instruction includes a second identifier; generating a second generation of the architected register; assigning the physical register to the second generation of the architected register; allowing the second producer instruction result to be written to the first physical register; and disallowing the second producer instruction result to be written to the first physical register.