Is the core going to handle re-renaming its rename registers and migrating values based on use data? There would be no software way to control this.
It should be completely in hardware. If the thread count goes up, you want to make as effective use of your lower level fast registers as possible, and not statically partition it.
Result forwarding is a significant source, though the port restriction was still noticeable, per Agner for many preceding Intel cores. With SB, this seems to have been alleviated or significantly reduced, though I haven't found a port count. With a physical register file, the ROB no longer contains data.
The point is that the Pentium Pro made due with just three ports to its register file while being competitive with other OOO implementations that had up to twelve ports. It is of course in part a result of the small number of registers in x86. With just 8 architected registers, the chance of accessing a register that haven't been written to in the last 32 instructions, and thus in the ROB, is a lot lower than if you had 32 registers.
I suggested a different domain. Sandy Bridge has several, and they are out of order.
Alright, I misunderstood. I thought you wanted to offload AVX from the core entirely, thus not tracking dependencies.
Cheers