Function: viscosity_kernel(int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, ... | Module: exec | Source: viscosity.cpp:36-64 [...] | Coverage: 7.03% |
---|
Function: viscosity_kernel(int, int, int, int, clover::Buffer1D<double>&, clover::Buffer1D<double>&, ... | Module: exec | Source: viscosity.cpp:36-64 [...] | Coverage: 7.03% |
---|
/scratch_na/users/xoserete/qaas_runs/171-415-4969/intel/CloverLeafCXX/build/CloverLeafCXX/src/omp/viscosity.cpp: 36 - 64 |
-------------------------------------------------------------------------------- |
36: #pragma omp parallel for simd collapse(2) |
37: for (int j = (y_min + 1); j < (y_max + 2); j++) { |
38: for (int i = (x_min + 1); i < (x_max + 2); i++) { |
39: double ugrad = (xvel0(i + 1, j + 0) + xvel0(i + 1, j + 1)) - (xvel0(i, j) + xvel0(i + 0, j + 1)); |
40: double vgrad = (yvel0(i + 0, j + 1) + yvel0(i + 1, j + 1)) - (yvel0(i, j) + yvel0(i + 1, j + 0)); |
41: double div = (celldx[i] * (ugrad) + celldy[j] * (vgrad)); |
42: double strain2 = 0.5 * (xvel0(i + 0, j + 1) + xvel0(i + 1, j + 1) - xvel0(i, j) - xvel0(i + 1, j + 0)) / celldy[j] + |
43: 0.5 * (yvel0(i + 1, j + 0) + yvel0(i + 1, j + 1) - yvel0(i, j) - yvel0(i + 0, j + 1)) / celldx[i]; |
44: double pgradx = (pressure(i + 1, j + 0) - pressure(i - 1, j + 0)) / (celldx[i] + celldx[i + 1]); |
45: double pgrady = (pressure(i + 0, j + 1) - pressure(i + 0, j - 1)) / (celldy[j] + celldy[j + 2]); |
46: double pgradx2 = pgradx * pgradx; |
47: double pgrady2 = pgrady * pgrady; |
48: double limiter = ((0.5 * (ugrad) / celldx[i]) * pgradx2 + (0.5 * (vgrad) / celldy[j]) * pgrady2 + strain2 * pgradx * pgrady) / |
49: std::fmax(pgradx2 + pgrady2, g_small); |
50: if ((limiter > 0.0) || (div >= 0.0)) { |
51: viscosity(i, j) = 0.0; |
52: } else { |
53: double dirx = 1.0; |
54: if (pgradx < 0.0) dirx = -1.0; |
55: pgradx = dirx * std::fmax(g_small, std::fabs(pgradx)); |
56: double diry = 1.0; |
57: if (pgradx < 0.0) diry = -1.0; |
58: pgrady = diry * std::fmax(g_small, std::fabs(pgrady)); |
59: double pgrad = std::sqrt(pgradx * pgradx + pgrady * pgrady); |
60: double xgrad = std::fabs(celldx[i] * pgrad / pgradx); |
61: double ygrad = std::fabs(celldy[j] * pgrad / pgrady); |
62: double grad = std::fmin(xgrad, ygrad); |
63: double grad2 = grad * grad; |
64: viscosity(i, j) = 2.0 * density0(i, j) * grad2 * limiter * limiter; |
/scratch_na/users/xoserete/qaas_runs/171-415-4969/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]; } |
0x45b3f0 PUSH %RBP |
0x45b3f1 MOV %RSP,%RBP |
0x45b3f4 PUSH %R15 |
0x45b3f6 PUSH %R14 |
0x45b3f8 PUSH %R13 |
0x45b3fa PUSH %R12 |
0x45b3fc PUSH %RBX |
0x45b3fd MOV %RDI,%RBX |
0x45b400 SUB $0x88,%RSP |
0x45b407 MOV 0x40(%RDI),%EAX |
0x45b40a MOV 0x44(%RDI),%ECX |
0x45b40d MOV 0x38(%RDI),%EDX |
0x45b410 MOV 0x3c(%RBX),%ESI |
0x45b413 ADD $0x2,%ECX |
0x45b416 LEA 0x1(%RAX),%R15D |
0x45b41a LEA 0x1(%RDX),%EDI |
0x45b41d MOV %ECX,-0x80(%RBP) |
0x45b420 MOV %EDI,-0x84(%RBP) |
0x45b426 CMP %ECX,%R15D |
0x45b429 JGE 45b870 |
0x45b42f MOV %ECX,%R13D |
0x45b432 LEA 0x2(%RSI),%R14D |
0x45b436 SUB %R15D,%R13D |
0x45b439 CMP %R14D,%EDI |
0x45b43c JGE 45b870 |
0x45b442 MOV %R14D,%R8D |
0x45b445 SUB %EDI,%R8D |
0x45b448 MOV %R8D,-0x7c(%RBP) |
0x45b44c CALL 4046c0 <omp_get_num_threads@plt> |
0x45b451 MOV %EAX,%R12D |
0x45b454 CALL 4045b0 <omp_get_thread_num@plt> |
0x45b459 XOR %EDX,%EDX |
0x45b45b MOV %EAX,%ECX |
0x45b45d MOV -0x7c(%RBP),%EAX |
0x45b460 IMUL %R13D,%EAX |
0x45b464 DIV %R12D |
0x45b467 MOV %EAX,%R12D |
0x45b46a CMP %EDX,%ECX |
0x45b46c JB 45b8ad |
0x45b472 IMUL %R12D,%ECX |
0x45b476 ADD %EDX,%ECX |
0x45b478 LEA (%R12,%RCX,1),%R9D |
0x45b47c MOV %R9D,-0x88(%RBP) |
0x45b483 CMP %R9D,%ECX |
0x45b486 JAE 45b870 |
0x45b48c MOV %ECX,%EAX |
0x45b48e XOR %EDX,%EDX |
0x45b490 MOV -0x84(%RBP),%R10D |
0x45b497 MOV 0x30(%RBX),%RDI |
0x45b49b DIVL -0x7c(%RBP) |
0x45b49e MOV 0x8(%RBX),%R13 |
0x45b4a2 MOV 0x18(%RBX),%R8 |
0x45b4a6 VMOVQ 0x75d2(%RIP),%XMM8 |
0x45b4ae VMOVSD 0x8122(%RIP),%XMM10 |
0x45b4b6 MOV %RDI,-0x98(%RBP) |
0x45b4bd VMOVQ 0x81db(%RIP),%XMM12 |
0x45b4c5 VMOVSD 0x70eb(%RIP),%XMM11 |
0x45b4cd MOV %R13,-0xa8(%RBP) |
0x45b4d4 MOV %R8,-0xb0(%RBP) |
0x45b4db VXORPD %XMM5,%XMM5,%XMM5 |
0x45b4df LEA (%RDX,%R10,1),%R9D |
0x45b4e3 MOV %R14D,%EDX |
0x45b4e6 MOV (%RBX),%R14 |
0x45b4e9 LEA (%RAX,%R15,1),%R11D |
0x45b4ed MOV 0x28(%RBX),%R15 |
0x45b4f1 MOV %R11D,-0x48(%RBP) |
0x45b4f5 SUB %R9D,%EDX |
0x45b4f8 MOV %R11D,%EAX |
0x45b4fb MOV %R14,-0xa0(%RBP) |
0x45b502 MOV 0x10(%RBX),%R14 |
0x45b506 MOV 0x20(%RBX),%RBX |
0x45b50a MOV %R15,-0x90(%RBP) |
0x45b511 MOVSXD %R11D,%R15 |
0x45b514 MOV %RBX,-0x68(%RBP) |
0x45b518 NOPL (%RAX,%RAX,1) |
(505) 0x45b520 CMP %EDX,%R12D |
(505) 0x45b523 CMOVBE %R12D,%EDX |
(505) 0x45b527 INC %EAX |
(505) 0x45b529 MOV %EAX,-0x5c(%RBP) |
(505) 0x45b52c LEA (%RCX,%RDX,1),%ESI |
(505) 0x45b52f MOV %ESI,-0x60(%RBP) |
(505) 0x45b532 CMP %ESI,%ECX |
(505) 0x45b534 JAE 45b8a0 |
(505) 0x45b53a MOV -0x98(%RBP),%RAX |
(505) 0x45b541 MOV -0x90(%RBP),%R12 |
(505) 0x45b548 LEA 0x1(%R15),%RCX |
(505) 0x45b54c VMOVDDUP 0x8074(%RIP),%XMM9 |
(505) 0x45b554 MOV -0xa8(%RBP),%R8 |
(505) 0x45b55b MOV -0xa0(%RBP),%R13 |
(505) 0x45b562 MOV %RCX,-0x58(%RBP) |
(505) 0x45b566 MOV 0x10(%RAX),%R11 |
(505) 0x45b56a MOV 0x10(%R12),%R10 |
(505) 0x45b56f MOV (%R12),%RDI |
(505) 0x45b573 MOV (%RAX),%R12 |
(505) 0x45b576 MOV 0x8(%R8),%RAX |
(505) 0x45b57a MOV -0x48(%RBP),%R8D |
(505) 0x45b57e MOV %R11,-0x70(%RBP) |
(505) 0x45b582 MOV -0xb0(%RBP),%R11 |
(505) 0x45b589 MOV 0x8(%R13),%RBX |
(505) 0x45b58d MOV %RDI,-0x78(%RBP) |
(505) 0x45b591 IMUL %R15,%RDI |
(505) 0x45b595 IMUL %R12,%RCX |
(505) 0x45b599 LEA (%RAX,%R15,8),%RSI |
(505) 0x45b59d VMOVSD 0x8023(%RIP),%XMM6 |
(505) 0x45b5a5 MOV 0x10(%R11),%R13 |
(505) 0x45b5a9 MOV %RSI,-0x40(%RBP) |
(505) 0x45b5ad MOV (%R11),%RSI |
(505) 0x45b5b0 LEA 0x2(%R8),%R11D |
(505) 0x45b5b4 MOVSXD %R11D,%R8 |
(505) 0x45b5b7 MOV %R13,-0x50(%RBP) |
(505) 0x45b5bb LEA (%RAX,%R8,8),%R11 |
(505) 0x45b5bf MOVSXD %R9D,%RAX |
(505) 0x45b5c2 LEA -0x1(%RDX),%R9D |
(505) 0x45b5c6 MOV %R10,%R8 |
(505) 0x45b5c9 LEA 0x1(%RAX),%RDX |
(505) 0x45b5cd LEA (%R10,%RDI,8),%R10 |
(505) 0x45b5d1 ADD %RDX,%R9 |
(505) 0x45b5d4 LEA (,%RSI,8),%R13 |
(505) 0x45b5dc MOV %R9,-0x38(%RBP) |
(505) 0x45b5e0 MOV -0x78(%RBP),%R9 |
(505) 0x45b5e4 ADD %R9,%RDI |
(505) 0x45b5e7 LEA (%R8,%RDI,8),%R9 |
(505) 0x45b5eb MOV -0x70(%RBP),%RDI |
(505) 0x45b5ef LEA (%RDI,%RCX,8),%R8 |
(505) 0x45b5f3 SUB %R12,%RCX |
(505) 0x45b5f6 LEA (%RDI,%RCX,8),%RDI |
(505) 0x45b5fa MOV %RSI,%RCX |
(505) 0x45b5fd MOV -0x50(%RBP),%RSI |
(505) 0x45b601 IMUL %R15,%RCX |
(505) 0x45b605 LEA (%RSI,%RCX,8),%R12 |
(505) 0x45b609 MOV -0x48(%RBP),%ECX |
(505) 0x45b60c MOV %R12,-0x70(%RBP) |
(505) 0x45b610 MOV -0x58(%RBP),%R12 |
(505) 0x45b614 DEC %ECX |
(505) 0x45b616 MOVSXD %ECX,%RCX |
(505) 0x45b619 IMUL %R13,%R12 |
(505) 0x45b61d IMUL %R13,%RCX |
(505) 0x45b621 MOV -0x68(%RBP),%R13 |
(505) 0x45b625 MOV (%R13),%R13 |
(505) 0x45b629 ADD %RSI,%R12 |
(505) 0x45b62c ADD %RSI,%RCX |
(505) 0x45b62f MOV -0x68(%RBP),%RSI |
(505) 0x45b633 IMUL %R15,%R13 |
(505) 0x45b637 MOV 0x10(%RSI),%RSI |
(505) 0x45b63b VMOVSD 0x6f7d(%RIP),%XMM7 |
(505) 0x45b643 MOV %R15,-0x50(%RBP) |
(505) 0x45b647 MOV %RCX,-0x48(%RBP) |
(505) 0x45b64b LEA (%RSI,%R13,8),%R13 |
(505) 0x45b64f MOV -0x70(%RBP),%RSI |
(505) 0x45b653 MOV %R13,%R15 |
(505) 0x45b656 JMP 45b6ef |
0x45b65b NOPL (%RAX,%RAX,1) |
(506) 0x45b660 VCOMISD %XMM24,%XMM5 |
(506) 0x45b666 VANDPD %XMM8,%XMM24,%XMM15 |
(506) 0x45b66c VMOVSD %XMM10,%XMM10,%XMM2 |
(506) 0x45b670 VMAXSD %XMM7,%XMM15,%XMM14 |
(506) 0x45b674 JA 45b888 |
(506) 0x45b67a VANDPD %XMM8,%XMM0,%XMM0 |
(506) 0x45b67f MOV -0x50(%RBP),%R13 |
(506) 0x45b683 MOV 0x10(%R14),%RCX |
(506) 0x45b687 VMAXSD %XMM7,%XMM0,%XMM15 |
(506) 0x45b68b IMUL (%R14),%R13 |
(506) 0x45b68f VMULSD %XMM2,%XMM15,%XMM4 |
(506) 0x45b693 ADD %RAX,%R13 |
(506) 0x45b696 VMULSD %XMM4,%XMM4,%XMM0 |
(506) 0x45b69a VFMADD231SD %XMM14,%XMM14,%XMM0 |
(506) 0x45b69f VSQRTSD %XMM0,%XMM0,%XMM0 |
(506) 0x45b6a3 VMULSD %XMM3,%XMM0,%XMM3 |
(506) 0x45b6a7 VMULSD %XMM13,%XMM0,%XMM13 |
(506) 0x45b6ac VDIVSD %XMM4,%XMM3,%XMM2 |
(506) 0x45b6b0 VMOVSD (%RCX,%R13,8),%XMM3 |
(506) 0x45b6b6 VDIVSD %XMM14,%XMM13,%XMM14 |
(506) 0x45b6bb VANDPD %XMM8,%XMM2,%XMM15 |
(506) 0x45b6c0 VANDPD %XMM8,%XMM14,%XMM4 |
(506) 0x45b6c5 VMINSD %XMM4,%XMM15,%XMM0 |
(506) 0x45b6c9 VADDSD %XMM3,%XMM3,%XMM15 |
(506) 0x45b6cd VMULSD %XMM1,%XMM0,%XMM1 |
(506) 0x45b6d1 VMULSD %XMM1,%XMM1,%XMM2 |
(506) 0x45b6d5 VMULSD %XMM2,%XMM15,%XMM13 |
(506) 0x45b6d9 VMOVSD %XMM13,(%R15,%RAX,8) |
(506) 0x45b6df MOV %RDX,%RAX |
(506) 0x45b6e2 CMP %RDX,-0x38(%RBP) |
(506) 0x45b6e6 JE 45b83c |
(506) 0x45b6ec INC %RDX |
(506) 0x45b6ef VMOVSD 0x8(%R9,%RAX,8),%XMM2 |
(506) 0x45b6f6 VMOVSD (%R9,%RAX,8),%XMM1 |
(506) 0x45b6fc VMOVSD 0x8(%R10,%RAX,8),%XMM18 |
(506) 0x45b704 VMOVSD (%R10,%RAX,8),%XMM14 |
(506) 0x45b70a VADDSD %XMM2,%XMM1,%XMM0 |
(506) 0x45b70e VMOVSD 0x8(%R8,%RAX,8),%XMM13 |
(506) 0x45b715 VMOVSD 0x8(%RDI,%RAX,8),%XMM15 |
(506) 0x45b71b VADDSD %XMM14,%XMM1,%XMM4 |
(506) 0x45b720 VADDSD %XMM18,%XMM2,%XMM3 |
(506) 0x45b726 VMOVSD (%R8,%RAX,8),%XMM17 |
(506) 0x45b72d MOV -0x40(%RBP),%RCX |
(506) 0x45b731 VADDSD %XMM13,%XMM15,%XMM16 |
(506) 0x45b737 VADDSD %XMM18,%XMM14,%XMM14 |
(506) 0x45b73d VMOVSD 0x8(%RSI,%RAX,8),%XMM22 |
(506) 0x45b745 MOV -0x48(%RBP),%R13 |
(506) 0x45b749 VADDSD %XMM17,%XMM13,%XMM1 |
(506) 0x45b74f VMOVSD (%RBX,%RAX,8),%XMM13 |
(506) 0x45b754 VSUBSD %XMM4,%XMM3,%XMM2 |
(506) 0x45b758 VMOVSD (%RDI,%RAX,8),%XMM4 |
(506) 0x45b75d VSUBSD -0x8(%RSI,%RAX,8),%XMM22,%XMM23 |
(506) 0x45b765 VSUBSD %XMM14,%XMM0,%XMM0 |
(506) 0x45b76a VADDSD %XMM4,%XMM15,%XMM3 |
(506) 0x45b76e VADDSD %XMM17,%XMM4,%XMM4 |
(506) 0x45b774 VSUBSD %XMM4,%XMM16,%XMM20 |
(506) 0x45b77a VSUBSD %XMM3,%XMM1,%XMM1 |
(506) 0x45b77e VMOVSD (%RCX),%XMM3 |
(506) 0x45b782 VUNPCKLPD %XMM13,%XMM3,%XMM19 |
(506) 0x45b788 VMULSD %XMM1,%XMM3,%XMM15 |
(506) 0x45b78c VUNPCKLPD %XMM20,%XMM0,%XMM14 |
(506) 0x45b792 VMULPD %XMM9,%XMM14,%XMM0 |
(506) 0x45b797 VMULSD %XMM6,%XMM1,%XMM1 |
(506) 0x45b79b VFMADD231SD %XMM2,%XMM13,%XMM15 |
(506) 0x45b7a0 VDIVPD %XMM19,%XMM0,%XMM14 |
(506) 0x45b7a6 VADDSD 0x8(%RBX,%RAX,8),%XMM13,%XMM0 |
(506) 0x45b7ac VMULSD %XMM6,%XMM2,%XMM2 |
(506) 0x45b7b0 VCOMISD %XMM5,%XMM15 |
(506) 0x45b7b4 VDIVSD %XMM0,%XMM23,%XMM24 |
(506) 0x45b7ba VUNPCKHPD %XMM14,%XMM14,%XMM4 |
(506) 0x45b7bf VADDPD %XMM14,%XMM4,%XMM4 |
(506) 0x45b7c4 VMOVSD (%R12,%RAX,8),%XMM14 |
(506) 0x45b7ca VSUBSD (%R13,%RAX,8),%XMM14,%XMM0 |
(506) 0x45b7d1 VMOVSD %XMM4,%XMM4,%XMM21 |
(506) 0x45b7d7 VADDSD (%R11),%XMM3,%XMM4 |
(506) 0x45b7dc VDIVSD %XMM4,%XMM0,%XMM0 |
(506) 0x45b7e0 VMULSD %XMM24,%XMM24,%XMM25 |
(506) 0x45b7e6 VDIVSD %XMM13,%XMM2,%XMM2 |
(506) 0x45b7eb VMULSD %XMM24,%XMM0,%XMM14 |
(506) 0x45b7f1 VMULSD %XMM0,%XMM0,%XMM4 |
(506) 0x45b7f5 VMULSD %XMM21,%XMM14,%XMM14 |
(506) 0x45b7fb VDIVSD %XMM3,%XMM1,%XMM1 |
(506) 0x45b7ff VFMADD132SD %XMM25,%XMM14,%XMM2 |
(506) 0x45b805 VFMADD132SD %XMM4,%XMM2,%XMM1 |
(506) 0x45b80a VADDSD %XMM25,%XMM4,%XMM4 |
(506) 0x45b810 VMAXSD %XMM7,%XMM4,%XMM2 |
(506) 0x45b814 VDIVSD %XMM2,%XMM1,%XMM1 |
(506) 0x45b818 JAE 45b824 |
(506) 0x45b81a VCOMISD %XMM5,%XMM1 |
(506) 0x45b81e JBE 45b660 |
(506) 0x45b824 VXORPD %XMM13,%XMM13,%XMM13 |
(506) 0x45b829 VMOVSD %XMM13,(%R15,%RAX,8) |
(506) 0x45b82f MOV %RDX,%RAX |
(506) 0x45b832 CMP %RDX,-0x38(%RBP) |
(506) 0x45b836 JNE 45b6ec |
(505) 0x45b83c MOV -0x5c(%RBP),%EBX |
(505) 0x45b83f MOV -0x58(%RBP),%R15 |
(505) 0x45b843 CMP %EBX,-0x80(%RBP) |
(505) 0x45b846 JLE 45b870 |
(505) 0x45b848 MOV -0x88(%RBP),%R12D |
(505) 0x45b84f MOV -0x60(%RBP),%ECX |
(505) 0x45b852 MOV %EBX,-0x48(%RBP) |
(505) 0x45b855 MOV %EBX,%EAX |
(505) 0x45b857 MOV -0x7c(%RBP),%EDX |
(505) 0x45b85a MOV -0x84(%RBP),%R9D |
(505) 0x45b861 SUB %ECX,%R12D |
(505) 0x45b864 JMP 45b520 |
0x45b869 NOPL (%RAX) |
0x45b870 ADD $0x88,%RSP |
0x45b877 POP %RBX |
0x45b878 POP %R12 |
0x45b87a POP %R13 |
0x45b87c POP %R14 |
0x45b87e POP %R15 |
0x45b880 POP %RBP |
0x45b881 RET |
0x45b882 NOPW (%RAX,%RAX,1) |
(506) 0x45b888 VCOMISD %XMM5,%XMM14 |
(506) 0x45b88c VXORPD %XMM12,%XMM14,%XMM4 |
(506) 0x45b891 VMOVSD %XMM4,%XMM4,%XMM14 |
(506) 0x45b895 JBE 45b8b7 |
(506) 0x45b897 VMOVSD %XMM11,%XMM11,%XMM2 |
(506) 0x45b89b JMP 45b67a |
(505) 0x45b8a0 MOV %ECX,-0x60(%RBP) |
(505) 0x45b8a3 LEA 0x1(%R15),%RCX |
(505) 0x45b8a7 MOV %RCX,-0x58(%RBP) |
(505) 0x45b8ab JMP 45b83c |
0x45b8ad INC %R12D |
0x45b8b0 XOR %EDX,%EDX |
0x45b8b2 JMP 45b472 |
(506) 0x45b8b7 VMOVSD 0x7d19(%RIP),%XMM2 |
(506) 0x45b8bf JMP 45b67a |
0x45b8c4 NOPW %CS:(%RAX,%RAX,1) |
0x45b8cf NOP |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
○98.20 | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
○1.80 | GOMP_parallel | libgomp.h:985 | libgomp.so.1.0.0 |
Path / |
Source file and lines | viscosity.cpp:36-64 |
Module | exec |
nb instructions | 91 |
nb uops | 100 |
loop length | 362 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 5 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 11 |
micro-operation queue | 16.67 cycles |
front end | 16.67 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 6.10 | 8.00 | 8.33 | 8.33 | 9.50 | 6.07 | 5.90 | 9.50 | 9.50 | 9.50 | 5.93 | 8.33 |
cycles | 6.10 | 11.93 | 8.33 | 8.33 | 9.50 | 6.07 | 5.90 | 9.50 | 9.50 | 9.50 | 5.93 | 8.33 |
Cycles executing div or sqrt instructions | 12.00 |
FE+BE cycles | 16.09-16.18 |
Stall cycles | 0.00 |
Front-end | 16.67 |
Dispatch | 11.93 |
DIV/SQRT | 12.00 |
Overall L1 | 16.67 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 0% |
all | 33% |
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 | 100% |
all | 3% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 14% |
all | 9% |
load | 11% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 9% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 6% |
all | 16% |
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 | 25% |
all | 9% |
load | 11% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 9% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 8% |
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 |
MOV %RDI,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB $0x88,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV 0x40(%RDI),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x44(%RDI),%ECX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x38(%RDI),%EDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x3c(%RBX),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x2,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA 0x1(%RAX),%R15D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
LEA 0x1(%RDX),%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %ECX,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDI,-0x84(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %ECX,%R15D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ECX,%R13D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x2(%RSI),%R14D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SUB %R15D,%R13D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP %R14D,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R14D,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB %EDI,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R8D,-0x7c(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CALL 4046c0 <omp_get_num_threads@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
MOV %EAX,%R12D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CALL 4045b0 <omp_get_thread_num@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %EAX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x7c(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
IMUL %R13D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %R12D | 4 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 11-16 | 6 |
MOV %EAX,%R12D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP %EDX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 45b8ad <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x4bd> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
IMUL %R12D,%ECX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %EDX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%R12,%RCX,1),%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R9D,-0x88(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %R9D,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JAE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ECX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x84(%RBP),%R10D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x30(%RBX),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
DIVL -0x7c(%RBP) | 5 | 0 | 3 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 11-16 | 6 |
MOV 0x8(%RBX),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RBX),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVQ 0x75d2(%RIP),%XMM8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x8122(%RIP),%XMM10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDI,-0x98(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVQ 0x81db(%RIP),%XMM12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x70eb(%RIP),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R13,-0xa8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,-0xb0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VXORPD %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDX,%R10,1),%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R14D,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV (%RBX),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA (%RAX,%R15,1),%R11D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV 0x28(%RBX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R11D,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB %R9D,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R11D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %R14,-0xa0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x10(%RBX),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RBX),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R15,-0x90(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVSXD %R11D,%R15 | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
MOV %RBX,-0x68(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%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 |
ADD $0x88,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
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 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
INC %R12D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 45b472 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x82> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Source file and lines | viscosity.cpp:36-64 |
Module | exec |
nb instructions | 91 |
nb uops | 100 |
loop length | 362 |
used x86 registers | 16 |
used mmx registers | 0 |
used xmm registers | 5 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 11 |
micro-operation queue | 16.67 cycles |
front end | 16.67 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 6.10 | 8.00 | 8.33 | 8.33 | 9.50 | 6.07 | 5.90 | 9.50 | 9.50 | 9.50 | 5.93 | 8.33 |
cycles | 6.10 | 11.93 | 8.33 | 8.33 | 9.50 | 6.07 | 5.90 | 9.50 | 9.50 | 9.50 | 5.93 | 8.33 |
Cycles executing div or sqrt instructions | 12.00 |
FE+BE cycles | 16.09-16.18 |
Stall cycles | 0.00 |
Front-end | 16.67 |
Dispatch | 11.93 |
DIV/SQRT | 12.00 |
Overall L1 | 16.67 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 0% |
all | 33% |
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 | 100% |
all | 3% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 0% |
other | 14% |
all | 9% |
load | 11% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 9% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 6% |
all | 16% |
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 | 25% |
all | 9% |
load | 11% |
store | 9% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 9% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | 6% |
other | 8% |
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 |
MOV %RDI,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB $0x88,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV 0x40(%RDI),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x44(%RDI),%ECX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x38(%RDI),%EDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x3c(%RBX),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x2,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA 0x1(%RAX),%R15D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
LEA 0x1(%RDX),%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %ECX,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %EDI,-0x84(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %ECX,%R15D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ECX,%R13D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA 0x2(%RSI),%R14D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SUB %R15D,%R13D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP %R14D,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %R14D,%R8D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SUB %EDI,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R8D,-0x7c(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CALL 4046c0 <omp_get_num_threads@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
MOV %EAX,%R12D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CALL 4045b0 <omp_get_thread_num@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %EAX,%ECX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x7c(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
IMUL %R13D,%EAX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
DIV %R12D | 4 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 11-16 | 6 |
MOV %EAX,%R12D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP %EDX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 45b8ad <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x4bd> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
IMUL %R12D,%ECX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %EDX,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%R12,%RCX,1),%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R9D,-0x88(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %R9D,%ECX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JAE 45b870 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x480> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ECX,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x84(%RBP),%R10D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x30(%RBX),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
DIVL -0x7c(%RBP) | 5 | 0 | 3 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 11-16 | 6 |
MOV 0x8(%RBX),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RBX),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVQ 0x75d2(%RIP),%XMM8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x8122(%RIP),%XMM10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDI,-0x98(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VMOVQ 0x81db(%RIP),%XMM12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
VMOVSD 0x70eb(%RIP),%XMM11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R13,-0xa8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,-0xb0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
VXORPD %XMM5,%XMM5,%XMM5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDX,%R10,1),%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV %R14D,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV (%RBX),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA (%RAX,%R15,1),%R11D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOV 0x28(%RBX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R11D,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB %R9D,%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R11D,%EAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %R14,-0xa0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x10(%RBX),%R14 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RBX),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R15,-0x90(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVSXD %R11D,%R15 | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
MOV %RBX,-0x68(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOPL (%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 |
ADD $0x88,%RSP | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
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 |
NOPW (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
INC %R12D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 45b472 <_Z16viscosity_kerneliiiiRN6clover8Buffer1DIdEES2_RNS_8Buffer2DIdEES5_S5_S5_S5_._omp_fn.0.lto_priv.0+0x82> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
NOPW %CS:(%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
NOP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼viscosity_kernel(int, int, int, int, clover::Buffer1D | 7.03 | 2.33 |
▼Loop 505 - viscosity.cpp:38-64 - exec– | 0 | 0 |
○Loop 506 - viscosity.cpp:39-64 - exec | 7.03 | 2.31 |