Function: hypre_LowerBound | Module: libHYPRE_utilities.so | Source: binsearch.c:95-108 | Coverage: 0.01% |
---|
Function: hypre_LowerBound | Module: libHYPRE_utilities.so | Source: binsearch.c:95-108 | Coverage: 0.01% |
---|
/home/eoseret/qaas_runs_CPU_9468/171-716-5699/intel/AMG/build/AMG/AMG/utilities/binsearch.c: 95 - 108 |
-------------------------------------------------------------------------------- |
95: { |
96: HYPRE_Int *it; |
97: size_t count = last - first, step; |
98: |
99: while (count > 0) { |
100: it = first; step = count/2; it += step; |
101: if (*it < value) { |
102: first = ++it; |
103: count -= step + 1; |
104: } |
105: else count = step; |
106: } |
107: return first; |
108: } |
0x5110 SUB %RDI,%RSI |
0x5113 MOV %RDI,%RAX |
0x5116 SAR $0x3,%RSI |
0x511a JMP 5132 |
0x511c NOPL (%RAX) |
(5) 0x5120 MOV %RSI,%RCX |
(5) 0x5123 SHR $0x1,%RCX |
(5) 0x5126 LEA (%RAX,%RCX,8),%R8 |
(5) 0x512a CMP %RDX,(%R8) |
(5) 0x512d JL 5140 |
(5) 0x512f MOV %RCX,%RSI |
(5) 0x5132 TEST %RSI,%RSI |
(5) 0x5135 JNE 5120 |
0x5137 RET |
0x5138 NOPL (%RAX,%RAX,1) |
(5) 0x5140 DEC %RSI |
(5) 0x5143 LEA 0x8(%R8),%RAX |
(5) 0x5147 SUB %RCX,%RSI |
(5) 0x514a JMP 5132 |
0x514c NOPL (%RAX) |
Path / |
Source file and lines | binsearch.c:95-108 |
Module | libHYPRE_utilities.so |
nb instructions | 8 |
nb uops | 8 |
loop length | 29 |
used x86 registers | 3 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 1.33 cycles |
front end | 1.33 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.40 | 0.33 | 0.33 | 0.00 | 0.40 | 1.00 | 0.00 | 0.00 | 0.00 | 0.20 | 0.33 |
cycles | 1.00 | 0.40 | 0.33 | 0.33 | 0.00 | 0.40 | 1.00 | 0.00 | 0.00 | 0.00 | 0.20 | 0.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 2.04-3.04 |
Stall cycles | 0.00-0.86 |
Front-end | 1.33 |
Dispatch | 1.00 |
Overall L1 | 1.33 |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SUB %RDI,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RDI,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SAR $0x3,%RSI | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
JMP 5132 <hypre_LowerBound+0x22> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Source file and lines | binsearch.c:95-108 |
Module | libHYPRE_utilities.so |
nb instructions | 8 |
nb uops | 8 |
loop length | 29 |
used x86 registers | 3 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 1.33 cycles |
front end | 1.33 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.40 | 0.33 | 0.33 | 0.00 | 0.40 | 1.00 | 0.00 | 0.00 | 0.00 | 0.20 | 0.33 |
cycles | 1.00 | 0.40 | 0.33 | 0.33 | 0.00 | 0.40 | 1.00 | 0.00 | 0.00 | 0.00 | 0.20 | 0.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 2.04-3.04 |
Stall cycles | 0.00-0.86 |
Front-end | 1.33 |
Dispatch | 1.00 |
Overall L1 | 1.33 |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SUB %RDI,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RDI,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SAR $0x3,%RSI | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
JMP 5132 <hypre_LowerBound+0x22> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼hypre_LowerBound– | 0.01 | 0 |
○Loop 5 - binsearch.c:99-105 - libHYPRE_utilities.so | 0 | 0 |