Re: @ST Intel "shouldn't be selling CPUs?"
> The compiler & code mitigations involve making it too difficult to usefully train the predictor, not in suppressing the predictions.
One of the proposed compiler-based mitigations for Spectre involves inserting an otherwise useless loop containing pause instructions (on Intel) for each and every single branch target. This will suppress speculative execution, because pause cannot be executed speculatively.
Not all ISA's have pause, so what applies to Intel won't apply to other ISA's.
So, my question is: what is the difference - in practical terms - between making it too difficult to usefully train the predictor and suppressing the predictions?