| Loop Id: 273 | Module: exec | Source: PdV.cpp:72-83 | Coverage: 6.46% |
|---|
| Loop Id: 273 | Module: exec | Source: PdV.cpp:72-83 | Coverage: 6.46% |
|---|
0x4416a0 VMOVQ %XMM7,%RCX |
0x4416a5 VMOVUPD (%RBX,%RAX,1),%ZMM4 [7] |
0x4416ac VADDPD (%R12,%RAX,1),%ZMM4,%ZMM1 [5] |
0x4416b3 VMOVUPD (%RCX,%RAX,1),%ZMM2 [20] |
0x4416ba VADDPD (%R10,%RAX,1),%ZMM2,%ZMM5 [16] |
0x4416c1 VMOVQ %XMM20,%RCX |
0x4416c7 VMOVUPD (%RCX,%RAX,1),%ZMM6 [11] |
0x4416ce VMOVQ %XMM19,%RCX |
0x4416d4 VADDPD (%R14,%RAX,1),%ZMM6,%ZMM3 [1] |
0x4416db VMOVUPD (%RCX,%RAX,1),%ZMM4 [26] |
0x4416e2 VMOVQ %XMM21,%RCX |
0x4416e8 VADDPD %ZMM5,%ZMM1,%ZMM15 |
0x4416ee VADDPD (%R11,%RAX,1),%ZMM4,%ZMM1 [23] |
0x4416f5 VADDPD %ZMM1,%ZMM3,%ZMM2 |
0x4416fb VMULPD (%RCX,%RAX,1),%ZMM2,%ZMM1 [25] |
0x441702 VMOVQ %XMM25,%RCX |
0x441708 VMOVUPD (%RCX,%RAX,1),%ZMM5 [3] |
0x44170f VMOVQ %XMM23,%RCX |
0x441715 VADDPD (%R15,%RAX,1),%ZMM5,%ZMM4 [6] |
0x44171c VMOVUPD (%RCX,%RAX,1),%ZMM6 [28] |
0x441723 VADDPD (%R13,%RAX,1),%ZMM6,%ZMM3 [4] |
0x44172b VMOVQ %XMM22,%RCX |
0x441731 VMOVUPD (%RCX,%RAX,1),%ZMM5 [14] |
0x441738 VMOVQ %XMM24,%RCX |
0x44173e VMOVUPD (%RCX,%RAX,1),%ZMM6 [18] |
0x441745 VMOVQ %XMM18,%RCX |
0x44174b VADDPD %ZMM3,%ZMM4,%ZMM2 |
0x441751 VADDPD (%RDI,%RAX,1),%ZMM6,%ZMM3 [19] |
0x441758 VADDPD (%RSI,%RAX,1),%ZMM5,%ZMM4 [21] |
0x44175f VADDPD %ZMM3,%ZMM4,%ZMM5 |
0x441765 VMULPD (%RCX,%RAX,1),%ZMM5,%ZMM4 [12] |
0x44176c MOV 0x1a8(%RSP),%RCX [27] |
0x441774 VMOVUPD (%R8,%RAX,1),%ZMM3 [24] |
0x44177b VFMADD132PD (%RCX,%RAX,1),%ZMM4,%ZMM2 [13] |
0x441782 VMOVQ %XMM17,%RCX |
0x441788 VFMADD132PD (%RCX,%RAX,1),%ZMM1,%ZMM15 [22] |
0x44178f VSUBPD %ZMM15,%ZMM2,%ZMM15 |
0x441795 VMOVQ %XMM13,%RCX |
0x44179a VMOVUPD (%RCX,%RAX,1),%ZMM2 [8] |
0x4417a1 VADDPD (%R9,%RAX,1),%ZMM2,%ZMM4 [2] |
0x4417a8 VMOVQ %XMM10,%RCX |
0x4417ad VMULPD %ZMM12,%ZMM15,%ZMM6 |
0x4417b3 VADDPD (%R8,%RAX,1),%ZMM6,%ZMM1 [24] |
0x4417ba VDIVPD (%RDX,%RAX,1),%ZMM4,%ZMM15 [10] |
0x4417c1 VDIVPD %ZMM1,%ZMM3,%ZMM5 |
0x4417c7 VDIVPD %ZMM3,%ZMM11,%ZMM1 |
0x4417cd VMULPD %ZMM1,%ZMM15,%ZMM3 |
0x4417d3 VFNMADD213PD (%RCX,%RAX,1),%ZMM3,%ZMM6 [17] |
0x4417da VMOVQ %XMM8,%RCX |
0x4417df VMOVUPD %ZMM6,(%RCX,%RAX,1) [15] |
0x4417e6 VMULPD (%RDX,%RAX,1),%ZMM5,%ZMM6 [10] |
0x4417ed VMOVQ %XMM27,%RCX |
0x4417f3 VMOVUPD %ZMM6,(%RCX,%RAX,1) [9] |
0x4417fa MOV 0x1b0(%RSP),%RCX [27] |
0x441802 ADD $0x40,%RAX |
0x441806 CMP %RCX,%RAX |
0x441809 JNE 4416a0 |
/beegfs/hackathon/users/eoseret/qaas_runs/170-854-8685/intel/CloverLeafCXX/build/CloverLeafCXX/src/omp/PdV.cpp: 72 - 83 |
-------------------------------------------------------------------------------- |
72: double left_flux = (xarea(i, j) * (xvel0(i, j) + xvel0(i + 0, j + 1) + xvel1(i, j) + xvel1(i + 0, j + 1))) * 0.25 * dt; |
73: double right_flux = |
74: (xarea(i + 1, j + 0) * (xvel0(i + 1, j + 0) + xvel0(i + 1, j + 1) + xvel1(i + 1, j + 0) + xvel1(i + 1, j + 1))) * 0.25 * dt; |
75: double bottom_flux = (yarea(i, j) * (yvel0(i, j) + yvel0(i + 1, j + 0) + yvel1(i, j) + yvel1(i + 1, j + 0))) * 0.25 * dt; |
76: double top_flux = |
77: (yarea(i + 0, j + 1) * (yvel0(i + 0, j + 1) + yvel0(i + 1, j + 1) + yvel1(i + 0, j + 1) + yvel1(i + 1, j + 1))) * 0.25 * dt; |
78: double total_flux = right_flux - left_flux + top_flux - bottom_flux; |
79: double volume_change_s = volume(i, j) / (volume(i, j) + total_flux); |
80: double recip_volume = 1.0 / volume(i, j); |
81: double energy_change = (pressure(i, j) / density0(i, j) + viscosity(i, j) / density0(i, j)) * total_flux * recip_volume; |
82: energy1(i, j) = energy0(i, j) - energy_change; |
83: density1(i, j) = density0(i, j) * volume_change_s; |
| Path / |
| Metric | Value |
|---|---|
| CQA speedup if no scalar integer | 1.00 |
| CQA speedup if FP arith vectorized | 1.00 |
| CQA speedup if fully vectorized | 1.00 |
| CQA speedup if no inter-iteration dependency | NA |
| CQA speedup if next bottleneck killed | 1.40 |
| Bottlenecks | P8, P9, |
| Function | _Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1 |
| Source | PdV.cpp:72-83 |
| Source loop unroll info | unrolled by 8 |
| Source loop unroll confidence level | high |
| Unroll/vectorization loop type | main |
| Unroll factor | 8 |
| CQA cycles | 27.00 |
| CQA cycles if no scalar integer | 27.00 |
| CQA cycles if FP arith vectorized | 27.00 |
| CQA cycles if fully vectorized | 27.00 |
| Front-end cycles | 9.67 |
| DIV/SQRT cycles | 0.50 |
| P0 cycles | 0.50 |
| P1 cycles | 0.25 |
| P2 cycles | 0.25 |
| P3 cycles | 0.50 |
| P4 cycles | 19.33 |
| P5 cycles | 19.33 |
| P6 cycles | 19.33 |
| P7 cycles | 11.00 |
| P8 cycles | 11.00 |
| P9 cycles | 15.00 |
| P10 cycles | 15.00 |
| P11 cycles | 9.00 |
| P12 cycles | 9.00 |
| P13 cycles | 27.00 |
| Inter-iter dependencies cycles | 1 |
| FE+BE cycles (UFS) | NA |
| Stall cycles (UFS) | NA |
| Nb insns | 57.00 |
| Nb uops | 58.00 |
| Nb loads | 29.00 |
| Nb stores | 2.00 |
| Nb stack references | 2.00 |
| FLOP/cycle | 8.59 |
| Nb FLOP add-sub | 120.00 |
| Nb FLOP mul | 40.00 |
| Nb FLOP fma | 24.00 |
| Nb FLOP div | 24.00 |
| Nb FLOP rcp | 0.00 |
| Nb FLOP sqrt | 0.00 |
| Nb FLOP rsqrt | 0.00 |
| Bytes/cycle | 69.33 |
| Bytes prefetched | 0.00 |
| Bytes loaded | 1744.00 |
| Bytes stored | 128.00 |
| Stride 0 | 1.00 |
| Stride 1 | 10.00 |
| Stride n | 2.00 |
| Stride unknown | 1.00 |
| Stride indirect | 0.00 |
| Vectorization ratio all | 73.08 |
| Vectorization ratio load | 100.00 |
| Vectorization ratio store | 100.00 |
| Vectorization ratio mul | 100.00 |
| Vectorization ratio add_sub | 100.00 |
| Vectorization ratio fma | 100.00 |
| Vectorization ratio div_sqrt | 100.00 |
| Vectorization ratio other | 0.00 |
| Vector-efficiency ratio all | 76.44 |
| Vector-efficiency ratio load | 100.00 |
| Vector-efficiency ratio store | 100.00 |
| Vector-efficiency ratio mul | 100.00 |
| Vector-efficiency ratio add_sub | 100.00 |
| Vector-efficiency ratio fma | 100.00 |
| Vector-efficiency ratio div_sqrt | 100.00 |
| Vector-efficiency ratio other | 12.50 |
| Metric | Value |
|---|---|
| CQA speedup if no scalar integer | 1.00 |
| CQA speedup if FP arith vectorized | 1.00 |
| CQA speedup if fully vectorized | 1.00 |
| CQA speedup if no inter-iteration dependency | NA |
| CQA speedup if next bottleneck killed | 1.40 |
| Bottlenecks | P8, P9, |
| Function | _Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1 |
| Source | PdV.cpp:72-83 |
| Source loop unroll info | unrolled by 8 |
| Source loop unroll confidence level | high |
| Unroll/vectorization loop type | main |
| Unroll factor | 8 |
| CQA cycles | 27.00 |
| CQA cycles if no scalar integer | 27.00 |
| CQA cycles if FP arith vectorized | 27.00 |
| CQA cycles if fully vectorized | 27.00 |
| Front-end cycles | 9.67 |
| DIV/SQRT cycles | 0.50 |
| P0 cycles | 0.50 |
| P1 cycles | 0.25 |
| P2 cycles | 0.25 |
| P3 cycles | 0.50 |
| P4 cycles | 19.33 |
| P5 cycles | 19.33 |
| P6 cycles | 19.33 |
| P7 cycles | 11.00 |
| P8 cycles | 11.00 |
| P9 cycles | 15.00 |
| P10 cycles | 15.00 |
| P11 cycles | 9.00 |
| P12 cycles | 9.00 |
| P13 cycles | 27.00 |
| Inter-iter dependencies cycles | 1 |
| FE+BE cycles (UFS) | NA |
| Stall cycles (UFS) | NA |
| Nb insns | 57.00 |
| Nb uops | 58.00 |
| Nb loads | 29.00 |
| Nb stores | 2.00 |
| Nb stack references | 2.00 |
| FLOP/cycle | 8.59 |
| Nb FLOP add-sub | 120.00 |
| Nb FLOP mul | 40.00 |
| Nb FLOP fma | 24.00 |
| Nb FLOP div | 24.00 |
| Nb FLOP rcp | 0.00 |
| Nb FLOP sqrt | 0.00 |
| Nb FLOP rsqrt | 0.00 |
| Bytes/cycle | 69.33 |
| Bytes prefetched | 0.00 |
| Bytes loaded | 1744.00 |
| Bytes stored | 128.00 |
| Stride 0 | 1.00 |
| Stride 1 | 10.00 |
| Stride n | 2.00 |
| Stride unknown | 1.00 |
| Stride indirect | 0.00 |
| Vectorization ratio all | 73.08 |
| Vectorization ratio load | 100.00 |
| Vectorization ratio store | 100.00 |
| Vectorization ratio mul | 100.00 |
| Vectorization ratio add_sub | 100.00 |
| Vectorization ratio fma | 100.00 |
| Vectorization ratio div_sqrt | 100.00 |
| Vectorization ratio other | 0.00 |
| Vector-efficiency ratio all | 76.44 |
| Vector-efficiency ratio load | 100.00 |
| Vector-efficiency ratio store | 100.00 |
| Vector-efficiency ratio mul | 100.00 |
| Vector-efficiency ratio add_sub | 100.00 |
| Vector-efficiency ratio fma | 100.00 |
| Vector-efficiency ratio div_sqrt | 100.00 |
| Vector-efficiency ratio other | 12.50 |
| Path / |
| Function | _Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1 |
| Source file and lines | PdV.cpp:72-83 |
| Module | exec |
| nb instructions | 57 |
| nb uops | 58 |
| loop length | 367 |
| used x86 registers | 15 |
| used mmx registers | 0 |
| used xmm registers | 14 |
| used ymm registers | 0 |
| used zmm registers | 9 |
| nb stack references | 2 |
| ADD-SUB / MUL ratio | 3.00 |
| micro-operation queue | 9.67 cycles |
| front end | 9.67 cycles |
| ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 10.33 | 10.33 | 10.33 | 5.50 | 5.50 | 7.50 | 7.50 | 9.00 | 9.00 |
| cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 19.33 | 19.33 | 19.33 | 11.00 | 11.00 | 15.00 | 15.00 | 9.00 | 9.00 |
| Cycles executing div or sqrt instructions | 27.00 |
| Longest recurrence chain latency (RecMII) | 1.00 |
| Front-end | 9.67 |
| Dispatch | 19.33 |
| DIV/SQRT | 27.00 |
| Data deps. | 1.00 |
| Overall L1 | 27.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 | 100% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | NA (no other vectorizable/vectorized instructions) |
| all | 73% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | 0% |
| 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 | 100% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | NA (no other vectorizable/vectorized instructions) |
| all | 76% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | 12% |
| Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VMOVQ %XMM7,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RBX,%RAX,1),%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R12,%RAX,1),%ZMM4,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R10,%RAX,1),%ZMM2,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM20,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM19,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD (%R14,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM21,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD %ZMM5,%ZMM1,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%R11,%RAX,1),%ZMM4,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD %ZMM1,%ZMM3,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMULPD (%RCX,%RAX,1),%ZMM2,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM25,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM23,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD (%R15,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R13,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM22,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM24,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM18,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD %ZMM3,%ZMM4,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%RDI,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%RSI,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD %ZMM3,%ZMM4,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMULPD (%RCX,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| MOV 0x1a8(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
| VMOVUPD (%R8,%RAX,1),%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VFMADD132PD (%RCX,%RAX,1),%ZMM4,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VMOVQ %XMM17,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VFMADD132PD (%RCX,%RAX,1),%ZMM1,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VSUBPD %ZMM15,%ZMM2,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM13,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R9,%RAX,1),%ZMM2,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM10,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMULPD %ZMM12,%ZMM15,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R8,%RAX,1),%ZMM6,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VDIVPD (%RDX,%RAX,1),%ZMM4,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VDIVPD %ZMM1,%ZMM3,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VDIVPD %ZMM3,%ZMM11,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VMULPD %ZMM1,%ZMM15,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VFNMADD213PD (%RCX,%RAX,1),%ZMM3,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VMOVQ %XMM8,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD %ZMM6,(%RCX,%RAX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
| VMULPD (%RDX,%RAX,1),%ZMM5,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM27,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD %ZMM6,(%RCX,%RAX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
| MOV 0x1b0(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
| ADD $0x40,%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| CMP %RCX,%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| JNE 4416a0 <_Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1+0x630> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
| Function | _Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1 |
| Source file and lines | PdV.cpp:72-83 |
| Module | exec |
| nb instructions | 57 |
| nb uops | 58 |
| loop length | 367 |
| used x86 registers | 15 |
| used mmx registers | 0 |
| used xmm registers | 14 |
| used ymm registers | 0 |
| used zmm registers | 9 |
| nb stack references | 2 |
| ADD-SUB / MUL ratio | 3.00 |
| micro-operation queue | 9.67 cycles |
| front end | 9.67 cycles |
| ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 10.33 | 10.33 | 10.33 | 5.50 | 5.50 | 7.50 | 7.50 | 9.00 | 9.00 |
| cycles | 0.50 | 0.50 | 0.25 | 0.25 | 0.50 | 19.33 | 19.33 | 19.33 | 11.00 | 11.00 | 15.00 | 15.00 | 9.00 | 9.00 |
| Cycles executing div or sqrt instructions | 27.00 |
| Longest recurrence chain latency (RecMII) | 1.00 |
| Front-end | 9.67 |
| Dispatch | 19.33 |
| DIV/SQRT | 27.00 |
| Data deps. | 1.00 |
| Overall L1 | 27.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 | 100% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | NA (no other vectorizable/vectorized instructions) |
| all | 73% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | 0% |
| 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 | 100% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | NA (no other vectorizable/vectorized instructions) |
| all | 76% |
| load | 100% |
| store | 100% |
| mul | 100% |
| add-sub | 100% |
| fma | 100% |
| div/sqrt | 100% |
| other | 12% |
| Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VMOVQ %XMM7,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RBX,%RAX,1),%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R12,%RAX,1),%ZMM4,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R10,%RAX,1),%ZMM2,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM20,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM19,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD (%R14,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM21,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD %ZMM5,%ZMM1,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%R11,%RAX,1),%ZMM4,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD %ZMM1,%ZMM3,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMULPD (%RCX,%RAX,1),%ZMM2,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM25,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM23,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD (%R15,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R13,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM22,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM24,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM18,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VADDPD %ZMM3,%ZMM4,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%RDI,%RAX,1),%ZMM6,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD (%RSI,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VADDPD %ZMM3,%ZMM4,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMULPD (%RCX,%RAX,1),%ZMM5,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| MOV 0x1a8(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
| VMOVUPD (%R8,%RAX,1),%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VFMADD132PD (%RCX,%RAX,1),%ZMM4,%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VMOVQ %XMM17,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VFMADD132PD (%RCX,%RAX,1),%ZMM1,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VSUBPD %ZMM15,%ZMM2,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM13,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD (%RCX,%RAX,1),%ZMM2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R9,%RAX,1),%ZMM2,%ZMM4 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM10,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMULPD %ZMM12,%ZMM15,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VADDPD (%R8,%RAX,1),%ZMM6,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 3 | 1 |
| VDIVPD (%RDX,%RAX,1),%ZMM4,%ZMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VDIVPD %ZMM1,%ZMM3,%ZMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VDIVPD %ZMM3,%ZMM11,%ZMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 13 | 9 |
| VMULPD %ZMM1,%ZMM15,%ZMM3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VFNMADD213PD (%RCX,%RAX,1),%ZMM3,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 4 | 1 |
| VMOVQ %XMM8,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD %ZMM6,(%RCX,%RAX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
| VMULPD (%RDX,%RAX,1),%ZMM5,%ZMM6 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 3 | 1 |
| VMOVQ %XMM27,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 1 | 1 |
| VMOVUPD %ZMM6,(%RCX,%RAX,1) | 2 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 1 | 1 | 5 | 2 |
| MOV 0x1b0(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
| ADD $0x40,%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| CMP %RCX,%RAX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
| JNE 4416a0 <_Z10PdV_kernelbiiiidRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_._omp_fn.1+0x630> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
