xref: /linux/rust/zerocopy/benches/try_ref_from_prefix_dynamic_padding.x86-64 (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel Ojedabench_try_ref_from_prefix_dynamic_padding:
2*c3739801SMiguel Ojeda	xor edx, edx
3*c3739801SMiguel Ojeda	mov eax, 0
4*c3739801SMiguel Ojeda	test dil, 3
5*c3739801SMiguel Ojeda	je .LBB5_1
6*c3739801SMiguel Ojeda	ret
7*c3739801SMiguel Ojeda.LBB5_1:
8*c3739801SMiguel Ojeda	movabs rax, 9223372036854775804
9*c3739801SMiguel Ojeda	and rsi, rax
10*c3739801SMiguel Ojeda	cmp rsi, 9
11*c3739801SMiguel Ojeda	jae .LBB5_3
12*c3739801SMiguel Ojeda	mov edx, 1
13*c3739801SMiguel Ojeda	xor eax, eax
14*c3739801SMiguel Ojeda	ret
15*c3739801SMiguel Ojeda.LBB5_3:
16*c3739801SMiguel Ojeda	add rsi, -9
17*c3739801SMiguel Ojeda	movabs rcx, -6148914691236517205
18*c3739801SMiguel Ojeda	mov rax, rsi
19*c3739801SMiguel Ojeda	mul rcx
20*c3739801SMiguel Ojeda	mov rax, rdx
21*c3739801SMiguel Ojeda	shr rax
22*c3739801SMiguel Ojeda	movzx ecx, word ptr [rdi]
23*c3739801SMiguel Ojeda	cmp cx, -16192
24*c3739801SMiguel Ojeda	mov edx, 2
25*c3739801SMiguel Ojeda	cmove rdx, rax
26*c3739801SMiguel Ojeda	xor eax, eax
27*c3739801SMiguel Ojeda	cmp ecx, 49344
28*c3739801SMiguel Ojeda	cmove rax, rdi
29*c3739801SMiguel Ojeda	ret
30