xref: /linux/rust/zerocopy/benches/split_via_runtime_check_dynamic_padding.x86-64 (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel Ojedabench_split_via_runtime_check_dynamic_padding:
2*c3739801SMiguel Ojeda	mov rax, rdi
3*c3739801SMiguel Ojeda	mov rdx, qword ptr [rsi + 16]
4*c3739801SMiguel Ojeda	mov ecx, edx
5*c3739801SMiguel Ojeda	and ecx, 3
6*c3739801SMiguel Ojeda	cmp ecx, 1
7*c3739801SMiguel Ojeda	jne .LBB5_1
8*c3739801SMiguel Ojeda	mov rcx, qword ptr [rsi]
9*c3739801SMiguel Ojeda	mov rsi, qword ptr [rsi + 8]
10*c3739801SMiguel Ojeda	lea rdi, [rdx + 2*rdx]
11*c3739801SMiguel Ojeda	add rdi, rcx
12*c3739801SMiguel Ojeda	add rdi, 9
13*c3739801SMiguel Ojeda	sub rsi, rdx
14*c3739801SMiguel Ojeda	mov qword ptr [rax + 8], rdx
15*c3739801SMiguel Ojeda	mov qword ptr [rax + 16], rdi
16*c3739801SMiguel Ojeda	mov qword ptr [rax + 24], rsi
17*c3739801SMiguel Ojeda	mov qword ptr [rax], rcx
18*c3739801SMiguel Ojeda	ret
19*c3739801SMiguel Ojeda.LBB5_1:
20*c3739801SMiguel Ojeda	xor ecx, ecx
21*c3739801SMiguel Ojeda	mov qword ptr [rax], rcx
22*c3739801SMiguel Ojeda	ret
23