[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 09:30:49 PST 2018


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

-- 
Stephen Checkoway





More information about the llvm-dev mailing list