It's not my field of expertise of course, but if the speculative execution microcode knows what has and needs to occur, what's to stop a game of speculative execution vulnerability whack-a-mole occurring? I would think from a security standpoint it would be better to not do perform any operation that isn't necessary. That way there would be no speculative data available that could be snooped upon I would've thought.
If compilers had more direct control of the microcode opcodes, speculative execution wouldn't even be so necessary. LLVM is quite good at doing SSA for itself without support for it in the processor as well.
We're now emulating a 40 year old architecture even for non legacy software, for what? Heating up silicon? That doesn't seem very energy efficient.