| Function: qmcplusplus::DistanceTableBA<double, 3u, 39>::move(qmcplusplus::ParticleSet const&, qmcplu ... | Module: exec | Source: DistanceTableBA.h:117-120 [...] | Coverage: 2.41% |
|---|
| Function: qmcplusplus::DistanceTableBA<double, 3u, 39>::move(qmcplusplus::ParticleSet const&, qmcplu ... | Module: exec | Source: DistanceTableBA.h:117-120 [...] | Coverage: 2.41% |
|---|
/home/hbollore/qaas/qaas-runs/169-816-7419/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/TinyVector.h: 177 - 177 |
-------------------------------------------------------------------------------- |
177: inline const Type_t& operator[](unsigned int i) const { return X[i]; } |
/home/hbollore/qaas/qaas-runs/169-816-7419/intel/miniqmc/build/miniqmc/src/Particle/Lattice/ParticleBConds.h: 168 - 217 |
-------------------------------------------------------------------------------- |
168: const T y0 = pos[1]; |
169: const T z0 = pos[2]; |
[...] |
185: #pragma omp simd aligned(temp_r, px, py, pz, dx, dy, dz: QMC_SIMD_ALIGNMENT) |
186: for (int iat = first; iat < last; ++iat) |
187: { |
188: const T flip = iat < flip_ind ? one : minusone; |
189: const T displ_0 = (px[iat] - x0) * flip; |
190: const T displ_1 = (py[iat] - y0) * flip; |
191: const T displ_2 = (pz[iat] - z0) * flip; |
192: |
193: const T ar_0 = -std::floor(displ_0 * g00 + displ_1 * g10 + displ_2 * g20); |
194: const T ar_1 = -std::floor(displ_0 * g01 + displ_1 * g11 + displ_2 * g21); |
195: const T ar_2 = -std::floor(displ_0 * g02 + displ_1 * g12 + displ_2 * g22); |
196: |
197: const T delx = displ_0 + ar_0 * r00 + ar_1 * r10 + ar_2 * r20; |
198: const T dely = displ_1 + ar_0 * r01 + ar_1 * r11 + ar_2 * r21; |
199: const T delz = displ_2 + ar_0 * r02 + ar_1 * r12 + ar_2 * r22; |
200: |
201: T rmin = delx * delx + dely * dely + delz * delz; |
202: int ic = 0; |
203: #pragma unroll(7) |
204: for (int c = 1; c < 8; ++c) |
205: { |
206: const T x = delx + cellx[c]; |
207: const T y = dely + celly[c]; |
208: const T z = delz + cellz[c]; |
209: const T r2 = x * x + y * y + z * z; |
210: ic = (r2 < rmin) ? c : ic; |
211: rmin = (r2 < rmin) ? r2 : rmin; |
212: } |
213: |
214: temp_r[iat] = std::sqrt(rmin); |
215: dx[iat] = flip * (delx + cellx[ic]); |
216: dy[iat] = flip * (dely + celly[ic]); |
217: dz[iat] = flip * (delz + cellz[ic]); |
/home/hbollore/qaas/qaas-runs/169-816-7419/intel/miniqmc/build/miniqmc/src/Numerics/OhmmsPETE/VectorSoAContainer.h: 241 - 243 |
-------------------------------------------------------------------------------- |
241: T* restrict data(size_t i) { return myData + i * nGhosts; } |
242: ///return the const pointer of the i-th components |
243: const T* restrict data(size_t i) const { return myData + i * nGhosts; } |
/home/hbollore/qaas/qaas-runs/169-816-7419/intel/miniqmc/build/miniqmc/src/Particle/DistanceTableBA.h: 117 - 120 |
-------------------------------------------------------------------------------- |
117: inline void move(const ParticleSet& P, const PosType& rnew, IndexType iat) |
118: { |
119: DTD_BConds<T, D, SC>::computeDistances(rnew, Origin->RSoA, Temp_r.data(), Temp_dr, 0, Nsources); |
120: } |
0x470fc0 LDR X1, [X0, #8] |
0x470fc4 LDR X8, [X0, #136] |
0x470fc8 LDR X12, [X0, #152] |
0x470fcc LDR X7, [X1, #1536] |
0x470fd0 UBFM X3, X8, #61, #60 |
0x470fd4 LDR X10, [X1, #1552] |
0x470fd8 ADD X13, X12, X3 |
0x470fdc LDR W9, [X0, #196] |
0x470fe0 ADD X8, X13, X3 |
0x470fe4 UBFM X4, X7, #61, #60 |
0x470fe8 LDP D6, D7, [X2] |
0x470fec ADD X11, X10, X4 |
0x470ff0 ADD X7, X11, X4 |
0x470ff4 LDR D16, [X2, #16] |
0x470ff8 LDR X14, [X0, #104] |
0x470ffc CMP W9, #0 |
0x471000 B.LE 471278 |
0x471004 STP X29, X30, [SP, #992]! |
0x471008 ADD X29, SP, #0 |
0x47100c MOVZ X3, #0 |
0x471010 ADD X1, X0, #240 |
0x471014 ADD X6, X0, #384 |
0x471018 ADD X5, X0, #448 |
0x47101c ADD X4, X0, #512 |
0x471020 MOVZ W30, #3 |
0x471024 STR X19, [SP, #16] |
0x471028 MOVZ W18, #4 |
0x47102c MOVZ W17, #5 |
0x471030 MOVZ W16, #6 |
0x471034 MOVZ W15, #7 |
0x471038 MOVZ W19, #2 |
0x47103c HINT #0 |
(1249) 0x471040 LDR D1, [X11, X3,LSL #3] |
(1249) 0x471044 LDR D2, [X10, X3,LSL #3] |
(1249) 0x471048 LDP D17, D5, [X1] |
(1249) 0x47104c FSUB D21, D7, S1 |
(1249) 0x471050 LDR D0, [X7, X3,LSL #3] |
(1249) 0x471054 FSUB D22, D6, S2 |
(1249) 0x471058 LDR D4, [X1, #32] |
(1249) 0x47105c LDR D3, [X1, #56] |
(1249) 0x471060 FMUL D24, D21, D5 |
(1249) 0x471064 FSUB D23, D16, S0 |
(1249) 0x471068 LDP D19, D20, [X1, #16] |
(1249) 0x47106c LDR D18, [X1, #96] |
(1249) 0x471070 FMUL D25, D21, D4 |
(1249) 0x471074 LDP D1, D2, [X1, #40] |
(1249) 0x471078 FMUL D29, D21, D3 |
(1249) 0x47107c FMADD D26, D22, D17, D24 |
(1249) 0x471080 LDR D0, [X1, #104] |
(1249) 0x471084 FMADD D27, D22, D20, D25 |
(1249) 0x471088 LDR D3, [X1, #64] |
(1249) 0x47108c FMADD D28, D23, D19, D26 |
(1249) 0x471090 FRINTM D30, D28 |
(1249) 0x471094 LDR D20, [X1, #80] |
(1249) 0x471098 FMSUB D31, D30, D18, D21 |
(1249) 0x47109c FMADD D4, D22, D2, D29 |
(1249) 0x4710a0 LDR D21, [X1, #72] |
(1249) 0x4710a4 FMADD D17, D23, D1, D27 |
(1249) 0x4710a8 FRINTM D5, D17 |
(1249) 0x4710ac LDP D19, D18, [X1, #112] |
(1249) 0x4710b0 FMSUB D24, D5, D0, D31 |
(1249) 0x4710b4 FMADD D25, D23, D3, D4 |
(1249) 0x4710b8 FRINTM D26, D25 |
(1249) 0x4710bc LDR D29, [X1, #88] |
(1249) 0x4710c0 FMSUB D22, D30, D21, D22 |
(1249) 0x4710c4 FMSUB D23, D30, D18, D23 |
(1249) 0x4710c8 LDP D30, D1, [X1, #128] |
(1249) 0x4710cc FMSUB D31, D26, D19, D24 |
(1249) 0x4710d0 LDP D19, D24, [X5, #24] |
(1249) 0x4710d4 FMSUB D27, D5, D20, D22 |
(1249) 0x4710d8 LDP D3, D20, [X5, #8] |
(1249) 0x4710dc FMSUB D21, D5, D30, D23 |
(1249) 0x4710e0 LDP D5, D22, [X4, #8] |
(1249) 0x4710e4 FMSUB D2, D26, D29, D27 |
(1249) 0x4710e8 FMSUB D0, D26, D1, D21 |
(1249) 0x4710ec LDR D21, [X4, #24] |
(1249) 0x4710f0 FMUL D28, D31, D31 |
(1249) 0x4710f4 FADD D18, D31, D3 |
(1249) 0x4710f8 FADD D23, D31, D24 |
(1249) 0x4710fc FADD D26, D31, D20 |
(1249) 0x471100 FADD D27, D31, D19 |
(1249) 0x471104 LDR D19, [X6, #24] |
(1249) 0x471108 FMADD D17, D2, D2, D28 |
(1249) 0x47110c FMUL D28, D18, D18 |
(1249) 0x471110 FMUL D1, D23, D23 |
(1249) 0x471114 FMUL D29, D26, D26 |
(1249) 0x471118 FADD D18, D2, D19 |
(1249) 0x47111c FADD D4, D0, D5 |
(1249) 0x471120 FMUL D30, D27, D27 |
(1249) 0x471124 FMADD D25, D0, D0, D17 |
(1249) 0x471128 LDP D17, D5, [X6, #8] |
(1249) 0x47112c FADD D22, D0, D22 |
(1249) 0x471130 FADD D27, D0, D21 |
(1249) 0x471134 FADD D3, D2, D17 |
(1249) 0x471138 FADD D20, D2, D5 |
(1249) 0x47113c FMADD D24, D3, D3, D28 |
(1249) 0x471140 FMADD D26, D20, D20, D29 |
(1249) 0x471144 FMADD D28, D18, D18, D30 |
(1249) 0x471148 FMADD D4, D4, D4, D24 |
(1249) 0x47114c FMINNM D23, D25, D4 |
(1249) 0x471150 FMADD D29, D22, D22, D26 |
(1249) 0x471154 FMADD D21, D27, D27, D28 |
(1249) 0x471158 FMINNM D30, D29, D23 |
(1249) 0x47115c FMINNM D20, D30, D21 |
(1249) 0x471160 FCMPE D25, D4 |
(1249) 0x471164 LDR D25, [X6, #32] |
(1249) 0x471168 CSINC W2, WZR, WZR, #13 |
(1249) 0x47116c FCMPE D29, D23 |
(1249) 0x471170 CSEL W2, W2, W19, #10 |
(1249) 0x471174 LDR D5, [X4, #32] |
(1249) 0x471178 FCMPE D30, D21 |
(1249) 0x47117c CSEL W2, W2, W30, #9 |
(1249) 0x471180 LDP D29, D23, [X5, #40] |
(1249) 0x471184 FADD D17, D2, D25 |
(1249) 0x471188 LDR D19, [X4, #48] |
(1249) 0x47118c FADD D3, D0, D5 |
(1249) 0x471190 LDR D30, [X5, #56] |
(1249) 0x471194 LDR D22, [X4, #40] |
(1249) 0x471198 FADD D21, D31, D29 |
(1249) 0x47119c FMADD D1, D17, D17, D1 |
(1249) 0x4711a0 FADD D27, D0, D19 |
(1249) 0x4711a4 LDR D18, [X4, #56] |
(1249) 0x4711a8 FADD D17, D31, D23 |
(1249) 0x4711ac LDR D19, [X6, #56] |
(1249) 0x4711b0 FADD D5, D31, D30 |
(1249) 0x4711b4 FADD D4, D0, D22 |
(1249) 0x4711b8 FMUL D25, D21, D21 |
(1249) 0x4711bc FMADD D24, D3, D3, D1 |
(1249) 0x4711c0 FMINNM D26, D20, D24 |
(1249) 0x4711c4 FADD D28, D0, D18 |
(1249) 0x4711c8 FMUL D3, D17, D17 |
(1249) 0x4711cc FADD D18, D2, D19 |
(1249) 0x4711d0 FMUL D1, D5, D5 |
(1249) 0x4711d4 FMADD D17, D18, D18, D1 |
(1249) 0x4711d8 FCMPE D20, D24 |
(1249) 0x4711dc LDP D24, D20, [X6, #40] |
(1249) 0x4711e0 CSEL W2, W2, W18, #9 |
(1249) 0x4711e4 FMADD D28, D28, D28, D17 |
(1249) 0x4711e8 FADD D22, D2, D24 |
(1249) 0x4711ec FADD D29, D2, D20 |
(1249) 0x4711f0 FMADD D23, D22, D22, D25 |
(1249) 0x4711f4 FMADD D30, D29, D29, D3 |
(1249) 0x4711f8 FMADD D5, D4, D4, D23 |
(1249) 0x4711fc FMADD D27, D27, D27, D30 |
(1249) 0x471200 FMINNM D21, D26, D5 |
(1249) 0x471204 FMINNM D4, D21, D27 |
(1249) 0x471208 FMINNM D25, D28, D4 |
(1249) 0x47120c FSQRT D3, D25 |
(1249) 0x471210 FCMPE D26, D5 |
(1249) 0x471214 CSEL W2, W2, W17, #9 |
(1249) 0x471218 FCMPE D21, D27 |
(1249) 0x47121c CSEL W2, W2, W16, #9 |
(1249) 0x471220 FCMPE D28, D4 |
(1249) 0x471224 CSEL W2, W2, W15, #10 |
(1249) 0x471228 ADD X2, X0, W2,SXTW #3 |
(1249) 0x47122c LDR D26, [X2, #384] |
(1249) 0x471230 FADD D2, D2, D26 |
(1249) 0x471234 STR D3, [X14, X3,LSL #3] |
(1249) 0x471238 FNEG D1, D2 |
(1249) 0x47123c STR D1, [X12, X3,LSL #3] |
(1249) 0x471240 LDR D24, [X2, #448] |
(1249) 0x471244 FADD D31, D31, D24 |
(1249) 0x471248 FNEG D20, D31 |
(1249) 0x47124c STR D20, [X13, X3,LSL #3] |
(1249) 0x471250 LDR D19, [X2, #512] |
(1249) 0x471254 FADD D0, D0, D19 |
(1249) 0x471258 FNEG D22, D0 |
(1249) 0x47125c STR D22, [X8, X3,LSL #3] |
(1249) 0x471260 ADD X3, X3, #1 |
(1249) 0x471264 CMP W9, W3 |
(1249) 0x471268 B.GT 471040 |
0x47126c LDR X19, [SP, #16] |
0x471270 LDP X29, X30, [SP], #32 |
0x471274 RET |
0x471278 RET |
0x47127c HINT #0 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►25.00+ | qmcplusplus::ParticleSet::make[...] | ParticleSet.cpp:290 | exec |
| ○ | main._omp_fn.1 | stl_vector.h:1043 | exec |
| ○ | GOMP_parallel | libomp.so | |
| ○ | main | miniqmc.cpp:402 | exec |
| ○ | __libc_start_main | libc-2.31.so | |
| ○ | _start | miniqmc.cpp:546 | exec |
| ►25.00+ | qmcplusplus::ParticleSet::make[...] | ParticleSet.cpp:290 | exec |
| ○ | main._omp_fn.1 | refwrap.h:337 | exec |
| ○ | GOMP_parallel | libomp.so | |
| ○ | main | miniqmc.cpp:402 | exec |
| ○ | __libc_start_main | libc-2.31.so | |
| ○ | _start | miniqmc.cpp:546 | exec |
| ►25.00+ | qmcplusplus::ParticleSet::make[...] | ParticleSet.cpp:290 | exec |
| ○ | main._omp_fn.1 | refwrap.h:337 | exec |
| ○ | GOMP_parallel | libomp.so | |
| ○ | main | miniqmc.cpp:402 | exec |
| ○ | __libc_start_main | libc-2.31.so | |
| ○ | _start | miniqmc.cpp:546 | exec |
| ►25.00+ | qmcplusplus::ParticleSet::make[...] | ParticleSet.cpp:290 | exec |
| ○ | main._omp_fn.1 | refwrap.h:337 | exec |
| ○ | GOMP_parallel | libomp.so | |
| ○ | main | miniqmc.cpp:404 | exec |
| ○ | __libc_start_main | libc-2.31.so | |
| ○ | _start | miniqmc.cpp:546 | exec |
| Path / |
| Source file and lines | DistanceTableBA.h:117-120 |
| Module | exec |
| nb instructions | 37 |
| loop length | 148 |
| nb stack references | 0 |
| front end | 4.38 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.50 | 1.50 | 5.00 | 5.00 | 5.00 | 5.00 | 0.00 | 0.00 | 0.00 | 0.00 | 4.33 | 4.33 | 4.33 | 1.00 | 1.00 |
| cycles | 1.50 | 1.50 | 5.00 | 5.00 | 5.00 | 5.00 | 0.00 | 0.00 | 0.00 | 0.00 | 4.33 | 4.33 | 4.33 | 1.00 | 1.00 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 4.38 |
| Overall L1 | 5.00 |
| all | 5% |
| load | 50% |
| store | NA (no store vectorizable/vectorized instructions) |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LDR X1, [X0, #8] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X8, [X0, #136] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X12, [X0, #152] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X7, [X1, #1536] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| UBFM X3, X8, #61, #60 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR X10, [X1, #1552] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| ADD X13, X12, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR W9, [X0, #196] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| ADD X8, X13, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| UBFM X4, X7, #61, #60 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDP D6, D7, [X2] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 6 | 0.33 |
| ADD X11, X10, X4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X7, X11, X4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR D16, [X2, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 6 | 0.33 |
| LDR X14, [X0, #104] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| CMP W9, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
| B.LE 471278 <_ZN11qmcplusplus15DistanceTableBAIdLj3ELi39EE4moveERKNS_11ParticleSetERKNS_10TinyVectorIdLj3EEEi+0x2b8> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| STP X29, X30, [SP, #992]! | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ X3, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X1, X0, #240 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X6, X0, #384 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X5, X0, #448 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X4, X0, #512 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W30, #3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| STR X19, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 |
| MOVZ W18, #4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W17, #5 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W16, #6 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W15, #7 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W19, #2 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| HINT #0 | ||||||||||||||||||
| LDR X19, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDP X29, X30, [SP], #32 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| HINT #0 |
| Source file and lines | DistanceTableBA.h:117-120 |
| Module | exec |
| nb instructions | 37 |
| loop length | 148 |
| nb stack references | 0 |
| front end | 4.38 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.50 | 1.50 | 5.00 | 5.00 | 5.00 | 5.00 | 0.00 | 0.00 | 0.00 | 0.00 | 4.33 | 4.33 | 4.33 | 1.00 | 1.00 |
| cycles | 1.50 | 1.50 | 5.00 | 5.00 | 5.00 | 5.00 | 0.00 | 0.00 | 0.00 | 0.00 | 4.33 | 4.33 | 4.33 | 1.00 | 1.00 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 4.38 |
| Overall L1 | 5.00 |
| all | 5% |
| load | 50% |
| store | NA (no store vectorizable/vectorized instructions) |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LDR X1, [X0, #8] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X8, [X0, #136] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X12, [X0, #152] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDR X7, [X1, #1536] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| UBFM X3, X8, #61, #60 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR X10, [X1, #1552] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| ADD X13, X12, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR W9, [X0, #196] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| ADD X8, X13, X3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| UBFM X4, X7, #61, #60 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDP D6, D7, [X2] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 6 | 0.33 |
| ADD X11, X10, X4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X7, X11, X4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| LDR D16, [X2, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 6 | 0.33 |
| LDR X14, [X0, #104] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| CMP W9, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
| B.LE 471278 <_ZN11qmcplusplus15DistanceTableBAIdLj3ELi39EE4moveERKNS_11ParticleSetERKNS_10TinyVectorIdLj3EEEi+0x2b8> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| STP X29, X30, [SP, #992]! | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ X3, #0 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X1, X0, #240 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X6, X0, #384 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X5, X0, #448 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| ADD X4, X0, #512 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W30, #3 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| STR X19, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 |
| MOVZ W18, #4 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W17, #5 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W16, #6 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W15, #7 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| MOVZ W19, #2 | 1 | 0 | 0 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| HINT #0 | ||||||||||||||||||
| LDR X19, [SP, #16] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 |
| LDP X29, X30, [SP], #32 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 1 |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
| HINT #0 |
| Name | Coverage (%) | Time (s) |
|---|---|---|
| ▼qmcplusplus::DistanceTableBA | 2.41 | 0.02 |
| ○Loop 1249 - ParticleBConds.h:189-217 - exec | 2.41 | 0.02 |
