| Function: hypre_IJMatrixSetDiagOffdSizesParCSR | Module: exec | Source: IJMatrix_parcsr.c:178-219 [...] | Coverage: 0.03% |
|---|
| Function: hypre_IJMatrixSetDiagOffdSizesParCSR | Module: exec | Source: IJMatrix_parcsr.c:178-219 [...] | Coverage: 0.03% |
|---|
/home/kcamus/qaas_runs/169-443-9681/intel/AMG/build/AMG/AMG/IJ_mv/IJMatrix_parcsr.c: 178 - 219 |
-------------------------------------------------------------------------------- |
178: { |
179: HYPRE_Int local_num_rows; |
180: HYPRE_Int i; |
181: hypre_ParCSRMatrix *par_matrix = (hypre_ParCSRMatrix *)hypre_IJMatrixObject(matrix); |
182: hypre_AuxParCSRMatrix *aux_matrix = (hypre_AuxParCSRMatrix *)hypre_IJMatrixTranslator(matrix); |
[...] |
188: if (!par_matrix) |
189: { |
190: hypre_IJMatrixCreateParCSR(matrix); |
191: par_matrix = (hypre_ParCSRMatrix *)hypre_IJMatrixObject(matrix); |
192: } |
193: |
194: diag = hypre_ParCSRMatrixDiag(par_matrix); |
195: diag_i = hypre_CSRMatrixI(diag); |
196: local_num_rows = hypre_CSRMatrixNumRows(diag); |
197: if (!diag_i) |
198: diag_i = hypre_CTAlloc(HYPRE_Int, local_num_rows+1); |
199: for (i = 0; i < local_num_rows; i++) |
200: diag_i[i+1] = diag_i[i] + diag_sizes[i]; |
201: hypre_CSRMatrixI(diag) = diag_i; |
202: hypre_CSRMatrixNumNonzeros(diag) = diag_i[local_num_rows]; |
203: offd = hypre_ParCSRMatrixOffd(par_matrix); |
204: offd_i = hypre_CSRMatrixI(offd); |
205: if (!offd_i) |
206: offd_i = hypre_CTAlloc(HYPRE_Int, local_num_rows+1); |
207: for (i = 0; i < local_num_rows; i++) |
208: offd_i[i+1] = offd_i[i] + offdiag_sizes[i]; |
209: hypre_CSRMatrixI(offd) = offd_i; |
210: hypre_CSRMatrixNumNonzeros(offd) = offd_i[local_num_rows]; |
211: if (!aux_matrix) |
212: { |
213: hypre_AuxParCSRMatrixCreate(&aux_matrix, local_num_rows, |
214: hypre_CSRMatrixNumCols(diag), NULL); |
215: hypre_IJMatrixTranslator(matrix) = aux_matrix; |
216: } |
217: hypre_AuxParCSRMatrixNeedAux(aux_matrix) = 0; |
218: |
219: return hypre_error_flag; |
0x4d7f10 PUSH %RBP |
0x4d7f11 MOV %RSP,%RBP |
0x4d7f14 PUSH %R15 |
0x4d7f16 PUSH %R14 |
0x4d7f18 PUSH %R13 |
0x4d7f1a PUSH %R12 |
0x4d7f1c PUSH %RBX |
0x4d7f1d SUB $0x18,%RSP |
0x4d7f21 MOV %RDX,%R12 |
0x4d7f24 MOV %RSI,%RBX |
0x4d7f27 MOV %RDI,%R14 |
0x4d7f2a MOV 0x20(%RDI),%R13 |
0x4d7f2e MOV 0x28(%RDI),%RAX |
0x4d7f32 MOV %RAX,-0x40(%RBP) |
0x4d7f36 MOV %RAX,-0x30(%RBP) |
0x4d7f3a TEST %R13,%R13 |
0x4d7f3d JNE 4d7f4b |
0x4d7f3f MOV %R14,%RDI |
0x4d7f42 CALL 4d7d40 <hypre_IJMatrixCreateParCSR> |
0x4d7f47 MOV 0x20(%R14),%R13 |
0x4d7f4b MOV %R14,-0x38(%RBP) |
0x4d7f4f MOV 0x38(%R13),%R14 |
0x4d7f53 MOV (%R14),%RAX |
0x4d7f56 MOV 0x10(%R14),%R15 |
0x4d7f5a TEST %RAX,%RAX |
0x4d7f5d JNE 4d7f6d |
0x4d7f5f LEA 0x1(%R15),%RDI |
0x4d7f63 MOV $0x8,%ESI |
0x4d7f68 CALL 4f3da0 <hypre_CAlloc> |
0x4d7f6d TEST %R15,%R15 |
0x4d7f70 JLE 4d8011 |
0x4d7f76 CMP $0x8,%R15 |
0x4d7f7a JB 4d7fe7 |
0x4d7f7c MOV %R15,%RCX |
0x4d7f7f SHR $0x3,%RCX |
0x4d7f83 MOV (%RAX),%RDX |
0x4d7f86 MOV $0x38,%ESI |
0x4d7f8b NOPL (%RAX,%RAX,1) |
(3629) 0x4d7f90 ADD -0x38(%RBX,%RSI,1),%RDX |
(3629) 0x4d7f95 MOV %RDX,-0x30(%RAX,%RSI,1) |
(3629) 0x4d7f9a ADD -0x30(%RBX,%RSI,1),%RDX |
(3629) 0x4d7f9f MOV %RDX,-0x28(%RAX,%RSI,1) |
(3629) 0x4d7fa4 ADD -0x28(%RBX,%RSI,1),%RDX |
(3629) 0x4d7fa9 MOV %RDX,-0x20(%RAX,%RSI,1) |
(3629) 0x4d7fae ADD -0x20(%RBX,%RSI,1),%RDX |
(3629) 0x4d7fb3 MOV %RDX,-0x18(%RAX,%RSI,1) |
(3629) 0x4d7fb8 ADD -0x18(%RBX,%RSI,1),%RDX |
(3629) 0x4d7fbd MOV %RDX,-0x10(%RAX,%RSI,1) |
(3629) 0x4d7fc2 ADD -0x10(%RBX,%RSI,1),%RDX |
(3629) 0x4d7fc7 MOV %RDX,-0x8(%RAX,%RSI,1) |
(3629) 0x4d7fcc ADD -0x8(%RBX,%RSI,1),%RDX |
(3629) 0x4d7fd1 MOV %RDX,(%RAX,%RSI,1) |
(3629) 0x4d7fd5 ADD (%RBX,%RSI,1),%RDX |
(3629) 0x4d7fd9 MOV %RDX,0x8(%RAX,%RSI,1) |
(3629) 0x4d7fde ADD $0x40,%RSI |
(3629) 0x4d7fe2 DEC %RCX |
(3629) 0x4d7fe5 JNE 4d7f90 |
0x4d7fe7 MOV %R15,%RCX |
0x4d7fea AND $-0x8,%RCX |
0x4d7fee CMP %R15,%RCX |
0x4d7ff1 JAE 4d8011 |
0x4d7ff3 MOV (%RAX,%RCX,8),%RDX |
0x4d7ff7 NOPW (%RAX,%RAX,1) |
(3628) 0x4d8000 ADD (%RBX,%RCX,8),%RDX |
(3628) 0x4d8004 MOV %RDX,0x8(%RAX,%RCX,8) |
(3628) 0x4d8009 INC %RCX |
(3628) 0x4d800c CMP %RCX,%R15 |
(3628) 0x4d800f JNE 4d8000 |
0x4d8011 MOV %RAX,(%R14) |
0x4d8014 MOV (%RAX,%R15,8),%RAX |
0x4d8018 MOV %RAX,0x20(%R14) |
0x4d801c MOV 0x40(%R13),%RBX |
0x4d8020 MOV (%RBX),%RAX |
0x4d8023 TEST %RAX,%RAX |
0x4d8026 JNE 4d8036 |
0x4d8028 LEA 0x1(%R15),%RDI |
0x4d802c MOV $0x8,%ESI |
0x4d8031 CALL 4f3da0 <hypre_CAlloc> |
0x4d8036 TEST %R15,%R15 |
0x4d8039 JLE 4d80e1 |
0x4d803f CMP $0x8,%R15 |
0x4d8043 JB 4d80b7 |
0x4d8045 MOV %R15,%RCX |
0x4d8048 SHR $0x3,%RCX |
0x4d804c MOV (%RAX),%RDX |
0x4d804f MOV $0x38,%ESI |
0x4d8054 NOPW %CS:(%RAX,%RAX,1) |
(3627) 0x4d8060 ADD -0x38(%R12,%RSI,1),%RDX |
(3627) 0x4d8065 MOV %RDX,-0x30(%RAX,%RSI,1) |
(3627) 0x4d806a ADD -0x30(%R12,%RSI,1),%RDX |
(3627) 0x4d806f MOV %RDX,-0x28(%RAX,%RSI,1) |
(3627) 0x4d8074 ADD -0x28(%R12,%RSI,1),%RDX |
(3627) 0x4d8079 MOV %RDX,-0x20(%RAX,%RSI,1) |
(3627) 0x4d807e ADD -0x20(%R12,%RSI,1),%RDX |
(3627) 0x4d8083 MOV %RDX,-0x18(%RAX,%RSI,1) |
(3627) 0x4d8088 ADD -0x18(%R12,%RSI,1),%RDX |
(3627) 0x4d808d MOV %RDX,-0x10(%RAX,%RSI,1) |
(3627) 0x4d8092 ADD -0x10(%R12,%RSI,1),%RDX |
(3627) 0x4d8097 MOV %RDX,-0x8(%RAX,%RSI,1) |
(3627) 0x4d809c ADD -0x8(%R12,%RSI,1),%RDX |
(3627) 0x4d80a1 MOV %RDX,(%RAX,%RSI,1) |
(3627) 0x4d80a5 ADD (%R12,%RSI,1),%RDX |
(3627) 0x4d80a9 MOV %RDX,0x8(%RAX,%RSI,1) |
(3627) 0x4d80ae ADD $0x40,%RSI |
(3627) 0x4d80b2 DEC %RCX |
(3627) 0x4d80b5 JNE 4d8060 |
0x4d80b7 MOV %R15,%RCX |
0x4d80ba AND $-0x8,%RCX |
0x4d80be CMP %R15,%RCX |
0x4d80c1 JAE 4d80e1 |
0x4d80c3 MOV (%RAX,%RCX,8),%RDX |
0x4d80c7 NOPW (%RAX,%RAX,1) |
(3626) 0x4d80d0 ADD (%R12,%RCX,8),%RDX |
(3626) 0x4d80d4 MOV %RDX,0x8(%RAX,%RCX,8) |
(3626) 0x4d80d9 INC %RCX |
(3626) 0x4d80dc CMP %RCX,%R15 |
(3626) 0x4d80df JNE 4d80d0 |
0x4d80e1 MOV %RAX,(%RBX) |
0x4d80e4 MOV (%RAX,%R15,8),%RAX |
0x4d80e8 MOV %RAX,0x20(%RBX) |
0x4d80ec MOV -0x40(%RBP),%RCX |
0x4d80f0 TEST %RCX,%RCX |
0x4d80f3 JNE 4d8113 |
0x4d80f5 MOV 0x18(%R14),%RDX |
0x4d80f9 LEA -0x30(%RBP),%RDI |
0x4d80fd MOV %R15,%RSI |
0x4d8100 XOR %ECX,%ECX |
0x4d8102 CALL 4e3d60 <hypre_AuxParCSRMatrixCreate> |
0x4d8107 MOV -0x30(%RBP),%RCX |
0x4d810b MOV -0x38(%RBP),%RAX |
0x4d810f MOV %RCX,0x28(%RAX) |
0x4d8113 MOVQ $0,0x10(%RCX) |
0x4d811b MOV 0x5eab6(%RIP),%RAX |
0x4d8122 ADD $0x18,%RSP |
0x4d8126 POP %RBX |
0x4d8127 POP %R12 |
0x4d8129 POP %R13 |
0x4d812b POP %R14 |
0x4d812d POP %R15 |
0x4d812f POP %RBP |
0x4d8130 RET |
0x4d8131 NOPW %CS:(%RAX,%RAX,1) |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►100.00+ | HYPRE_IJMatrixSetDiagOffdSizes | HYPRE_IJMatrix.c:770 | exec |
| ○ | BuildIJLaplacian27pt.extracted | amg.c:1385 | exec |
| ○ | __kmp_invoke_microtask | libiomp5.so | |
| ○ | __kmp_fork_call | libiomp5.so | |
| ○ | __kmpc_fork_call | libiomp5.so | |
| ○ | BuildIJLaplacian27pt | amg.c:760 | exec |
| ○ | main | amg.c:274 | exec |
| ○ | __libc_init_first | libc.so.6 |
| Path / |
| Source file and lines | IJMatrix_parcsr.c:178-219 |
| Module | exec |
| nb instructions | 94 |
| nb uops | 98 |
| loop length | 352 |
| used x86 registers | 12 |
| used mmx registers | 0 |
| used xmm registers | 0 |
| used ymm registers | 0 |
| used zmm registers | 0 |
| nb stack references | 3 |
| micro-operation queue | 24.50 cycles |
| front end | 24.50 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
|---|---|---|---|---|---|---|---|---|
| uops | 9.50 | 9.50 | 15.17 | 14.83 | 19.00 | 9.50 | 9.50 | 15.00 |
| cycles | 9.50 | 9.50 | 15.17 | 14.83 | 19.00 | 9.50 | 9.50 | 15.00 |
| Cycles executing div or sqrt instructions | NA |
| FE+BE cycles | 23.68 |
| Stall cycles | 0.00 |
| Front-end | 24.50 |
| Dispatch | 19.00 |
| Overall L1 | 24.50 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 11% |
| load | 12% |
| store | 11% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 10% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PUSH %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| PUSH %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| SUB $0x18,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| MOV %RDX,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RSI,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RDI,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV 0x20(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV 0x28(%RDI),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV %RAX,-0x30(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| TEST %R13,%R13 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d7f4b | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R14,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| CALL 4d7d40 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| MOV 0x20(%R14),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %R14,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV 0x38(%R13),%R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV (%R14),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV 0x10(%R14),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RAX,%RAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d7f6d | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| LEA 0x1(%R15),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV $0x8,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CALL 4f3da0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| TEST %R15,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JLE 4d8011 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| CMP $0x8,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JB 4d7fe7 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| SHR $0x3,%RCX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
| MOV (%RAX),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV $0x38,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| AND $-0x8,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CMP %R15,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JAE 4d8011 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV (%RAX,%RCX,8),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RAX,(%R14) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV (%RAX,%R15,8),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,0x20(%R14) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV 0x40(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV (%RBX),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RAX,%RAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d8036 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| LEA 0x1(%R15),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV $0x8,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CALL 4f3da0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| TEST %R15,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JLE 4d80e1 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| CMP $0x8,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JB 4d80b7 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| SHR $0x3,%RCX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
| MOV (%RAX),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV $0x38,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| AND $-0x8,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CMP %R15,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JAE 4d80e1 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV (%RAX,%RCX,8),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RAX,(%RBX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV (%RAX,%R15,8),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,0x20(%RBX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV -0x40(%RBP),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RCX,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d8113 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV 0x18(%R14),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| LEA -0x30(%RBP),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV %R15,%RSI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| CALL 4e3d60 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| MOV -0x30(%RBP),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV -0x38(%RBP),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RCX,0x28(%RAX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOVQ $0,0x10(%RCX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 2 | 1 |
| MOV 0x5eab6(%RIP),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| ADD $0x18,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| POP %RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R12 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %RBP | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| RET | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | 0 | 1 |
| NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| Source file and lines | IJMatrix_parcsr.c:178-219 |
| Module | exec |
| nb instructions | 94 |
| nb uops | 98 |
| loop length | 352 |
| used x86 registers | 12 |
| used mmx registers | 0 |
| used xmm registers | 0 |
| used ymm registers | 0 |
| used zmm registers | 0 |
| nb stack references | 3 |
| micro-operation queue | 24.50 cycles |
| front end | 24.50 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
|---|---|---|---|---|---|---|---|---|
| uops | 9.50 | 9.50 | 15.17 | 14.83 | 19.00 | 9.50 | 9.50 | 15.00 |
| cycles | 9.50 | 9.50 | 15.17 | 14.83 | 19.00 | 9.50 | 9.50 | 15.00 |
| Cycles executing div or sqrt instructions | NA |
| FE+BE cycles | 23.68 |
| Stall cycles | 0.00 |
| Front-end | 24.50 |
| Dispatch | 19.00 |
| Overall L1 | 24.50 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| all | 11% |
| load | 12% |
| store | 11% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | NA (no add-sub vectorizable/vectorized instructions) |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 10% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PUSH %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| PUSH %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| PUSH %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| SUB $0x18,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| MOV %RDX,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RSI,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RDI,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV 0x20(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV 0x28(%RDI),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV %RAX,-0x30(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| TEST %R13,%R13 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d7f4b | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R14,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| CALL 4d7d40 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| MOV 0x20(%R14),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %R14,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV 0x38(%R13),%R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV (%R14),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV 0x10(%R14),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RAX,%RAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d7f6d | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| LEA 0x1(%R15),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV $0x8,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CALL 4f3da0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| TEST %R15,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JLE 4d8011 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| CMP $0x8,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JB 4d7fe7 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| SHR $0x3,%RCX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
| MOV (%RAX),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV $0x38,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| AND $-0x8,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CMP %R15,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JAE 4d8011 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV (%RAX,%RCX,8),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RAX,(%R14) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV (%RAX,%R15,8),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,0x20(%R14) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV 0x40(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV (%RBX),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RAX,%RAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d8036 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| LEA 0x1(%R15),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV $0x8,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CALL 4f3da0 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| TEST %R15,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JLE 4d80e1 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| CMP $0x8,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JB 4d80b7 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| SHR $0x3,%RCX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
| MOV (%RAX),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV $0x38,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %R15,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| AND $-0x8,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| CMP %R15,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JAE 4d80e1 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV (%RAX,%RCX,8),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| MOV %RAX,(%RBX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV (%RAX,%R15,8),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RAX,0x20(%RBX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOV -0x40(%RBP),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| TEST %RCX,%RCX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| JNE 4d8113 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
| MOV 0x18(%R14),%RDX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| LEA -0x30(%RBP),%RDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
| MOV %R15,%RSI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| CALL 4e3d60 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
| MOV -0x30(%RBP),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV -0x38(%RBP),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| MOV %RCX,0x28(%RAX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
| MOVQ $0,0x10(%RCX) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 2 | 1 |
| MOV 0x5eab6(%RIP),%RAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
| ADD $0x18,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
| POP %RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R12 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R14 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| POP %RBP | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 2 | 0.50 |
| RET | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 | 0 | 1 |
| NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
| Name | Coverage (%) | Time (s) |
|---|---|---|
| ▼hypre_IJMatrixSetDiagOffdSizesParCSR– | 0.03 | 0.01 |
| ○Loop 3629 - IJMatrix_parcsr.c:199-200 - exec | 0.01 | 0 |
| ○Loop 3627 - IJMatrix_parcsr.c:207-208 - exec | 0.01 | 0 |
| ○Loop 3628 - IJMatrix_parcsr.c:199-200 - exec | 0 | 0 |
| ○Loop 3626 - IJMatrix_parcsr.c:207-208 - exec | 0 | 0 |
