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

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

File Facts

System
Linux kernel
Corpus path
rust/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca
Extension
.mca
Size
3121 bytes
Lines
78
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:      1900
Total Cycles:      672
Total uOps:        2300

Dispatch Width:    4
uOps Per Cycle:    3.42
IPC:               2.83
Block RThroughput: 5.8


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

[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 1      1     0.33                        movabs	rax, 4611686018427387901
 1      1     0.33                        cmp	rdx, rax
 1      1     1.00                        ja	.LBB5_1
 1      1     0.33                        mov	rcx, rdx
 1      0     0.25                        xor	edx, edx
 1      1     0.33                        mov	eax, 0
 1      1     0.33                        test	dil, 1
 1      1     1.00                        jne	.LBB5_4
 1      1     0.50                        lea	rax, [2*rcx + 4]
 1      0     0.25                        xor	r8d, r8d
 1      1     0.33                        cmp	rax, rsi
 1      1     0.33                        mov	edx, 1
 3      3     1.00                        cmovbe	rdx, rcx
 3      3     1.00                        cmova	rdi, r8
 1      1     0.33                        mov	rax, rdi
 1      1     1.00                  U     ret
 1      1     0.33                        mov	edx, 1
 1      0     0.25                        xor	eax, eax
 1      1     1.00                  U     ret


Resources:
[0]   - SBDivider
[1]   - SBFPDivider
[2]   - SBPort0
[3]   - SBPort1
[4]   - SBPort4
[5]   - SBPort5
[6.0] - SBPort23
[6.1] - SBPort23


Resource pressure per iteration:
[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  
 -      -     6.66   6.66    -     6.68    -      -     

Resource pressure by instruction:
[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 -      -      -     0.99    -     0.01    -      -     movabs	rax, 4611686018427387901
 -      -     0.37   0.63    -      -      -      -     cmp	rdx, rax
 -      -      -      -      -     1.00    -      -     ja	.LBB5_1
 -      -     0.63   0.37    -      -      -      -     mov	rcx, rdx
 -      -      -      -      -      -      -      -     xor	edx, edx
 -      -     0.01   0.98    -     0.01    -      -     mov	eax, 0
 -      -     0.98   0.02    -      -      -      -     test	dil, 1
 -      -      -      -      -     1.00    -      -     jne	.LBB5_4
 -      -     0.01   0.99    -      -      -      -     lea	rax, [2*rcx + 4]
 -      -      -      -      -      -      -      -     xor	r8d, r8d
 -      -     1.00    -      -      -      -      -     cmp	rax, rsi
 -      -      -     0.67    -     0.33    -      -     mov	edx, 1

Annotation

Implementation Notes