1Iterations: 100 2Instructions: 7200 3Total Cycles: 7648 4Total uOps: 9300 5 6Dispatch Width: 4 7uOps Per Cycle: 1.22 8IPC: 0.94 9Block RThroughput: 23.3 10 11 12Instruction 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 rbp 22 2 5 1.00 * push r15 23 2 5 1.00 * push r14 24 2 5 1.00 * push r13 25 2 5 1.00 * push r12 26 2 5 1.00 * push rbx 27 1 1 0.33 sub rsp, 24 28 1 5 0.50 * mov r12, qword ptr [rdi + 16] 29 1 1 0.33 mov r13, r12 30 1 1 0.33 sub r13, rsi 31 1 1 1.00 jb .LBB6_10 32 1 1 0.33 mov rbx, rdi 33 1 5 0.50 * mov rax, qword ptr [rdi] 34 1 1 0.33 mov rcx, rax 35 1 1 0.33 sub rcx, r12 36 1 1 0.33 cmp rdx, rcx 37 1 1 1.00 jbe .LBB6_4 38 1 1 0.33 add r12, rdx 39 1 1 1.00 jae .LBB6_7 40 1 0 0.25 xor eax, eax 41 1 1 1.00 jmp .LBB6_6 42 1 5 0.50 * mov rax, qword ptr [rbx + 8] 43 1 1 0.33 add r12, rdx 44 1 1 0.50 lea rcx, [rsi + 2*rsi] 45 1 1 0.50 lea r14, [rax + 2*rcx] 46 1 1 0.33 add rdx, rdx 47 1 1 0.50 lea r15, [rdx + 2*rdx] 48 1 1 0.50 lea rdi, [r14 + r15] 49 1 1 0.33 add r13, r13 50 1 1 0.50 lea rdx, [2*r13] 51 1 1 0.33 add rdx, r13 52 1 1 0.33 mov rsi, r14 53 4 7 1.00 * call qword ptr [rip + memmove@GOTPCREL] 54 1 1 0.33 mov rdi, r14 55 1 0 0.25 xor esi, esi 56 1 1 0.33 mov rdx, r15 57 4 7 1.00 * call qword ptr [rip + memset@GOTPCREL] 58 1 1 1.00 * mov qword ptr [rbx + 16], r12 59 1 1 0.33 mov al, 1 60 1 1 0.33 add rsp, 24 61 1 6 0.50 * pop rbx 62 1 6 0.50 * pop r12 63 1 6 0.50 * pop r13 64 1 6 0.50 * pop r14 65 1 6 0.50 * pop r15 66 1 6 0.50 * pop rbp 67 1 1 1.00 U ret 68 1 1 0.33 mov r15, rsi 69 1 1 0.33 mov rbp, rdx 70 1 1 0.50 lea rcx, [rax + rax] 71 1 1 0.33 cmp r12, rcx 72 3 3 1.00 cmova rcx, r12 73 1 1 0.33 cmp rcx, 5 74 1 1 0.33 mov r14d, 4 75 2 2 0.67 cmovae r14, rcx 76 1 5 0.50 * mov rdx, qword ptr [rbx + 8] 77 1 1 0.33 mov rdi, rsp 78 1 1 0.33 mov rsi, rax 79 1 1 0.33 mov rcx, r14 80 3 5 1.00 call <alloc::raw_vec::RawVecInner>::finish_grow 81 2 6 0.50 * cmp dword ptr [rsp], 1 82 1 1 1.00 je .LBB6_3 83 1 5 0.50 * mov rax, qword ptr [rsp + 8] 84 1 1 1.00 * mov qword ptr [rbx + 8], rax 85 1 1 1.00 * mov qword ptr [rbx], r14 86 1 1 0.33 mov rdx, rbp 87 1 1 0.33 mov rsi, r15 88 1 1 1.00 jmp .LBB6_5 89 1 1 0.50 lea rdi, [rip + .Lanon.HASH.1] 90 1 1 0.50 lea rdx, [rip + .Lanon.HASH.3] 91 1 1 0.33 mov esi, 37 92 4 7 1.00 * call qword ptr [rip + core::panicking::panic@GOTPCREL] 93 94 95Resources: 96[0] - SBDivider 97[1] - SBFPDivider 98[2] - SBPort0 99[3] - SBPort1 100[4] - SBPort4 101[5] - SBPort5 102[6.0] - SBPort23 103[6.1] - SBPort23 104 105 106Resource pressure per iteration: 107[0] [1] [2] [3] [4] [5] [6.0] [6.1] 108 - - 17.02 16.50 13.00 19.48 14.00 14.00 109 110Resource pressure by instruction: 111[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: 112 - - - - 1.00 - 0.98 0.02 push rbp 113 - - - - 1.00 - 0.02 0.98 push r15 114 - - - - 1.00 - 0.99 0.01 push r14 115 - - - - 1.00 - 0.01 0.99 push r13 116 - - - - 1.00 - 0.99 0.01 push r12 117 - - - - 1.00 - 0.01 0.99 push rbx 118 - - 0.49 0.51 - - - - sub rsp, 24 119 - - - - - - 0.04 0.96 mov r12, qword ptr [rdi + 16] 120 - - 0.49 0.50 - 0.01 - - mov r13, r12 121 - - 0.48 0.51 - 0.01 - - sub r13, rsi 122 - - - - - 1.00 - - jb .LBB6_10 123 - - 0.49 0.49 - 0.02 - - mov rbx, rdi 124 - - - - - - 0.97 0.03 mov rax, qword ptr [rdi] 125 - - 0.51 0.49 - - - - mov rcx, rax 126 - - 0.49 0.02 - 0.49 - - sub rcx, r12 127 - - 0.49 0.50 - 0.01 - - cmp rdx, rcx 128 - - - - - 1.00 - - jbe .LBB6_4 129 - - 0.02 0.49 - 0.49 - - add r12, rdx 130 - - - - - 1.00 - - jae .LBB6_7 131 - - - - - - - - xor eax, eax 132 - - - - - 1.00 - - jmp .LBB6_6 133 - - - - - - 0.97 0.03 mov rax, qword ptr [rbx + 8] 134 - - 0.51 0.49 - - - - add r12, rdx 135 - - 0.49 0.51 - - - - lea rcx, [rsi + 2*rsi] 136 - - 0.50 0.50 - - - - lea r14, [rax + 2*rcx] 137 - - 0.51 0.49 - - - - add rdx, rdx 138 - - 0.50 0.50 - - - - lea r15, [rdx + 2*rdx] 139 - - 0.49 0.51 - - - - lea rdi, [r14 + r15] 140 - - 0.50 0.49 - 0.01 - - add r13, r13 141 - - 0.51 0.49 - - - - lea rdx, [2*r13] 142 - - 0.01 0.01 - 0.98 - - add rdx, r13 143 - - 0.01 - - 0.99 - - mov rsi, r14 144 - - - - 1.00 1.00 1.98 0.02 call qword ptr [rip + memmove@GOTPCREL] 145 - - 0.49 0.50 - 0.01 - - mov rdi, r14 146 - - - - - - - - xor esi, esi 147 - - 0.50 0.50 - - - - mov rdx, r15 148 - - - - 1.00 1.00 1.96 0.04 call qword ptr [rip + memset@GOTPCREL] 149 - - - - 1.00 - 0.01 0.99 mov qword ptr [rbx + 16], r12 150 - - 0.50 - - 0.50 - - mov al, 1 151 - - 0.51 0.49 - - - - add rsp, 24 152 - - - - - - 0.02 0.98 pop rbx 153 - - - - - - 0.03 0.97 pop r12 154 - - - - - - 0.03 0.97 pop r13 155 - - - - - - 0.97 0.03 pop r14 156 - - - - - - 0.03 0.97 pop r15 157 - - - - - - 0.01 0.99 pop rbp 158 - - - - - 1.00 - - ret 159 - - 0.49 0.51 - - - - mov r15, rsi 160 - - 0.51 0.49 - - - - mov rbp, rdx 161 - - 0.49 0.51 - - - - lea rcx, [rax + rax] 162 - - 0.49 0.50 - 0.01 - - cmp r12, rcx 163 - - 1.04 0.50 - 1.46 - - cmova rcx, r12 164 - - 0.49 0.49 - 0.02 - - cmp rcx, 5 165 - - 0.50 - - 0.50 - - mov r14d, 4 166 - - 0.50 0.51 - 0.99 - - cmovae r14, rcx 167 - - - - - - 0.97 0.03 mov rdx, qword ptr [rbx + 8] 168 - - - 0.51 - 0.49 - - mov rdi, rsp 169 - - 0.01 0.50 - 0.49 - - mov rsi, rax 170 - - 0.49 0.50 - 0.01 - - mov rcx, r14 171 - - - - 1.00 1.00 0.99 0.01 call <alloc::raw_vec::RawVecInner>::finish_grow 172 - - 0.51 0.49 - - 0.50 0.50 cmp dword ptr [rsp], 1 173 - - - - - 1.00 - - je .LBB6_3 174 - - - - - - 0.50 0.50 mov rax, qword ptr [rsp + 8] 175 - - - - 1.00 - 0.99 0.01 mov qword ptr [rbx + 8], rax 176 - - - - 1.00 - 0.01 0.99 mov qword ptr [rbx], r14 177 - - 0.49 0.50 - 0.01 - - mov rdx, rbp 178 - - 0.50 0.01 - 0.49 - - mov rsi, r15 179 - - - - - 1.00 - - jmp .LBB6_5 180 - - 0.01 0.99 - - - - lea rdi, [rip + .Lanon.HASH.1] 181 - - 0.99 0.01 - - - - lea rdx, [rip + .Lanon.HASH.3] 182 - - 0.02 0.49 - 0.49 - - mov esi, 37 183 - - - - 1.00 1.00 0.02 1.98 call qword ptr [rip + core::panicking::panic@GOTPCREL] 184