Function: advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, ... | Module: exec | Source: advec_mom.cpp:180-211 [...] | Coverage: 2.56% |
---|
Function: advec_mom_kernel(int, int, int, int, clover::Buffer2D<double>&, clover::Buffer2D<double>&, ... | Module: exec | Source: advec_mom.cpp:180-211 [...] | Coverage: 2.56% |
---|
/scratch_na/users/xoserete/qaas_runs/171-415-4687/intel/CloverLeafCXX/build/CloverLeafCXX/src/omp/context.h: 46 - 69 |
-------------------------------------------------------------------------------- |
46: T &operator[](size_t i) const { return data[i]; } |
[...] |
69: T &operator()(size_t i, size_t j) const { return data[i + j * sizeX]; } |
/scratch_na/users/xoserete/qaas_runs/171-415-4687/intel/CloverLeafCXX/build/CloverLeafCXX/src/omp/advec_mom.cpp: 180 - 211 |
-------------------------------------------------------------------------------- |
180: #pragma omp parallel for simd collapse(2) |
181: for (int j = (y_min - 1 + 1); j < (y_max + 1 + 2); j++) { |
182: for (int i = (x_min + 1); i < (x_max + 1 + 2); i++) |
183: ({ |
184: int upwind, donor, downwind, dif; |
185: double sigma, width, limiter, vdiffuw, vdiffdw, auw, adw, wind, advec_vel_s; |
186: if (node_flux(i, j) < 0.0) { |
187: upwind = j + 2; |
188: donor = j + 1; |
189: downwind = j; |
190: dif = donor; |
191: } else { |
192: upwind = j - 1; |
193: donor = j; |
194: downwind = j + 1; |
195: dif = upwind; |
196: } |
197: sigma = std::fabs(node_flux(i, j)) / (node_mass_pre(i, donor)); |
198: width = celldy[j]; |
199: vdiffuw = vel1(i, donor) - vel1(i, upwind); |
200: vdiffdw = vel1(i, downwind) - vel1(i, donor); |
201: limiter = 0.0; |
202: if (vdiffuw * vdiffdw > 0.0) { |
203: auw = std::fabs(vdiffuw); |
204: adw = std::fabs(vdiffdw); |
205: wind = 1.0; |
206: if (vdiffdw <= 0.0) wind = -1.0; |
207: limiter = |
208: wind * std::fmin(std::fmin(width * ((2.0 - sigma) * adw / width + (1.0 + sigma) * auw / celldy[dif]) / 6.0, auw), adw); |
209: } |
210: advec_vel_s = vel1(i, donor) + (1.0 - sigma) * limiter; |
211: mom_flux(i, j) = advec_vel_s * node_flux(i, j); |
0x422690 PUSH %RBP |
0x422691 MOV %RSP,%RBP |
0x422694 PUSH %R15 |
0x422696 PUSH %R14 |
0x422698 PUSH %R13 |
0x42269a PUSH %R12 |
0x42269c PUSH %RBX |
0x42269d AND $-0x20,%RSP |
0x4226a1 SUB $0xc0,%RSP |
0x4226a8 MOV %RCX,%R13 |
0x4226ab MOV %RDX,%R15 |
0x4226ae MOV 0x38(%RBP),%RAX |
0x4226b2 MOV 0x28(%RBP),%RBX |
0x4226b6 MOV 0x20(%RBP),%RCX |
0x4226ba MOV 0x10(%RBP),%RDX |
0x4226be MOV %RDX,0x38(%RSP) |
0x4226c3 MOV 0x18(%RBP),%EDX |
0x4226c6 MOV %EDX,0xc(%RSP) |
0x4226ca MOVL $0,0x14(%RSP) |
0x4226d2 TEST %RAX,%RAX |
0x4226d5 JS 422c5f |
0x4226db MOV %R9,%R14 |
0x4226de MOV %R8,%R12 |
0x4226e1 MOV %RCX,0x30(%RSP) |
0x4226e6 MOV (%RDI),%ESI |
0x4226e8 MOVQ $0,0x50(%RSP) |
0x4226f1 MOV %RAX,0x48(%RSP) |
0x4226f6 MOVQ $0x1,0x78(%RSP) |
0x4226ff SUB $0x8,%RSP |
0x422703 LEA 0x80(%RSP),%RAX |
0x42270b LEA 0x1c(%RSP),%RCX |
0x422710 LEA 0x58(%RSP),%R8 |
0x422715 LEA 0x50(%RSP),%R9 |
0x42271a MOV $0x682750,%EDI |
0x42271f MOV %ESI,0x18(%RSP) |
0x422723 MOV $0x22,%EDX |
0x422728 PUSH $0x1 |
0x42272a PUSH $0x1 |
0x42272c PUSH %RAX |
0x42272d CALL 403020 <__kmpc_for_static_init_8@plt> |
0x422732 ADD $0x20,%RSP |
0x422736 MOV 0x50(%RSP),%RSI |
0x42273b MOV 0x48(%RSP),%RAX |
0x422740 MOV %RAX,0x28(%RSP) |
0x422745 CMP %RAX,%RSI |
0x422748 JA 422c7f |
0x42274e MOV 0x30(%RSP),%RCX |
0x422753 SUB %ECX,%EBX |
0x422755 MOV (%R13),%R8 |
0x422759 MOV 0x10(%R13),%RAX |
0x42275d MOV %RAX,0x40(%RSP) |
0x422762 MOV (%R12),%R9 |
0x422766 MOV 0x10(%R12),%R12 |
0x42276b MOV (%R15),%RDI |
0x42276e MOV 0x10(%R15),%R15 |
0x422772 MOV (%R14),%R10 |
0x422775 MOV 0x10(%R14),%R14 |
0x422779 LEA 0x1(%RSI),%RAX |
0x42277d MOV 0x28(%RSP),%RDX |
0x422782 INC %RDX |
0x422785 CMP %RDX,%RAX |
0x422788 CMOVG %RAX,%RDX |
0x42278c SUB %RSI,%RDX |
0x42278f MOV $-0x8,%R13D |
0x422795 AND %RDX,%R13 |
0x422798 MOV %R8,0x20(%RSP) |
0x42279d MOV %R9,0x70(%RSP) |
0x4227a2 MOV %R10,0x68(%RSP) |
0x4227a7 JE 422ca1 |
0x4227ad MOV %R12,0x18(%RSP) |
0x4227b2 MOV %RDX,0x58(%RSP) |
0x4227b7 MOV %RBX,0x60(%RSP) |
0x4227bc VPBROADCASTQ %RBX,%YMM8 |
0x4227c2 MOV 0xc(%RSP),%EAX |
0x4227c6 VPBROADCASTD %EAX,%YMM0 |
0x4227cc VMOVDQU %YMM0,0x80(%RSP) |
0x4227d5 VPBROADCASTQ %RCX,%YMM13 |
0x4227db VPBROADCASTQ %R8,%YMM14 |
0x4227e1 VPBROADCASTQ %R9,%YMM15 |
0x4227e7 VPBROADCASTQ %RDI,%YMM16 |
0x4227ed VPBROADCASTQ %R10,%YMM17 |
0x4227f3 VPBROADCASTQ %RSI,%YMM0 |
0x4227f9 VPADDQ 0x43a7f(%RIP),%YMM0,%YMM9 |
0x422801 VPADDQ 0x438f7(%RIP),%YMM0,%YMM10 |
0x422809 XOR %EBX,%EBX |
0x42280b VXORPD %XMM18,%XMM18,%XMM18 |
0x422811 VBROADCASTSD 0x42ecd(%RIP),%YMM21 |
0x42281b VBROADCASTSD 0x43a93(%RIP),%YMM24 |
0x422825 VBROADCASTSD 0x43a81(%RIP),%YMM25 |
0x42282f VPBROADCASTQ 0x43a67(%RIP),%YMM26 |
0x422839 JMP 4229e1 |
0x42283e XCHG %AX,%AX |
(121) 0x422840 VMOVQ %XMM31,%RAX |
(121) 0x422846 VXORPD %XMM22,%XMM22,%XMM22 |
(121) 0x42284c KMOVQ %K2,%K3 |
(121) 0x422851 VGATHERQPD (%RAX,%YMM3,8),%YMM22{%K3} |
(121) 0x422858 VEXTRACTI32X4 $0x1,%YMM12,%XMM30 |
(121) 0x42285f VPMOVSXDQ %XMM30,%YMM30 |
(121) 0x422865 KMOVQ %K1,%K3 |
(121) 0x42286a VPXORD %XMM31,%XMM31,%XMM31 |
(121) 0x422870 VGATHERQPD (%RAX,%YMM30,8),%YMM31{%K3} |
(121) 0x422877 VANDPD %YMM21,%YMM5,%YMM30 |
(121) 0x42287d VDIVPD %YMM29,%YMM30,%YMM29 |
(121) 0x422883 VANDPD %YMM21,%YMM19,%YMM19 |
(121) 0x422889 VPMOVSXDQ %XMM12,%YMM12 |
(121) 0x42288e VXORPD %XMM30,%XMM30,%XMM30 |
(121) 0x422894 KMOVQ %K2,%K3 |
(121) 0x422899 VGATHERQPD (%RAX,%YMM12,8),%YMM30{%K3} |
(121) 0x4228a0 VANDPD %YMM21,%YMM20,%YMM12 |
(121) 0x4228a6 VCMPPD $0x1,%YMM20,%YMM18,%K3 |
(121) 0x4228ad VBROADCASTSD 0x439f1(%RIP),%YMM23 |
(121) 0x4228b7 VSUBPD %YMM29,%YMM23,%YMM20 |
(121) 0x4228bd VMULPD %YMM20,%YMM12,%YMM20 |
(121) 0x4228c3 VMINPD %YMM12,%YMM19,%YMM12 |
(121) 0x4228c9 VFMADD213PD %YMM19,%YMM29,%YMM19 |
(121) 0x4228cf VDIVPD %YMM30,%YMM19,%YMM19 |
(121) 0x4228d5 VDIVPD %YMM22,%YMM20,%YMM20 |
(121) 0x4228db VADDPD %YMM20,%YMM19,%YMM19 |
(121) 0x4228e1 VMULPD %YMM24,%YMM22,%YMM20 |
(121) 0x4228e7 VMULPD %YMM19,%YMM20,%YMM19 |
(121) 0x4228ed VMINPD %YMM12,%YMM19,%YMM12 |
(121) 0x4228f3 VXORPD %YMM25,%YMM12,%YMM19 |
(121) 0x4228f9 VMOVAPD %YMM12,%YMM19{%K3} |
(121) 0x4228ff VMOVAPD %YMM19,%YMM12{%K2}{z} |
(121) 0x422905 VBROADCASTSD 0x42dc1(%RIP),%YMM20 |
(121) 0x42290f VSUBPD %YMM29,%YMM20,%YMM19 |
(121) 0x422915 VFMADD213PD %YMM11,%YMM12,%YMM19 |
(121) 0x42291b VMULPD %YMM5,%YMM19,%YMM5 |
(121) 0x422921 KMOVQ %K1,%K2 |
(121) 0x422926 VPMULLQ %YMM3,%YMM17,%YMM3 |
(121) 0x42292c VPADDQ %YMM4,%YMM3,%YMM3 |
(121) 0x422930 VPXOR %XMM4,%XMM4,%XMM4 |
(121) 0x422934 VGATHERQPD (%RAX,%YMM0,8),%YMM4{%K2} |
(121) 0x42293b KXNORW %K0,%K0,%K2 |
(121) 0x42293f VSCATTERQPD %YMM5,(%R14,%YMM3,8){%K2} |
(121) 0x422946 VANDPD %YMM21,%YMM2,%YMM3 |
(121) 0x42294c VDIVPD %YMM7,%YMM3,%YMM3 |
(121) 0x422950 VANDPD %YMM21,%YMM27,%YMM5 |
(121) 0x422956 VANDPD %YMM21,%YMM28,%YMM7 |
(121) 0x42295c VCMPPD $0x1,%YMM28,%YMM18,%K2 |
(121) 0x422963 VSUBPD %YMM3,%YMM23,%YMM11 |
(121) 0x422969 VMULPD %YMM7,%YMM11,%YMM11 |
(121) 0x42296d VMINPD %YMM7,%YMM5,%YMM7 |
(121) 0x422971 VFMADD213PD %YMM5,%YMM3,%YMM5 |
(121) 0x422976 VDIVPD %YMM31,%YMM5,%YMM5 |
(121) 0x42297c VDIVPD %YMM4,%YMM11,%YMM11 |
(121) 0x422980 VADDPD %YMM5,%YMM11,%YMM5 |
(121) 0x422984 VMULPD %YMM24,%YMM4,%YMM4 |
(121) 0x42298a VMULPD %YMM5,%YMM4,%YMM4 |
(121) 0x42298e VMINPD %YMM7,%YMM4,%YMM4 |
(121) 0x422992 VXORPD %YMM25,%YMM4,%YMM5 |
(121) 0x422998 VMOVAPD %YMM4,%YMM5{%K2} |
(121) 0x42299e VMOVAPD %YMM5,%YMM4{%K1}{z} |
(121) 0x4229a4 VSUBPD %YMM3,%YMM20,%YMM3 |
(121) 0x4229aa VFMADD213PD %YMM6,%YMM4,%YMM3 |
(121) 0x4229af VMULPD %YMM2,%YMM3,%YMM2 |
(121) 0x4229b3 VPMULLQ %YMM0,%YMM17,%YMM0 |
(121) 0x4229b9 VPADDQ %YMM1,%YMM0,%YMM0 |
(121) 0x4229bd KXNORW %K0,%K0,%K1 |
(121) 0x4229c1 VSCATTERQPD %YMM2,(%R14,%YMM0,8){%K1} |
(121) 0x4229c8 VPADDQ %YMM26,%YMM10,%YMM10 |
(121) 0x4229ce VPADDQ %YMM26,%YMM9,%YMM9 |
(121) 0x4229d4 ADD $0x8,%RBX |
(121) 0x4229d8 CMP %R13,%RBX |
(121) 0x4229db JAE 422c6e |
(121) 0x4229e1 VMOVDQA %YMM10,%YMM0 |
(121) 0x4229e5 VMOVDQA %YMM8,%YMM1 |
(121) 0x4229e9 MOV $0x454690,%R12 |
(121) 0x4229f0 CALL %R12 |
(121) 0x4229f3 VMOVDQA %YMM0,%YMM11 |
(121) 0x4229f7 VMOVDQA %YMM9,%YMM0 |
(121) 0x4229fb VMOVDQA %YMM8,%YMM1 |
(121) 0x4229ff CALL %R12 |
(121) 0x422a02 VPMOVQD %YMM11,%XMM1 |
(121) 0x422a08 VPMOVQD %YMM0,%XMM0 |
(121) 0x422a0e VINSERTI128 $0x1,%XMM0,%YMM1,%YMM0 |
(121) 0x422a14 VPADDD 0x80(%RSP),%YMM0,%YMM27 |
(121) 0x422a1c VMOVDQA %YMM10,%YMM0 |
(121) 0x422a20 VMOVDQA %YMM8,%YMM1 |
(121) 0x422a24 MOV $0x454460,%R12 |
(121) 0x422a2b CALL %R12 |
(121) 0x422a2e VMOVDQA %YMM0,%YMM11 |
(121) 0x422a32 VMOVDQA %YMM9,%YMM0 |
(121) 0x422a36 VMOVDQA %YMM8,%YMM1 |
(121) 0x422a3a CALL %R12 |
(121) 0x422a3d VPADDQ %YMM13,%YMM11,%YMM4 |
(121) 0x422a42 VPADDQ %YMM0,%YMM13,%YMM1 |
(121) 0x422a46 VPMOVSXDQ %XMM27,%YMM3 |
(121) 0x422a4c VEXTRACTI32X4 $0x1,%YMM27,%XMM0 |
(121) 0x422a53 VPMOVSXDQ %XMM0,%YMM0 |
(121) 0x422a58 VXORPS %XMM2,%XMM2,%XMM2 |
(121) 0x422a5c VPMULLQ %YMM0,%YMM14,%YMM2 |
(121) 0x422a62 VXORPS %XMM5,%XMM5,%XMM5 |
(121) 0x422a66 VPMULLQ %YMM3,%YMM14,%YMM5 |
(121) 0x422a6c VPSLLQ $0x20,%YMM1,%YMM1 |
(121) 0x422a71 VPSRAQ $0x20,%YMM1,%YMM1 |
(121) 0x422a78 VPADDQ %YMM1,%YMM2,%YMM6 |
(121) 0x422a7c KXNORW %K0,%K0,%K1 |
(121) 0x422a80 VPXOR %XMM2,%XMM2,%XMM2 |
(121) 0x422a84 MOV 0x40(%RSP),%RAX |
(121) 0x422a89 VGATHERQPD (%RAX,%YMM6,8),%YMM2{%K1} |
(121) 0x422a90 VPSLLQ $0x20,%YMM4,%YMM4 |
(121) 0x422a95 VPSRAQ $0x20,%YMM4,%YMM4 |
(121) 0x422a9c VPADDQ %YMM4,%YMM5,%YMM6 |
(121) 0x422aa0 KXNORW %K0,%K0,%K1 |
(121) 0x422aa4 VPXOR %XMM5,%XMM5,%XMM5 |
(121) 0x422aa8 VGATHERQPD (%RAX,%YMM6,8),%YMM5{%K1} |
(121) 0x422aaf VCMPPD $0x1,%YMM18,%YMM5,%K1 |
(121) 0x422ab6 VCMPPD $0x1,%YMM18,%YMM2,%K2 |
(121) 0x422abd VPCMPEQD %YMM12,%YMM12,%YMM12 |
(121) 0x422ac2 VPSUBD %YMM12,%YMM27,%YMM28 |
(121) 0x422ac8 VEXTRACTI32X4 $0x1,%YMM28,%XMM6 |
(121) 0x422acf VPMOVSXDQ %XMM6,%YMM19 |
(121) 0x422ad5 VPMOVSXDQ %XMM28,%YMM20 |
(121) 0x422adb VPBLENDMQ %YMM20,%YMM3,%YMM6{%K1} |
(121) 0x422ae1 VPBLENDMQ %YMM19,%YMM0,%YMM11{%K2} |
(121) 0x422ae7 VPMULLQ %YMM11,%YMM15,%YMM7 |
(121) 0x422aed VPMULLQ %YMM6,%YMM15,%YMM29 |
(121) 0x422af3 VPADDQ %YMM1,%YMM7,%YMM30 |
(121) 0x422af9 KXNORW %K0,%K0,%K3 |
(121) 0x422afd VPXOR %XMM7,%XMM7,%XMM7 |
(121) 0x422b01 MOV 0x18(%RSP),%RAX |
(121) 0x422b06 VGATHERQPD (%RAX,%YMM30,8),%YMM7{%K3} |
(121) 0x422b0d VPADDQ %YMM4,%YMM29,%YMM30 |
(121) 0x422b13 KXNORW %K0,%K0,%K3 |
(121) 0x422b17 VPXORD %XMM29,%XMM29,%XMM29 |
(121) 0x422b1d VGATHERQPD (%RAX,%YMM30,8),%YMM29{%K3} |
(121) 0x422b24 VPMULLQ %YMM11,%YMM16,%YMM11 |
(121) 0x422b2a VPMULLQ %YMM6,%YMM16,%YMM31 |
(121) 0x422b30 KSHIFTLB $0x4,%K2,%K0 |
(121) 0x422b36 VPADDQ %YMM1,%YMM11,%YMM11 |
(121) 0x422b3a KXNORW %K0,%K0,%K3 |
(121) 0x422b3e VPXOR %XMM6,%XMM6,%XMM6 |
(121) 0x422b42 VGATHERQPD (%R15,%YMM11,8),%YMM6{%K3} |
(121) 0x422b49 KORB %K0,%K1,%K3 |
(121) 0x422b4d VPADDD %YMM12,%YMM27,%YMM12 |
(121) 0x422b53 VMOVDQA64 %YMM12,%YMM30 |
(121) 0x422b59 VPADDQ %YMM4,%YMM31,%YMM31 |
(121) 0x422b5f KXNORW %K0,%K0,%K4 |
(121) 0x422b63 VXORPD %XMM11,%XMM11,%XMM11 |
(121) 0x422b68 VGATHERQPD (%R15,%YMM31,8),%YMM11{%K4} |
(121) 0x422b6f VPADDD 0x45637(%RIP){1to8},%YMM27,%YMM30{%K3} |
(121) 0x422b79 VEXTRACTI32X4 $0x1,%YMM30,%XMM27 |
(121) 0x422b80 VPMOVSXDQ %XMM27,%YMM27 |
(121) 0x422b86 VPMULLQ %YMM27,%YMM16,%YMM27 |
(121) 0x422b8c VPADDQ %YMM1,%YMM27,%YMM27 |
(121) 0x422b92 KXNORW %K0,%K0,%K4 |
(121) 0x422b96 VXORPD %XMM31,%XMM31,%XMM31 |
(121) 0x422b9c VGATHERQPD (%R15,%YMM27,8),%YMM31{%K4} |
(121) 0x422ba3 VPMOVSXDQ %XMM30,%YMM27 |
(121) 0x422ba9 VPMULLQ %YMM27,%YMM16,%YMM27 |
(121) 0x422baf VPBLENDMQ %YMM3,%YMM20,%YMM20{%K1} |
(121) 0x422bb5 VPBLENDMQ %YMM0,%YMM19,%YMM19{%K2} |
(121) 0x422bbb VPADDQ %YMM4,%YMM27,%YMM27 |
(121) 0x422bc1 KXNORW %K0,%K0,%K1 |
(121) 0x422bc5 VPXORD %XMM30,%XMM30,%XMM30 |
(121) 0x422bcb VGATHERQPD (%R15,%YMM27,8),%YMM30{%K1} |
(121) 0x422bd2 VPMULLQ %YMM19,%YMM16,%YMM19 |
(121) 0x422bd8 VPMULLQ %YMM20,%YMM16,%YMM20 |
(121) 0x422bde VPADDQ %YMM1,%YMM19,%YMM19 |
(121) 0x422be4 KXNORW %K0,%K0,%K1 |
(121) 0x422be8 VXORPD %XMM22,%XMM22,%XMM22 |
(121) 0x422bee VGATHERQPD (%R15,%YMM19,8),%YMM22{%K1} |
(121) 0x422bf5 VPADDQ %YMM4,%YMM20,%YMM19 |
(121) 0x422bfb KXNORW %K0,%K0,%K1 |
(121) 0x422bff VPXORD %XMM20,%XMM20,%XMM20 |
(121) 0x422c05 VGATHERQPD (%R15,%YMM19,8),%YMM20{%K1} |
(121) 0x422c0c VMOVDQA32 %YMM28,%YMM12{%K3} |
(121) 0x422c12 VSUBPD %YMM30,%YMM11,%YMM19 |
(121) 0x422c18 VSUBPD %YMM31,%YMM6,%YMM27 |
(121) 0x422c1e VSUBPD %YMM11,%YMM20,%YMM20 |
(121) 0x422c24 VSUBPD %YMM6,%YMM22,%YMM28 |
(121) 0x422c2a VMULPD %YMM27,%YMM28,%YMM22 |
(121) 0x422c30 VMULPD %YMM19,%YMM20,%YMM30 |
(121) 0x422c36 VCMPPD $0x1,%YMM30,%YMM18,%K2 |
(121) 0x422c3d VCMPPD $0x1,%YMM22,%YMM18,%K1 |
(121) 0x422c44 KORTESTB %K1,%K2 |
(121) 0x422c48 JE 422840 |
(121) 0x422c4e MOV 0x38(%RSP),%RAX |
(121) 0x422c53 VMOVQ 0x8(%RAX),%XMM31 |
(121) 0x422c5a JMP 422840 |
0x422c5f LEA -0x28(%RBP),%RSP |
0x422c63 POP %RBX |
0x422c64 POP %R12 |
0x422c66 POP %R13 |
0x422c68 POP %R14 |
0x422c6a POP %R15 |
0x422c6c POP %RBP |
0x422c6d RET |
0x422c6e CMP %R13,0x58(%RSP) |
0x422c73 MOV 0x60(%RSP),%RBX |
0x422c78 MOV 0x18(%RSP),%R12 |
0x422c7d JNE 422c9e |
0x422c7f MOV $0x682770,%EDI |
0x422c84 MOV 0x10(%RSP),%ESI |
0x422c88 LEA -0x28(%RBP),%RSP |
0x422c8c POP %RBX |
0x422c8d POP %R12 |
0x422c8f POP %R13 |
0x422c91 POP %R14 |
0x422c93 POP %R15 |
0x422c95 POP %RBP |
0x422c96 VZEROUPPER |
0x422c99 JMP 402e90 |
0x422c9e ADD %R13,%RSI |
0x422ca1 VPXOR %XMM0,%XMM0,%XMM0 |
0x422ca5 VMOVDDUP 0x42a3b(%RIP),%XMM1 |
0x422cad VMOVSD 0x435f3(%RIP),%XMM2 |
0x422cb5 VMOVSD 0x42a13(%RIP),%XMM3 |
0x422cbd VMOVSD 0x435f3(%RIP),%XMM4 |
0x422cc5 VMOVDDUP 0x435e3(%RIP),%XMM5 |
0x422ccd JMP 422cfa |
0x422ccf NOP |
(120) 0x422cd0 VSUBSD %XMM7,%XMM3,%XMM7 |
(120) 0x422cd4 VFMADD213SD %XMM8,%XMM10,%XMM7 |
(120) 0x422cd9 VMULSD %XMM6,%XMM7,%XMM6 |
(120) 0x422cdd IMUL 0x68(%RSP),%RDX |
(120) 0x422ce3 ADD %RAX,%RDX |
(120) 0x422ce6 VMOVSD %XMM6,(%R14,%RDX,8) |
(120) 0x422cec INC %RSI |
(120) 0x422cef CMP 0x28(%RSP),%RSI |
(120) 0x422cf4 JG 422c7f |
(120) 0x422cfa MOV %RSI,%R8 |
(120) 0x422cfd SHR $0x20,%R8 |
(120) 0x422d01 JE 422d30 |
(120) 0x422d03 MOV %RSI,%RAX |
(120) 0x422d06 XOR %EDX,%EDX |
(120) 0x422d08 DIV %RBX |
(120) 0x422d0b MOV %RAX,%RCX |
(120) 0x422d0e TEST %R8,%R8 |
(120) 0x422d11 MOV 0x70(%RSP),%R11 |
(120) 0x422d16 JE 422d42 |
(120) 0x422d18 MOV %RSI,%RAX |
(120) 0x422d1b CQTO |
(120) 0x422d1d IDIV %RBX |
(120) 0x422d20 JMP 422d48 |
0x422d22 NOPW %CS:(%RAX,%RAX,1) |
(120) 0x422d30 MOV %ESI,%EAX |
(120) 0x422d32 XOR %EDX,%EDX |
(120) 0x422d34 DIV %EBX |
(120) 0x422d36 MOV %EAX,%ECX |
(120) 0x422d38 TEST %R8,%R8 |
(120) 0x422d3b MOV 0x70(%RSP),%R11 |
(120) 0x422d40 JNE 422d18 |
(120) 0x422d42 MOV %ESI,%EAX |
(120) 0x422d44 XOR %EDX,%EDX |
(120) 0x422d46 DIV %EBX |
(120) 0x422d48 MOV 0x20(%RSP),%R8 |
(120) 0x422d4d ADD 0xc(%RSP),%ECX |
(120) 0x422d51 ADD 0x30(%RSP),%EDX |
(120) 0x422d55 MOVSXD %EDX,%RAX |
(120) 0x422d58 MOVSXD %ECX,%RDX |
(120) 0x422d5b IMUL %RDX,%R8 |
(120) 0x422d5f ADD %RAX,%R8 |
(120) 0x422d62 MOV 0x40(%RSP),%R9 |
(120) 0x422d67 VMOVSD (%R9,%R8,8),%XMM6 |
(120) 0x422d6d LEA 0x1(%RDX),%R8D |
(120) 0x422d71 VUCOMISD %XMM6,%XMM0 |
(120) 0x422d75 MOVSXD %R8D,%R10 |
(120) 0x422d78 JBE 422d90 |
(120) 0x422d7a ADD $0x2,%ECX |
(120) 0x422d7d MOV %RDX,%R9 |
(120) 0x422d80 JMP 422d9b |
0x422d82 NOPW %CS:(%RAX,%RAX,1) |
(120) 0x422d90 DEC %ECX |
(120) 0x422d92 MOV %R10,%R9 |
(120) 0x422d95 MOV %RDX,%R10 |
(120) 0x422d98 MOV %ECX,%R8D |
(120) 0x422d9b VANDPD %XMM1,%XMM6,%XMM7 |
(120) 0x422d9f IMUL %R10,%R11 |
(120) 0x422da3 ADD %RAX,%R11 |
(120) 0x422da6 VDIVSD (%R12,%R11,8),%XMM7,%XMM7 |
(120) 0x422dac IMUL %RDI,%R10 |
(120) 0x422db0 ADD %RAX,%R10 |
(120) 0x422db3 VMOVSD (%R15,%R10,8),%XMM8 |
(120) 0x422db9 MOVSXD %ECX,%RCX |
(120) 0x422dbc IMUL %RDI,%RCX |
(120) 0x422dc0 ADD %RAX,%RCX |
(120) 0x422dc3 IMUL %RDI,%R9 |
(120) 0x422dc7 ADD %RAX,%R9 |
(120) 0x422dca VMOVHPD (%R15,%R9,8),%XMM8,%XMM9 |
(120) 0x422dd0 VMOVSD (%R15,%RCX,8),%XMM10 |
(120) 0x422dd6 VPUNPCKLQDQ %XMM8,%XMM10,%XMM10 |
(120) 0x422ddb VSUBPD %XMM10,%XMM9,%XMM11 |
(120) 0x422de0 VSHUFPD $0x1,%XMM11,%XMM11,%XMM9 |
(120) 0x422de6 VMULSD %XMM11,%XMM9,%XMM12 |
(120) 0x422deb VXORPD %XMM10,%XMM10,%XMM10 |
(120) 0x422df0 VUCOMISD %XMM10,%XMM12 |
(120) 0x422df5 JBE 422cd0 |
(120) 0x422dfb MOV 0x38(%RSP),%RCX |
(120) 0x422e00 MOV 0x8(%RCX),%RCX |
(120) 0x422e04 VMOVSD (%RCX,%RDX,8),%XMM10 |
(120) 0x422e09 VANDPD %XMM1,%XMM11,%XMM11 |
(120) 0x422e0d VSUBSD %XMM7,%XMM2,%XMM12 |
(120) 0x422e11 VADDSD %XMM3,%XMM7,%XMM13 |
(120) 0x422e15 VPUNPCKLQDQ %XMM12,%XMM13,%XMM12 |
(120) 0x422e1a MOVSXD %R8D,%R8 |
(120) 0x422e1d VMULPD %XMM12,%XMM11,%XMM12 |
(120) 0x422e22 VMOVSD (%RCX,%R8,8),%XMM13 |
(120) 0x422e28 VPUNPCKLQDQ %XMM10,%XMM13,%XMM13 |
(120) 0x422e2d VDIVPD %XMM13,%XMM12,%XMM12 |
(120) 0x422e32 VSHUFPD $0x1,%XMM12,%XMM12,%XMM13 |
(120) 0x422e38 VADDSD %XMM13,%XMM12,%XMM12 |
(120) 0x422e3d VMULSD %XMM4,%XMM10,%XMM10 |
(120) 0x422e41 VMULSD %XMM12,%XMM10,%XMM10 |
(120) 0x422e46 VSHUFPS $0x4e,%XMM11,%XMM11,%XMM12 |
(120) 0x422e4c VMINSD %XMM12,%XMM11,%XMM11 |
(120) 0x422e51 VMINSD %XMM11,%XMM10,%XMM11 |
(120) 0x422e56 VXORPD %XMM5,%XMM11,%XMM10 |
(120) 0x422e5a VCMPSD $0x1,%XMM9,%XMM0,%K1 |
(120) 0x422e61 VMOVSD %XMM11,%XMM10,%XMM10{%K1} |
(120) 0x422e67 JMP 422cd0 |
0x422e6c NOPL (%RAX) |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►100.00+ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so |
Path / |
Source file and lines | advec_mom.cpp:180-211 |
Module | exec |
nb instructions | 127 |
nb uops | 129 |
loop length | 577 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 7 |
used ymm registers | 13 |
used zmm registers | 0 |
nb stack references | 24 |
micro-operation queue | 21.50 cycles |
front end | 21.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 5.60 | 5.60 | 15.67 | 15.67 | 13.50 | 8.00 | 5.40 | 13.50 | 13.50 | 13.50 | 5.40 | 15.67 |
cycles | 5.60 | 5.60 | 15.67 | 15.67 | 13.50 | 8.00 | 5.40 | 13.50 | 13.50 | 13.50 | 5.40 | 15.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 21.31-21.29 |
Stall cycles | 0.00 |
Front-end | 21.50 |
Dispatch | 15.67 |
Overall L1 | 21.50 |
all | 10% |
load | 14% |
store | 5% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 40% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 11% |
all | 11% |
load | 0% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 10% |
load | 9% |
store | 5% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 40% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 13% |
all | 14% |
load | 17% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 26% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 12% |
all | 13% |
load | 12% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 15% |
all | 13% |
load | 15% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 26% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 13% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %R15 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R14 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R13 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R12 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
AND $-0x20,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SUB $0xc0,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x38(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x28(%RBP),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RBP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDX,0x38(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x18(%RBP),%EDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %EDX,0xc(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0,0x14(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
TEST %RAX,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JS 422c5f <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x5cf> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R9,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %R8,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,0x30(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%RDI),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVQ $0,0x50(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RAX,0x48(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVQ $0x1,0x78(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB $0x8,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x80(%RSP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x1c(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x58(%RSP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x50(%RSP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x682750,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,0x18(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV $0x22,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
PUSH $0x1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH $0x1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RAX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
CALL 403020 <__kmpc_for_static_init_8@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x50(%RSP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x48(%RSP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,0x28(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %RAX,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JA 422c7f <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x5ef> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV 0x30(%RSP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SUB %ECX,%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV (%R13),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R13),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,0x40(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%R12),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R12),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R15),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R14),%R10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R14),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA 0x1(%RSI),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV 0x28(%RSP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP %RDX,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMOVG %RAX,%RDX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
SUB %RSI,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV $-0x8,%R13D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
AND %RDX,%R13 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R8,0x20(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9,0x70(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R10,0x68(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JE 422ca1 <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x611> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R12,0x18(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RDX,0x58(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RBX,0x60(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VPBROADCASTQ %RBX,%YMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV 0xc(%RSP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VPBROADCASTD %EAX,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VMOVDQU %YMM0,0x80(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
VPBROADCASTQ %RCX,%YMM13 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R8,%YMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R9,%YMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %RDI,%YMM16 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R10,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %RSI,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPADDQ 0x43a7f(%RIP),%YMM0,%YMM9 | 1 | 0.33 | 0.33 | 0.33 | 0.33 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.40 |
VPADDQ 0x438f7(%RIP),%YMM0,%YMM10 | 1 | 0.33 | 0.33 | 0.33 | 0.33 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.40 |
XOR %EBX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM18,%XMM18,%XMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VBROADCASTSD 0x42ecd(%RIP),%YMM21 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VBROADCASTSD 0x43a93(%RIP),%YMM24 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VBROADCASTSD 0x43a81(%RIP),%YMM25 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VPBROADCASTQ 0x43a67(%RIP),%YMM26 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
JMP 4229e1 <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x351> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
XCHG %AX,%AX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x28(%RBP),%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
CMP %R13,0x58(%RSP) | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
MOV 0x60(%RSP),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RSP),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JNE 422c9e <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x60e> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x682770,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV 0x10(%RSP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA -0x28(%RBP),%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
JMP 402e90 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
ADD %R13,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
VPXOR %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDDUP 0x42a3b(%RIP),%XMM1 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x435f3(%RIP),%XMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x42a13(%RIP),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x435f3(%RIP),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVDDUP 0x435e3(%RIP),%XMM5 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 422cfa <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x66a> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
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 | advec_mom.cpp:180-211 |
Module | exec |
nb instructions | 127 |
nb uops | 129 |
loop length | 577 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 7 |
used ymm registers | 13 |
used zmm registers | 0 |
nb stack references | 24 |
micro-operation queue | 21.50 cycles |
front end | 21.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 5.60 | 5.60 | 15.67 | 15.67 | 13.50 | 8.00 | 5.40 | 13.50 | 13.50 | 13.50 | 5.40 | 15.67 |
cycles | 5.60 | 5.60 | 15.67 | 15.67 | 13.50 | 8.00 | 5.40 | 13.50 | 13.50 | 13.50 | 5.40 | 15.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 21.31-21.29 |
Stall cycles | 0.00 |
Front-end | 21.50 |
Dispatch | 15.67 |
Overall L1 | 21.50 |
all | 10% |
load | 14% |
store | 5% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 40% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 11% |
all | 11% |
load | 0% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 10% |
load | 9% |
store | 5% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 40% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 13% |
all | 14% |
load | 17% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 26% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 12% |
all | 13% |
load | 12% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 15% |
all | 13% |
load | 15% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 26% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 13% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PUSH %RBP | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
MOV %RSP,%RBP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %R15 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R14 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R13 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %R12 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
AND $-0x20,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SUB $0xc0,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x38(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x28(%RBP),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RBP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDX,0x38(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x18(%RBP),%EDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %EDX,0xc(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0,0x14(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
TEST %RAX,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JS 422c5f <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x5cf> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R9,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %R8,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,0x30(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%RDI),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVQ $0,0x50(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RAX,0x48(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVQ $0x1,0x78(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB $0x8,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x80(%RSP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x1c(%RSP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x58(%RSP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x50(%RSP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x682750,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,0x18(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV $0x22,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
PUSH $0x1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH $0x1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
PUSH %RAX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
CALL 403020 <__kmpc_for_static_init_8@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x50(%RSP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x48(%RSP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,0x28(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %RAX,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JA 422c7f <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x5ef> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV 0x30(%RSP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SUB %ECX,%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV (%R13),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R13),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,0x40(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%R12),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R12),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R15),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R15),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R14),%R10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%R14),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA 0x1(%RSI),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV 0x28(%RSP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP %RDX,%RAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMOVG %RAX,%RDX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
SUB %RSI,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV $-0x8,%R13D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
AND %RDX,%R13 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R8,0x20(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9,0x70(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R10,0x68(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JE 422ca1 <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x611> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R12,0x18(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RDX,0x58(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RBX,0x60(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VPBROADCASTQ %RBX,%YMM8 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV 0xc(%RSP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VPBROADCASTD %EAX,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VMOVDQU %YMM0,0x80(%RSP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0-1 | 0.50 |
VPBROADCASTQ %RCX,%YMM13 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R8,%YMM14 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R9,%YMM15 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %RDI,%YMM16 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %R10,%YMM17 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPBROADCASTQ %RSI,%YMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
VPADDQ 0x43a7f(%RIP),%YMM0,%YMM9 | 1 | 0.33 | 0.33 | 0.33 | 0.33 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.40 |
VPADDQ 0x438f7(%RIP),%YMM0,%YMM10 | 1 | 0.33 | 0.33 | 0.33 | 0.33 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.40 |
XOR %EBX,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM18,%XMM18,%XMM18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VBROADCASTSD 0x42ecd(%RIP),%YMM21 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VBROADCASTSD 0x43a93(%RIP),%YMM24 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VBROADCASTSD 0x43a81(%RIP),%YMM25 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
VPBROADCASTQ 0x43a67(%RIP),%YMM26 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 3 | 0.33 |
JMP 4229e1 <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x351> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
XCHG %AX,%AX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x28(%RBP),%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
RET | 1 | 0.50 | 0 | 0.33 | 0.33 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0.33 | 0 | 2.13 |
CMP %R13,0x58(%RSP) | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
MOV 0x60(%RSP),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RSP),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JNE 422c9e <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x60e> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x682770,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV 0x10(%RSP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA -0x28(%RBP),%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
POP %RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
POP %RBP | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1-6 | 0.33 |
VZEROUPPER | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
JMP 402e90 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
ADD %R13,%RSI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
VPXOR %XMM0,%XMM0,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVDDUP 0x42a3b(%RIP),%XMM1 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x435f3(%RIP),%XMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x42a13(%RIP),%XMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x435f3(%RIP),%XMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVDDUP 0x435e3(%RIP),%XMM5 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 422cfa <_Z16advec_mom_kerneliiiiRN6clover8Buffer2DIdEES2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_RNS_8Buffer1DIdEES5_iii.extracted.7+0x66a> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
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) |
---|---|---|
▼advec_mom_kernel(int, int, int, int, clover::Buffer2D | 2.56 | 3.47 |
○Loop 121 - advec_mom.cpp:181-211 - exec | 2.56 | 3.46 |
○Loop 120 - advec_mom.cpp:181-211 - exec | 0 | 0 |