Been checking the Mill forums manually waiting for a detailed post from yourself or Ivan about the matter.
For reference, there is an interesting thread from someone who seems like they knew the nature of the issue before the disclosure, to which Ivan replies discussing some of the complications of implementing branch prediction [0]. Ivan concludes with:
> "To answer your final question: no, branch prediction is not actually necessary, and Mill uses exit prediction instead. But so long as memory latency is much longer than a compiler can see, and path fanout remains larger than hardware can handle in parallel, prediction of some kind will be necessary for performance."
This is interesting as many people are now debating just what types of speculative execution, if any, can actually be performed without exposing security risks.
For reference, there is an interesting thread from someone who seems like they knew the nature of the issue before the disclosure, to which Ivan replies discussing some of the complications of implementing branch prediction [0]. Ivan concludes with:
> "To answer your final question: no, branch prediction is not actually necessary, and Mill uses exit prediction instead. But so long as memory latency is much longer than a compiler can see, and path fanout remains larger than hardware can handle in parallel, prediction of some kind will be necessary for performance."
This is interesting as many people are now debating just what types of speculative execution, if any, can actually be performed without exposing security risks.
[0] https://millcomputing.com/topic/prediction/#post-3049