zerocopy 0.8.48

Zerocopy makes zero-cost memory manipulation effortless. We write "unsafe" so you don't have to.
Documentation
Iterations:        100
Instructions:      2100
Total Cycles:      709
Total uOps:        2300

Dispatch Width:    4
uOps Per Cycle:    3.24
IPC:               2.96
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                        test	dil, 3
 1      1     1.00                        jne	.LBB5_4
 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                        jb	.LBB5_4
 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	rax, [rdx + 2*rdx]
 1      1     0.33                        or	rax, 3
 1      1     0.33                        add	rax, 9
 1      1     0.33                        cmp	rsi, rax
 1      1     1.00                        jne	.LBB5_4
 2      6     0.50    *                   cmp	word ptr [rdi], -16192
 1      1     1.00                        je	.LBB5_5
 1      0     0.25                        xor	edi, edi
 1      1     0.33                        mov	rdx, rsi
 1      1     0.33                        mov	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]  
 -      -     6.98   6.99    -     7.03   0.50   0.50   

Resource pressure by instruction:
[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
 -      -     0.48   0.51    -     0.01    -      -     test	dil, 3
 -      -      -      -      -     1.00    -      -     jne	.LBB5_4
 -      -     0.51   0.49    -      -      -      -     movabs	rax, 9223372036854775804
 -      -     0.01   0.99    -      -      -      -     and	rax, rsi
 -      -     0.51   0.49    -      -      -      -     cmp	rax, 9
 -      -      -      -      -     1.00    -      -     jb	.LBB5_4
 -      -     0.98    -      -     0.02    -      -     add	rax, -9
 -      -     0.98   0.02    -      -      -      -     movabs	rcx, -6148914691236517205
 -      -     1.00   1.00    -      -      -      -     mul	rcx
 -      -     0.99    -      -     0.01    -      -     shr	rdx
 -      -      -     1.00    -      -      -      -     lea	rax, [rdx + 2*rdx]
 -      -      -     0.51    -     0.49    -      -     or	rax, 3
 -      -     0.01   0.49    -     0.50    -      -     add	rax, 9
 -      -      -     0.02    -     0.98    -      -     cmp	rsi, rax
 -      -      -      -      -     1.00    -      -     jne	.LBB5_4
 -      -     0.51   0.49    -      -     0.50   0.50   cmp	word ptr [rdi], -16192
 -      -      -      -      -     1.00    -      -     je	.LBB5_5
 -      -      -      -      -      -      -      -     xor	edi, edi
 -      -     0.50   0.50    -      -      -      -     mov	rdx, rsi
 -      -     0.50   0.48    -     0.02    -      -     mov	rax, rdi
 -      -      -      -      -     1.00    -      -     ret