|
| 1 | +Iterations: 100 |
| 2 | +Instructions: 5400 |
| 3 | +Total Cycles: 6595 |
| 4 | +Total uOps: 6800 |
| 5 | + |
| 6 | +Dispatch Width: 4 |
| 7 | +uOps Per Cycle: 1.03 |
| 8 | +IPC: 0.82 |
| 9 | +Block RThroughput: 17.0 |
| 10 | + |
| 11 | + |
| 12 | +Instruction Info: |
| 13 | +[1]: #uOps |
| 14 | +[2]: Latency |
| 15 | +[3]: RThroughput |
| 16 | +[4]: MayLoad |
| 17 | +[5]: MayStore |
| 18 | +[6]: HasSideEffects (U) |
| 19 | + |
| 20 | +[1] [2] [3] [4] [5] [6] Instructions: |
| 21 | + 2 5 1.00 * push r15 |
| 22 | + 2 5 1.00 * push r14 |
| 23 | + 2 5 1.00 * push r13 |
| 24 | + 2 5 1.00 * push r12 |
| 25 | + 2 5 1.00 * push rbx |
| 26 | + 1 1 0.33 sub rsp, 32 |
| 27 | + 1 1 0.33 mov rbx, rdi |
| 28 | + 1 5 0.50 * mov rax, qword ptr [rdi] |
| 29 | + 1 5 0.50 * mov r12, qword ptr [rdi + 16] |
| 30 | + 1 1 0.33 mov rcx, rax |
| 31 | + 1 1 0.33 sub rcx, r12 |
| 32 | + 1 1 0.33 cmp rsi, rcx |
| 33 | + 1 1 1.00 jbe .LBB6_3 |
| 34 | + 1 1 0.33 mov r15, r12 |
| 35 | + 1 1 0.33 add r15, rsi |
| 36 | + 1 1 1.00 jae .LBB6_6 |
| 37 | + 1 0 0.25 xor eax, eax |
| 38 | + 1 1 1.00 jmp .LBB6_5 |
| 39 | + 1 5 0.50 * mov rax, qword ptr [rbx + 8] |
| 40 | + 1 1 0.50 lea r15, [r12 + rsi] |
| 41 | + 1 1 0.50 lea rcx, [r12 + 2*r12] |
| 42 | + 1 1 0.50 lea rdi, [rax + 2*rcx] |
| 43 | + 1 1 0.33 add rsi, rsi |
| 44 | + 1 1 0.50 lea rdx, [rsi + 2*rsi] |
| 45 | + 1 0 0.25 xor esi, esi |
| 46 | + 4 7 1.00 * call qword ptr [rip + memset@GOTPCREL] |
| 47 | + 1 1 1.00 * mov qword ptr [rbx + 16], r15 |
| 48 | + 1 1 0.33 mov al, 1 |
| 49 | + 1 1 0.33 add rsp, 32 |
| 50 | + 1 6 0.50 * pop rbx |
| 51 | + 1 6 0.50 * pop r12 |
| 52 | + 1 6 0.50 * pop r13 |
| 53 | + 1 6 0.50 * pop r14 |
| 54 | + 1 6 0.50 * pop r15 |
| 55 | + 1 1 1.00 U ret |
| 56 | + 1 1 0.33 mov r13, rsi |
| 57 | + 1 1 0.50 lea rcx, [rax + rax] |
| 58 | + 1 1 0.33 cmp r15, rcx |
| 59 | + 3 3 1.00 cmova rcx, r15 |
| 60 | + 1 1 0.33 cmp rcx, 5 |
| 61 | + 1 1 0.33 mov r14d, 4 |
| 62 | + 2 2 0.67 cmovae r14, rcx |
| 63 | + 1 5 0.50 * mov rdx, qword ptr [rbx + 8] |
| 64 | + 1 1 0.50 lea rdi, [rsp + 8] |
| 65 | + 1 1 0.33 mov rsi, rax |
| 66 | + 1 1 0.33 mov rcx, r14 |
| 67 | + 3 5 1.00 call <alloc::raw_vec::RawVecInner>::finish_grow |
| 68 | + 2 6 0.50 * cmp dword ptr [rsp + 8], 1 |
| 69 | + 1 1 1.00 je .LBB6_2 |
| 70 | + 1 5 0.50 * mov rax, qword ptr [rsp + 16] |
| 71 | + 1 1 1.00 * mov qword ptr [rbx + 8], rax |
| 72 | + 1 1 1.00 * mov qword ptr [rbx], r14 |
| 73 | + 1 1 0.33 mov rsi, r13 |
| 74 | + 1 1 1.00 jmp .LBB6_4 |
| 75 | + |
| 76 | + |
| 77 | +Resources: |
| 78 | +[0] - SBDivider |
| 79 | +[1] - SBFPDivider |
| 80 | +[2] - SBPort0 |
| 81 | +[3] - SBPort1 |
| 82 | +[4] - SBPort4 |
| 83 | +[5] - SBPort5 |
| 84 | +[6.0] - SBPort23 |
| 85 | +[6.1] - SBPort23 |
| 86 | + |
| 87 | + |
| 88 | +Resource pressure per iteration: |
| 89 | +[0] [1] [2] [3] [4] [5] [6.0] [6.1] |
| 90 | + - - 12.00 12.00 10.00 13.00 11.00 11.00 |
| 91 | + |
| 92 | +Resource pressure by instruction: |
| 93 | +[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: |
| 94 | + - - - - 1.00 - 0.49 0.51 push r15 |
| 95 | + - - - - 1.00 - 0.51 0.49 push r14 |
| 96 | + - - - - 1.00 - 0.50 0.50 push r13 |
| 97 | + - - - - 1.00 - 0.50 0.50 push r12 |
| 98 | + - - - - 1.00 - 0.50 0.50 push rbx |
| 99 | + - - 0.01 0.99 - - - - sub rsp, 32 |
| 100 | + - - - - - 1.00 - - mov rbx, rdi |
| 101 | + - - - - - - 0.50 0.50 mov rax, qword ptr [rdi] |
| 102 | + - - - - - - 0.50 0.50 mov r12, qword ptr [rdi + 16] |
| 103 | + - - - 1.00 - - - - mov rcx, rax |
| 104 | + - - - 0.99 - 0.01 - - sub rcx, r12 |
| 105 | + - - - - - 1.00 - - cmp rsi, rcx |
| 106 | + - - - - - 1.00 - - jbe .LBB6_3 |
| 107 | + - - 0.01 0.98 - 0.01 - - mov r15, r12 |
| 108 | + - - 0.99 0.01 - - - - add r15, rsi |
| 109 | + - - - - - 1.00 - - jae .LBB6_6 |
| 110 | + - - - - - - - - xor eax, eax |
| 111 | + - - - - - 1.00 - - jmp .LBB6_5 |
| 112 | + - - - - - - 0.50 0.50 mov rax, qword ptr [rbx + 8] |
| 113 | + - - 1.00 - - - - - lea r15, [r12 + rsi] |
| 114 | + - - 0.98 0.02 - - - - lea rcx, [r12 + 2*r12] |
| 115 | + - - 0.99 0.01 - - - - lea rdi, [rax + 2*rcx] |
| 116 | + - - - 1.00 - - - - add rsi, rsi |
| 117 | + - - 0.99 0.01 - - - - lea rdx, [rsi + 2*rsi] |
| 118 | + - - - - - - - - xor esi, esi |
| 119 | + - - - - 1.00 1.00 1.00 1.00 call qword ptr [rip + memset@GOTPCREL] |
| 120 | + - - - - 1.00 - 0.50 0.50 mov qword ptr [rbx + 16], r15 |
| 121 | + - - 0.01 0.99 - - - - mov al, 1 |
| 122 | + - - 1.00 - - - - - add rsp, 32 |
| 123 | + - - - - - - 0.50 0.50 pop rbx |
| 124 | + - - - - - - 0.50 0.50 pop r12 |
| 125 | + - - - - - - 0.50 0.50 pop r13 |
| 126 | + - - - - - - 0.50 0.50 pop r14 |
| 127 | + - - - - - - 0.50 0.50 pop r15 |
| 128 | + - - - - - 1.00 - - ret |
| 129 | + - - 1.00 - - - - - mov r13, rsi |
| 130 | + - - 0.01 0.99 - - - - lea rcx, [rax + rax] |
| 131 | + - - 0.99 0.01 - - - - cmp r15, rcx |
| 132 | + - - 2.00 0.01 - 0.99 - - cmova rcx, r15 |
| 133 | + - - 0.01 0.99 - - - - cmp rcx, 5 |
| 134 | + - - 0.01 0.99 - - - - mov r14d, 4 |
| 135 | + - - 1.00 0.01 - 0.99 - - cmovae r14, rcx |
| 136 | + - - - - - - 0.50 0.50 mov rdx, qword ptr [rbx + 8] |
| 137 | + - - 0.01 0.99 - - - - lea rdi, [rsp + 8] |
| 138 | + - - - 1.00 - - - - mov rsi, rax |
| 139 | + - - - 0.01 - 0.99 - - mov rcx, r14 |
| 140 | + - - - - 1.00 1.00 0.50 0.50 call <alloc::raw_vec::RawVecInner>::finish_grow |
| 141 | + - - - 0.99 - 0.01 0.50 0.50 cmp dword ptr [rsp + 8], 1 |
| 142 | + - - - - - 1.00 - - je .LBB6_2 |
| 143 | + - - - - - - 0.50 0.50 mov rax, qword ptr [rsp + 16] |
| 144 | + - - - - 1.00 - 0.49 0.51 mov qword ptr [rbx + 8], rax |
| 145 | + - - - - 1.00 - 0.51 0.49 mov qword ptr [rbx], r14 |
| 146 | + - - 0.99 0.01 - - - - mov rsi, r13 |
| 147 | + - - - - - 1.00 - - jmp .LBB6_4 |
0 commit comments