Function: advancePosition._omp_fn.0 | Module: exec | Source: timestep.c:85-94 | Coverage: 2.96% |
---|
Function: advancePosition._omp_fn.0 | Module: exec | Source: timestep.c:85-94 | Coverage: 2.96% |
---|
/scratch_na/users/xoserete/qaas_runs/171-172-4338/intel/CoMD/build/CoMD/CoMD/src-openmp/timestep.c: 85 - 94 |
-------------------------------------------------------------------------------- |
85: #pragma omp parallel for |
86: for (int iBox=0; iBox<nBoxes; iBox++) |
87: { |
88: for (int iOff=MAXATOMS*iBox,ii=0; ii<s->boxes->nAtoms[iBox]; ii++,iOff++) |
89: { |
90: int iSpecies = s->atoms->iSpecies[iOff]; |
91: real_t invMass = 1.0/s->species[iSpecies].mass; |
92: s->atoms->r[iOff][0] += dt*s->atoms->p[iOff][0]*invMass; |
93: s->atoms->r[iOff][1] += dt*s->atoms->p[iOff][1]*invMass; |
94: s->atoms->r[iOff][2] += dt*s->atoms->p[iOff][2]*invMass; |
0x405e20 PUSH %RBP |
0x405e21 MOV %RSP,%RBP |
0x405e24 PUSH %R14 |
0x405e26 PUSH %R13 |
0x405e28 PUSH %R12 |
0x405e2a MOV %RDI,%R12 |
0x405e2d PUSH %RBX |
0x405e2e CALL 403070 <omp_get_num_threads@plt> |
0x405e33 MOV %EAX,%EBX |
0x405e35 CALL 403150 <omp_get_thread_num@plt> |
0x405e3a MOV %EAX,%R9D |
0x405e3d MOV 0x10(%R12),%EAX |
0x405e42 CLTD |
0x405e43 IDIV %EBX |
0x405e45 CMP %EDX,%R9D |
0x405e48 JL 40610c |
0x405e4e IMUL %EAX,%R9D |
0x405e52 ADD %EDX,%R9D |
0x405e55 LEA (%RAX,%R9,1),%EBX |
0x405e59 CMP %EBX,%R9D |
0x405e5c JGE 406103 |
0x405e62 VMOVSD 0x8(%R12),%XMM0 |
0x405e69 MOV (%R12),%R12 |
0x405e6d MOVSXD %R9D,%R10 |
0x405e70 SAL $0x6,%R9D |
0x405e74 LEA (%R10,%R10,2),%RAX |
0x405e78 VMOVSD 0xbe40(%RIP),%XMM2 |
0x405e80 MOV 0x18(%R12),%RCX |
0x405e85 SAL $0x9,%RAX |
0x405e89 MOV 0x78(%RCX),%R13 |
0x405e8d NOPL (%RAX) |
(19) 0x405e90 MOVSXD (%R13,%R10,4),%R8 |
(19) 0x405e95 TEST %R8D,%R8D |
(19) 0x405e98 JLE 4060ed |
(19) 0x405e9e MOV 0x20(%R12),%R11 |
(19) 0x405ea3 MOVSXD %R9D,%RSI |
(19) 0x405ea6 MOV 0x28(%R12),%RDI |
(19) 0x405eab MOV 0x10(%R11),%R14 |
(19) 0x405eaf MOV 0x18(%R11),%RDX |
(19) 0x405eb3 MOV 0x20(%R11),%RCX |
(19) 0x405eb7 MOV %R10,%R11 |
(19) 0x405eba SAL $0x6,%R11 |
(19) 0x405ebe LEA (%R14,%RSI,4),%RSI |
(19) 0x405ec2 ADD %RAX,%RDX |
(19) 0x405ec5 ADD %R8,%R11 |
(19) 0x405ec8 ADD %RAX,%RCX |
(19) 0x405ecb LEA (%R14,%R11,4),%R11 |
(19) 0x405ecf MOV %R11,%R8 |
(19) 0x405ed2 SUB %RSI,%R8 |
(19) 0x405ed5 SUB $0x4,%R8 |
(19) 0x405ed9 SHR $0x2,%R8 |
(19) 0x405edd INC %R8 |
(19) 0x405ee0 AND $0x3,%R8D |
(19) 0x405ee4 JE 405fde |
(19) 0x405eea CMP $0x1,%R8 |
(19) 0x405eee JE 405f8c |
(19) 0x405ef4 CMP $0x2,%R8 |
(19) 0x405ef8 JE 405f43 |
(19) 0x405efa VMULSD (%RCX),%XMM0,%XMM3 |
(19) 0x405efe MOVSXD (%RSI),%R14 |
(19) 0x405f01 ADD $0x18,%RDX |
(19) 0x405f05 ADD $0x4,%RSI |
(19) 0x405f09 ADD $0x18,%RCX |
(19) 0x405f0d SAL $0x4,%R14 |
(19) 0x405f11 VDIVSD 0x8(%RDI,%R14,1),%XMM2,%XMM1 |
(19) 0x405f18 VFMADD213SD -0x18(%RDX),%XMM1,%XMM3 |
(19) 0x405f1e VMOVSD %XMM3,-0x18(%RDX) |
(19) 0x405f23 VMULSD -0x10(%RCX),%XMM0,%XMM4 |
(19) 0x405f28 VFMADD213SD -0x10(%RDX),%XMM1,%XMM4 |
(19) 0x405f2e VMOVSD %XMM4,-0x10(%RDX) |
(19) 0x405f33 VMULSD -0x8(%RCX),%XMM0,%XMM5 |
(19) 0x405f38 VFMADD213SD -0x8(%RDX),%XMM5,%XMM1 |
(19) 0x405f3e VMOVSD %XMM1,-0x8(%RDX) |
(19) 0x405f43 VMULSD (%RCX),%XMM0,%XMM7 |
(19) 0x405f47 MOVSXD (%RSI),%R8 |
(19) 0x405f4a ADD $0x18,%RDX |
(19) 0x405f4e ADD $0x4,%RSI |
(19) 0x405f52 ADD $0x18,%RCX |
(19) 0x405f56 SAL $0x4,%R8 |
(19) 0x405f5a VDIVSD 0x8(%RDI,%R8,1),%XMM2,%XMM6 |
(19) 0x405f61 VFMADD213SD -0x18(%RDX),%XMM6,%XMM7 |
(19) 0x405f67 VMOVSD %XMM7,-0x18(%RDX) |
(19) 0x405f6c VMULSD -0x10(%RCX),%XMM0,%XMM8 |
(19) 0x405f71 VFMADD213SD -0x10(%RDX),%XMM6,%XMM8 |
(19) 0x405f77 VMOVSD %XMM8,-0x10(%RDX) |
(19) 0x405f7c VMULSD -0x8(%RCX),%XMM0,%XMM9 |
(19) 0x405f81 VFMADD213SD -0x8(%RDX),%XMM9,%XMM6 |
(19) 0x405f87 VMOVSD %XMM6,-0x8(%RDX) |
(19) 0x405f8c VMULSD (%RCX),%XMM0,%XMM11 |
(19) 0x405f90 MOVSXD (%RSI),%R14 |
(19) 0x405f93 ADD $0x4,%RSI |
(19) 0x405f97 ADD $0x18,%RDX |
(19) 0x405f9b ADD $0x18,%RCX |
(19) 0x405f9f SAL $0x4,%R14 |
(19) 0x405fa3 VDIVSD 0x8(%RDI,%R14,1),%XMM2,%XMM10 |
(19) 0x405faa VFMADD213SD -0x18(%RDX),%XMM10,%XMM11 |
(19) 0x405fb0 VMOVSD %XMM11,-0x18(%RDX) |
(19) 0x405fb5 VMULSD -0x10(%RCX),%XMM0,%XMM12 |
(19) 0x405fba VFMADD213SD -0x10(%RDX),%XMM10,%XMM12 |
(19) 0x405fc0 VMOVSD %XMM12,-0x10(%RDX) |
(19) 0x405fc5 VMULSD -0x8(%RCX),%XMM0,%XMM13 |
(19) 0x405fca VFMADD213SD -0x8(%RDX),%XMM13,%XMM10 |
(19) 0x405fd0 VMOVSD %XMM10,-0x8(%RDX) |
(19) 0x405fd5 CMP %RSI,%R11 |
(19) 0x405fd8 JE 4060ed |
(20) 0x405fde VMULSD (%RCX),%XMM0,%XMM15 |
(20) 0x405fe2 MOVSXD (%RSI),%R8 |
(20) 0x405fe5 ADD $0x10,%RSI |
(20) 0x405fe9 ADD $0x60,%RDX |
(20) 0x405fed MOVSXD -0xc(%RSI),%R14 |
(20) 0x405ff1 ADD $0x60,%RCX |
(20) 0x405ff5 SAL $0x4,%R8 |
(20) 0x405ff9 VDIVSD 0x8(%RDI,%R8,1),%XMM2,%XMM14 |
(20) 0x406000 SAL $0x4,%R14 |
(20) 0x406004 MOVSXD -0x8(%RSI),%R8 |
(20) 0x406008 VFMADD213SD -0x60(%RDX),%XMM14,%XMM15 |
(20) 0x40600e SAL $0x4,%R8 |
(20) 0x406012 VMOVSD %XMM15,-0x60(%RDX) |
(20) 0x406017 VMULSD -0x58(%RCX),%XMM0,%XMM1 |
(20) 0x40601c VFMADD213SD -0x58(%RDX),%XMM14,%XMM1 |
(20) 0x406022 VMOVSD %XMM1,-0x58(%RDX) |
(20) 0x406027 VMULSD -0x50(%RCX),%XMM0,%XMM3 |
(20) 0x40602c VFMADD213SD -0x50(%RDX),%XMM3,%XMM14 |
(20) 0x406032 VMOVSD %XMM14,-0x50(%RDX) |
(20) 0x406037 VMULSD -0x48(%RCX),%XMM0,%XMM5 |
(20) 0x40603c VDIVSD 0x8(%RDI,%R14,1),%XMM2,%XMM4 |
(20) 0x406043 VFMADD213SD -0x48(%RDX),%XMM4,%XMM5 |
(20) 0x406049 VMOVSD %XMM5,-0x48(%RDX) |
(20) 0x40604e VMULSD -0x40(%RCX),%XMM0,%XMM6 |
(20) 0x406053 VFMADD213SD -0x40(%RDX),%XMM4,%XMM6 |
(20) 0x406059 VMOVSD %XMM6,-0x40(%RDX) |
(20) 0x40605e VMULSD -0x38(%RCX),%XMM0,%XMM7 |
(20) 0x406063 VFMADD213SD -0x38(%RDX),%XMM7,%XMM4 |
(20) 0x406069 VMOVSD %XMM4,-0x38(%RDX) |
(20) 0x40606e VMULSD -0x30(%RCX),%XMM0,%XMM9 |
(20) 0x406073 VDIVSD 0x8(%RDI,%R8,1),%XMM2,%XMM8 |
(20) 0x40607a VFMADD213SD -0x30(%RDX),%XMM8,%XMM9 |
(20) 0x406080 VMOVSD %XMM9,-0x30(%RDX) |
(20) 0x406085 VMULSD -0x28(%RCX),%XMM0,%XMM10 |
(20) 0x40608a VFMADD213SD -0x28(%RDX),%XMM8,%XMM10 |
(20) 0x406090 VMOVSD %XMM10,-0x28(%RDX) |
(20) 0x406095 VMULSD -0x20(%RCX),%XMM0,%XMM11 |
(20) 0x40609a VFMADD213SD -0x20(%RDX),%XMM11,%XMM8 |
(20) 0x4060a0 VMOVSD %XMM8,-0x20(%RDX) |
(20) 0x4060a5 VMULSD -0x18(%RCX),%XMM0,%XMM13 |
(20) 0x4060aa MOVSXD -0x4(%RSI),%R14 |
(20) 0x4060ae SAL $0x4,%R14 |
(20) 0x4060b2 VDIVSD 0x8(%RDI,%R14,1),%XMM2,%XMM12 |
(20) 0x4060b9 VFMADD213SD -0x18(%RDX),%XMM12,%XMM13 |
(20) 0x4060bf VMOVSD %XMM13,-0x18(%RDX) |
(20) 0x4060c4 VMULSD -0x10(%RCX),%XMM0,%XMM14 |
(20) 0x4060c9 VFMADD213SD -0x10(%RDX),%XMM12,%XMM14 |
(20) 0x4060cf VMOVSD %XMM14,-0x10(%RDX) |
(20) 0x4060d4 VMULSD -0x8(%RCX),%XMM0,%XMM15 |
(20) 0x4060d9 VFMADD213SD -0x8(%RDX),%XMM15,%XMM12 |
(20) 0x4060df VMOVSD %XMM12,-0x8(%RDX) |
(20) 0x4060e4 CMP %RSI,%R11 |
(20) 0x4060e7 JNE 405fde |
(19) 0x4060ed INC %R10 |
(19) 0x4060f0 ADD $0x40,%R9D |
(19) 0x4060f4 ADD $0x600,%RAX |
(19) 0x4060fa CMP %R10D,%EBX |
(19) 0x4060fd JG 405e90 |
0x406103 POP %RBX |
0x406104 POP %R12 |
0x406106 POP %R13 |
0x406108 POP %R14 |
0x40610a POP %RBP |
0x40610b RET |
0x40610c INC %EAX |
0x40610e XOR %EDX,%EDX |
0x406110 JMP 405e4e |
0x406115 NOPW %CS:(%RAX,%RAX,1) |
Path / |
Source file and lines | timestep.c:85-94 |
Module | exec |
nb instructions | 41 |
nb uops | 46 |
loop length | 141 |
used x86 registers | 12 |
used mmx registers | 0 |
used xmm registers | 2 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 7.67 cycles |
front end | 7.67 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 3.00 | 4.00 | 4.00 | 4.00 | 3.50 | 3.07 | 3.00 | 3.50 | 3.50 | 3.50 | 2.93 | 4.00 |
cycles | 3.00 | 5.33 | 4.00 | 4.00 | 3.50 | 3.07 | 3.00 | 3.50 | 3.50 | 3.50 | 2.93 | 4.00 |
Cycles executing div or sqrt instructions | 6.00 |
FE+BE cycles | 7.33-7.36 |
Stall cycles | 0.00 |
Front-end | 7.67 |
Dispatch | 5.33 |
DIV/SQRT | 6.00 |
Overall L1 | 7.67 |
all | 0% |
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) |
other | 0% |
all | 0% |
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 | NA (no other vectorizable/vectorized instructions) |
all | 0% |
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 | 0% |
other | 0% |
all | 7% |
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) |
other | 7% |
all | 12% |
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 | NA (no other vectorizable/vectorized instructions) |
all | 8% |
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 | 6% |
other | 7% |
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 %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 |
MOV %RDI,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
CALL 403070 <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,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CALL 403150 <omp_get_thread_num@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
MOV %EAX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x10(%R12),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CLTD | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
IDIV %EBX | 4 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 11-16 | 6 |
CMP %EDX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JL 40610c <advancePosition._omp_fn.0+0x2ec> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
IMUL %EAX,%R9D | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %EDX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%RAX,%R9,1),%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
CMP %EBX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 406103 <advancePosition._omp_fn.0+0x2e3> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VMOVSD 0x8(%R12),%XMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R12),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVSXD %R9D,%R10 | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
SAL $0x6,%R9D | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%R10,%R10,2),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVSD 0xbe40(%RIP),%XMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%R12),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SAL $0x9,%RAX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
MOV 0x78(%RCX),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
NOPL (%RAX) | 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 %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 |
INC %EAX | 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 405e4e <advancePosition._omp_fn.0+0x2e> | 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 |
Source file and lines | timestep.c:85-94 |
Module | exec |
nb instructions | 41 |
nb uops | 46 |
loop length | 141 |
used x86 registers | 12 |
used mmx registers | 0 |
used xmm registers | 2 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 0 |
micro-operation queue | 7.67 cycles |
front end | 7.67 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 3.00 | 4.00 | 4.00 | 4.00 | 3.50 | 3.07 | 3.00 | 3.50 | 3.50 | 3.50 | 2.93 | 4.00 |
cycles | 3.00 | 5.33 | 4.00 | 4.00 | 3.50 | 3.07 | 3.00 | 3.50 | 3.50 | 3.50 | 2.93 | 4.00 |
Cycles executing div or sqrt instructions | 6.00 |
FE+BE cycles | 7.33-7.36 |
Stall cycles | 0.00 |
Front-end | 7.67 |
Dispatch | 5.33 |
DIV/SQRT | 6.00 |
Overall L1 | 7.67 |
all | 0% |
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) |
other | 0% |
all | 0% |
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 | NA (no other vectorizable/vectorized instructions) |
all | 0% |
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 | 0% |
other | 0% |
all | 7% |
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) |
other | 7% |
all | 12% |
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 | NA (no other vectorizable/vectorized instructions) |
all | 8% |
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 | 6% |
other | 7% |
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 %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 |
MOV %RDI,%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
PUSH %RBX | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 5-12 | 0.50 |
CALL 403070 <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,%EBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CALL 403150 <omp_get_thread_num@plt> | 2 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 1 |
MOV %EAX,%R9D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV 0x10(%R12),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CLTD | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 |
IDIV %EBX | 4 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 11-16 | 6 |
CMP %EDX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JL 40610c <advancePosition._omp_fn.0+0x2ec> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
IMUL %EAX,%R9D | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %EDX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%RAX,%R9,1),%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
CMP %EBX,%R9D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JGE 406103 <advancePosition._omp_fn.0+0x2e3> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
VMOVSD 0x8(%R12),%XMM0 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%R12),%R12 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOVSXD %R9D,%R10 | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
SAL $0x6,%R9D | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%R10,%R10,2),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
VMOVSD 0xbe40(%RIP),%XMM2 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%R12),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
SAL $0x9,%RAX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
MOV 0x78(%RCX),%R13 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
NOPL (%RAX) | 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 %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 |
INC %EAX | 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 405e4e <advancePosition._omp_fn.0+0x2e> | 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 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼advancePosition._omp_fn.0– | 2.96 | 0.6 |
▼Loop 19 - timestep.c:88-94 - exec– | 1.05 | 0.14 |
○Loop 20 - timestep.c:88-94 - exec | 1.92 | 0.26 |