Function: hypre_ParCSRRelaxThreads.extracted.57 | Module: exec | Source: ams.c:3662-3684 | Coverage: 32.78% |
---|
Function: hypre_ParCSRRelaxThreads.extracted.57 | Module: exec | Source: ams.c:3662-3684 | Coverage: 32.78% |
---|
/scratch_na/users/xoserete/qaas_runs/171-415-3872/intel/AMG/build/AMG/AMG/parcsr_ls/ams.c: 3662 - 3684 |
-------------------------------------------------------------------------------- |
3662: #pragma omp parallel for private(i,ii,jj,res) HYPRE_SMP_SCHEDULE |
3663: #endif |
3664: for (i = 0; i < n; i++) |
3665: { |
3666: /*----------------------------------------------------------- |
3667: * If diagonal is nonzero, relax point i; otherwise, skip it. |
3668: *-----------------------------------------------------------*/ |
3669: if (A_diag_data[A_diag_i[i]] != zero) |
3670: { |
3671: res = f_data[i]; |
3672: for (jj = A_diag_i[i]; jj < A_diag_i[i+1]; jj++) |
3673: { |
3674: ii = A_diag_j[jj]; |
3675: res -= A_diag_data[jj] * Vtemp_data[ii]; |
3676: } |
3677: for (jj = A_offd_i[i]; jj < A_offd_i[i+1]; jj++) |
3678: { |
3679: ii = A_offd_j[jj]; |
3680: res -= A_offd_data[jj] * Vext_data[ii]; |
3681: } |
3682: u_data[i] += (relax_weight*res)/l1_norms[i]; |
3683: } |
3684: } |
0x4aa4f0 PUSH %RBP |
0x4aa4f1 MOV %RSP,%RBP |
0x4aa4f4 PUSH %R15 |
0x4aa4f6 PUSH %R14 |
0x4aa4f8 PUSH %R13 |
0x4aa4fa PUSH %R12 |
0x4aa4fc PUSH %RBX |
0x4aa4fd SUB $0x68,%RSP |
0x4aa501 MOV 0x48(%RBP),%R15 |
0x4aa505 MOV 0x40(%RBP),%R13 |
0x4aa509 MOV 0x38(%RBP),%RAX |
0x4aa50d MOV %RAX,-0x78(%RBP) |
0x4aa511 MOV 0x30(%RBP),%RAX |
0x4aa515 MOV %RAX,-0x70(%RBP) |
0x4aa519 MOV 0x28(%RBP),%RAX |
0x4aa51d MOV %RAX,-0x48(%RBP) |
0x4aa521 MOV 0x20(%RBP),%RAX |
0x4aa525 MOV %RAX,-0x40(%RBP) |
0x4aa529 MOV 0x18(%RBP),%RAX |
0x4aa52d MOV %RAX,-0x68(%RBP) |
0x4aa531 MOV 0x10(%RBP),%R12 |
0x4aa535 MOVL $0,-0x38(%RBP) |
0x4aa53c MOV %R9,-0x30(%RBP) |
0x4aa540 MOV %R8,%R14 |
0x4aa543 MOV %RCX,%RBX |
0x4aa546 MOV %RDX,-0x60(%RBP) |
0x4aa54a MOV (%RDI),%ESI |
0x4aa54c MOVQ $0,-0x58(%RBP) |
0x4aa554 MOVQ $0x1,-0x90(%RBP) |
0x4aa55f SUB $0x8,%RSP |
0x4aa563 LEA -0x90(%RBP),%RAX |
0x4aa56a LEA -0x38(%RBP),%RCX |
0x4aa56e LEA -0x58(%RBP),%R8 |
0x4aa572 LEA 0x60(%RBP),%R9 |
0x4aa576 MOV $0x735b10,%EDI |
0x4aa57b MOV %ESI,-0x34(%RBP) |
0x4aa57e MOV $0x22,%EDX |
0x4aa583 PUSH $0x1 |
0x4aa585 PUSH $0x1 |
0x4aa587 PUSH %RAX |
0x4aa588 CALL 40fef0 <__kmpc_for_static_init_8@plt> |
0x4aa58d MOV -0x30(%RBP),%R11 |
0x4aa591 ADD $0x20,%RSP |
0x4aa595 MOV -0x58(%RBP),%RAX |
0x4aa599 MOV 0x60(%RBP),%RCX |
0x4aa59d MOV %RAX,-0x88(%RBP) |
0x4aa5a4 SUB %RAX,%RCX |
0x4aa5a7 MOV %RCX,-0x80(%RBP) |
0x4aa5ab JAE 4aa5cb |
0x4aa5ad MOV $0x735b30,%EDI |
0x4aa5b2 MOV -0x34(%RBP),%ESI |
0x4aa5b5 ADD $0x68,%RSP |
0x4aa5b9 POP %RBX |
0x4aa5ba POP %R12 |
0x4aa5bc POP %R13 |
0x4aa5be POP %R14 |
0x4aa5c0 POP %R15 |
0x4aa5c2 POP %RBP |
0x4aa5c3 VZEROUPPER |
0x4aa5c6 JMP 40fc30 |
0x4aa5cb VMOVQ %RBX,%XMM0 |
0x4aa5d0 XOR %EDX,%EDX |
0x4aa5d2 VXORPD %XMM1,%XMM1,%XMM1 |
0x4aa5d6 JMP 4aa608 |
0x4aa5d8 NOPL (%RAX,%RAX,1) |
(3228) 0x4aa5e0 VMULSD %XMM0,%XMM2,%XMM2 |
(3228) 0x4aa5e4 MOV -0x60(%RBP),%RAX |
(3228) 0x4aa5e8 VDIVSD (%RAX,%RSI,8),%XMM2,%XMM2 |
(3228) 0x4aa5ed MOV -0x70(%RBP),%RAX |
(3228) 0x4aa5f1 VADDSD (%RAX,%RSI,8),%XMM2,%XMM2 |
(3228) 0x4aa5f6 VMOVSD %XMM2,(%RAX,%RSI,8) |
(3228) 0x4aa5fb LEA 0x1(%RDX),%RAX |
(3228) 0x4aa5ff CMP -0x80(%RBP),%RDX |
(3228) 0x4aa603 MOV %RAX,%RDX |
(3228) 0x4aa606 JE 4aa5ad |
(3228) 0x4aa608 MOV -0x88(%RBP),%RAX |
(3228) 0x4aa60f LEA (%RAX,%RDX,1),%RSI |
(3228) 0x4aa613 MOV (%R11,%RSI,8),%R9 |
(3228) 0x4aa617 VUCOMISD (%R14,%R9,8),%XMM1 |
(3228) 0x4aa61d JE 4aa5fb |
(3228) 0x4aa61f MOV -0x78(%RBP),%RAX |
(3228) 0x4aa623 VMOVSD (%RAX,%RSI,8),%XMM2 |
(3228) 0x4aa628 MOV 0x8(%R11,%RSI,8),%RDI |
(3228) 0x4aa62d MOV %RDI,%R10 |
(3228) 0x4aa630 SUB %R9,%R10 |
(3228) 0x4aa633 JLE 4aa6c9 |
(3228) 0x4aa639 MOV %R10,%R8 |
(3228) 0x4aa63c AND $-0x4,%R8 |
(3228) 0x4aa640 JE 4aa6a6 |
(3228) 0x4aa642 LEA -0x1(%R8),%R11 |
(3228) 0x4aa646 LEA (%R14,%R9,8),%RAX |
(3228) 0x4aa64a LEA (%R12,%R9,8),%RCX |
(3228) 0x4aa64e VXORPD %XMM3,%XMM3,%XMM3 |
(3228) 0x4aa652 XOR %EBX,%EBX |
(3228) 0x4aa654 NOPW %CS:(%RAX,%RAX,1) |
(3232) 0x4aa660 VMOVUPD (%RCX,%RBX,8),%YMM4 |
(3232) 0x4aa665 KXNORW %K0,%K0,%K1 |
(3232) 0x4aa669 VXORPD %XMM5,%XMM5,%XMM5 |
(3232) 0x4aa66d VGATHERQPD (%R13,%YMM4,8),%YMM5{%K1} |
(3232) 0x4aa675 VFNMADD231PD (%RAX,%RBX,8),%YMM5,%YMM3 |
(3232) 0x4aa67b ADD $0x4,%RBX |
(3232) 0x4aa67f CMP %R11,%RBX |
(3232) 0x4aa682 JBE 4aa660 |
(3228) 0x4aa684 VEXTRACTF128 $0x1,%YMM3,%XMM4 |
(3228) 0x4aa68a VADDPD %XMM4,%XMM3,%XMM3 |
(3228) 0x4aa68e VSHUFPD $0x1,%XMM3,%XMM3,%XMM4 |
(3228) 0x4aa693 VADDSD %XMM4,%XMM3,%XMM3 |
(3228) 0x4aa697 VADDSD %XMM3,%XMM2,%XMM2 |
(3228) 0x4aa69b CMP %R8,%R10 |
(3228) 0x4aa69e MOV -0x30(%RBP),%R11 |
(3228) 0x4aa6a2 JNE 4aa6a9 |
(3228) 0x4aa6a4 JMP 4aa6c9 |
(3228) 0x4aa6a6 XOR %R8D,%R8D |
(3228) 0x4aa6a9 ADD %R9,%R8 |
(3228) 0x4aa6ac NOPL (%RAX) |
(3231) 0x4aa6b0 MOV (%R12,%R8,8),%RAX |
(3231) 0x4aa6b4 VMOVSD (%R13,%RAX,8),%XMM3 |
(3231) 0x4aa6bb VFNMADD231SD (%R14,%R8,8),%XMM3,%XMM2 |
(3231) 0x4aa6c1 INC %R8 |
(3231) 0x4aa6c4 CMP %R8,%RDI |
(3231) 0x4aa6c7 JNE 4aa6b0 |
(3228) 0x4aa6c9 MOV -0x68(%RBP),%RAX |
(3228) 0x4aa6cd MOV (%RAX,%RSI,8),%RBX |
(3228) 0x4aa6d1 MOV 0x8(%RAX,%RSI,8),%RDI |
(3228) 0x4aa6d6 MOV %RDI,%R10 |
(3228) 0x4aa6d9 SUB %RBX,%R10 |
(3228) 0x4aa6dc JLE 4aa5e0 |
(3228) 0x4aa6e2 MOV %RBX,-0x50(%RBP) |
(3228) 0x4aa6e6 MOV %R10,%R8 |
(3228) 0x4aa6e9 AND $-0x4,%R8 |
(3228) 0x4aa6ed MOV -0x48(%RBP),%RCX |
(3228) 0x4aa6f1 MOV -0x40(%RBP),%R9 |
(3228) 0x4aa6f5 JE 4aa762 |
(3228) 0x4aa6f7 LEA -0x1(%R8),%R11 |
(3228) 0x4aa6fb MOV -0x50(%RBP),%RBX |
(3228) 0x4aa6ff LEA (%R9,%RBX,8),%RAX |
(3228) 0x4aa703 LEA (%RCX,%RBX,8),%RCX |
(3228) 0x4aa707 VXORPD %XMM3,%XMM3,%XMM3 |
(3228) 0x4aa70b XOR %R9D,%R9D |
(3228) 0x4aa70e XCHG %AX,%AX |
(3230) 0x4aa710 VMOVUPD (%RCX,%R9,8),%YMM4 |
(3230) 0x4aa716 KXNORW %K0,%K0,%K1 |
(3230) 0x4aa71a VXORPD %XMM5,%XMM5,%XMM5 |
(3230) 0x4aa71e VGATHERQPD (%R15,%YMM4,8),%YMM5{%K1} |
(3230) 0x4aa725 VFNMADD231PD (%RAX,%R9,8),%YMM5,%YMM3 |
(3230) 0x4aa72b ADD $0x4,%R9 |
(3230) 0x4aa72f CMP %R11,%R9 |
(3230) 0x4aa732 JBE 4aa710 |
(3228) 0x4aa734 VEXTRACTF128 $0x1,%YMM3,%XMM4 |
(3228) 0x4aa73a VADDPD %XMM4,%XMM3,%XMM3 |
(3228) 0x4aa73e VSHUFPD $0x1,%XMM3,%XMM3,%XMM4 |
(3228) 0x4aa743 VADDSD %XMM4,%XMM3,%XMM3 |
(3228) 0x4aa747 VADDSD %XMM3,%XMM2,%XMM2 |
(3228) 0x4aa74b CMP %R8,%R10 |
(3228) 0x4aa74e MOV -0x48(%RBP),%RCX |
(3228) 0x4aa752 MOV -0x40(%RBP),%R9 |
(3228) 0x4aa756 MOV -0x30(%RBP),%R11 |
(3228) 0x4aa75a JE 4aa5e0 |
(3228) 0x4aa760 JMP 4aa765 |
(3228) 0x4aa762 XOR %R8D,%R8D |
(3228) 0x4aa765 ADD -0x50(%RBP),%R8 |
(3228) 0x4aa769 NOPL (%RAX) |
(3229) 0x4aa770 MOV (%RCX,%R8,8),%RAX |
(3229) 0x4aa774 VMOVSD (%R15,%RAX,8),%XMM3 |
(3229) 0x4aa77a VFNMADD231SD (%R9,%R8,8),%XMM3,%XMM2 |
(3229) 0x4aa780 INC %R8 |
(3229) 0x4aa783 CMP %R8,%RDI |
(3229) 0x4aa786 JNE 4aa770 |
(3228) 0x4aa788 JMP 4aa5e0 |
0x4aa78d 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 | ams.c:3662-3684 |
Module | exec |
nb instructions | 66 |
nb uops | 68 |
loop length | 243 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 2 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 22 |
micro-operation queue | 11.33 cycles |
front end | 11.33 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.30 | 1.20 | 6.33 | 6.33 | 11.50 | 1.20 | 1.10 | 11.50 | 11.50 | 11.50 | 1.20 | 6.33 |
cycles | 1.30 | 1.20 | 6.33 | 6.33 | 11.50 | 1.20 | 1.10 | 11.50 | 11.50 | 11.50 | 1.20 | 6.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 11.59 |
Stall cycles | 0.08-0.08 |
RS full (events) | 0.30-0.31 |
Front-end | 11.33 |
Dispatch | 11.50 |
Overall L1 | 11.50 |
all | 3% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 16% |
all | 100% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 100% |
all | 7% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 28% |
all | 11% |
load | 10% |
store | 10% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 12% |
all | 25% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 11% |
load | 10% |
store | 10% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 14% |
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 |
SUB $0x68,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x48(%RBP),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x40(%RBP),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x38(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x78(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x30(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x28(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x20(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x40(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x18(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x68(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x10(%RBP),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVL $0,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,-0x60(%RBP) | 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,-0x58(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVQ $0x1,-0x90(%RBP) | 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 -0x90(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x38(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x58(%RBP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x60(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x735b10,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,-0x34(%RBP) | 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 40fef0 <__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 |
MOV -0x30(%RBP),%R11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x58(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x60(%RBP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x88(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB %RAX,%RCX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JAE 4aa5cb <hypre_ParCSRRelaxThreads.extracted.57+0xdb> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x735b30,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV -0x34(%RBP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x68,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 40fc30 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
VMOVQ %RBX,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 4aa608 <hypre_ParCSRRelaxThreads.extracted.57+0x118> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
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 |
Source file and lines | ams.c:3662-3684 |
Module | exec |
nb instructions | 66 |
nb uops | 68 |
loop length | 243 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 2 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 22 |
micro-operation queue | 11.33 cycles |
front end | 11.33 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.30 | 1.20 | 6.33 | 6.33 | 11.50 | 1.20 | 1.10 | 11.50 | 11.50 | 11.50 | 1.20 | 6.33 |
cycles | 1.30 | 1.20 | 6.33 | 6.33 | 11.50 | 1.20 | 1.10 | 11.50 | 11.50 | 11.50 | 1.20 | 6.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 11.59 |
Stall cycles | 0.08-0.08 |
RS full (events) | 0.30-0.31 |
Front-end | 11.33 |
Dispatch | 11.50 |
Overall L1 | 11.50 |
all | 3% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 16% |
all | 100% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 100% |
all | 7% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 28% |
all | 11% |
load | 10% |
store | 10% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 12% |
all | 25% |
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) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 25% |
all | 11% |
load | 10% |
store | 10% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 14% |
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 |
SUB $0x68,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x48(%RBP),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x40(%RBP),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x38(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x78(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x30(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x28(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x20(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x40(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x18(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x68(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV 0x10(%RBP),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVL $0,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R8,%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,-0x60(%RBP) | 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,-0x58(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVQ $0x1,-0x90(%RBP) | 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 -0x90(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x38(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x58(%RBP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x60(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x735b10,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,-0x34(%RBP) | 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 40fef0 <__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 |
MOV -0x30(%RBP),%R11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x58(%RBP),%RAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x60(%RBP),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x88(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
SUB %RAX,%RCX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JAE 4aa5cb <hypre_ParCSRRelaxThreads.extracted.57+0xdb> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x735b30,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV -0x34(%RBP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x68,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 40fc30 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
VMOVQ %RBX,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VXORPD %XMM1,%XMM1,%XMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 4aa608 <hypre_ParCSRRelaxThreads.extracted.57+0x118> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
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 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼hypre_ParCSRRelaxThreads.extracted.57– | 32.78 | 6.53 |
▼Loop 3228 - ams.c:3664-3684 - exec– | 2.8 | 0.53 |
○Loop 3232 - ams.c:3672-3675 - exec | 26.99 | 5.13 |
○Loop 3231 - ams.c:3672-3675 - exec | 2.96 | 0.56 |
○Loop 3230 - ams.c:3677-3680 - exec | 0.03 | 0.01 |
○Loop 3229 - ams.c:3677-3680 - exec | 0 | 0 |