Function: qmcplusplus::TinyVector<double, 3u> qmcplusplus::simd::dot<double, 3u>(double const*, qmcp ... | Module: libqmcwfs.so | Source: inner_product.hpp:149-159 [...] | Coverage: 0.13% |
---|
Function: qmcplusplus::TinyVector<double, 3u> qmcplusplus::simd::dot<double, 3u>(double const*, qmcp ... | Module: libqmcwfs.so | Source: inner_product.hpp:149-159 [...] | Coverage: 0.13% |
---|
/scratch_na/users/xoserete/qaas_runs/171-417-3180/intel/miniqmc/build/miniqmc/src/Platforms/CPU/SIMD/inner_product.hpp: 149 - 159 |
-------------------------------------------------------------------------------- |
149: inline TinyVector<T, D> dot(const T* a, const TinyVector<T, D>* b, int n) |
[...] |
155: for (int i = 0; i < n; i++) |
156: res += a[i] * b[i]; |
157: #endif |
158: return res; |
159: } |
/scratch_na/users/xoserete/qaas_runs/171-417-3180/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/TinyVector.h: 62 - 62 |
-------------------------------------------------------------------------------- |
62: X[d] = T(0); |
/scratch_na/users/xoserete/qaas_runs/171-417-3180/intel/miniqmc/build/miniqmc/src/Numerics/PETE/OperatorTags.h: 63 - 94 |
-------------------------------------------------------------------------------- |
63: return (a * b); |
[...] |
94: (const_cast<T1&>(a) += b); |
0x61ba0 MOV %RDI,%R8 |
0x61ba3 VXORPD %XMM0,%XMM0,%XMM0 |
0x61ba7 MOV %RDX,%RDI |
0x61baa MOV %ECX,%EDX |
0x61bac MOVQ $0,0x10(%R8) |
0x61bb4 VMOVUPD %XMM0,(%R8) |
0x61bb9 TEST %ECX,%ECX |
0x61bbb JLE 61e6b |
0x61bc1 LEA -0x1(%RCX),%EAX |
0x61bc4 CMP $0x2,%EAX |
0x61bc7 JBE 61e74 |
0x61bcd MOV %EDX,%R9D |
0x61bd0 VXORPD %XMM3,%XMM3,%XMM3 |
0x61bd4 MOV %RSI,%RCX |
0x61bd7 MOV %RDI,%R11 |
0x61bda SHR $0x2,%R9D |
0x61bde VMOVAPD %YMM3,%YMM11 |
0x61be2 VMOVAPD %YMM3,%YMM2 |
0x61be6 SAL $0x5,%R9 |
0x61bea LEA (%R9,%RSI,1),%R10 |
0x61bee AND $0x20,%R9D |
0x61bf2 JE 61c70 |
0x61bf4 VMOVUPD (%RDI),%YMM6 |
0x61bf8 VMOVUPD 0x20(%RDI),%YMM5 |
0x61bfd LEA 0x20(%RSI),%RCX |
0x61c01 LEA 0x60(%RDI),%R11 |
0x61c05 VMOVUPD 0x40(%RDI),%YMM4 |
0x61c0a VPALIGNR $0x8,%YMM5,%YMM6,%YMM9 |
0x61c10 VPERMPD $0x2c,%YMM6,%YMM14 |
0x61c16 VBLENDPD $0xc,%YMM5,%YMM6,%YMM2 |
0x61c1c VBLENDPD $0x4,%YMM5,%YMM14,%YMM15 |
0x61c22 VPERMPD $0x53,%YMM9,%YMM10 |
0x61c28 VPERM2F128 $0x2,%YMM5,%YMM6,%YMM1 |
0x61c2e VPERMILPD $0x2,%YMM4,%YMM8 |
0x61c34 VINSERTF128 $0x1,%XMM4,%YMM10,%YMM12 |
0x61c3a VPERM2F128 $0x21,%YMM4,%YMM15,%YMM0 |
0x61c40 VSHUFPD $0x5,%YMM1,%YMM2,%YMM7 |
0x61c45 VBLENDPD $0x7,%YMM12,%YMM4,%YMM13 |
0x61c4b VBLENDPD $0x8,%YMM8,%YMM7,%YMM11 |
0x61c51 VBLENDPD $0x8,%YMM0,%YMM15,%YMM2 |
0x61c57 VFMADD132PD (%RSI),%YMM3,%YMM11 |
0x61c5c VFMADD132PD (%RSI),%YMM3,%YMM2 |
0x61c61 VFMADD231PD (%RSI),%YMM13,%YMM3 |
0x61c66 CMP %RCX,%R10 |
0x61c69 JE 61d69 |
0x61c6f NOP |
(658) 0x61c70 VMOVUPD (%R11),%YMM1 |
(658) 0x61c75 VMOVUPD 0x20(%R11),%YMM7 |
(658) 0x61c7b ADD $0x40,%RCX |
(658) 0x61c7f ADD $0xc0,%R11 |
(658) 0x61c86 VMOVUPD -0x80(%R11),%YMM6 |
(658) 0x61c8c VBLENDPD $0xc,%YMM7,%YMM1,%YMM4 |
(658) 0x61c92 VPERM2F128 $0x2,%YMM7,%YMM1,%YMM5 |
(658) 0x61c98 VPERMPD $0x2c,%YMM1,%YMM0 |
(658) 0x61c9e VPERMILPD $0x2,%YMM6,%YMM9 |
(658) 0x61ca4 VPALIGNR $0x8,%YMM7,%YMM1,%YMM12 |
(658) 0x61caa VSHUFPD $0x5,%YMM5,%YMM4,%YMM8 |
(658) 0x61caf VBLENDPD $0x4,%YMM7,%YMM0,%YMM1 |
(658) 0x61cb5 VBLENDPD $0x8,%YMM9,%YMM8,%YMM10 |
(658) 0x61cbb VMOVUPD -0x60(%R11),%YMM8 |
(658) 0x61cc1 VPERMPD $0x53,%YMM12,%YMM13 |
(658) 0x61cc7 VMOVUPD -0x40(%R11),%YMM9 |
(658) 0x61ccd VMOVUPD -0x20(%R11),%YMM5 |
(658) 0x61cd3 VINSERTF128 $0x1,%XMM6,%YMM13,%YMM14 |
(658) 0x61cd9 VPERM2F128 $0x21,%YMM6,%YMM1,%YMM7 |
(658) 0x61cdf VPALIGNR $0x8,%YMM9,%YMM8,%YMM13 |
(658) 0x61ce5 VPERMPD $0x2c,%YMM8,%YMM0 |
(658) 0x61ceb VBLENDPD $0x7,%YMM14,%YMM6,%YMM15 |
(658) 0x61cf1 VBLENDPD $0x8,%YMM7,%YMM1,%YMM4 |
(658) 0x61cf7 VPERMPD $0x53,%YMM13,%YMM14 |
(658) 0x61cfd VBLENDPD $0x4,%YMM9,%YMM0,%YMM1 |
(658) 0x61d03 VFMADD132PD -0x40(%RCX),%YMM11,%YMM10 |
(658) 0x61d09 VMOVAPD %YMM15,%YMM6 |
(658) 0x61d0d VBLENDPD $0xc,%YMM9,%YMM8,%YMM11 |
(658) 0x61d13 VFMADD132PD -0x40(%RCX),%YMM3,%YMM6 |
(658) 0x61d19 VPERMILPD $0x2,%YMM5,%YMM12 |
(658) 0x61d1f VPERM2F128 $0x2,%YMM9,%YMM8,%YMM3 |
(658) 0x61d25 VINSERTF128 $0x1,%XMM5,%YMM14,%YMM15 |
(658) 0x61d2b VPERM2F128 $0x21,%YMM5,%YMM1,%YMM7 |
(658) 0x61d31 VFMADD132PD -0x40(%RCX),%YMM2,%YMM4 |
(658) 0x61d37 VSHUFPD $0x5,%YMM3,%YMM11,%YMM2 |
(658) 0x61d3c VBLENDPD $0x7,%YMM15,%YMM5,%YMM3 |
(658) 0x61d42 VBLENDPD $0x8,%YMM12,%YMM2,%YMM11 |
(658) 0x61d48 VBLENDPD $0x8,%YMM7,%YMM1,%YMM2 |
(658) 0x61d4e VFMADD132PD -0x20(%RCX),%YMM10,%YMM11 |
(658) 0x61d54 VFMADD132PD -0x20(%RCX),%YMM4,%YMM2 |
(658) 0x61d5a VFMADD132PD -0x20(%RCX),%YMM6,%YMM3 |
(658) 0x61d60 CMP %RCX,%R10 |
(658) 0x61d63 JNE 61c70 |
0x61d69 VEXTRACTF128 $0x1,%YMM11,%XMM9 |
0x61d6f VEXTRACTF128 $0x1,%YMM2,%XMM12 |
0x61d75 VEXTRACTF128 $0x1,%YMM3,%XMM6 |
0x61d7b MOV %EDX,%EAX |
0x61d7d VADDPD %XMM11,%XMM9,%XMM8 |
0x61d82 VADDPD %XMM2,%XMM12,%XMM13 |
0x61d86 AND $-0x4,%EAX |
0x61d89 VADDPD %XMM3,%XMM6,%XMM10 |
0x61d8d VADDPD %XMM9,%XMM11,%XMM11 |
0x61d92 MOV %EAX,%R10D |
0x61d95 VADDPD %XMM6,%XMM3,%XMM7 |
0x61d99 VUNPCKHPD %XMM8,%XMM8,%XMM5 |
0x61d9e VUNPCKHPD %XMM13,%XMM13,%XMM14 |
0x61da3 VADDPD %XMM8,%XMM5,%XMM5 |
0x61da8 VADDPD %XMM13,%XMM14,%XMM15 |
0x61dad VUNPCKHPD %XMM10,%XMM10,%XMM4 |
0x61db2 VADDPD %XMM10,%XMM4,%XMM1 |
0x61db7 VADDPD %XMM12,%XMM2,%XMM10 |
0x61dbc VUNPCKLPD %XMM5,%XMM15,%XMM4 |
0x61dc0 CMP %EAX,%EDX |
0x61dc2 JE 61e6f |
0x61dc8 VZEROUPPER |
0x61dcb SUB %R10D,%EDX |
0x61dce CMP $0x1,%EDX |
0x61dd1 JE 61e41 |
0x61dd3 LEA (%R10,%R10,2),%R9 |
0x61dd7 VMOVUPD (%RSI,%R10,8),%XMM3 |
0x61ddd LEA (%RDI,%R9,8),%RCX |
0x61de1 VMOVUPD (%RCX),%XMM0 |
0x61de5 VMOVUPD 0x20(%RCX),%XMM4 |
0x61dea VMOVUPD 0x10(%RCX),%XMM6 |
0x61def VPERMILPD $0x1,%XMM0,%XMM2 |
0x61df5 VUNPCKLPD %XMM4,%XMM2,%XMM9 |
0x61df9 VBLENDPD $0x2,%XMM6,%XMM0,%XMM5 |
0x61dff VUNPCKLPD %XMM0,%XMM6,%XMM1 |
0x61e03 VFMADD132PD %XMM3,%XMM10,%XMM5 |
0x61e08 VFMADD132PD %XMM3,%XMM11,%XMM9 |
0x61e0d VBLENDPD $0x2,%XMM4,%XMM1,%XMM8 |
0x61e13 VFMADD132PD %XMM8,%XMM7,%XMM3 |
0x61e18 VUNPCKHPD %XMM9,%XMM9,%XMM13 |
0x61e1d VUNPCKHPD %XMM5,%XMM5,%XMM15 |
0x61e21 VADDPD %XMM9,%XMM13,%XMM14 |
0x61e26 VADDPD %XMM5,%XMM15,%XMM10 |
0x61e2a VUNPCKHPD %XMM3,%XMM3,%XMM12 |
0x61e2e VADDPD %XMM3,%XMM12,%XMM1 |
0x61e32 VUNPCKLPD %XMM14,%XMM10,%XMM4 |
0x61e37 TEST $0x1,%DL |
0x61e3a JE 61e60 |
0x61e3c AND $-0x2,%EDX |
0x61e3f ADD %EDX,%EAX |
0x61e41 CLTQ |
0x61e43 VMOVSD (%RSI,%RAX,8),%XMM11 |
0x61e48 LEA (%RAX,%RAX,2),%RDX |
0x61e4c LEA (%RDI,%RDX,8),%RDI |
0x61e50 VMOVDDUP %XMM11,%XMM7 |
0x61e55 VFMADD231SD 0x10(%RDI),%XMM11,%XMM1 |
0x61e5b VFMADD231PD (%RDI),%XMM7,%XMM4 |
0x61e60 VMOVUPD %XMM4,(%R8) |
0x61e65 VMOVSD %XMM1,0x10(%R8) |
0x61e6b MOV %R8,%RAX |
0x61e6e RET |
0x61e6f VZEROUPPER |
0x61e72 JMP 61e60 |
0x61e74 VXORPD %XMM4,%XMM4,%XMM4 |
0x61e78 XOR %R10D,%R10D |
0x61e7b VXORPD %XMM1,%XMM1,%XMM1 |
0x61e7f XOR %EAX,%EAX |
0x61e81 VMOVAPD %XMM4,%XMM7 |
0x61e85 VMOVAPD %XMM4,%XMM11 |
0x61e89 VMOVAPD %XMM4,%XMM10 |
0x61e8d JMP 61dcb |
0x61e92 NOPW %CS:(%RAX,%RAX,1) |
0x61e9d NOPL (%RAX) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►97.93+ | qmcplusplus::WaveFunction::rat[...] | WaveFunction.cpp:198 | libqmcwfs.so |
○ | main._omp_fn.1 | refwrap.h:346 | exec |
○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
►2.07+ | qmcplusplus::WaveFunction::rat[...] | WaveFunction.cpp:198 | libqmcwfs.so |
○ | main._omp_fn.1 | refwrap.h:346 | exec |
○ | GOMP_parallel | libgomp.h:985 | libgomp.so.1.0.0 |
Path / |
Source file and lines | inner_product.hpp:149-159 |
Module | libqmcwfs.so |
nb instructions | 119 |
nb uops | 121 |
loop length | 519 |
used x86 registers | 9 |
used mmx registers | 0 |
used xmm registers | 16 |
used ymm registers | 16 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 20.17 cycles |
front end | 20.17 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 16.17 | 16.33 | 4.67 | 4.67 | 2.00 | 22.00 | 9.30 | 2.00 | 2.00 | 2.00 | 9.20 | 4.67 |
cycles | 16.17 | 16.33 | 4.67 | 4.67 | 2.00 | 22.00 | 9.30 | 2.00 | 2.00 | 2.00 | 9.20 | 4.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 24.33 |
Stall cycles | 3.66 |
ROB full (events) | 3.30 |
RS full (events) | 1.53 |
Front-end | 20.17 |
Dispatch | 22.00 |
Overall L1 | 22.00 |
all | 27% |
load | NA (no load vectorizable/vectorized instructions) |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 30% |
all | 79% |
load | 84% |
store | 66% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | 87% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 71% |
all | 72% |
load | 84% |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | 87% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 62% |
all | 13% |
load | NA (no load vectorizable/vectorized instructions) |
store | 6% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 13% |
all | 28% |
load | 34% |
store | 20% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 25% |
fma | 32% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 28% |
all | 26% |
load | 34% |
store | 17% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 25% |
fma | 32% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV %RDI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPD %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RDX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %ECX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOVQ $0,0x10(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVUPD %XMM0,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
TEST %ECX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 61e6b <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2cb> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA -0x1(%RCX),%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
CMP $0x2,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 61e74 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2d4> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPD %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSI,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDI,%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SHR $0x2,%R9D | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
VMOVAPD %YMM3,%YMM11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %YMM3,%YMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
SAL $0x5,%R9 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%R9,%RSI,1),%R10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
AND $0x20,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
JE 61c70 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0xd0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VMOVUPD (%RDI),%YMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x20(%RDI),%YMM5 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
LEA 0x20(%RSI),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x60(%RDI),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD 0x40(%RDI),%YMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VPALIGNR $0x8,%YMM5,%YMM6,%YMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VPERMPD $0x2c,%YMM6,%YMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VBLENDPD $0xc,%YMM5,%YMM6,%YMM2 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x4,%YMM5,%YMM14,%YMM15 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VPERMPD $0x53,%YMM9,%YMM10 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERM2F128 $0x2,%YMM5,%YMM6,%YMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERMILPD $0x2,%YMM4,%YMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VINSERTF128 $0x1,%XMM4,%YMM10,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERM2F128 $0x21,%YMM4,%YMM15,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VSHUFPD $0x5,%YMM1,%YMM2,%YMM7 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VBLENDPD $0x7,%YMM12,%YMM4,%YMM13 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x8,%YMM8,%YMM7,%YMM11 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x8,%YMM0,%YMM15,%YMM2 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VFMADD132PD (%RSI),%YMM3,%YMM11 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD132PD (%RSI),%YMM3,%YMM2 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD231PD (%RSI),%YMM13,%YMM3 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
CMP %RCX,%R10 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61d69 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x1c9> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VEXTRACTF128 $0x1,%YMM11,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VEXTRACTF128 $0x1,%YMM2,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VEXTRACTF128 $0x1,%YMM3,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %EDX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VADDPD %XMM11,%XMM9,%XMM8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM2,%XMM12,%XMM13 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
AND $-0x4,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
VADDPD %XMM3,%XMM6,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM9,%XMM11,%XMM11 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
MOV %EAX,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VADDPD %XMM6,%XMM3,%XMM7 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM8,%XMM8,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKHPD %XMM13,%XMM13,%XMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM8,%XMM5,%XMM5 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM13,%XMM14,%XMM15 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM10,%XMM10,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM10,%XMM4,%XMM1 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM12,%XMM2,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKLPD %XMM5,%XMM15,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
CMP %EAX,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61e6f <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2cf> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
SUB %R10D,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP $0x1,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61e41 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2a1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA (%R10,%R10,2),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%RSI,%R10,8),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
LEA (%RDI,%R9,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%RCX),%XMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x20(%RCX),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x10(%RCX),%XMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VPERMILPD $0x1,%XMM0,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKLPD %XMM4,%XMM2,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VBLENDPD $0x2,%XMM6,%XMM0,%XMM5 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VUNPCKLPD %XMM0,%XMM6,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VFMADD132PD %XMM3,%XMM10,%XMM5 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %XMM3,%XMM11,%XMM9 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VBLENDPD $0x2,%XMM4,%XMM1,%XMM8 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VFMADD132PD %XMM8,%XMM7,%XMM3 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VUNPCKHPD %XMM9,%XMM9,%XMM13 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKHPD %XMM5,%XMM5,%XMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM9,%XMM13,%XMM14 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM5,%XMM15,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM3,%XMM3,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM3,%XMM12,%XMM1 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKLPD %XMM14,%XMM10,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
TEST $0x1,%DL | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JE 61e60 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2c0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
AND $-0x2,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
ADD %EDX,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CLTQ | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VMOVSD (%RSI,%RAX,8),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA (%RAX,%RAX,2),%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDI,%RDX,8),%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDDUP %XMM11,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VFMADD231SD 0x10(%RDI),%XMM11,%XMM1 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD231PD (%RDI),%XMM7,%XMM4 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VMOVUPD %XMM4,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
VMOVSD %XMM1,0x10(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
JMP 61e60 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2c0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
VXORPD %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %R10D,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EAX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVAPD %XMM4,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %XMM4,%XMM11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %XMM4,%XMM10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
JMP 61dcb <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x22b> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
NOPW %CS:(%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 | inner_product.hpp:149-159 |
Module | libqmcwfs.so |
nb instructions | 119 |
nb uops | 121 |
loop length | 519 |
used x86 registers | 9 |
used mmx registers | 0 |
used xmm registers | 16 |
used ymm registers | 16 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 20.17 cycles |
front end | 20.17 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 16.17 | 16.33 | 4.67 | 4.67 | 2.00 | 22.00 | 9.30 | 2.00 | 2.00 | 2.00 | 9.20 | 4.67 |
cycles | 16.17 | 16.33 | 4.67 | 4.67 | 2.00 | 22.00 | 9.30 | 2.00 | 2.00 | 2.00 | 9.20 | 4.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 24.33 |
Stall cycles | 3.66 |
ROB full (events) | 3.30 |
RS full (events) | 1.53 |
Front-end | 20.17 |
Dispatch | 22.00 |
Overall L1 | 22.00 |
all | 27% |
load | NA (no load vectorizable/vectorized instructions) |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 30% |
all | 79% |
load | 84% |
store | 66% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | 87% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 71% |
all | 72% |
load | 84% |
store | 50% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 100% |
fma | 87% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 62% |
all | 13% |
load | NA (no load vectorizable/vectorized instructions) |
store | 6% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 13% |
all | 28% |
load | 34% |
store | 20% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 25% |
fma | 32% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 28% |
all | 26% |
load | 34% |
store | 17% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 25% |
fma | 32% |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV %RDI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPD %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RDX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %ECX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOVQ $0,0x10(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVUPD %XMM0,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
TEST %ECX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 61e6b <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2cb> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA -0x1(%RCX),%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
CMP $0x2,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 61e74 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2d4> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %EDX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VXORPD %XMM3,%XMM3,%XMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RSI,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDI,%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SHR $0x2,%R9D | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
VMOVAPD %YMM3,%YMM11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %YMM3,%YMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
SAL $0x5,%R9 | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%R9,%RSI,1),%R10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
AND $0x20,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
JE 61c70 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0xd0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VMOVUPD (%RDI),%YMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x20(%RDI),%YMM5 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
LEA 0x20(%RSI),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x60(%RDI),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD 0x40(%RDI),%YMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VPALIGNR $0x8,%YMM5,%YMM6,%YMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VPERMPD $0x2c,%YMM6,%YMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VBLENDPD $0xc,%YMM5,%YMM6,%YMM2 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x4,%YMM5,%YMM14,%YMM15 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VPERMPD $0x53,%YMM9,%YMM10 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERM2F128 $0x2,%YMM5,%YMM6,%YMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERMILPD $0x2,%YMM4,%YMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VINSERTF128 $0x1,%XMM4,%YMM10,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPERM2F128 $0x21,%YMM4,%YMM15,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VSHUFPD $0x5,%YMM1,%YMM2,%YMM7 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VBLENDPD $0x7,%YMM12,%YMM4,%YMM13 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x8,%YMM8,%YMM7,%YMM11 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VBLENDPD $0x8,%YMM0,%YMM15,%YMM2 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VFMADD132PD (%RSI),%YMM3,%YMM11 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD132PD (%RSI),%YMM3,%YMM2 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD231PD (%RSI),%YMM13,%YMM3 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
CMP %RCX,%R10 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61d69 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x1c9> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VEXTRACTF128 $0x1,%YMM11,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VEXTRACTF128 $0x1,%YMM2,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VEXTRACTF128 $0x1,%YMM3,%XMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %EDX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VADDPD %XMM11,%XMM9,%XMM8 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM2,%XMM12,%XMM13 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
AND $-0x4,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
VADDPD %XMM3,%XMM6,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM9,%XMM11,%XMM11 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
MOV %EAX,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
VADDPD %XMM6,%XMM3,%XMM7 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM8,%XMM8,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKHPD %XMM13,%XMM13,%XMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM8,%XMM5,%XMM5 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM13,%XMM14,%XMM15 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM10,%XMM10,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM10,%XMM4,%XMM1 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM12,%XMM2,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKLPD %XMM5,%XMM15,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
CMP %EAX,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61e6f <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2cf> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
SUB %R10D,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP $0x1,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 61e41 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2a1> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA (%R10,%R10,2),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%RSI,%R10,8),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
LEA (%RDI,%R9,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVUPD (%RCX),%XMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x20(%RCX),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x10(%RCX),%XMM6 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VPERMILPD $0x1,%XMM0,%XMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKLPD %XMM4,%XMM2,%XMM9 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VBLENDPD $0x2,%XMM6,%XMM0,%XMM5 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VUNPCKLPD %XMM0,%XMM6,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VFMADD132PD %XMM3,%XMM10,%XMM5 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %XMM3,%XMM11,%XMM9 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VBLENDPD $0x2,%XMM4,%XMM1,%XMM8 | 1 | 0.33 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VFMADD132PD %XMM8,%XMM7,%XMM3 | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VUNPCKHPD %XMM9,%XMM9,%XMM13 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VUNPCKHPD %XMM5,%XMM5,%XMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM9,%XMM13,%XMM14 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VADDPD %XMM5,%XMM15,%XMM10 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM3,%XMM3,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VADDPD %XMM3,%XMM12,%XMM1 | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKLPD %XMM14,%XMM10,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
TEST $0x1,%DL | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JE 61e60 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2c0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
AND $-0x2,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
ADD %EDX,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CLTQ | 1 | 0 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VMOVSD (%RSI,%RAX,8),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA (%RAX,%RAX,2),%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDI,%RDX,8),%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDDUP %XMM11,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
VFMADD231SD 0x10(%RDI),%XMM11,%XMM1 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VFMADD231PD (%RDI),%XMM7,%XMM4 | 1 | 0.50 | 0.50 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 4 | 0.50 |
VMOVUPD %XMM4,(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
VMOVSD %XMM1,0x10(%R8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
JMP 61e60 <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x2c0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
VXORPD %XMM4,%XMM4,%XMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %R10D,%R10D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EAX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVAPD %XMM4,%XMM7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %XMM4,%XMM11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
VMOVAPD %XMM4,%XMM10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0.17 |
JMP 61dcb <_ZN11qmcplusplus4simd3dotIdLj3EEENS_10TinyVectorIT_XT0_EEEPKS3_PKS4_i+0x22b> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
NOPW %CS:(%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) |
---|---|---|
▼qmcplusplus::TinyVector | 0.13 | 0.11 |
○Loop 658 - inner_product.hpp:155-155 - libqmcwfs.so | 0.13 | 0.11 |