It is hard to imagine how it would cheat. The move itself is essentially free either way, and the condition has to be resolved first.
-
-
-
Super easy to cheat: is the branch predictor to predict the direction and try to speculate further. But we specifically asked about this and they confirm in their white paper that this works on today's processors.
-
Possible, but what if it mispredicts? That would be a poor optimization. Also would need to have several CMOV ops with same condition to be worthwhile, and that is beyond the current uop-fusion Intel can do.
-
It mispredicting would be just as bad as the branch predictor mispredicting? And handled the same way? Predictors today have *extremely* high hit rates. It shouldn't matter how many cmov operations you have, it matters how much speculative execution predicting it unlocks.
-
It probably wouldn't make sense for Intel to use the branch predictor for CMOV itself b/c (in the past) they advised people to only use it for things that branch prediction is bad at. However I could see generalized dead store detection logic for instructions afterward cheating.
-
Not *the* branch predictor, but *a* predictor similar to a branch predictor.
End of conversation
New conversation -
-
-
They've confirmed that it doesn't cheat for the purpose of Spectre mitigation in their white paper for existing processors. They reserved the right to change that in the future, but IMO, they don't have that luxury. Ship sailed, will need PCMOV or something else to change.
-
And I've been very clear to Intel about my perspective here.
-
We've also tested cmov pretty hard to verify that it works against Spectre. This isn't a proof, but strong evidence.
End of conversation
New conversation -
-
-
Your tweets as of late have made me think I’m coming into the middle of a conversation.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.