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-172-8218/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: } |
0x4e5500 PUSH %RBP |
0x4e5501 MOV %RSP,%RBP |
0x4e5504 MOV $-0x1,%RAX |
0x4e550b TEST %RDX,%RDX |
0x4e550e JLE 4e5581 |
0x4e5510 DEC %RDX |
0x4e5513 XOR %ECX,%ECX |
0x4e5515 JMP 4e552b |
0x4e5517 NOPW (%RAX,%RAX,1) |
(4415) 0x4e5520 DEC %R8 |
(4415) 0x4e5523 MOV %R8,%RDX |
(4415) 0x4e5526 CMP %RDX,%RCX |
(4415) 0x4e5529 JG 4e5581 |
(4415) 0x4e552b LEA (%RDX,%RCX,1),%R9 |
(4415) 0x4e552f MOV %R9,%R8 |
(4415) 0x4e5532 SHR $0x3f,%R8 |
(4415) 0x4e5536 ADD %R9,%R8 |
(4415) 0x4e5539 SAR $0x1,%R8 |
(4415) 0x4e553c CMP %RSI,(%RDI,%R8,8) |
(4415) 0x4e5540 JLE 4e5550 |
(4415) 0x4e5542 DEC %R8 |
(4415) 0x4e5545 MOV %R8,%RDX |
(4415) 0x4e5548 CMP %RDX,%RCX |
(4415) 0x4e554b JLE 4e555d |
0x4e554d JMP 4e5581 |
0x4e554f NOP |
(4415) 0x4e5550 JGE 4e5583 |
(4415) 0x4e5552 INC %R8 |
(4415) 0x4e5555 MOV %R8,%RCX |
(4415) 0x4e5558 CMP %RDX,%RCX |
(4415) 0x4e555b JG 4e5581 |
(4415) 0x4e555d LEA (%RDX,%RCX,1),%R9 |
(4415) 0x4e5561 MOV %R9,%R8 |
(4415) 0x4e5564 SHR $0x3f,%R8 |
(4415) 0x4e5568 ADD %R9,%R8 |
(4415) 0x4e556b SAR $0x1,%R8 |
(4415) 0x4e556e CMP %RSI,(%RDI,%R8,8) |
(4415) 0x4e5572 JG 4e5520 |
(4415) 0x4e5574 JGE 4e5583 |
(4415) 0x4e5576 INC %R8 |
(4415) 0x4e5579 MOV %R8,%RCX |
(4415) 0x4e557c CMP %RDX,%RCX |
(4415) 0x4e557f JLE 4e552b |
0x4e5581 POP %RBP |
0x4e5582 RET |
0x4e5583 MOV %R8,%RAX |
0x4e5586 POP %RBP |
0x4e5587 RET |
0x4e5588 NOPL (%RAX,%RAX,1) |
Path / |
Source file and lines | binsearch.c:29-53 |
Module | exec |
nb instructions | 17 |
nb uops | 17 |
loop length | 50 |
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.83 cycles |
front end | 2.83 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.93-2.95 |
Stall cycles | 0.00 |
Front-end | 2.83 |
Dispatch | 1.50 |
Overall L1 | 2.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 | 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 4e5581 <hypre_BinarySearch+0x81> | 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 4e552b <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 |
JMP 4e5581 <hypre_BinarySearch+0x81> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOP | 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 |
NOPL (%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 | 17 |
nb uops | 17 |
loop length | 50 |
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.83 cycles |
front end | 2.83 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.93-2.95 |
Stall cycles | 0.00 |
Front-end | 2.83 |
Dispatch | 1.50 |
Overall L1 | 2.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 | 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 4e5581 <hypre_BinarySearch+0x81> | 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 4e552b <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 |
JMP 4e5581 <hypre_BinarySearch+0x81> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOP | 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 |
NOPL (%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 4415 - binsearch.c:35-44 - exec | 0.01 | 0.01 |