[llvm-dev] FYI, we've posted a component of Spectre mitigation on llvm-commits
Stephen Checkoway via llvm-dev
llvm-dev at lists.llvm.org
Thu Jan 4 10:05:24 PST 2018
On Jan 4, 2018, at 11:52, Chandler Carruth via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> On Thu, Jan 4, 2018 at 12:31 PM Stephen Checkoway via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> As I understand it, the busy loop is to cause the speculative execution to be trapped in the loop. Was something like ud2 considered? I presume that would stop the speculative execution without involving any of the execution units the way the busy loop does.
> The pause instruction will also avoid tying up execution resources in speculative contexts, so I wouldn't expect it to be significantly different.
Got it. The Software Developer Manual isn't entirely clear on this point (to me at least) and IACA shows a number of ports in use during the 4 or 5 Uops pause takes.
More information about the llvm-dev