xref: /linux/rust/zerocopy/benches/new_vec_zeroed.x86-64 (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel Ojedabench_new_vec_zeroed:
2*c3739801SMiguel Ojeda	mov rax, rdi
3*c3739801SMiguel Ojeda	movabs rcx, 1537228672809129301
4*c3739801SMiguel Ojeda	cmp rsi, rcx
5*c3739801SMiguel Ojeda	ja .LBB5_5
6*c3739801SMiguel Ojeda	test rsi, rsi
7*c3739801SMiguel Ojeda	je .LBB5_2
8*c3739801SMiguel Ojeda	push r15
9*c3739801SMiguel Ojeda	push r14
10*c3739801SMiguel Ojeda	push rbx
11*c3739801SMiguel Ojeda	lea rcx, [rsi + rsi]
12*c3739801SMiguel Ojeda	lea rbx, [rcx + 2*rcx]
13*c3739801SMiguel Ojeda	mov r14, rax
14*c3739801SMiguel Ojeda	mov r15, rsi
15*c3739801SMiguel Ojeda	call qword ptr [rip + __rustc::__rust_no_alloc_shim_is_unstable_v2@GOTPCREL]
16*c3739801SMiguel Ojeda	mov esi, 2
17*c3739801SMiguel Ojeda	mov rdi, rbx
18*c3739801SMiguel Ojeda	call qword ptr [rip + __rustc::__rust_alloc_zeroed@GOTPCREL]
19*c3739801SMiguel Ojeda	mov rsi, r15
20*c3739801SMiguel Ojeda	mov rcx, rax
21*c3739801SMiguel Ojeda	mov rax, r14
22*c3739801SMiguel Ojeda	test rcx, rcx
23*c3739801SMiguel Ojeda	pop rbx
24*c3739801SMiguel Ojeda	pop r14
25*c3739801SMiguel Ojeda	pop r15
26*c3739801SMiguel Ojeda	je .LBB5_5
27*c3739801SMiguel Ojeda	mov qword ptr [rax], rsi
28*c3739801SMiguel Ojeda	mov qword ptr [rax + 8], rcx
29*c3739801SMiguel Ojeda	mov qword ptr [rax + 16], rsi
30*c3739801SMiguel Ojeda	ret
31*c3739801SMiguel Ojeda.LBB5_5:
32*c3739801SMiguel Ojeda	movabs rcx, -9223372036854775808
33*c3739801SMiguel Ojeda	mov qword ptr [rax], rcx
34*c3739801SMiguel Ojeda	ret
35*c3739801SMiguel Ojeda.LBB5_2:
36*c3739801SMiguel Ojeda	mov ecx, 2
37*c3739801SMiguel Ojeda	mov qword ptr [rax], rsi
38*c3739801SMiguel Ojeda	mov qword ptr [rax + 8], rcx
39*c3739801SMiguel Ojeda	mov qword ptr [rax + 16], rsi
40*c3739801SMiguel Ojeda	ret
41