[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.

Thank you,


Stephen Checkoway

More information about the llvm-dev mailing list