Function: qmcplusplus::BsplineAllocator<double, 64ul, qmcplusplus::Mallocator<double, 64ul> >::setCo ... | Module: libqmcwfs.so | Source: BsplineAllocator.hpp:171-180 [...] | Coverage: 1.83% |
---|
Function: qmcplusplus::BsplineAllocator<double, 64ul, qmcplusplus::Mallocator<double, 64ul> >::setCo ... | Module: libqmcwfs.so | Source: BsplineAllocator.hpp:171-180 [...] | Coverage: 1.83% |
---|
/home/kcamus/qaas_runs/169-390-4082/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/OhmmsArray.h: 156 - 156 |
-------------------------------------------------------------------------------- |
156: return X[k + Length[2] * (j + Length[1] * i)]; |
/usr/include/c++/13.1.1/bits/stl_vector.h: 1126 - 1126 |
-------------------------------------------------------------------------------- |
1126: return *(this->_M_impl._M_start + __n); |
/home/kcamus/qaas_runs/169-390-4082/intel/miniqmc/build/miniqmc/src/Numerics/Spline2/BsplineAllocator.hpp: 171 - 180 |
-------------------------------------------------------------------------------- |
171: #pragma omp parallel for collapse(3) |
172: for (int ix = 0; ix < spline->x_grid.num + 3; ix++) |
173: for (int iy = 0; iy < spline->y_grid.num + 3; iy++) |
174: for (int iz = 0; iz < spline->z_grid.num + 3; iz++) |
175: { |
176: intptr_t xs = spline->x_stride; |
177: intptr_t ys = spline->y_stride; |
178: intptr_t zs = spline->z_stride; |
179: for (int ind = first; ind < last; ind++) |
180: spline->coefs[ix * xs + iy * ys + iz * zs + ind] = coeff(ix, iy, iz) * prefactor[ind]; |
0xc0f0 PUSH %RBP |
0xc0f1 MOV %RSP,%RBP |
0xc0f4 PUSH %R15 |
0xc0f6 PUSH %R14 |
0xc0f8 PUSH %R13 |
0xc0fa PUSH %R12 |
0xc0fc PUSH %RBX |
0xc0fd SUB $0x48,%RSP |
0xc101 MOV 0x8(%RDI),%R13 |
0xc105 MOV 0x38(%R13),%EAX |
0xc109 MOV 0x60(%R13),%EBX |
0xc10d MOV 0x88(%R13),%ECX |
0xc114 LEA 0x3(%RBX),%EDX |
0xc117 ADD $0x3,%EAX |
0xc11a MOV %EDX,-0x6c(%RBP) |
0xc11d TEST %EAX,%EAX |
0xc11f JLE c3b8 |
0xc125 TEST %EDX,%EDX |
0xc127 JLE c3b8 |
0xc12d IMUL %EAX,%EDX |
0xc130 LEA 0x3(%RCX),%R12D |
0xc134 MOV %EDX,%R14D |
0xc137 TEST %R12D,%R12D |
0xc13a JLE c3b8 |
0xc140 MOV %RDI,%R15 |
0xc143 CALL 8310 <omp_get_num_threads@plt> |
0xc148 MOV %EAX,%EBX |
0xc14a CALL 8340 <omp_get_thread_num@plt> |
0xc14f XOR %EDX,%EDX |
0xc151 MOV %EAX,%ESI |
0xc153 MOV %R14D,%EAX |
0xc156 IMUL %R12D,%EAX |
0xc15a DIV %EBX |
0xc15c MOV %EAX,%R8D |
0xc15f CMP %EDX,%ESI |
0xc161 JB c3e1 |
0xc167 IMUL %R8D,%ESI |
0xc16b LEA (%RSI,%RDX,1),%EAX |
0xc16e LEA (%R8,%RAX,1),%EDI |
0xc172 CMP %EDI,%EAX |
0xc174 JAE c3b8 |
0xc17a XOR %EDX,%EDX |
0xc17c MOV 0x20(%R13),%RBX |
0xc180 MOV 0x1c(%R15),%R10D |
0xc184 LEA -0x1(%R8),%ESI |
0xc188 DIV %R12D |
0xc18b MOV 0x18(%R15),%R14D |
0xc18f MOV 0x18(%R13),%RCX |
0xc193 MOV %ESI,-0x3c(%RBP) |
0xc196 MOV %RBX,-0x58(%RBP) |
0xc19a MOV (%R15),%RBX |
0xc19d MOV 0x10(%R15),%R15 |
0xc1a1 MOV 0x10(%R13),%R11 |
0xc1a5 MOV %RCX,-0x50(%RBP) |
0xc1a9 MOV %R12D,-0x34(%RBP) |
0xc1ad MOV %R15,-0x60(%RBP) |
0xc1b1 MOV %R10D,-0x38(%RBP) |
0xc1b5 MOV %R11,-0x48(%RBP) |
0xc1b9 MOVSXD %R14D,%R15 |
0xc1bc SUB %R14D,%R10D |
0xc1bf XOR %R11D,%R11D |
0xc1c2 LEA (,%R15,8),%R8 |
0xc1ca SAL $0x3,%R10 |
0xc1ce MOV %R8,-0x68(%RBP) |
0xc1d2 MOV %EDX,%R9D |
0xc1d5 XOR %EDX,%EDX |
0xc1d7 DIVL -0x6c(%RBP) |
0xc1da MOV %EAX,-0x40(%RBP) |
0xc1dd NOPL (%RAX) |
(60) 0xc1e0 CMP %R14D,-0x38(%RBP) |
(60) 0xc1e4 JLE c39c |
(60) 0xc1ea MOVSXD -0x40(%RBP),%R8 |
(60) 0xc1ee MOV 0x8(%RBX),%R12 |
(60) 0xc1f2 MOVSXD %EDX,%RAX |
(60) 0xc1f5 MOVSXD %R9D,%RCX |
(60) 0xc1f8 MOV 0x18(%RBX),%RDI |
(60) 0xc1fc MOV -0x68(%RBP),%RSI |
(60) 0xc200 IMUL %R8,%R12 |
(60) 0xc204 ADD %RAX,%R12 |
(60) 0xc207 IMUL 0x10(%RBX),%R12 |
(60) 0xc20c ADD %RCX,%R12 |
(60) 0xc20f LEA (%RDI,%R12,8),%RDI |
(60) 0xc213 MOV -0x60(%RBP),%R12 |
(60) 0xc217 ADD (%R12),%RSI |
(60) 0xc21b MOV -0x48(%RBP),%R12 |
(60) 0xc21f IMUL %R12,%R8 |
(60) 0xc223 MOV -0x50(%RBP),%R12 |
(60) 0xc227 IMUL %R12,%RAX |
(60) 0xc22b LEA -0x8(%R10),%R12 |
(60) 0xc22f SHR $0x3,%R12 |
(60) 0xc233 INC %R12 |
(60) 0xc236 ADD %R8,%RAX |
(60) 0xc239 MOV -0x58(%RBP),%R8 |
(60) 0xc23d IMUL %R8,%RCX |
(60) 0xc241 ADD %RCX,%RAX |
(60) 0xc244 MOV 0x8(%R13),%RCX |
(60) 0xc248 ADD %R15,%RAX |
(60) 0xc24b LEA (%RCX,%RAX,8),%RCX |
(60) 0xc24f XOR %EAX,%EAX |
(60) 0xc251 AND $0x7,%R12D |
(60) 0xc255 JE c309 |
(60) 0xc25b CMP $0x1,%R12 |
(60) 0xc25f JE c2ee |
(60) 0xc265 CMP $0x2,%R12 |
(60) 0xc269 JE c2dc |
(60) 0xc26b CMP $0x3,%R12 |
(60) 0xc26f JE c2ca |
(60) 0xc271 CMP $0x4,%R12 |
(60) 0xc275 JE c2b8 |
(60) 0xc277 CMP $0x5,%R12 |
(60) 0xc27b JE c2a6 |
(60) 0xc27d CMP $0x6,%R12 |
(60) 0xc281 JE c294 |
(60) 0xc283 VMOVSD (%RDI),%XMM0 |
(60) 0xc287 MOV $0x8,%EAX |
(60) 0xc28c VMULSD (%RSI),%XMM0,%XMM1 |
(60) 0xc290 VMOVSD %XMM1,(%RCX) |
(60) 0xc294 VMOVSD (%RDI),%XMM2 |
(60) 0xc298 VMULSD (%RSI,%RAX,1),%XMM2,%XMM3 |
(60) 0xc29d VMOVSD %XMM3,(%RCX,%RAX,1) |
(60) 0xc2a2 ADD $0x8,%RAX |
(60) 0xc2a6 VMOVSD (%RDI),%XMM4 |
(60) 0xc2aa VMULSD (%RSI,%RAX,1),%XMM4,%XMM5 |
(60) 0xc2af VMOVSD %XMM5,(%RCX,%RAX,1) |
(60) 0xc2b4 ADD $0x8,%RAX |
(60) 0xc2b8 VMOVSD (%RDI),%XMM6 |
(60) 0xc2bc VMULSD (%RSI,%RAX,1),%XMM6,%XMM7 |
(60) 0xc2c1 VMOVSD %XMM7,(%RCX,%RAX,1) |
(60) 0xc2c6 ADD $0x8,%RAX |
(60) 0xc2ca VMOVSD (%RDI),%XMM8 |
(60) 0xc2ce VMULSD (%RSI,%RAX,1),%XMM8,%XMM9 |
(60) 0xc2d3 VMOVSD %XMM9,(%RCX,%RAX,1) |
(60) 0xc2d8 ADD $0x8,%RAX |
(60) 0xc2dc VMOVSD (%RDI),%XMM10 |
(60) 0xc2e0 VMULSD (%RSI,%RAX,1),%XMM10,%XMM11 |
(60) 0xc2e5 VMOVSD %XMM11,(%RCX,%RAX,1) |
(60) 0xc2ea ADD $0x8,%RAX |
(60) 0xc2ee VMOVSD (%RDI),%XMM12 |
(60) 0xc2f2 VMULSD (%RSI,%RAX,1),%XMM12,%XMM13 |
(60) 0xc2f7 VMOVSD %XMM13,(%RCX,%RAX,1) |
(60) 0xc2fc ADD $0x8,%RAX |
(60) 0xc300 CMP %RAX,%R10 |
(60) 0xc303 JE c39c |
(60) 0xc309 MOV -0x34(%RBP),%R8D |
(61) 0xc30d VMOVSD (%RDI),%XMM14 |
(61) 0xc311 VMULSD (%RSI,%RAX,1),%XMM14,%XMM15 |
(61) 0xc316 VMOVSD %XMM15,(%RCX,%RAX,1) |
(61) 0xc31b VMOVSD (%RDI),%XMM0 |
(61) 0xc31f VMULSD 0x8(%RSI,%RAX,1),%XMM0,%XMM1 |
(61) 0xc325 VMOVSD %XMM1,0x8(%RCX,%RAX,1) |
(61) 0xc32b VMOVSD (%RDI),%XMM2 |
(61) 0xc32f VMULSD 0x10(%RSI,%RAX,1),%XMM2,%XMM3 |
(61) 0xc335 VMOVSD %XMM3,0x10(%RCX,%RAX,1) |
(61) 0xc33b VMOVSD (%RDI),%XMM4 |
(61) 0xc33f VMULSD 0x18(%RSI,%RAX,1),%XMM4,%XMM5 |
(61) 0xc345 VMOVSD %XMM5,0x18(%RCX,%RAX,1) |
(61) 0xc34b VMOVSD (%RDI),%XMM6 |
(61) 0xc34f VMULSD 0x20(%RSI,%RAX,1),%XMM6,%XMM7 |
(61) 0xc355 VMOVSD %XMM7,0x20(%RCX,%RAX,1) |
(61) 0xc35b VMOVSD (%RDI),%XMM8 |
(61) 0xc35f VMULSD 0x28(%RSI,%RAX,1),%XMM8,%XMM9 |
(61) 0xc365 VMOVSD %XMM9,0x28(%RCX,%RAX,1) |
(61) 0xc36b VMOVSD (%RDI),%XMM10 |
(61) 0xc36f VMULSD 0x30(%RSI,%RAX,1),%XMM10,%XMM11 |
(61) 0xc375 VMOVSD %XMM11,0x30(%RCX,%RAX,1) |
(61) 0xc37b VMOVSD (%RDI),%XMM12 |
(61) 0xc37f VMULSD 0x38(%RSI,%RAX,1),%XMM12,%XMM13 |
(61) 0xc385 VMOVSD %XMM13,0x38(%RCX,%RAX,1) |
(61) 0xc38b ADD $0x40,%RAX |
(61) 0xc38f CMP %RAX,%R10 |
(61) 0xc392 JNE c30d |
(60) 0xc398 MOV %R8D,-0x34(%RBP) |
(60) 0xc39c CMP %R11D,-0x3c(%RBP) |
(60) 0xc3a0 JE c3b8 |
(60) 0xc3a2 INC %R9D |
(60) 0xc3a5 CMP %R9D,-0x34(%RBP) |
(60) 0xc3a9 JLE c3d0 |
(60) 0xc3ab INC %R11D |
(60) 0xc3ae JMP c1e0 |
0xc3b3 NOPL (%RAX,%RAX,1) |
0xc3b8 ADD $0x48,%RSP |
0xc3bc POP %RBX |
0xc3bd POP %R12 |
0xc3bf POP %R13 |
0xc3c1 POP %R14 |
0xc3c3 POP %R15 |
0xc3c5 POP %RBP |
0xc3c6 RET |
0xc3c7 NOPW (%RAX,%RAX,1) |
(60) 0xc3d0 INC %EDX |
(60) 0xc3d2 XOR %R9D,%R9D |
(60) 0xc3d5 CMP %EDX,-0x6c(%RBP) |
(60) 0xc3d8 JG c3ab |
(60) 0xc3da INCL -0x40(%RBP) |
(60) 0xc3dd XOR %EDX,%EDX |
(60) 0xc3df JMP c3ab |
0xc3e1 INC %R8D |
0xc3e4 XOR %EDX,%EDX |
0xc3e6 JMP c167 |
0xc3eb NOP |
0xc3ec NOPL (%RAX) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
○100.00 | GOMP_parallel | libgomp.h:985 | libgomp.so.1.0.0 |
Path / |
Source file and lines | BsplineAllocator.hpp:171-180 |
Module | libqmcwfs.so |
nb instructions | 84 |
nb uops | 114 |
loop length | 284 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 10 |
micro-operation queue | 28.50 cycles |
front end | 28.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
---|---|---|---|---|---|---|---|---|
uops | 15.00 | 15.00 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
cycles | 15.00 | 16.25 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
Cycles executing div or sqrt instructions | 18.00 |
FE+BE cycles | 24.07-24.01 |
Stall cycles | 1.01-0.95 |
ROB full (events) | 1.37-1.32 |
Front-end | 28.50 |
Dispatch | 18.00 |
DIV/SQRT | 18.00 |
Overall L1 | 28.50 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 0% |
all | 8% |
load | 7% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 10% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 6% |
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 $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV 0x8(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x38(%R13),%EAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x60(%R13),%EBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x88(%R13),%ECX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA 0x3(%RBX),%EDX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
ADD $0x3,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV %EDX,-0x6c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
TEST %EAX,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
TEST %EDX,%EDX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %EAX,%EDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA 0x3(%RCX),%R12D | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDX,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
TEST %R12D,%R12D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
MOV %RDI,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 8310 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
MOV %EAX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 8340 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %R14D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
IMUL %R12D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %EBX | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CMP %EDX,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JB c3e1 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2f1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %R8D,%ESI | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA (%RSI,%RDX,1),%EAX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
LEA (%R8,%RAX,1),%EDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EDI,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JAE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV 0x20(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x1c(%R15),%R10D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA -0x1(%R8),%ESI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
DIV %R12D | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV 0x18(%R15),%R14D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x18(%R13),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %ESI,-0x3c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RBX,-0x58(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV (%R15),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R13),%R11 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R12D,-0x34(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R15,-0x60(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R10D,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R11,-0x48(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOVSXD %R14D,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
SUB %R14D,%R10D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %R11D,%R11D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
LEA (,%R15,8),%R8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
SAL $0x3,%R10 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
MOV %R8,-0x68(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
DIVL -0x6c(%RBP) | 11 | 2.50 | 2.50 | 0.50 | 0.50 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
ADD $0x48,%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 (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
INC %R8D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
JMP c167 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x77> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1-2 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
Source file and lines | BsplineAllocator.hpp:171-180 |
Module | libqmcwfs.so |
nb instructions | 84 |
nb uops | 114 |
loop length | 284 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 10 |
micro-operation queue | 28.50 cycles |
front end | 28.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | |
---|---|---|---|---|---|---|---|---|
uops | 15.00 | 15.00 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
cycles | 15.00 | 16.25 | 12.33 | 12.33 | 18.00 | 15.00 | 15.00 | 12.33 |
Cycles executing div or sqrt instructions | 18.00 |
FE+BE cycles | 24.07-24.01 |
Stall cycles | 1.01-0.95 |
ROB full (events) | 1.37-1.32 |
Front-end | 28.50 |
Dispatch | 18.00 |
DIV/SQRT | 18.00 |
Overall L1 | 28.50 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 0% |
all | 8% |
load | 7% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 10% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 6% |
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 $0x48,%RSP | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV 0x8(%RDI),%R13 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x38(%R13),%EAX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x60(%R13),%EBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x88(%R13),%ECX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA 0x3(%RBX),%EDX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
ADD $0x3,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
MOV %EDX,-0x6c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
TEST %EAX,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
TEST %EDX,%EDX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %EAX,%EDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA 0x3(%RCX),%R12D | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDX,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
TEST %R12D,%R12D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JLE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
MOV %RDI,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 8310 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
MOV %EAX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CALL 8340 | 2 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 1 | 0.33 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV %R14D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
IMUL %R12D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %EBX | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
CMP %EDX,%ESI | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JB c3e1 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2f1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
IMUL %R8D,%ESI | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
LEA (%RSI,%RDX,1),%EAX | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
LEA (%R8,%RAX,1),%EDI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EDI,%EAX | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
JAE c3b8 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x2c8> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50-1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
MOV 0x20(%R13),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x1c(%R15),%R10D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
LEA -0x1(%R8),%ESI | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
DIV %R12D | 10 | 2.50 | 2.50 | 0 | 0 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV 0x18(%R15),%R14D | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x18(%R13),%RCX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %ESI,-0x3c(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %RBX,-0x58(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV (%R15),%RBX | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV 0x10(%R13),%R11 | 1 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4-5 | 0.50 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R12D,-0x34(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R15,-0x60(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R10D,-0x38(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %R11,-0x48(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOVSXD %R14D,%R15 | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
SUB %R14D,%R10D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %R11D,%R11D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
LEA (,%R15,8),%R8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 1 | 0.50 |
SAL $0x3,%R10 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 1 | 0.50 |
MOV %R8,-0x68(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
DIVL -0x6c(%RBP) | 11 | 2.50 | 2.50 | 0.50 | 0.50 | 0 | 2.50 | 2.50 | 0 | 26 | 6 |
MOV %EAX,-0x40(%RBP) | 1 | 0 | 0 | 0.33 | 0.33 | 1 | 0 | 0 | 0.33 | 3 | 1 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
ADD $0x48,%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 (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
INC %R8D | 1 | 0.25 | 0.25 | 0 | 0 | 0 | 0.25 | 0.25 | 0 | 1 | 0.25 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
JMP c167 <_ZN11qmcplusplus16BsplineAllocatorIdLm64ENS_10MallocatorIdLm64EEEE26setCoefficientsForOrbitalsEiiR5ArrayIdLj3EEP19multi_UBspline_3d_d._omp_fn.0.lto_priv.0+0x77> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1-2 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
NOPL (%RAX) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼qmcplusplus::BsplineAllocator | 1.83 | 0.02 |
▼Loop 60 - BsplineAllocator.hpp:171-180 - libqmcwfs.so– | 0 | 0 |
○Loop 61 - BsplineAllocator.hpp:179-180 - libqmcwfs.so | 1.83 | 0.02 |