rust/zerocopy/benches/insert_vec_zeroed.x86-64.mca

Source file repositories/reference/linux-study-clean/rust/zerocopy/benches/insert_vec_zeroed.x86-64.mca

File Facts

System
Linux kernel
Corpus path
rust/zerocopy/benches/insert_vec_zeroed.x86-64.mca
Extension
.mca
Size
10237 bytes
Lines
184
Domain
Rust Kernel Layer
Bucket
Rust API Membrane
Inferred role
Rust Kernel Layer: Rust API Membrane
Status
atlas-only

Why This File Exists

Rust-side wrappers and abstractions around kernel C APIs, ownership contracts, allocation, synchronization, and module integration.

Dependency Surface

Detected Declarations

Annotated Snippet

Iterations:        100
Instructions:      7200
Total Cycles:      7648
Total uOps:        9300

Dispatch Width:    4
uOps Per Cycle:    1.22
IPC:               0.94
Block RThroughput: 23.3


Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)

[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 2      5     1.00           *            push	rbp
 2      5     1.00           *            push	r15
 2      5     1.00           *            push	r14
 2      5     1.00           *            push	r13
 2      5     1.00           *            push	r12
 2      5     1.00           *            push	rbx
 1      1     0.33                        sub	rsp, 24
 1      5     0.50    *                   mov	r12, qword ptr [rdi + 16]
 1      1     0.33                        mov	r13, r12
 1      1     0.33                        sub	r13, rsi
 1      1     1.00                        jb	.LBB6_10
 1      1     0.33                        mov	rbx, rdi
 1      5     0.50    *                   mov	rax, qword ptr [rdi]
 1      1     0.33                        mov	rcx, rax
 1      1     0.33                        sub	rcx, r12
 1      1     0.33                        cmp	rdx, rcx
 1      1     1.00                        jbe	.LBB6_4
 1      1     0.33                        add	r12, rdx
 1      1     1.00                        jae	.LBB6_7
 1      0     0.25                        xor	eax, eax
 1      1     1.00                        jmp	.LBB6_6
 1      5     0.50    *                   mov	rax, qword ptr [rbx + 8]
 1      1     0.33                        add	r12, rdx
 1      1     0.50                        lea	rcx, [rsi + 2*rsi]
 1      1     0.50                        lea	r14, [rax + 2*rcx]
 1      1     0.33                        add	rdx, rdx
 1      1     0.50                        lea	r15, [rdx + 2*rdx]
 1      1     0.50                        lea	rdi, [r14 + r15]
 1      1     0.33                        add	r13, r13
 1      1     0.50                        lea	rdx, [2*r13]
 1      1     0.33                        add	rdx, r13
 1      1     0.33                        mov	rsi, r14
 4      7     1.00    *                   call	qword ptr [rip + memmove@GOTPCREL]
 1      1     0.33                        mov	rdi, r14
 1      0     0.25                        xor	esi, esi
 1      1     0.33                        mov	rdx, r15
 4      7     1.00    *                   call	qword ptr [rip + memset@GOTPCREL]
 1      1     1.00           *            mov	qword ptr [rbx + 16], r12
 1      1     0.33                        mov	al, 1
 1      1     0.33                        add	rsp, 24
 1      6     0.50    *                   pop	rbx
 1      6     0.50    *                   pop	r12
 1      6     0.50    *                   pop	r13
 1      6     0.50    *                   pop	r14
 1      6     0.50    *                   pop	r15
 1      6     0.50    *                   pop	rbp
 1      1     1.00                  U     ret
 1      1     0.33                        mov	r15, rsi
 1      1     0.33                        mov	rbp, rdx
 1      1     0.50                        lea	rcx, [rax + rax]

Annotation

Implementation Notes