xref: /linux/rust/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64 (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel Ojedabench_try_ref_from_suffix_dynamic_padding:
2*c3739801SMiguel Ojeda	lea eax, [rsi + rdi]
3*c3739801SMiguel Ojeda	test al, 3
4*c3739801SMiguel Ojeda	jne .LBB5_1
5*c3739801SMiguel Ojeda	movabs rax, 9223372036854775804
6*c3739801SMiguel Ojeda	and rax, rsi
7*c3739801SMiguel Ojeda	cmp rax, 9
8*c3739801SMiguel Ojeda	jae .LBB5_3
9*c3739801SMiguel Ojeda.LBB5_1:
10*c3739801SMiguel Ojeda	xor eax, eax
11*c3739801SMiguel Ojeda	ret
12*c3739801SMiguel Ojeda.LBB5_3:
13*c3739801SMiguel Ojeda	add rax, -9
14*c3739801SMiguel Ojeda	movabs rcx, -6148914691236517205
15*c3739801SMiguel Ojeda	mul rcx
16*c3739801SMiguel Ojeda	shr rdx
17*c3739801SMiguel Ojeda	lea rcx, [rdx + 2*rdx]
18*c3739801SMiguel Ojeda	sub rsi, rcx
19*c3739801SMiguel Ojeda	or rcx, -4
20*c3739801SMiguel Ojeda	add rsi, rdi
21*c3739801SMiguel Ojeda	lea rdi, [rcx + rsi]
22*c3739801SMiguel Ojeda	add rdi, -8
23*c3739801SMiguel Ojeda	xor eax, eax
24*c3739801SMiguel Ojeda	cmp word ptr [rcx + rsi - 8], -16192
25*c3739801SMiguel Ojeda	cmove rax, rdi
26*c3739801SMiguel Ojeda	ret
27