Function: setVcm.extracted | Module: exec | Source: initAtoms.c:123-135 | Coverage: 0.01% |
---|
Function: setVcm.extracted | Module: exec | Source: initAtoms.c:123-135 | Coverage: 0.01% |
---|
/scratch_na/users/xoserete/qaas_runs/171-322-9862/intel/CoMD/build/CoMD/CoMD/src-openmp/initAtoms.c: 123 - 135 |
-------------------------------------------------------------------------------- |
123: #pragma omp parallel for |
124: for (int iBox=0; iBox<s->boxes->nLocalBoxes; ++iBox) |
125: { |
126: for (int iOff=MAXATOMS*iBox, ii=0; ii<s->boxes->nAtoms[iBox]; ++ii, ++iOff) |
127: { |
128: int iSpecies = s->atoms->iSpecies[iOff]; |
129: real_t mass = s->species[iSpecies].mass; |
130: |
131: s->atoms->p[iOff][0] += mass * vShift[0]; |
132: s->atoms->p[iOff][1] += mass * vShift[1]; |
133: s->atoms->p[iOff][2] += mass * vShift[2]; |
134: } |
135: } |
0x408b30 PUSH %RBP |
0x408b31 MOV %RSP,%RBP |
0x408b34 PUSH %R15 |
0x408b36 PUSH %R14 |
0x408b38 PUSH %R13 |
0x408b3a PUSH %R12 |
0x408b3c PUSH %RBX |
0x408b3d SUB $0x28,%RSP |
0x408b41 MOV %RCX,-0x50(%RBP) |
0x408b45 MOV %RDX,-0x48(%RBP) |
0x408b49 MOVL $0,-0x3c(%RBP) |
0x408b50 MOV (%RDI),%ESI |
0x408b52 MOVL $0,-0x30(%RBP) |
0x408b59 MOV %R9D,-0x2c(%RBP) |
0x408b5d MOVL $0x1,-0x38(%RBP) |
0x408b64 SUB $0x8,%RSP |
0x408b68 LEA -0x38(%RBP),%RAX |
0x408b6c LEA -0x3c(%RBP),%RCX |
0x408b70 LEA -0x30(%RBP),%R8 |
0x408b74 LEA -0x2c(%RBP),%R9 |
0x408b78 MOV $0x62c490,%EDI |
0x408b7d MOV %ESI,-0x34(%RBP) |
0x408b80 MOV $0x22,%EDX |
0x408b85 PUSH $0x1 |
0x408b87 PUSH $0x1 |
0x408b89 PUSH %RAX |
0x408b8a CALL 402d60 <__kmpc_for_static_init_4@plt> |
0x408b8f ADD $0x20,%RSP |
0x408b93 MOV -0x30(%RBP),%EAX |
0x408b96 MOV -0x2c(%RBP),%R14D |
0x408b9a CMP %R14D,%EAX |
0x408b9d JBE 408bbd |
0x408b9f MOV $0x62c4b0,%EDI |
0x408ba4 MOV -0x34(%RBP),%ESI |
0x408ba7 ADD $0x28,%RSP |
0x408bab POP %RBX |
0x408bac POP %R12 |
0x408bae POP %R13 |
0x408bb0 POP %R14 |
0x408bb2 POP %R15 |
0x408bb4 POP %RBP |
0x408bb5 VZEROUPPER |
0x408bb8 JMP 402c10 |
0x408bbd MOV -0x48(%RBP),%RDX |
0x408bc1 MOV 0x18(%RDX),%RDX |
0x408bc5 MOV 0x78(%RDX),%R15 |
0x408bc9 SUB %RAX,%R14 |
0x408bcc MOV %EAX,%ESI |
0x408bce SAL $0x6,%ESI |
0x408bd1 XOR %EDI,%EDI |
0x408bd3 VBROADCASTF128 0x19b24(%RIP),%YMM0 |
0x408bdc VMOVUPD 0x19a7c(%RIP),%YMM1 |
0x408be4 VMOVUPD 0x19a94(%RIP),%YMM2 |
0x408bec VMOVUPD 0x19aac(%RIP),%YMM3 |
0x408bf4 VMOVUPD 0x19ac4(%RIP),%YMM4 |
0x408bfc JMP 408c0f |
0x408bfe XCHG %AX,%AX |
(63) 0x408c00 LEA 0x1(%RDI),%RDX |
(63) 0x408c04 ADD $0x40,%ESI |
(63) 0x408c07 CMP %R14,%RDI |
(63) 0x408c0a MOV %RDX,%RDI |
(63) 0x408c0d JE 408b9f |
(63) 0x408c0f MOV %ESI,%ESI |
(63) 0x408c11 LEA (%RDI,%RAX,1),%RDX |
(63) 0x408c15 MOV (%R15,%RDX,4),%R8D |
(63) 0x408c19 TEST %R8D,%R8D |
(63) 0x408c1c JLE 408c00 |
(63) 0x408c1e MOV -0x48(%RBP),%R9 |
(63) 0x408c22 MOV 0x20(%R9),%RDX |
(63) 0x408c26 MOV 0x28(%R9),%R9 |
(63) 0x408c2a MOV 0x10(%RDX),%R10 |
(63) 0x408c2e MOV 0x20(%RDX),%R11 |
(63) 0x408c32 MOV -0x50(%RBP),%RDX |
(63) 0x408c36 VMOVUPD (%RDX),%XMM5 |
(63) 0x408c3a VMOVSD 0x10(%RDX),%XMM6 |
(63) 0x408c3f MOV %R8D,%R12D |
(63) 0x408c42 AND $-0x4,%R12D |
(63) 0x408c46 JE 408d70 |
(63) 0x408c4c MOV %RAX,%RCX |
(63) 0x408c4f MOV %R15,%RAX |
(63) 0x408c52 LEA (,%RSI,8),%RDX |
(63) 0x408c5a LEA (%RDX,%RDX,2),%R13 |
(63) 0x408c5e LEA (,%RSI,4),%R15 |
(63) 0x408c66 LEA -0x1(%R12),%EDX |
(63) 0x408c6b VBROADCASTSD %XMM5,%YMM7 |
(63) 0x408c70 VXORPS %XMM8,%XMM8,%XMM8 |
(63) 0x408c75 VPERMPD $0x55,%YMM5,%YMM8 |
(63) 0x408c7b VBROADCASTSD %XMM6,%YMM9 |
(63) 0x408c80 ADD %R11,%R13 |
(63) 0x408c83 ADD %R10,%R15 |
(63) 0x408c86 XOR %EBX,%EBX |
(63) 0x408c88 NOPL (%RAX,%RAX,1) |
(65) 0x408c90 VPMOVSXDQ (%R15,%RBX,4),%YMM10 |
(65) 0x408c96 VXORPD %XMM11,%XMM11,%XMM11 |
(65) 0x408c9b KXNORW %K0,%K0,%K1 |
(65) 0x408c9f VPADDQ %YMM10,%YMM10,%YMM10 |
(65) 0x408ca4 VGATHERQPD 0x8(%R9,%YMM10,8),%YMM11{%K1} |
(65) 0x408cac VMOVUPD 0x20(%R13),%YMM10 |
(65) 0x408cb2 VBLENDPD $0x3,(%R13),%YMM10,%YMM12 |
(65) 0x408cb9 VMOVUPD 0x10(%R13),%XMM13 |
(65) 0x408cbf VINSERTF128 $0x1,0x40(%R13),%YMM13,%YMM13 |
(65) 0x408cc6 VMOVUPD 0x20(%R13),%XMM14 |
(65) 0x408ccc VBLENDPD $0xc,0x40(%R13),%YMM14,%YMM14 |
(65) 0x408cd3 VBROADCASTSD 0x50(%R13),%YMM15 |
(65) 0x408cd9 VSHUFPD $0x5,%YMM10,%YMM12,%YMM10 |
(65) 0x408cdf VBLENDPD $0xa,%YMM13,%YMM12,%YMM12 |
(65) 0x408ce5 VBLENDPD $0x8,%YMM15,%YMM10,%YMM10 |
(65) 0x408ceb VFMADD231PD %YMM11,%YMM7,%YMM12 |
(65) 0x408cf0 VFMADD231PD %YMM11,%YMM8,%YMM10 |
(65) 0x408cf5 VBLENDPD $0xa,%YMM14,%YMM13,%YMM13 |
(65) 0x408cfb VFMADD231PD %YMM11,%YMM9,%YMM13 |
(65) 0x408d00 VMOVAPD %YMM10,%YMM11 |
(65) 0x408d05 VPERMT2PD %YMM12,%YMM0,%YMM11 |
(65) 0x408d0b VMOVAPD %YMM10,%YMM14 |
(65) 0x408d10 VPERMT2PD %YMM12,%YMM1,%YMM14 |
(65) 0x408d16 VPERMT2PD %YMM10,%YMM2,%YMM12 |
(65) 0x408d1c VPERMT2PD %YMM13,%YMM3,%YMM12 |
(65) 0x408d22 VBLENDPD $0x2,%YMM13,%YMM14,%YMM10 |
(65) 0x408d28 VPERMT2PD %YMM11,%YMM4,%YMM13 |
(65) 0x408d2e VMOVUPD %YMM10,0x20(%R13) |
(65) 0x408d34 VMOVUPD %YMM13,0x40(%R13) |
(65) 0x408d3a VMOVUPD %YMM12,(%R13) |
(65) 0x408d40 ADD $0x60,%R13 |
(65) 0x408d44 ADD $0x4,%RBX |
(65) 0x408d48 CMP %EDX,%EBX |
(65) 0x408d4a JLE 408c90 |
(63) 0x408d50 CMP %R12D,%R8D |
(63) 0x408d53 MOV %RAX,%R15 |
(63) 0x408d56 MOV %RCX,%RAX |
(63) 0x408d59 JE 408c00 |
(63) 0x408d5f JMP 408d73 |
0x408d61 NOPW %CS:(%RAX,%RAX,1) |
(63) 0x408d70 XOR %R12D,%R12D |
(63) 0x408d73 SUB %R12D,%R8D |
(63) 0x408d76 MOVSXD %R12D,%RBX |
(63) 0x408d79 ADD %RSI,%RBX |
(63) 0x408d7c LEA (%RBX,%RBX,2),%RDX |
(63) 0x408d80 LEA 0x10(%R11,%RDX,8),%RDX |
(63) 0x408d85 LEA (%R10,%RBX,4),%R10 |
(63) 0x408d89 XOR %R11D,%R11D |
(63) 0x408d8c NOPL (%RAX) |
(64) 0x408d90 MOVSXD (%R10,%R11,4),%RBX |
(64) 0x408d94 SAL $0x4,%RBX |
(64) 0x408d98 VMOVDDUP 0x8(%R9,%RBX,1),%XMM7 |
(64) 0x408d9f VMOVAPD %XMM7,%XMM8 |
(64) 0x408da3 VFMADD213PD -0x10(%RDX),%XMM5,%XMM8 |
(64) 0x408da9 VMOVUPD %XMM8,-0x10(%RDX) |
(64) 0x408dae VMOVSD (%RDX),%XMM8 |
(64) 0x408db2 VFMADD231SD %XMM7,%XMM6,%XMM8 |
(64) 0x408db7 VMOVSD %XMM8,(%RDX) |
(64) 0x408dbb INC %R11 |
(64) 0x408dbe ADD $0x18,%RDX |
(64) 0x408dc2 CMP %R11D,%R8D |
(64) 0x408dc5 JNE 408d90 |
(63) 0x408dc7 JMP 408c00 |
0x408dcc NOPL (%RAX) |
Path / |
Source file and lines | initAtoms.c:123-135 |
Module | exec |
nb instructions | 59 |
nb uops | 61 |
loop length | 227 |
used x86 registers | 14 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 5 |
used zmm registers | 0 |
nb stack references | 7 |
micro-operation queue | 10.17 cycles |
front end | 10.17 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.40 | 1.40 | 6.00 | 6.00 | 8.50 | 1.40 | 1.40 | 8.50 | 8.50 | 8.50 | 1.40 | 6.00 |
cycles | 1.40 | 1.40 | 6.00 | 6.00 | 8.50 | 1.40 | 1.40 | 8.50 | 8.50 | 8.50 | 1.40 | 6.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 10.02-10.07 |
Stall cycles | 0.00 |
Front-end | 10.17 |
Dispatch | 8.50 |
Overall L1 | 10.17 |
all | 5% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 25% |
all | 100% |
load | 100% |
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 | 26% |
load | 62% |
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 | 40% |
all | 9% |
load | 8% |
store | 8% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 10% |
all | 45% |
load | 45% |
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 | 17% |
load | 31% |
store | 8% |
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 | 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 |
SUB $0x28,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RDX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0,-0x3c(%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 |
MOVL $0,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9D,-0x2c(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0x1,-0x38(%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 -0x38(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x3c(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x30(%RBP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x2c(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x62c490,%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 402d60 <__kmpc_for_static_init_4@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 -0x30(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x2c(%RBP),%R14D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP %R14D,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 408bbd <setVcm.extracted+0x8d> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x62c4b0,%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 $0x28,%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 402c10 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
MOV -0x48(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RDX),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x78(%RDX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SUB %RAX,%R14 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SAL $0x6,%ESI | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
XOR %EDI,%EDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VBROADCASTF128 0x19b24(%RIP),%YMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 5-8 | 0.33 |
VMOVUPD 0x19a7c(%RIP),%YMM1 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19a94(%RIP),%YMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19aac(%RIP),%YMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19ac4(%RIP),%YMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
JMP 408c0f <setVcm.extracted+0xdf> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
XCHG %AX,%AX | 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 | initAtoms.c:123-135 |
Module | exec |
nb instructions | 59 |
nb uops | 61 |
loop length | 227 |
used x86 registers | 14 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 5 |
used zmm registers | 0 |
nb stack references | 7 |
micro-operation queue | 10.17 cycles |
front end | 10.17 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.40 | 1.40 | 6.00 | 6.00 | 8.50 | 1.40 | 1.40 | 8.50 | 8.50 | 8.50 | 1.40 | 6.00 |
cycles | 1.40 | 1.40 | 6.00 | 6.00 | 8.50 | 1.40 | 1.40 | 8.50 | 8.50 | 8.50 | 1.40 | 6.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 10.02-10.07 |
Stall cycles | 0.00 |
Front-end | 10.17 |
Dispatch | 8.50 |
Overall L1 | 10.17 |
all | 5% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 0% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 25% |
all | 100% |
load | 100% |
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 | 26% |
load | 62% |
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 | 40% |
all | 9% |
load | 8% |
store | 8% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | 12% |
fma | NA (no fma vectorizable/vectorized instructions) |
other | 10% |
all | 45% |
load | 45% |
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 | 17% |
load | 31% |
store | 8% |
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 | 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 |
SUB $0x28,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,-0x50(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RDX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0,-0x3c(%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 |
MOVL $0,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %R9D,-0x2c(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOVL $0x1,-0x38(%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 -0x38(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x3c(%RBP),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x30(%RBP),%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x2c(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV $0x62c490,%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 402d60 <__kmpc_for_static_init_4@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 -0x30(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x2c(%RBP),%R14D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP %R14D,%EAX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 408bbd <setVcm.extracted+0x8d> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x62c4b0,%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 $0x28,%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 402c10 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
MOV -0x48(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RDX),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x78(%RDX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SUB %RAX,%R14 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %EAX,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
SAL $0x6,%ESI | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
XOR %EDI,%EDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VBROADCASTF128 0x19b24(%RIP),%YMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 5-8 | 0.33 |
VMOVUPD 0x19a7c(%RIP),%YMM1 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19a94(%RIP),%YMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19aac(%RIP),%YMM3 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
VMOVUPD 0x19ac4(%RIP),%YMM4 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0-1 | 0.33 |
JMP 408c0f <setVcm.extracted+0xdf> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
XCHG %AX,%AX | 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) |
---|---|---|
▼setVcm.extracted– | 0.01 | 0 |
▼Loop 63 - initAtoms.c:124-135 - exec– | 0 | 0 |
○Loop 65 - initAtoms.c:126-133 - exec | 0.01 | 0 |
○Loop 64 - initAtoms.c:126-133 - exec | 0 | 0 |