blob: 5034ab0583bdb9805e99f473cf5e6306d4eec7d8 [file]
Iterations: 100
Instructions: 2000
Total Cycles: 708
Total uOps: 2000
Dispatch Width: 4
uOps Per Cycle: 2.82
IPC: 2.82
Block RThroughput: 5.0
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 mov rax, rdi
1 5 0.50 * mov rdx, qword ptr [rsi + 16]
1 1 0.33 mov ecx, edx
1 1 0.33 and ecx, 3
1 1 0.33 cmp ecx, 1
1 1 1.00 jne .LBB5_1
1 5 0.50 * mov rcx, qword ptr [rsi]
1 5 0.50 * mov rsi, qword ptr [rsi + 8]
1 1 0.50 lea rdi, [rdx + 2*rdx]
1 1 0.33 add rdi, rcx
1 1 0.33 add rdi, 9
1 1 0.33 sub rsi, rdx
1 1 1.00 * mov qword ptr [rax + 8], rdx
1 1 1.00 * mov qword ptr [rax + 16], rdi
1 1 1.00 * mov qword ptr [rax + 24], rsi
1 1 1.00 * mov qword ptr [rax], rcx
1 1 1.00 U ret
1 0 0.25 xor ecx, ecx
1 1 1.00 * mov qword ptr [rax], rcx
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]
- - 3.00 3.02 5.00 4.98 4.00 4.00
Resource pressure by instruction:
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
- - - 0.99 - 0.01 - - mov rax, rdi
- - - - - - - 1.00 mov rdx, qword ptr [rsi + 16]
- - 0.99 0.01 - - - - mov ecx, edx
- - 0.99 0.01 - - - - and ecx, 3
- - 0.97 0.03 - - - - cmp ecx, 1
- - - - - 1.00 - - jne .LBB5_1
- - - - - - 1.00 - mov rcx, qword ptr [rsi]
- - - - - - 0.99 0.01 mov rsi, qword ptr [rsi + 8]
- - 0.01 0.99 - - - - lea rdi, [rdx + 2*rdx]
- - - 0.96 - 0.04 - - add rdi, rcx
- - 0.03 - - 0.97 - - add rdi, 9
- - 0.01 0.03 - 0.96 - - sub rsi, rdx
- - - - 1.00 - 1.00 - mov qword ptr [rax + 8], rdx
- - - - 1.00 - - 1.00 mov qword ptr [rax + 16], rdi
- - - - 1.00 - 0.01 0.99 mov qword ptr [rax + 24], rsi
- - - - 1.00 - 0.99 0.01 mov qword ptr [rax], rcx
- - - - - 1.00 - - ret
- - - - - - - - xor ecx, ecx
- - - - 1.00 - 0.01 0.99 mov qword ptr [rax], rcx
- - - - - 1.00 - - ret