Function: hypre_qsort0 | Module: libHYPRE_utilities.so | Source: hypre_qsort.c:31-187 [...] | Coverage: 0.01% |
---|
Function: hypre_qsort0 | Module: libHYPRE_utilities.so | Source: hypre_qsort.c:31-187 [...] | Coverage: 0.01% |
---|
/scratch_na/users/xoserete/qaas_runs/171-415-3872/intel/AMG/build/AMG/AMG/utilities/hypre_qsort.c: 31 - 187 |
-------------------------------------------------------------------------------- |
31: temp = v[i]; |
32: v[i] = v[j]; |
33: v[j] = temp; |
[...] |
175: if (left >= right) |
176: return; |
177: hypre_swap( v, left, (left+right)/2); |
178: last = left; |
179: for (i = left+1; i <= right; i++) |
180: if (v[i] < v[left]) |
181: { |
182: hypre_swap(v, ++last, i); |
183: } |
184: hypre_swap(v, left, last); |
185: hypre_qsort0(v, left, last-1); |
186: hypre_qsort0(v, last+1, right); |
187: } |
0x6400 CMP %RDX,%RSI |
0x6403 JGE 657c |
0x6409 PUSH %RBP |
0x640a MOV %RSP,%RBP |
0x640d PUSH %R15 |
0x640f PUSH %R14 |
0x6411 PUSH %R12 |
0x6413 PUSH %RBX |
0x6414 MOV %RDX,%RBX |
0x6417 MOV %RDI,%R14 |
0x641a LEA 0x20(%RDI),%R15 |
0x641e MOV %RSI,%R12 |
0x6421 JMP 645c |
0x6423 NOPW %CS:(%RAX,%RAX,1) |
(24) 0x6430 MOV (%R14,%RSI,8),%RAX |
(24) 0x6434 MOV (%R14,%R12,8),%RCX |
(24) 0x6438 MOV %RCX,(%R14,%RSI,8) |
(24) 0x643c MOV %RAX,(%R14,%R12,8) |
(24) 0x6440 LEA -0x1(%R12),%RDX |
(24) 0x6445 MOV %R14,%RDI |
(24) 0x6448 CALL 3f40 <hypre_qsort0@plt> |
(24) 0x644d INC %R12 |
(24) 0x6450 MOV %R12,%RSI |
(24) 0x6453 CMP %RBX,%R12 |
(24) 0x6456 JGE 6574 |
(24) 0x645c LEA (%RSI,%RBX,1),%RAX |
(24) 0x6460 MOV %RAX,%RCX |
(24) 0x6463 SHR $0x3f,%RCX |
(24) 0x6467 ADD %RAX,%RCX |
(24) 0x646a MOV (%R14,%RSI,8),%RAX |
(24) 0x646e AND $-0x2,%RCX |
(24) 0x6472 MOV (%R14,%RCX,4),%RDX |
(24) 0x6476 MOV %RDX,(%R14,%RSI,8) |
(24) 0x647a MOV %RAX,(%R14,%RCX,4) |
(24) 0x647e LEA 0x1(%RSI),%RAX |
(24) 0x6482 CMP %RAX,%RBX |
(24) 0x6485 CMOVG %RBX,%RAX |
(24) 0x6489 MOV %RAX,%RCX |
(24) 0x648c SUB %RSI,%RCX |
(24) 0x648f CMP $0x4,%RCX |
(24) 0x6493 JAE 64e0 |
(24) 0x6495 MOV %RCX,%RDX |
(24) 0x6498 AND $-0x4,%RDX |
(24) 0x649c CMP %RCX,%RDX |
(24) 0x649f JE 6430 |
(24) 0x64a1 ADD %RSI,%RDX |
(24) 0x64a4 JMP 64bc |
0x64a6 NOPW %CS:(%RAX,%RAX,1) |
(25) 0x64b0 INC %RDX |
(25) 0x64b3 CMP %RDX,%RAX |
(25) 0x64b6 JE 6430 |
(25) 0x64bc MOV 0x8(%R14,%RDX,8),%RCX |
(25) 0x64c1 CMP (%R14,%RSI,8),%RCX |
(25) 0x64c5 JGE 64b0 |
(25) 0x64c7 MOV 0x8(%R14,%R12,8),%RDI |
(25) 0x64cc MOV %RCX,0x8(%R14,%R12,8) |
(25) 0x64d1 INC %R12 |
(25) 0x64d4 MOV %RDI,0x8(%R14,%RDX,8) |
(25) 0x64d9 JMP 64b0 |
0x64db NOPL (%RAX,%RAX,1) |
(24) 0x64e0 MOV %RCX,%RDX |
(24) 0x64e3 SHR $0x2,%RDX |
(24) 0x64e7 LEA (%R15,%RSI,8),%RDI |
(24) 0x64eb MOV %RSI,%R12 |
(24) 0x64ee JMP 64f9 |
(26) 0x64f0 ADD $0x20,%RDI |
(26) 0x64f4 DEC %RDX |
(26) 0x64f7 JE 6495 |
(26) 0x64f9 MOV -0x18(%RDI),%R9 |
(26) 0x64fd MOV (%R14,%RSI,8),%R8 |
(26) 0x6501 CMP %R8,%R9 |
(26) 0x6504 JGE 651b |
(26) 0x6506 MOV 0x8(%R14,%R12,8),%R8 |
(26) 0x650b MOV %R9,0x8(%R14,%R12,8) |
(26) 0x6510 INC %R12 |
(26) 0x6513 MOV %R8,-0x18(%RDI) |
(26) 0x6517 MOV (%R14,%RSI,8),%R8 |
(26) 0x651b MOV -0x10(%RDI),%R9 |
(26) 0x651f CMP %R8,%R9 |
(26) 0x6522 JGE 6539 |
(26) 0x6524 MOV 0x8(%R14,%R12,8),%R8 |
(26) 0x6529 MOV %R9,0x8(%R14,%R12,8) |
(26) 0x652e INC %R12 |
(26) 0x6531 MOV %R8,-0x10(%RDI) |
(26) 0x6535 MOV (%R14,%RSI,8),%R8 |
(26) 0x6539 MOV -0x8(%RDI),%R9 |
(26) 0x653d CMP %R8,%R9 |
(26) 0x6540 JGE 6557 |
(26) 0x6542 MOV 0x8(%R14,%R12,8),%R8 |
(26) 0x6547 MOV %R9,0x8(%R14,%R12,8) |
(26) 0x654c INC %R12 |
(26) 0x654f MOV %R8,-0x8(%RDI) |
(26) 0x6553 MOV (%R14,%RSI,8),%R8 |
(26) 0x6557 MOV (%RDI),%R9 |
(26) 0x655a CMP %R8,%R9 |
(26) 0x655d JGE 64f0 |
(26) 0x655f MOV 0x8(%R14,%R12,8),%R8 |
(26) 0x6564 MOV %R9,0x8(%R14,%R12,8) |
(26) 0x6569 INC %R12 |
(26) 0x656c MOV %R8,(%RDI) |
(26) 0x656f JMP 64f0 |
0x6574 POP %RBX |
0x6575 POP %R12 |
0x6577 POP %R14 |
0x6579 POP %R15 |
0x657b POP %RBP |
0x657c RET |
0x657d NOPL (%RAX) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►13.63+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►9.09+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_ParTMatmul | par_csr_matop.c:3359 | libparcsr_mv.so |
○ | hypre_BoomerAMGSetup | par_amg.c:2965 | libparcsr_ls.so |
○ | hypre_PCGSetup | pcg.c:234 | libkrylov.so |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►9.09+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►9.09+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_ParTMatmul | par_csr_matop.c:3359 | libparcsr_mv.so |
○ | hypre_BoomerAMGSetup | par_amg.c:2965 | libparcsr_ls.so |
○ | hypre_PCGSetup | pcg.c:234 | libkrylov.so |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.55+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_ParTMatmul | par_csr_matop.c:3359 | libparcsr_mv.so |
○ | hypre_BoomerAMGSetup | par_amg.c:2965 | libparcsr_ls.so |
○ | hypre_PCGSetup | pcg.c:234 | libkrylov.so |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_ParTMatmul | par_csr_matop.c:3359 | libparcsr_mv.so |
○ | hypre_BoomerAMGSetup | par_amg.c:2965 | libparcsr_ls.so |
○ | hypre_PCGSetup | pcg.c:234 | libkrylov.so |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_ParTMatmul | par_csr_matop.c:3359 | libparcsr_mv.so |
○ | hypre_BoomerAMGSetup | par_amg.c:2965 | libparcsr_ls.so |
○ | hypre_PCGSetup | pcg.c:234 | libkrylov.so |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►4.54+ | hypre_merge_sort.extracted | hypre_merge_sort.c:265 | libHYPRE_utilities.so |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►4.54+ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_qsort0 | hypre_qsort.c:186 | libHYPRE_utilities.so |
○ | hypre_IJMatrixAssembleParCSR | IJMatrix_parcsr.c:2832 | libIJ_mv.so |
○ | BuildIJLaplacian27pt | amg.c:2267 | exec |
○ | main | amg.c:274 | exec |
○ | __libc_start_main | libc-2.28.so |
Path / |
Source file and lines | hypre_qsort.c:31-187 |
Module | libHYPRE_utilities.so |
nb instructions | 23 |
nb uops | 23 |
loop length | 75 |
used x86 registers | 10 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 3.83 cycles |
front end | 3.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.40 | 2.00 | 2.00 | 2.50 | 0.40 | 1.00 | 2.50 | 2.50 | 2.50 | 0.20 | 2.00 |
cycles | 1.00 | 0.40 | 2.00 | 2.00 | 2.50 | 0.40 | 1.00 | 2.50 | 2.50 | 2.50 | 0.20 | 2.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 3.93-3.95 |
Stall cycles | 0.00 |
Front-end | 3.83 |
Dispatch | 2.50 |
Overall L1 | 3.83 |
all | 0% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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 | 12% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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 | 12% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CMP %RDX,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 657c <hypre_qsort0+0x17c> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %R15 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R14 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R12 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RDX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDI,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x20(%RDI),%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSI,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
JMP 645c <hypre_qsort0+0x5c> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Source file and lines | hypre_qsort.c:31-187 |
Module | libHYPRE_utilities.so |
nb instructions | 23 |
nb uops | 23 |
loop length | 75 |
used x86 registers | 10 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 3.83 cycles |
front end | 3.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.40 | 2.00 | 2.00 | 2.50 | 0.40 | 1.00 | 2.50 | 2.50 | 2.50 | 0.20 | 2.00 |
cycles | 1.00 | 0.40 | 2.00 | 2.00 | 2.50 | 0.40 | 1.00 | 2.50 | 2.50 | 2.50 | 0.20 | 2.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 3.93-3.95 |
Stall cycles | 0.00 |
Front-end | 3.83 |
Dispatch | 2.50 |
Overall L1 | 3.83 |
all | 0% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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 | 12% |
load | NA (no load vectorizable/vectorized instructions) |
store | NA (no store vectorizable/vectorized instructions) |
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 | 12% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CMP %RDX,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 657c <hypre_qsort0+0x17c> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %R15 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R14 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R12 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RDX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDI,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x20(%RDI),%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSI,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
JMP 645c <hypre_qsort0+0x5c> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼hypre_qsort0– | 0.01 | 0 |
▼Loop 24 - hypre_qsort.c:31-186 - libHYPRE_utilities.so– | 0 | 0 |
○Loop 26 - hypre_qsort.c:31-182 - libHYPRE_utilities.so | 0 | 0.05 |
○Loop 25 - hypre_qsort.c:31-182 - libHYPRE_utilities.so | 0 | 0 |