[llvm-dev] FYI, we've posted a component of Spectre mitigation on llvm-commits

Chandler Carruth via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 4 09:52:12 PST 2018


On Thu, Jan 4, 2018 at 12:31 PM Stephen Checkoway via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
> > On Jan 4, 2018, at 04:23, Chandler Carruth via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Sending a note here as this seems likely to be of relatively broad
> interest.
>
> It looks like this is producing code of the following form.
>
>         call    next
> loop:
>         pause
>         jmp     loop
> next:
>         mov     [rsp], r11
>         ret
>
> 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.


>
> --
> Stephen Checkoway
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180104/e51f6309/attachment.html>


More information about the llvm-dev mailing list