Loop Id: 579 | Module: exec | Source: BsplineFunctor.h:305-336 | Coverage: 0.02% |
---|
Loop Id: 579 | Module: exec | Source: BsplineFunctor.h:305-336 | Coverage: 0.02% |
---|
0x4532c0 VMOVSD (%RSI,%R14,8),%XMM5 [5] |
0x4532c6 VMULSD %XMM5,%XMM1,%XMM21 |
0x4532cc VRNDSCALESD $0xb,%XMM21,%XMM21,%XMM12 |
0x4532d3 VCVTTSD2SI %XMM21,%EAX |
0x4532d9 VSUBSD %XMM12,%XMM21,%XMM0 |
0x4532df CLTQ |
0x4532e1 VBROADCASTSD %XMM0,%YMM18 |
0x4532e7 VMULSD %XMM0,%XMM0,%XMM22 |
0x4532ed VMULSD %XMM22,%XMM0,%XMM12 |
0x4532f3 VBROADCASTSD %XMM12,%YMM0 |
0x4532f8 VMOVAPD %YMM14,%YMM19 |
0x4532fe VMOVAPD %YMM15,%YMM17 |
0x453304 VMULPD %YMM3,%YMM0,%YMM12 |
0x453308 VMOVUPD (%R11,%RAX,8),%YMM0 [4] |
0x45330e VFMADD132PD %YMM18,%YMM4,%YMM19 |
0x453314 VBROADCASTSD %XMM22,%YMM20 |
0x45331a MOVSXD (%R8,%R14,4),%R10 [2] |
0x45331e VDIVSD %XMM5,%XMM11,%XMM5 |
0x453322 INC %R14 |
0x453325 VFMADD132PD %YMM18,%YMM16,%YMM17 |
0x45332b VFMADD132PD %YMM8,%YMM7,%YMM18 |
0x453331 VFMADD231PD %YMM6,%YMM20,%YMM19 |
0x453337 VFMADD132PD %YMM2,%YMM12,%YMM20 |
0x45333d VMULPD %YMM0,%YMM18,%YMM12 |
0x453343 ADD %RDX,%R10 |
0x453346 SAL $0x3,%R10 |
0x45334a VADDPD %YMM20,%YMM17,%YMM24 |
0x453350 VMULPD %YMM0,%YMM19,%YMM23 |
0x453356 VEXTRACTF64X2 $0x1,%YMM12,%XMM26 |
0x45335d VADDPD %XMM12,%XMM26,%XMM27 |
0x453363 VMULPD %YMM0,%YMM24,%YMM25 |
0x453369 VEXTRACTF64X2 $0x1,%YMM23,%XMM28 |
0x453370 VADDPD %XMM23,%XMM28,%XMM29 |
0x453376 VUNPCKHPD %XMM27,%XMM27,%XMM0 |
0x45337c VADDPD %XMM27,%XMM0,%XMM12 |
0x453382 VMULSD %XMM12,%XMM10,%XMM0 |
0x453387 VUNPCKHPD %XMM29,%XMM29,%XMM12 |
0x45338d VMOVSD %XMM0,(%RCX,%R10,1) [6] |
0x453393 VADDPD %XMM29,%XMM12,%XMM0 |
0x453399 VMULSD %XMM0,%XMM1,%XMM12 |
0x45339d VMULSD %XMM12,%XMM5,%XMM0 |
0x4533a2 VEXTRACTF64X2 $0x1,%YMM25,%XMM5 |
0x4533a9 VMOVSD %XMM0,(%R12,%R10,1) [3] |
0x4533af VADDPD %XMM25,%XMM5,%XMM0 |
0x4533b5 VUNPCKHPD %XMM0,%XMM0,%XMM12 |
0x4533b9 VADDPD %XMM0,%XMM12,%XMM5 |
0x4533bd VMOVLPD %XMM5,(%RBX,%R10,1) [1] |
0x4533c3 CMP %R15,%R14 |
0x4533c6 JNE 4532c0 |
/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/QMCWaveFunctions/Jastrow/BsplineFunctor.h: 305 - 336 |
-------------------------------------------------------------------------------- |
305: real_type r = distArrayCompressed[j]; |
306: int iScatter = distIndices[j]; |
307: real_type rinv = cOne / r; |
308: r *= DeltaRInv; |
309: int iGather = (int)r; |
310: real_type t = r - real_type(iGather); |
311: real_type tp0 = t * t * t; |
312: real_type tp1 = t * t; |
313: real_type tp2 = t; |
314: |
315: real_type sCoef0 = SplineCoefs[iGather + 0]; |
316: real_type sCoef1 = SplineCoefs[iGather + 1]; |
317: real_type sCoef2 = SplineCoefs[iGather + 2]; |
318: real_type sCoef3 = SplineCoefs[iGather + 3]; |
319: |
320: // clang-format off |
321: laplArray[iScatter] = dSquareDeltaRinv * |
322: (sCoef0*( d2A[ 2]*tp2 + d2A[ 3])+ |
323: sCoef1*( d2A[ 6]*tp2 + d2A[ 7])+ |
324: sCoef2*( d2A[10]*tp2 + d2A[11])+ |
325: sCoef3*( d2A[14]*tp2 + d2A[15])); |
326: |
327: gradArray[iScatter] = DeltaRInv * rinv * |
328: (sCoef0*( dA[ 1]*tp1 + dA[ 2]*tp2 + dA[ 3])+ |
329: sCoef1*( dA[ 5]*tp1 + dA[ 6]*tp2 + dA[ 7])+ |
330: sCoef2*( dA[ 9]*tp1 + dA[10]*tp2 + dA[11])+ |
331: sCoef3*( dA[13]*tp1 + dA[14]*tp2 + dA[15])); |
332: |
333: valArray[iScatter] = (sCoef0*(A[ 0]*tp0 + A[ 1]*tp1 + A[ 2]*tp2 + A[ 3])+ |
334: sCoef1*(A[ 4]*tp0 + A[ 5]*tp1 + A[ 6]*tp2 + A[ 7])+ |
335: sCoef2*(A[ 8]*tp0 + A[ 9]*tp1 + A[10]*tp2 + A[11])+ |
336: sCoef3*(A[12]*tp0 + A[13]*tp1 + A[14]*tp2 + A[15])); |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.07 |
CQA speedup if fully vectorized | 1.60 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.03 |
Bottlenecks | P8, |
Function | _ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b |
Source | BsplineFunctor.h:305-336 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 9.00 |
CQA cycles if no scalar integer | 9.00 |
CQA cycles if FP arith vectorized | 8.38 |
CQA cycles if fully vectorized | 5.63 |
Front-end cycles | 8.00 |
DIV/SQRT cycles | 1.25 |
P0 cycles | 1.25 |
P1 cycles | 1.00 |
P2 cycles | 1.00 |
P3 cycles | 0.50 |
P4 cycles | 2.00 |
P5 cycles | 2.00 |
P6 cycles | 2.00 |
P7 cycles | 9.00 |
P8 cycles | 8.75 |
P9 cycles | 8.58 |
P10 cycles | 8.67 |
P11 cycles | 2.00 |
P12 cycles | 2.00 |
P13 cycles | 5.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 49.00 |
Nb uops | 48.00 |
Nb loads | 3.00 |
Nb stores | 3.00 |
Nb stack references | 0.00 |
FLOP/cycle | 8.89 |
Nb FLOP add-sub | 17.00 |
Nb FLOP mul | 22.00 |
Nb FLOP fma | 20.00 |
Nb FLOP div | 1.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 7.56 |
Bytes prefetched | 0.00 |
Bytes loaded | 44.00 |
Bytes stored | 24.00 |
Stride 0 | 1.00 |
Stride 1 | 2.00 |
Stride n | 0.00 |
Stride unknown | 3.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 51.16 |
Vectorization ratio load | 50.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | 40.00 |
Vectorization ratio add_sub | 87.50 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 0.00 |
Vectorization ratio other | 35.71 |
Vector-efficiency ratio all | 26.45 |
Vector-efficiency ratio load | 31.25 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | 27.50 |
Vector-efficiency ratio add_sub | 26.56 |
Vector-efficiency ratio fma | 50.00 |
Vector-efficiency ratio div_sqrt | 12.50 |
Vector-efficiency ratio other | 20.54 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.07 |
CQA speedup if fully vectorized | 1.60 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.03 |
Bottlenecks | P8, |
Function | _ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b |
Source | BsplineFunctor.h:305-336 |
Source loop unroll info | not unrolled or unrolled with no peel/tail loop |
Source loop unroll confidence level | max |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 9.00 |
CQA cycles if no scalar integer | 9.00 |
CQA cycles if FP arith vectorized | 8.38 |
CQA cycles if fully vectorized | 5.63 |
Front-end cycles | 8.00 |
DIV/SQRT cycles | 1.25 |
P0 cycles | 1.25 |
P1 cycles | 1.00 |
P2 cycles | 1.00 |
P3 cycles | 0.50 |
P4 cycles | 2.00 |
P5 cycles | 2.00 |
P6 cycles | 2.00 |
P7 cycles | 9.00 |
P8 cycles | 8.75 |
P9 cycles | 8.58 |
P10 cycles | 8.67 |
P11 cycles | 2.00 |
P12 cycles | 2.00 |
P13 cycles | 5.00 |
Inter-iter dependencies cycles | 1 |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 49.00 |
Nb uops | 48.00 |
Nb loads | 3.00 |
Nb stores | 3.00 |
Nb stack references | 0.00 |
FLOP/cycle | 8.89 |
Nb FLOP add-sub | 17.00 |
Nb FLOP mul | 22.00 |
Nb FLOP fma | 20.00 |
Nb FLOP div | 1.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 7.56 |
Bytes prefetched | 0.00 |
Bytes loaded | 44.00 |
Bytes stored | 24.00 |
Stride 0 | 1.00 |
Stride 1 | 2.00 |
Stride n | 0.00 |
Stride unknown | 3.00 |
Stride indirect | 0.00 |
Vectorization ratio all | 51.16 |
Vectorization ratio load | 50.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | 40.00 |
Vectorization ratio add_sub | 87.50 |
Vectorization ratio fma | 100.00 |
Vectorization ratio div_sqrt | 0.00 |
Vectorization ratio other | 35.71 |
Vector-efficiency ratio all | 26.45 |
Vector-efficiency ratio load | 31.25 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | 27.50 |
Vector-efficiency ratio add_sub | 26.56 |
Vector-efficiency ratio fma | 50.00 |
Vector-efficiency ratio div_sqrt | 12.50 |
Vector-efficiency ratio other | 20.54 |
Path / |
Function | _ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b |
Source file and lines | BsplineFunctor.h:305-336 |
Module | exec |
nb instructions | 49 |
nb uops | 48 |
loop length | 268 |
used x86 registers | 11 |
used mmx registers | 0 |
used xmm registers | 14 |
used ymm registers | 18 |
used zmm registers | 0 |
nb stack references | 0 |
ADD-SUB / MUL ratio | 0.80 |
micro-operation queue | 8.00 cycles |
front end | 8.00 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.25 | 1.25 | 1.00 | 1.00 | 0.50 | 2.00 | 2.00 | 2.00 | 9.00 | 8.75 | 8.58 | 8.67 | 2.00 | 2.00 |
cycles | 1.25 | 1.25 | 1.00 | 1.00 | 0.50 | 2.00 | 2.00 | 2.00 | 9.00 | 8.75 | 8.58 | 8.67 | 2.00 | 2.00 |
Cycles executing div or sqrt instructions | 5.00 |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 8.00 |
Dispatch | 9.00 |
DIV/SQRT | 5.00 |
Data deps. | 1.00 |
Overall L1 | 9.00 |
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) |
other | 0% |
all | 52% |
load | 50% |
store | 0% |
mul | 40% |
add-sub | 87% |
fma | 100% |
div/sqrt | 0% |
other | 38% |
all | 51% |
load | 50% |
store | 0% |
mul | 40% |
add-sub | 87% |
fma | 100% |
div/sqrt | 0% |
other | 35% |
all | 12% |
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) |
other | 12% |
all | 26% |
load | 31% |
store | 12% |
mul | 27% |
add-sub | 26% |
fma | 50% |
div/sqrt | 12% |
other | 21% |
all | 26% |
load | 31% |
store | 12% |
mul | 27% |
add-sub | 26% |
fma | 50% |
div/sqrt | 12% |
other | 20% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VMOVSD (%RSI,%R14,8),%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VMULSD %XMM5,%XMM1,%XMM21 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VRNDSCALESD $0xb,%XMM21,%XMM21,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VCVTTSD2SI %XMM21,%EAX | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 8 | 1 |
VSUBSD %XMM12,%XMM21,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
CLTQ | |||||||||||||||||
VBROADCASTSD %XMM0,%YMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
VMULSD %XMM0,%XMM0,%XMM22 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM22,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VBROADCASTSD %XMM12,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
VMOVAPD %YMM14,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVAPD %YMM15,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMULPD %YMM3,%YMM0,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMOVUPD (%R11,%RAX,8),%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VFMADD132PD %YMM18,%YMM4,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VBROADCASTSD %XMM22,%YMM20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
MOVSXD (%R8,%R14,4),%R10 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VDIVSD %XMM5,%XMM11,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 5 |
INC %R14 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
VFMADD132PD %YMM18,%YMM16,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %YMM8,%YMM7,%YMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD231PD %YMM6,%YMM20,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %YMM2,%YMM12,%YMM20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VMULPD %YMM0,%YMM18,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
ADD %RDX,%R10 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
SAL $0x3,%R10 | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VADDPD %YMM20,%YMM17,%YMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULPD %YMM0,%YMM19,%YMM23 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM12,%XMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VADDPD %XMM12,%XMM26,%XMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULPD %YMM0,%YMM24,%YMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM23,%XMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VADDPD %XMM23,%XMM28,%XMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM27,%XMM27,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VADDPD %XMM27,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM12,%XMM10,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM29,%XMM29,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VMOVSD %XMM0,(%RCX,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
VADDPD %XMM29,%XMM12,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM0,%XMM1,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM12,%XMM5,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM25,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VMOVSD %XMM0,(%R12,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
VADDPD %XMM25,%XMM5,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM0,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VADDPD %XMM0,%XMM12,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMOVLPD %XMM5,(%RBX,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
CMP %R15,%R14 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
JNE 4532c0 <_ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b+0x540> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
Function | _ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b |
Source file and lines | BsplineFunctor.h:305-336 |
Module | exec |
nb instructions | 49 |
nb uops | 48 |
loop length | 268 |
used x86 registers | 11 |
used mmx registers | 0 |
used xmm registers | 14 |
used ymm registers | 18 |
used zmm registers | 0 |
nb stack references | 0 |
ADD-SUB / MUL ratio | 0.80 |
micro-operation queue | 8.00 cycles |
front end | 8.00 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.25 | 1.25 | 1.00 | 1.00 | 0.50 | 2.00 | 2.00 | 2.00 | 9.00 | 8.75 | 8.58 | 8.67 | 2.00 | 2.00 |
cycles | 1.25 | 1.25 | 1.00 | 1.00 | 0.50 | 2.00 | 2.00 | 2.00 | 9.00 | 8.75 | 8.58 | 8.67 | 2.00 | 2.00 |
Cycles executing div or sqrt instructions | 5.00 |
Longest recurrence chain latency (RecMII) | 1.00 |
Front-end | 8.00 |
Dispatch | 9.00 |
DIV/SQRT | 5.00 |
Data deps. | 1.00 |
Overall L1 | 9.00 |
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) |
other | 0% |
all | 52% |
load | 50% |
store | 0% |
mul | 40% |
add-sub | 87% |
fma | 100% |
div/sqrt | 0% |
other | 38% |
all | 51% |
load | 50% |
store | 0% |
mul | 40% |
add-sub | 87% |
fma | 100% |
div/sqrt | 0% |
other | 35% |
all | 12% |
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) |
other | 12% |
all | 26% |
load | 31% |
store | 12% |
mul | 27% |
add-sub | 26% |
fma | 50% |
div/sqrt | 12% |
other | 21% |
all | 26% |
load | 31% |
store | 12% |
mul | 27% |
add-sub | 26% |
fma | 50% |
div/sqrt | 12% |
other | 20% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VMOVSD (%RSI,%R14,8),%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VMULSD %XMM5,%XMM1,%XMM21 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VRNDSCALESD $0xb,%XMM21,%XMM21,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VCVTTSD2SI %XMM21,%EAX | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0.50 | 8 | 1 |
VSUBSD %XMM12,%XMM21,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
CLTQ | |||||||||||||||||
VBROADCASTSD %XMM0,%YMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
VMULSD %XMM0,%XMM0,%XMM22 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM22,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VBROADCASTSD %XMM12,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
VMOVAPD %YMM14,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVAPD %YMM15,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMULPD %YMM3,%YMM0,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMOVUPD (%R11,%RAX,8),%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VFMADD132PD %YMM18,%YMM4,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VBROADCASTSD %XMM22,%YMM20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 1 | 0.50 |
MOVSXD (%R8,%R14,4),%R10 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
VDIVSD %XMM5,%XMM11,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 5 |
INC %R14 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
VFMADD132PD %YMM18,%YMM16,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %YMM8,%YMM7,%YMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD231PD %YMM6,%YMM20,%YMM19 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VFMADD132PD %YMM2,%YMM12,%YMM20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 0.50 |
VMULPD %YMM0,%YMM18,%YMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
ADD %RDX,%R10 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
SAL $0x3,%R10 | 1 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
VADDPD %YMM20,%YMM17,%YMM24 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULPD %YMM0,%YMM19,%YMM23 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM12,%XMM26 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VADDPD %XMM12,%XMM26,%XMM27 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULPD %YMM0,%YMM24,%YMM25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM23,%XMM28 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VADDPD %XMM23,%XMM28,%XMM29 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM27,%XMM27,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VADDPD %XMM27,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM12,%XMM10,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM29,%XMM29,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VMOVSD %XMM0,(%RCX,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
VADDPD %XMM29,%XMM12,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM0,%XMM1,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VMULSD %XMM12,%XMM5,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 0.50 |
VEXTRACTF64X2 $0x1,%YMM25,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 4 | 0.25 |
VMOVSD %XMM0,(%R12,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
VADDPD %XMM25,%XMM5,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VUNPCKHPD %XMM0,%XMM0,%XMM12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 1 | 0.33 |
VADDPD %XMM0,%XMM12,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 0.50 |
VMOVLPD %XMM5,(%RBX,%R10,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
CMP %R15,%R14 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
JNE 4532c0 <_ZN16miniqmcreference17TwoBodyJastrowRefIN11qmcplusplus14BsplineFunctorIdEEE9computeU3ERKNS1_11ParticleSetEiPKdPdSA_SA_b+0x540> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |