Loop Id: 97 | Module: exec | Source: timestep.c:85-94 | Coverage: 0.03% |
---|
Loop Id: 97 | Module: exec | Source: timestep.c:85-94 | Coverage: 0.03% |
---|
0x40eea0 LEA 0x1(%RDI),%RCX |
0x40eea4 ADD $0x40,%ESI |
0x40eea7 CMP -0x38(%RBP),%RDI |
0x40eeab MOV %RCX,%RDI |
0x40eeae JE 40ee20 |
0x40eeb4 MOV %ESI,%ESI |
0x40eeb6 LEA (%RDI,%RAX,1),%RCX |
0x40eeba MOV -0x58(%RBP),%RDX |
0x40eebe MOV (%RDX,%RCX,4),%R8D |
0x40eec2 TEST %R8D,%R8D |
0x40eec5 JLE 40eea0 |
0x40eec7 LEA (,%RSI,8),%RCX |
0x40eecf LEA (,%RSI,4),%R12 |
0x40eed7 LEA (%RDI,%RAX,1),%EBX |
0x40eeda SAL $0x6,%EBX |
0x40eedd MOV -0x50(%RBP),%R9 |
0x40eee1 MOV 0x20(%R9),%RDX |
0x40eee5 MOV 0x28(%R9),%R9 |
0x40eee9 MOV 0x10(%RDX),%R15 |
0x40eeed MOV 0x18(%RDX),%R10 |
0x40eef1 MOV 0x20(%RDX),%R11 |
0x40eef5 LEA -0x1(%R8),%EDX |
0x40eef9 MOVSXD %EDX,%RDX |
0x40eefc ADD %RBX,%RDX |
0x40eeff SAL $0x3,%RDX |
0x40ef03 LEA (%RDX,%RDX,2),%RDX |
0x40ef07 LEA 0x10(%R11,%RDX,1),%R14 |
0x40ef0c SAL $0x3,%RBX |
0x40ef10 LEA (%RBX,%RBX,2),%RBX |
0x40ef14 LEA (%R10,%RBX,1),%R13 |
0x40ef18 CMP %R13,%R14 |
0x40ef1b JB 40efa0 |
0x40ef21 ADD %R11,%RBX |
0x40ef24 LEA 0x10(%R10,%RDX,1),%RDX |
0x40ef29 CMP %RBX,%RDX |
0x40ef2c JB 40efa0 |
0x40ef2e LEA 0x10(%RCX,%RCX,2),%RCX |
0x40ef33 ADD %R12,%R15 |
0x40ef36 XOR %EDX,%EDX |
0x40ef38 NOPL (%RAX,%RAX,1) |
(100) 0x40ef40 MOVSXD (%R15,%RDX,4),%RBX |
(100) 0x40ef44 SAL $0x4,%RBX |
(100) 0x40ef48 VDIVSD 0x8(%R9,%RBX,1),%XMM0,%XMM7 |
(100) 0x40ef4f VMOVSD -0x10(%R11,%RCX,1),%XMM8 |
(100) 0x40ef56 VFMADD213SD -0x10(%R10,%RCX,1),%XMM7,%XMM8 |
(100) 0x40ef5d VMOVSD %XMM8,-0x10(%R10,%RCX,1) |
(100) 0x40ef64 VMOVSD -0x8(%R11,%RCX,1),%XMM8 |
(100) 0x40ef6b VFMADD213SD -0x8(%R10,%RCX,1),%XMM7,%XMM8 |
(100) 0x40ef72 VMOVSD %XMM8,-0x8(%R10,%RCX,1) |
(100) 0x40ef79 VMOVSD (%R11,%RCX,1),%XMM8 |
(100) 0x40ef7f VFMADD213SD (%R10,%RCX,1),%XMM7,%XMM8 |
(100) 0x40ef85 VMOVSD %XMM8,(%R10,%RCX,1) |
(100) 0x40ef8b ADD $0x18,%RCX |
(100) 0x40ef8f INC %RDX |
(100) 0x40ef92 CMP %EDX,%R8D |
(100) 0x40ef95 JNE 40ef40 |
0x40ef97 JMP 40eea0 |
0x40efa0 LEA (%RCX,%RCX,2),%RCX |
0x40efa4 MOV %R8D,%R14D |
0x40efa7 AND $-0x4,%R14D |
0x40efab JE 40f0e2 |
0x40efb1 LEA -0x1(%R14),%EDX |
0x40efb5 ADD %R15,%R12 |
0x40efb8 MOV %RCX,%R13 |
0x40efbb XOR %EBX,%EBX |
0x40efbd NOPL (%RAX) |
(99) 0x40efc0 VPMOVSXDQ (%R12,%RBX,4),%YMM7 |
(99) 0x40efc6 KXNORW %K0,%K0,%K1 |
(99) 0x40efca VXORPD %XMM8,%XMM8,%XMM8 |
(99) 0x40efcf VPSLLQ $0x4,%YMM7,%YMM7 |
(99) 0x40efd4 VGATHERQPD 0x8(%R9,%YMM7,1),%YMM8{%K1} |
(99) 0x40efdc VDIVPD %YMM8,%YMM1,%YMM7 |
(99) 0x40efe1 VMOVUPD 0x20(%R11,%R13,1),%YMM8 |
(99) 0x40efe8 VMOVUPD 0x20(%R10,%R13,1),%YMM9 |
(99) 0x40efef VMOVUPD 0x10(%R11,%R13,1),%XMM10 |
(99) 0x40eff6 VMOVUPD 0x10(%R10,%R13,1),%XMM11 |
(99) 0x40effd VBLENDPD $0x3,(%R11,%R13,1),%YMM8,%YMM12 |
(99) 0x40f004 VBLENDPD $0x3,(%R10,%R13,1),%YMM9,%YMM13 |
(99) 0x40f00b VINSERTF128 $0x1,0x40(%R11,%R13,1),%YMM10,%YMM10 |
(99) 0x40f013 VINSERTF128 $0x1,0x40(%R10,%R13,1),%YMM11,%YMM11 |
(99) 0x40f01b VBROADCASTSD 0x50(%R11,%R13,1),%YMM14 |
(99) 0x40f022 VBROADCASTSD 0x50(%R10,%R13,1),%YMM15 |
(99) 0x40f029 VSHUFPD $0x5,%YMM8,%YMM12,%YMM8 |
(99) 0x40f02f VBLENDPD $0x8,%YMM14,%YMM8,%YMM8 |
(99) 0x40f035 VMOVUPD 0x20(%R11,%R13,1),%XMM14 |
(99) 0x40f03c VSHUFPD $0x5,%YMM9,%YMM13,%YMM9 |
(99) 0x40f042 VBLENDPD $0x8,%YMM15,%YMM9,%YMM9 |
(99) 0x40f048 VMOVUPD 0x20(%R10,%R13,1),%XMM15 |
(99) 0x40f04f VBLENDPD $0xc,0x40(%R11,%R13,1),%YMM14,%YMM14 |
(99) 0x40f057 VBLENDPD $0xc,0x40(%R10,%R13,1),%YMM15,%YMM15 |
(99) 0x40f05f VBLENDPD $0xa,%YMM10,%YMM12,%YMM12 |
(99) 0x40f065 VBLENDPD $0xa,%YMM11,%YMM13,%YMM13 |
(99) 0x40f06b VFMADD231PD %YMM12,%YMM7,%YMM13 |
(99) 0x40f070 VFMADD231PD %YMM8,%YMM7,%YMM9 |
(99) 0x40f075 VBLENDPD $0xa,%YMM14,%YMM10,%YMM8 |
(99) 0x40f07b VBLENDPD $0xa,%YMM15,%YMM11,%YMM10 |
(99) 0x40f081 VFMADD231PD %YMM8,%YMM7,%YMM10 |
(99) 0x40f086 VMOVAPD %YMM9,%YMM7 |
(99) 0x40f08a VPERMT2PD %YMM13,%YMM2,%YMM7 |
(99) 0x40f090 VMOVAPD %YMM13,%YMM8 |
(99) 0x40f095 VPERMT2PD %YMM9,%YMM3,%YMM8 |
(99) 0x40f09b VPERMT2PD %YMM13,%YMM4,%YMM9 |
(99) 0x40f0a1 VPERMT2PD %YMM10,%YMM6,%YMM8 |
(99) 0x40f0a7 VBLENDPD $0x2,%YMM10,%YMM7,%YMM7 |
(99) 0x40f0ad VMOVUPD %YMM7,0x20(%R10,%R13,1) |
(99) 0x40f0b4 VMOVUPD %YMM8,(%R10,%R13,1) |
(99) 0x40f0ba VPERMT2PD %YMM9,%YMM5,%YMM10 |
(99) 0x40f0c0 VMOVUPD %YMM10,0x40(%R10,%R13,1) |
(99) 0x40f0c7 ADD $0x4,%RBX |
(99) 0x40f0cb ADD $0x60,%R13 |
(99) 0x40f0cf CMP %EDX,%EBX |
(99) 0x40f0d1 JLE 40efc0 |
0x40f0d7 CMP %R14D,%R8D |
0x40f0da JE 40eea0 |
0x40f0e0 JMP 40f0e5 |
0x40f0e2 XOR %R14D,%R14D |
0x40f0e5 SUB %R14D,%R8D |
0x40f0e8 MOVSXD %R14D,%RDX |
0x40f0eb LEA (%RDX,%RDX,2),%RBX |
0x40f0ef LEA (%RCX,%RBX,8),%RCX |
0x40f0f3 ADD %RCX,%R10 |
0x40f0f6 ADD %RCX,%R11 |
0x40f0f9 ADD %RSI,%RDX |
0x40f0fc LEA (%R15,%RDX,4),%RCX |
0x40f100 XOR %EDX,%EDX |
0x40f102 XOR %EBX,%EBX |
0x40f104 NOPW %CS:(%RAX,%RAX,1) |
(98) 0x40f110 MOVSXD (%RCX,%RBX,4),%R14 |
(98) 0x40f114 SAL $0x4,%R14 |
(98) 0x40f118 VDIVSD 0x8(%R9,%R14,1),%XMM0,%XMM7 |
(98) 0x40f11f VMOVUPD (%R11,%RDX,1),%XMM8 |
(98) 0x40f125 VMOVDDUP %XMM7,%XMM9 |
(98) 0x40f129 VFMADD213PD (%R10,%RDX,1),%XMM8,%XMM9 |
(98) 0x40f12f VMOVUPD %XMM9,(%R10,%RDX,1) |
(98) 0x40f135 VMOVSD 0x10(%R11,%RDX,1),%XMM8 |
(98) 0x40f13c VFMADD213SD 0x10(%R10,%RDX,1),%XMM7,%XMM8 |
(98) 0x40f143 VMOVSD %XMM8,0x10(%R10,%RDX,1) |
(98) 0x40f14a INC %RBX |
(98) 0x40f14d ADD $0x18,%RDX |
(98) 0x40f151 CMP %EBX,%R8D |
(98) 0x40f154 JNE 40f110 |
0x40f156 JMP 40eea0 |
/scratch_na/users/xoserete/qaas_runs/171-172-2581/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; |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 15.09 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.51 |
Bottlenecks | micro-operation queue, |
Function | advancePosition.extracted |
Source | timestep.c:85-94 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 11.00 |
CQA cycles if no scalar integer | 11.00 |
CQA cycles if FP arith vectorized | 11.00 |
CQA cycles if fully vectorized | 0.73 |
Front-end cycles | 11.00 |
DIV/SQRT cycles | 6.50 |
P0 cycles | 7.27 |
P1 cycles | 3.00 |
P2 cycles | 3.00 |
P3 cycles | 0.00 |
P4 cycles | 6.40 |
P5 cycles | 6.30 |
P6 cycles | 0.00 |
P7 cycles | 0.00 |
P8 cycles | 0.00 |
P9 cycles | 6.40 |
P10 cycles | 3.00 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 11.19 |
Stall cycles (UFS) | 0.00 |
Nb insns | 66.00 |
Nb uops | 66.00 |
Nb loads | 9.00 |
Nb stores | 0.00 |
Nb stack references | 3.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 6.18 |
Bytes prefetched | 0.00 |
Bytes loaded | 68.00 |
Bytes stored | 0.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | 0.00 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 10.71 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | 12.50 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 10.42 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 15.09 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.51 |
Bottlenecks | micro-operation queue, |
Function | advancePosition.extracted |
Source | timestep.c:85-94 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 11.00 |
CQA cycles if no scalar integer | 11.00 |
CQA cycles if FP arith vectorized | 11.00 |
CQA cycles if fully vectorized | 0.73 |
Front-end cycles | 11.00 |
DIV/SQRT cycles | 6.50 |
P0 cycles | 7.27 |
P1 cycles | 3.00 |
P2 cycles | 3.00 |
P3 cycles | 0.00 |
P4 cycles | 6.40 |
P5 cycles | 6.30 |
P6 cycles | 0.00 |
P7 cycles | 0.00 |
P8 cycles | 0.00 |
P9 cycles | 6.40 |
P10 cycles | 3.00 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 11.19 |
Stall cycles (UFS) | 0.00 |
Nb insns | 66.00 |
Nb uops | 66.00 |
Nb loads | 9.00 |
Nb stores | 0.00 |
Nb stack references | 3.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 6.18 |
Bytes prefetched | 0.00 |
Bytes loaded | 68.00 |
Bytes stored | 0.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | NA |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | 0.00 |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 10.71 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | NA |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | 12.50 |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 10.42 |
Path / |
Function | advancePosition.extracted |
Source file and lines | timestep.c:85-94 |
Module | exec |
nb instructions | 66 |
nb uops | 66 |
loop length | 259 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 3 |
micro-operation queue | 11.00 cycles |
front end | 11.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 6.50 | 6.40 | 3.00 | 3.00 | 0.00 | 6.40 | 6.30 | 0.00 | 0.00 | 0.00 | 6.40 | 3.00 |
cycles | 6.50 | 7.27 | 3.00 | 3.00 | 0.00 | 6.40 | 6.30 | 0.00 | 0.00 | 0.00 | 6.40 | 3.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 11.19 |
Stall cycles | 0.00 |
Front-end | 11.00 |
Dispatch | 7.27 |
Overall L1 | 11.00 |
all | 0% |
load | 0% |
store | NA (no store vectorizable/vectorized instructions) |
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 | 0% |
all | 10% |
load | 12% |
store | NA (no store vectorizable/vectorized instructions) |
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 | 10% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LEA 0x1(%RDI),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
ADD $0x40,%ESI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP -0x38(%RBP),%RDI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
MOV %RCX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
JE 40ee20 <advancePosition.extracted+0x70> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ESI,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA (%RDI,%RAX,1),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x58(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RCX,4),%R8D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
TEST %R8D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 40eea0 <advancePosition.extracted+0xf0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA (,%RSI,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (,%RSI,4),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDI,%RAX,1),%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SAL $0x6,%EBX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
MOV -0x50(%RBP),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%R9),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x28(%R9),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%RDX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RDX),%R10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RDX),%R11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA -0x1(%R8),%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOVSXD %EDX,%RDX | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
ADD %RBX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
SAL $0x3,%RDX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%RDX,%RDX,2),%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x10(%R11,%RDX,1),%R14 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
SAL $0x3,%RBX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%RBX,%RBX,2),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%R10,%RBX,1),%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
CMP %R13,%R14 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 40efa0 <advancePosition.extracted+0x1f0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
ADD %R11,%RBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA 0x10(%R10,%RDX,1),%RDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
CMP %RBX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 40efa0 <advancePosition.extracted+0x1f0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA 0x10(%RCX,%RCX,2),%RCX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %R12,%R15 | 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 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 40eea0 <advancePosition.extracted+0xf0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
LEA (%RCX,%RCX,2),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %R8D,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
AND $-0x4,%R14D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
JE 40f0e2 <advancePosition.extracted+0x332> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA -0x1(%R14),%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
ADD %R15,%R12 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %EBX,%EBX | 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 |
CMP %R14D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 40eea0 <advancePosition.extracted+0xf0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
JMP 40f0e5 <advancePosition.extracted+0x335> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
XOR %R14D,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
SUB %R14D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOVSXD %R14D,%RDX | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
LEA (%RDX,%RDX,2),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RCX,%RBX,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
ADD %RCX,%R10 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
ADD %RCX,%R11 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
ADD %RSI,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%R15,%RDX,4),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EBX,%EBX | 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 |
JMP 40eea0 <advancePosition.extracted+0xf0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
Function | advancePosition.extracted |
Source file and lines | timestep.c:85-94 |
Module | exec |
nb instructions | 66 |
nb uops | 66 |
loop length | 259 |
used x86 registers | 15 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 3 |
micro-operation queue | 11.00 cycles |
front end | 11.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 6.50 | 6.40 | 3.00 | 3.00 | 0.00 | 6.40 | 6.30 | 0.00 | 0.00 | 0.00 | 6.40 | 3.00 |
cycles | 6.50 | 7.27 | 3.00 | 3.00 | 0.00 | 6.40 | 6.30 | 0.00 | 0.00 | 0.00 | 6.40 | 3.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 11.19 |
Stall cycles | 0.00 |
Front-end | 11.00 |
Dispatch | 7.27 |
Overall L1 | 11.00 |
all | 0% |
load | 0% |
store | NA (no store vectorizable/vectorized instructions) |
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 | 0% |
all | 10% |
load | 12% |
store | NA (no store vectorizable/vectorized instructions) |
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 | 10% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LEA 0x1(%RDI),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
ADD $0x40,%ESI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
CMP -0x38(%RBP),%RDI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
MOV %RCX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
JE 40ee20 <advancePosition.extracted+0x70> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %ESI,%ESI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
LEA (%RDI,%RAX,1),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0x58(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RCX,4),%R8D | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
TEST %R8D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 2 | 0.20 |
JLE 40eea0 <advancePosition.extracted+0xf0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA (,%RSI,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (,%RSI,4),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RDI,%RAX,1),%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
SAL $0x6,%EBX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
MOV -0x50(%RBP),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%R9),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x28(%R9),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x10(%RDX),%R15 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x18(%RDX),%R10 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x20(%RDX),%R11 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
LEA -0x1(%R8),%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
MOVSXD %EDX,%RDX | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
ADD %RBX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
SAL $0x3,%RDX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%RDX,%RDX,2),%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA 0x10(%R11,%RDX,1),%R14 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
SAL $0x3,%RBX | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0.50 |
LEA (%RBX,%RBX,2),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%R10,%RBX,1),%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
CMP %R13,%R14 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 40efa0 <advancePosition.extracted+0x1f0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
ADD %R11,%RBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA 0x10(%R10,%RDX,1),%RDX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
CMP %RBX,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JB 40efa0 <advancePosition.extracted+0x1f0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA 0x10(%RCX,%RCX,2),%RCX | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
ADD %R12,%R15 | 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 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 40eea0 <advancePosition.extracted+0xf0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
LEA (%RCX,%RCX,2),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %R8D,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
AND $-0x4,%R14D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
JE 40f0e2 <advancePosition.extracted+0x332> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
LEA -0x1(%R14),%EDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1-2 | 0.20 |
ADD %R15,%R12 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %RCX,%R13 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
XOR %EBX,%EBX | 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 |
CMP %R14D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JE 40eea0 <advancePosition.extracted+0xf0> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
JMP 40f0e5 <advancePosition.extracted+0x335> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
XOR %R14D,%R14D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
SUB %R14D,%R8D | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOVSXD %R14D,%RDX | 1 | 0 | 0.33 | 0 | 0 | 0 | 0.33 | 0 | 0 | 0 | 0 | 0.33 | 0 | 1 | 0.33 |
LEA (%RDX,%RDX,2),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA (%RCX,%RBX,8),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
ADD %RCX,%R10 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
ADD %RCX,%R11 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
ADD %RSI,%RDX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
LEA (%R15,%RDX,4),%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EDX,%EDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
XOR %EBX,%EBX | 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 |
JMP 40eea0 <advancePosition.extracted+0xf0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |