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