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 |