Function: hypre_BinarySearch | Module: exec | Source: binsearch.c:29-53 [...] | Coverage: 0.01% |
---|
Function: hypre_BinarySearch | Module: exec | Source: binsearch.c:29-53 [...] | Coverage: 0.01% |
---|
/scratch_na/users/xoserete/qaas_runs/171-415-3661/intel/AMG/build/AMG/AMG/utilities/binsearch.c: 29 - 53 |
-------------------------------------------------------------------------------- |
29: { |
30: HYPRE_Int low, high, m; |
31: HYPRE_Int not_found = 1; |
32: |
33: low = 0; |
34: high = list_length-1; |
35: while (not_found && low <= high) |
36: { |
37: m = (low + high) / 2; |
38: if (value < list[m]) |
39: { |
40: high = m - 1; |
41: } |
42: else if (value > list[m]) |
43: { |
44: low = m + 1; |
[...] |
53: } |
0x4d4080 PUSH %RBP |
0x4d4081 MOV %RSP,%RBP |
0x4d4084 MOV $-0x1,%RAX |
0x4d408b TEST %RDX,%RDX |
0x4d408e JLE 4d40cf |
0x4d4090 DEC %RDX |
0x4d4093 XOR %ECX,%ECX |
0x4d4095 JMP 4d40ab |
0x4d4097 NOPW (%RAX,%RAX,1) |
(4145) 0x4d40a0 DEC %R8 |
(4145) 0x4d40a3 MOV %R8,%RDX |
(4145) 0x4d40a6 CMP %RDX,%RCX |
(4145) 0x4d40a9 JG 4d40cf |
(4145) 0x4d40ab LEA (%RDX,%RCX,1),%R9 |
(4145) 0x4d40af MOV %R9,%R8 |
(4145) 0x4d40b2 SHR $0x3f,%R8 |
(4145) 0x4d40b6 ADD %R9,%R8 |
(4145) 0x4d40b9 SAR $0x1,%R8 |
(4145) 0x4d40bc CMP %RSI,(%RDI,%R8,8) |
(4145) 0x4d40c0 JG 4d40a0 |
(4145) 0x4d40c2 JGE 4d40d1 |
(4145) 0x4d40c4 INC %R8 |
(4145) 0x4d40c7 MOV %R8,%RCX |
(4145) 0x4d40ca CMP %RDX,%RCX |
(4145) 0x4d40cd JLE 4d40ab |
0x4d40cf POP %RBP |
0x4d40d0 RET |
0x4d40d1 MOV %R8,%RAX |
0x4d40d4 POP %RBP |
0x4d40d5 RET |
0x4d40d6 NOPW %CS:(%RAX,%RAX,1) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►19.50+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►14.64+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►9.76+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►9.76+ | hypre_ParTMatmul | par_csr_matop.c:3401 | exec |
○ | hypre_BoomerAMGSetup | par_amg_setup.c:1227 | exec |
○ | hypre_PCGSetup | pcg.c:234 | exec |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►9.76+ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►9.75+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►9.75+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►4.88+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►4.88+ | hypre_IJMatrixAssembleParCSR.e[...] | IJMatrix_parcsr.c:2846 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so | |
►4.88+ | hypre_BoomerAMGBuildMultipass | par_multi_interp.c:843 | exec |
○ | hypre_BoomerAMGSetup | par_amg_setup.c:737 | exec |
○ | hypre_PCGSetup | pcg.c:234 | exec |
○ | main | amg.c:398 | exec |
○ | __libc_start_main | libc-2.28.so | |
►2.44+ | hypre_BoomerAMGBuildMultipass.[...] | par_multi_interp.c:2003 | exec |
○ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so |
Path / |
Source file and lines | binsearch.c:29-53 |
Module | exec |
nb instructions | 15 |
nb uops | 15 |
loop length | 49 |
used x86 registers | 6 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 2.50 cycles |
front end | 2.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.50 | 0.80 | 1.33 | 1.33 | 0.50 | 0.60 | 1.50 | 0.50 | 0.50 | 0.50 | 0.60 | 1.33 |
cycles | 1.50 | 0.80 | 1.33 | 1.33 | 0.50 | 0.60 | 1.50 | 0.50 | 0.50 | 0.50 | 0.60 | 1.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 2.60-2.61 |
Stall cycles | 0.00 |
Front-end | 2.50 |
Dispatch | 1.50 |
Overall L1 | 2.50 |
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 | 10% |
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 | 10% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
MOV $-0x1,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
TEST %RDX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 4d40cf <hypre_BinarySearch+0x4f> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
DEC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 4d40ab <hypre_BinarySearch+0x2b> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
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 |
MOV %R8,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
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 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Source file and lines | binsearch.c:29-53 |
Module | exec |
nb instructions | 15 |
nb uops | 15 |
loop length | 49 |
used x86 registers | 6 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 2.50 cycles |
front end | 2.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.50 | 0.80 | 1.33 | 1.33 | 0.50 | 0.60 | 1.50 | 0.50 | 0.50 | 0.50 | 0.60 | 1.33 |
cycles | 1.50 | 0.80 | 1.33 | 1.33 | 0.50 | 0.60 | 1.50 | 0.50 | 0.50 | 0.50 | 0.60 | 1.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 2.60-2.61 |
Stall cycles | 0.00 |
Front-end | 2.50 |
Dispatch | 1.50 |
Overall L1 | 2.50 |
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 | 10% |
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 | 10% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
MOV $-0x1,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
TEST %RDX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 4d40cf <hypre_BinarySearch+0x4f> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
DEC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %ECX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 4d40ab <hypre_BinarySearch+0x2b> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
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 |
MOV %R8,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
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 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼hypre_BinarySearch– | 0.01 | 0 |
○Loop 4145 - binsearch.c:35-44 - exec | 0.01 | 0.01 |