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