| Function: hypre_IJMatrixSetDiagOffdSizesParCSR | Module: exec | Source: IJMatrix_parcsr.c:178-219 [...] | Coverage: 0.01% |
|---|
| Function: hypre_IJMatrixSetDiagOffdSizesParCSR | Module: exec | Source: IJMatrix_parcsr.c:178-219 [...] | Coverage: 0.01% |
|---|
/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; |
0x4c4a30 PUSH %RBP |
0x4c4a31 MOV %RSP,%RBP |
0x4c4a34 PUSH %R15 |
0x4c4a36 PUSH %R14 |
0x4c4a38 PUSH %R13 |
0x4c4a3a PUSH %R12 |
0x4c4a3c PUSH %RBX |
0x4c4a3d SUB $0x18,%RSP |
0x4c4a41 MOV %RDX,%R12 |
0x4c4a44 MOV %RSI,%RBX |
0x4c4a47 MOV %RDI,%R14 |
0x4c4a4a MOV 0x20(%RDI),%R13 |
0x4c4a4e MOV 0x28(%RDI),%RAX |
0x4c4a52 MOV %RAX,-0x40(%RBP) |
0x4c4a56 MOV %RAX,-0x30(%RBP) |
0x4c4a5a TEST %R13,%R13 |
0x4c4a5d JNE 4c4a6b |
0x4c4a5f MOV %R14,%RDI |
0x4c4a62 CALL 4c4880 <hypre_IJMatrixCreateParCSR> |
0x4c4a67 MOV 0x20(%R14),%R13 |
0x4c4a6b MOV %R14,-0x38(%RBP) |
0x4c4a6f MOV 0x38(%R13),%R14 |
0x4c4a73 MOV (%R14),%RAX |
0x4c4a76 MOV 0x10(%R14),%R15 |
0x4c4a7a TEST %RAX,%RAX |
0x4c4a7d JNE 4c4a8d |
0x4c4a7f LEA 0x1(%R15),%RDI |
0x4c4a83 MOV $0x8,%ESI |
0x4c4a88 CALL 4dd8f0 <hypre_CAlloc> |
0x4c4a8d TEST %R15,%R15 |
0x4c4a90 JLE 4c4b31 |
0x4c4a96 CMP $0x8,%R15 |
0x4c4a9a JB 4c4b07 |
0x4c4a9c MOV %R15,%RCX |
0x4c4a9f SHR $0x3,%RCX |
0x4c4aa3 MOV (%RAX),%RDX |
0x4c4aa6 MOV $0x38,%ESI |
0x4c4aab NOPL (%RAX,%RAX,1) |
(3605) 0x4c4ab0 ADD -0x38(%RBX,%RSI,1),%RDX |
(3605) 0x4c4ab5 MOV %RDX,-0x30(%RAX,%RSI,1) |
(3605) 0x4c4aba ADD -0x30(%RBX,%RSI,1),%RDX |
(3605) 0x4c4abf MOV %RDX,-0x28(%RAX,%RSI,1) |
(3605) 0x4c4ac4 ADD -0x28(%RBX,%RSI,1),%RDX |
(3605) 0x4c4ac9 MOV %RDX,-0x20(%RAX,%RSI,1) |
(3605) 0x4c4ace ADD -0x20(%RBX,%RSI,1),%RDX |
(3605) 0x4c4ad3 MOV %RDX,-0x18(%RAX,%RSI,1) |
(3605) 0x4c4ad8 ADD -0x18(%RBX,%RSI,1),%RDX |
(3605) 0x4c4add MOV %RDX,-0x10(%RAX,%RSI,1) |
(3605) 0x4c4ae2 ADD -0x10(%RBX,%RSI,1),%RDX |
(3605) 0x4c4ae7 MOV %RDX,-0x8(%RAX,%RSI,1) |
(3605) 0x4c4aec ADD -0x8(%RBX,%RSI,1),%RDX |
(3605) 0x4c4af1 MOV %RDX,(%RAX,%RSI,1) |
(3605) 0x4c4af5 ADD (%RBX,%RSI,1),%RDX |
(3605) 0x4c4af9 MOV %RDX,0x8(%RAX,%RSI,1) |
(3605) 0x4c4afe ADD $0x40,%RSI |
(3605) 0x4c4b02 DEC %RCX |
(3605) 0x4c4b05 JNE 4c4ab0 |
0x4c4b07 MOV %R15,%RCX |
0x4c4b0a AND $-0x8,%RCX |
0x4c4b0e CMP %R15,%RCX |
0x4c4b11 JAE 4c4b31 |
0x4c4b13 MOV (%RAX,%RCX,8),%RDX |
0x4c4b17 NOPW (%RAX,%RAX,1) |
(3604) 0x4c4b20 ADD (%RBX,%RCX,8),%RDX |
(3604) 0x4c4b24 MOV %RDX,0x8(%RAX,%RCX,8) |
(3604) 0x4c4b29 INC %RCX |
(3604) 0x4c4b2c CMP %RCX,%R15 |
(3604) 0x4c4b2f JNE 4c4b20 |
0x4c4b31 MOV %RAX,(%R14) |
0x4c4b34 MOV (%RAX,%R15,8),%RAX |
0x4c4b38 MOV %RAX,0x20(%R14) |
0x4c4b3c MOV 0x40(%R13),%RBX |
0x4c4b40 MOV (%RBX),%RAX |
0x4c4b43 TEST %RAX,%RAX |
0x4c4b46 JNE 4c4b56 |
0x4c4b48 LEA 0x1(%R15),%RDI |
0x4c4b4c MOV $0x8,%ESI |
0x4c4b51 CALL 4dd8f0 <hypre_CAlloc> |
0x4c4b56 TEST %R15,%R15 |
0x4c4b59 JLE 4c4c01 |
0x4c4b5f CMP $0x8,%R15 |
0x4c4b63 JB 4c4bd7 |
0x4c4b65 MOV %R15,%RCX |
0x4c4b68 SHR $0x3,%RCX |
0x4c4b6c MOV (%RAX),%RDX |
0x4c4b6f MOV $0x38,%ESI |
0x4c4b74 NOPW %CS:(%RAX,%RAX,1) |
(3603) 0x4c4b80 ADD -0x38(%R12,%RSI,1),%RDX |
(3603) 0x4c4b85 MOV %RDX,-0x30(%RAX,%RSI,1) |
(3603) 0x4c4b8a ADD -0x30(%R12,%RSI,1),%RDX |
(3603) 0x4c4b8f MOV %RDX,-0x28(%RAX,%RSI,1) |
(3603) 0x4c4b94 ADD -0x28(%R12,%RSI,1),%RDX |
(3603) 0x4c4b99 MOV %RDX,-0x20(%RAX,%RSI,1) |
(3603) 0x4c4b9e ADD -0x20(%R12,%RSI,1),%RDX |
(3603) 0x4c4ba3 MOV %RDX,-0x18(%RAX,%RSI,1) |
(3603) 0x4c4ba8 ADD -0x18(%R12,%RSI,1),%RDX |
(3603) 0x4c4bad MOV %RDX,-0x10(%RAX,%RSI,1) |
(3603) 0x4c4bb2 ADD -0x10(%R12,%RSI,1),%RDX |
(3603) 0x4c4bb7 MOV %RDX,-0x8(%RAX,%RSI,1) |
(3603) 0x4c4bbc ADD -0x8(%R12,%RSI,1),%RDX |
(3603) 0x4c4bc1 MOV %RDX,(%RAX,%RSI,1) |
(3603) 0x4c4bc5 ADD (%R12,%RSI,1),%RDX |
(3603) 0x4c4bc9 MOV %RDX,0x8(%RAX,%RSI,1) |
(3603) 0x4c4bce ADD $0x40,%RSI |
(3603) 0x4c4bd2 DEC %RCX |
(3603) 0x4c4bd5 JNE 4c4b80 |
0x4c4bd7 MOV %R15,%RCX |
0x4c4bda AND $-0x8,%RCX |
0x4c4bde CMP %R15,%RCX |
0x4c4be1 JAE 4c4c01 |
0x4c4be3 MOV (%RAX,%RCX,8),%RDX |
0x4c4be7 NOPW (%RAX,%RAX,1) |
(3602) 0x4c4bf0 ADD (%R12,%RCX,8),%RDX |
(3602) 0x4c4bf4 MOV %RDX,0x8(%RAX,%RCX,8) |
(3602) 0x4c4bf9 INC %RCX |
(3602) 0x4c4bfc CMP %RCX,%R15 |
(3602) 0x4c4bff JNE 4c4bf0 |
0x4c4c01 MOV %RAX,(%RBX) |
0x4c4c04 MOV (%RAX,%R15,8),%RAX |
0x4c4c08 MOV %RAX,0x20(%RBX) |
0x4c4c0c MOV -0x40(%RBP),%RCX |
0x4c4c10 TEST %RCX,%RCX |
0x4c4c13 JNE 4c4c33 |
0x4c4c15 MOV 0x18(%R14),%RDX |
0x4c4c19 LEA -0x30(%RBP),%RDI |
0x4c4c1d MOV %R15,%RSI |
0x4c4c20 XOR %ECX,%ECX |
0x4c4c22 CALL 4cf040 <hypre_AuxParCSRMatrixCreate> |
0x4c4c27 MOV -0x30(%RBP),%RCX |
0x4c4c2b MOV -0x38(%RBP),%RAX |
0x4c4c2f MOV %RCX,0x28(%RAX) |
0x4c4c33 MOVQ $0,0x10(%RCX) |
0x4c4c3b MOV 0x67f96(%RIP),%RAX |
0x4c4c42 ADD $0x18,%RSP |
0x4c4c46 POP %RBX |
0x4c4c47 POP %R12 |
0x4c4c49 POP %R13 |
0x4c4c4b POP %R14 |
0x4c4c4d POP %R15 |
0x4c4c4f POP %RBP |
0x4c4c50 RET |
0x4c4c51 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 4c4a6b | 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 4c4880 | 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 4c4a8d | 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 4dd8f0 | 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 4c4b31 | 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 4c4b07 | 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 4c4b31 | 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 4c4b56 | 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 4dd8f0 | 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 4c4c01 | 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 4c4bd7 | 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 4c4c01 | 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 4c4c33 | 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 4cf040 | 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 0x67f96(%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 4c4a6b | 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 4c4880 | 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 4c4a8d | 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 4dd8f0 | 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 4c4b31 | 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 4c4b07 | 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 4c4b31 | 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 4c4b56 | 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 4dd8f0 | 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 4c4c01 | 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 4c4bd7 | 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 4c4c01 | 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 4c4c33 | 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 4cf040 | 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 0x67f96(%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.01 | 0 |
| ○Loop 3605 - IJMatrix_parcsr.c:199-200 - exec | 0.01 | 0 |
| ○Loop 3602 - IJMatrix_parcsr.c:207-208 - exec | 0 | 0 |
| ○Loop 3603 - IJMatrix_parcsr.c:207-208 - exec | 0 | 0 |
| ○Loop 3604 - IJMatrix_parcsr.c:199-200 - exec | 0 | 0 |
