1. A register allocation unit, comprising: a value cache having a hit/miss output and a register ID output, a free list having a register ID output, a selector coupled to the register ID outputs of the value cache and the free list and having a control input coupled to the hit/miss output.