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

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

File Facts

System
Linux kernel
Corpus path
rust/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64.mca
Extension
.mca
Size
3717 bytes
Lines
86
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:      2300
Total Cycles:      791
Total uOps:        2600

Dispatch Width:    4
uOps Per Cycle:    3.29
IPC:               2.91
Block RThroughput: 6.5


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.50                        lea	eax, [rsi + rdi]
 1      1     0.33                        test	al, 3
 1      1     1.00                        jne	.LBB5_1
 1      1     0.33                        movabs	rax, 9223372036854775804
 1      1     0.33                        and	rax, rsi
 1      1     0.33                        cmp	rax, 9
 1      1     1.00                        jae	.LBB5_3
 1      0     0.25                        xor	eax, eax
 1      1     1.00                  U     ret
 1      1     0.33                        add	rax, -9
 1      1     0.33                        movabs	rcx, -6148914691236517205
 2      4     1.00                        mul	rcx
 1      1     0.50                        shr	rdx
 1      1     0.50                        lea	rcx, [rdx + 2*rdx]
 1      1     0.33                        sub	rsi, rcx
 1      1     0.33                        or	rcx, -4
 1      1     0.33                        add	rsi, rdi
 1      1     0.50                        lea	rdi, [rcx + rsi]
 1      1     0.33                        add	rdi, -8
 1      0     0.25                        xor	eax, eax
 2      6     0.50    *                   cmp	word ptr [rcx + rsi - 8], -16192
 2      2     0.67                        cmove	rax, rdi
 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]  
 -      -     7.70   7.58    -     7.72   0.50   0.50   

Resource pressure by instruction:
[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 -      -     0.26   0.74    -      -      -      -     lea	eax, [rsi + rdi]
 -      -     0.19   0.28    -     0.53    -      -     test	al, 3
 -      -      -      -      -     1.00    -      -     jne	.LBB5_1
 -      -     0.93   0.06    -     0.01    -      -     movabs	rax, 9223372036854775804
 -      -     0.81   0.14    -     0.05    -      -     and	rax, rsi
 -      -     0.55   0.43    -     0.02    -      -     cmp	rax, 9
 -      -      -      -      -     1.00    -      -     jae	.LBB5_3
 -      -      -      -      -      -      -      -     xor	eax, eax

Annotation

Implementation Notes