Function: advancePosition.extracted | Module: exec | Source: timestep.c:85-96 | Coverage: 1.39% |
---|
Function: advancePosition.extracted | Module: exec | Source: timestep.c:85-96 | Coverage: 1.39% |
---|
/scratch_na/users/xoserete/qaas_runs/171-322-9862/intel/CoMD/build/CoMD/CoMD/src-openmp/timestep.c: 85 - 96 |
-------------------------------------------------------------------------------- |
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; |
95: } |
96: } |
0x40fe40 PUSH %RBP |
0x40fe41 MOV %RSP,%RBP |
0x40fe44 PUSH %R15 |
0x40fe46 PUSH %R14 |
0x40fe48 PUSH %R13 |
0x40fe4a PUSH %R12 |
0x40fe4c PUSH %RBX |
0x40fe4d SUB $0x48,%RSP |
0x40fe51 MOV %RCX,%R15 |
0x40fe54 MOV %RDX,%RBX |
0x40fe57 MOVL $0,-0x4c(%RBP) |
0x40fe5e MOV (%RDI),%ESI |
0x40fe60 MOVL $0,-0x30(%RBP) |
0x40fe67 MOV %R9D,-0x2c(%RBP) |
0x40fe6b MOVL $0x1,-0x48(%RBP) |
0x40fe72 SUB $0x8,%RSP |
0x40fe76 LEA -0x48(%RBP),%RAX |
0x40fe7a LEA -0x4c(%RBP),%RCX |
0x40fe7e LEA -0x30(%RBP),%R8 |
0x40fe82 LEA -0x2c(%RBP),%R9 |
0x40fe86 MOV $0x62e950,%EDI |
0x40fe8b MOV %ESI,-0x44(%RBP) |
0x40fe8e MOV $0x22,%EDX |
0x40fe93 PUSH $0x1 |
0x40fe95 PUSH $0x1 |
0x40fe97 PUSH %RAX |
0x40fe98 CALL 403130 <__kmpc_for_static_init_4@plt> |
0x40fe9d MOV %RBX,%RDI |
0x40fea0 ADD $0x20,%RSP |
0x40fea4 MOV -0x30(%RBP),%EBX |
0x40fea7 MOV -0x2c(%RBP),%EAX |
0x40feaa MOV %RAX,-0x58(%RBP) |
0x40feae CMP %EAX,%EBX |
0x40feb0 JBE 40fed0 |
0x40feb2 MOV $0x62e970,%EDI |
0x40feb7 MOV -0x44(%RBP),%ESI |
0x40feba ADD $0x48,%RSP |
0x40febe POP %RBX |
0x40febf POP %R12 |
0x40fec1 POP %R13 |
0x40fec3 POP %R14 |
0x40fec5 POP %R15 |
0x40fec7 POP %RBP |
0x40fec8 VZEROUPPER |
0x40fecb JMP 402fe0 |
0x40fed0 VMOVQ %R15,%XMM0 |
0x40fed5 MOV 0x18(%RDI),%RCX |
0x40fed9 MOV 0x78(%RCX),%RAX |
0x40fedd MOV %RAX,-0x70(%RBP) |
0x40fee1 SUB %RBX,-0x58(%RBP) |
0x40fee5 VPBROADCASTQ %XMM0,%YMM1 |
0x40feea MOV %EBX,%ESI |
0x40feec SAL $0x6,%ESI |
0x40feef XOR %R13D,%R13D |
0x40fef2 MOV %RDI,-0x60(%RBP) |
0x40fef6 MOV %RBX,-0x38(%RBP) |
0x40fefa JMP 40ff10 |
0x40fefc NOPL (%RAX) |
(100) 0x40ff00 LEA 0x1(%R13),%RAX |
(100) 0x40ff04 ADD $0x40,%ESI |
(100) 0x40ff07 CMP -0x58(%RBP),%R13 |
(100) 0x40ff0b MOV %RAX,%R13 |
(100) 0x40ff0e JE 40feb2 |
(100) 0x40ff10 MOV %ESI,%ESI |
(100) 0x40ff12 LEA (%RBX,%R13,1),%RCX |
(100) 0x40ff16 MOV -0x70(%RBP),%RAX |
(100) 0x40ff1a MOV (%RAX,%RCX,4),%R8D |
(100) 0x40ff1e TEST %R8D,%R8D |
(100) 0x40ff21 JLE 40ff00 |
(100) 0x40ff23 LEA (,%RSI,8),%RCX |
(100) 0x40ff2b LEA (,%RSI,4),%R12 |
(100) 0x40ff33 MOV %R13,-0x40(%RBP) |
(100) 0x40ff37 LEA (%RBX,%R13,1),%R14D |
(100) 0x40ff3b SAL $0x6,%R14D |
(100) 0x40ff3f MOV 0x20(%RDI),%RDX |
(100) 0x40ff43 MOV 0x28(%RDI),%R9 |
(100) 0x40ff47 MOV 0x10(%RDX),%R15 |
(100) 0x40ff4b MOV 0x18(%RDX),%R10 |
(100) 0x40ff4f MOV 0x20(%RDX),%R11 |
(100) 0x40ff53 LEA -0x1(%R8),%EDX |
(100) 0x40ff57 MOVSXD %EDX,%RDX |
(100) 0x40ff5a ADD %R14,%RDX |
(100) 0x40ff5d SAL $0x3,%RDX |
(100) 0x40ff61 LEA (%RDX,%RDX,2),%RDX |
(100) 0x40ff65 LEA (%R11,%RDX,1),%R13 |
(100) 0x40ff69 ADD $0x10,%R13 |
(100) 0x40ff6d SAL $0x3,%R14 |
(100) 0x40ff71 LEA (%R14,%R14,2),%R14 |
(100) 0x40ff75 LEA (%R10,%R14,1),%RBX |
(100) 0x40ff79 CMP %RBX,%R13 |
(100) 0x40ff7c JB 410010 |
(100) 0x40ff82 ADD %R11,%R14 |
(100) 0x40ff85 ADD %R10,%RDX |
(100) 0x40ff88 ADD $0x10,%RDX |
(100) 0x40ff8c CMP %R14,%RDX |
(100) 0x40ff8f JB 410010 |
(100) 0x40ff95 LEA (%RCX,%RCX,2),%RCX |
(100) 0x40ff99 ADD $0x10,%RCX |
(100) 0x40ff9d ADD %R12,%R15 |
(100) 0x40ffa0 XOR %EDX,%EDX |
(100) 0x40ffa2 MOV -0x38(%RBP),%RBX |
(100) 0x40ffa6 MOV -0x40(%RBP),%R13 |
(100) 0x40ffaa NOPW (%RAX,%RAX,1) |
(103) 0x40ffb0 MOVSXD (%R15,%RDX,4),%RAX |
(103) 0x40ffb4 SAL $0x4,%RAX |
(103) 0x40ffb8 VDIVSD 0x8(%R9,%RAX,1),%XMM0,%XMM2 |
(103) 0x40ffbf VMOVSD -0x10(%R11,%RCX,1),%XMM3 |
(103) 0x40ffc6 VFMADD213SD -0x10(%R10,%RCX,1),%XMM2,%XMM3 |
(103) 0x40ffcd VMOVSD %XMM3,-0x10(%R10,%RCX,1) |
(103) 0x40ffd4 VMOVSD -0x8(%R11,%RCX,1),%XMM3 |
(103) 0x40ffdb VFMADD213SD -0x8(%R10,%RCX,1),%XMM2,%XMM3 |
(103) 0x40ffe2 VMOVSD %XMM3,-0x8(%R10,%RCX,1) |
(103) 0x40ffe9 VMOVSD (%R11,%RCX,1),%XMM3 |
(103) 0x40ffef VFMADD213SD (%R10,%RCX,1),%XMM2,%XMM3 |
(103) 0x40fff5 VMOVSD %XMM3,(%R10,%RCX,1) |
(103) 0x40fffb ADD $0x18,%RCX |
(103) 0x40ffff INC %RDX |
(103) 0x410002 CMP %EDX,%R8D |
(103) 0x410005 JNE 40ffb0 |
(100) 0x410007 JMP 40ff00 |
0x41000c NOPL (%RAX) |
(100) 0x410010 MOV %R8D,%EAX |
(100) 0x410013 AND $-0x4,%EAX |
(100) 0x410016 JE 410199 |
(100) 0x41001c LEA (%RCX,%RCX,2),%R14 |
(100) 0x410020 MOV %RAX,-0x68(%RBP) |
(100) 0x410024 LEA -0x1(%RAX),%EDX |
(100) 0x410027 ADD %R15,%R12 |
(100) 0x41002a XOR %ECX,%ECX |
(100) 0x41002c NOPL (%RAX) |
(102) 0x410030 MOVSXD (%R12,%RCX,4),%RBX |
(102) 0x410034 MOVSXD 0x4(%R12,%RCX,4),%RAX |
(102) 0x410039 MOVSXD 0x8(%R12,%RCX,4),%R13 |
(102) 0x41003e MOVSXD 0xc(%R12,%RCX,4),%RDI |
(102) 0x410043 SAL $0x4,%RBX |
(102) 0x410047 SAL $0x4,%R13 |
(102) 0x41004b SAL $0x4,%RDI |
(102) 0x41004f VMOVSD 0x8(%R9,%R13,1),%XMM2 |
(102) 0x410056 VMOVHPD 0x8(%R9,%RDI,1),%XMM2,%XMM2 |
(102) 0x41005d SAL $0x4,%RAX |
(102) 0x410061 VMOVSD 0x8(%R9,%RBX,1),%XMM3 |
(102) 0x410068 VMOVHPD 0x8(%R9,%RAX,1),%XMM3,%XMM3 |
(102) 0x41006f VINSERTF128 $0x1,%XMM2,%YMM3,%YMM2 |
(102) 0x410075 VDIVPD %YMM2,%YMM1,%YMM2 |
(102) 0x410079 VMOVUPD 0x20(%R11,%R14,1),%YMM3 |
(102) 0x410080 VBLENDPD $0x3,(%R11,%R14,1),%YMM3,%YMM4 |
(102) 0x410087 VMOVUPD 0x10(%R11,%R14,1),%XMM5 |
(102) 0x41008e VMOVUPD 0x20(%R11,%R14,1),%XMM6 |
(102) 0x410095 VINSERTF128 $0x1,0x40(%R11,%R14,1),%YMM5,%YMM5 |
(102) 0x41009d VBLENDPD $0xa,%YMM5,%YMM4,%YMM7 |
(102) 0x4100a3 VSHUFPD $0x5,%YMM3,%YMM4,%YMM3 |
(102) 0x4100a8 VBROADCASTSD 0x50(%R11,%R14,1),%YMM4 |
(102) 0x4100af VBLENDPD $0xc,0x40(%R11,%R14,1),%YMM6,%YMM6 |
(102) 0x4100b7 VBLENDPD $0x8,%YMM4,%YMM3,%YMM3 |
(102) 0x4100bd VMOVUPD 0x20(%R10,%R14,1),%YMM4 |
(102) 0x4100c4 VBLENDPD $0x3,(%R10,%R14,1),%YMM4,%YMM8 |
(102) 0x4100cb VBLENDPD $0xa,%YMM6,%YMM5,%YMM5 |
(102) 0x4100d1 VMOVUPD 0x10(%R10,%R14,1),%XMM6 |
(102) 0x4100d8 VINSERTF128 $0x1,0x40(%R10,%R14,1),%YMM6,%YMM6 |
(102) 0x4100e0 VMOVUPD 0x20(%R10,%R14,1),%XMM9 |
(102) 0x4100e7 VBLENDPD $0xa,%YMM6,%YMM8,%YMM10 |
(102) 0x4100ed VSHUFPD $0x5,%YMM4,%YMM8,%YMM4 |
(102) 0x4100f2 VBROADCASTSD 0x50(%R10,%R14,1),%YMM8 |
(102) 0x4100f9 VBLENDPD $0x8,%YMM8,%YMM4,%YMM4 |
(102) 0x4100ff VBLENDPD $0xc,0x40(%R10,%R14,1),%YMM9,%YMM8 |
(102) 0x410107 VBLENDPD $0xa,%YMM8,%YMM6,%YMM6 |
(102) 0x41010d VFMADD231PD %YMM7,%YMM2,%YMM10 |
(102) 0x410112 VFMADD231PD %YMM3,%YMM2,%YMM4 |
(102) 0x410117 VFMADD231PD %YMM5,%YMM2,%YMM6 |
(102) 0x41011c VSHUFPD $0x1,%YMM4,%YMM4,%YMM2 |
(102) 0x410121 VBLENDPD $0x4,%YMM10,%YMM2,%YMM2 |
(102) 0x410127 VMOVDDUP %XMM4,%XMM3 |
(102) 0x41012b VPERM2F128 $0x20,%YMM10,%YMM3,%YMM3 |
(102) 0x410131 VSHUFPD $0x4,%YMM4,%YMM4,%YMM4 |
(102) 0x410136 VINSERTF128 $0x1,%XMM6,%YMM10,%YMM5 |
(102) 0x41013c VBLENDPD $0xa,%YMM3,%YMM5,%YMM3 |
(102) 0x410142 VPERM2F128 $0x31,%YMM6,%YMM10,%YMM5 |
(102) 0x410148 VPERM2F128 $0x31,%YMM4,%YMM6,%YMM4 |
(102) 0x41014e VBLENDPD $0xa,%YMM5,%YMM4,%YMM4 |
(102) 0x410154 VBLENDPD $0x2,%YMM6,%YMM2,%YMM2 |
(102) 0x41015a VMOVUPD %YMM2,0x20(%R10,%R14,1) |
(102) 0x410161 VMOVUPD %YMM4,0x40(%R10,%R14,1) |
(102) 0x410168 VMOVUPD %YMM3,(%R10,%R14,1) |
(102) 0x41016e ADD $0x60,%R14 |
(102) 0x410172 ADD $0x4,%RCX |
(102) 0x410176 CMP %EDX,%ECX |
(102) 0x410178 JLE 410030 |
(100) 0x41017e MOV -0x68(%RBP),%RAX |
(100) 0x410182 CMP %EAX,%R8D |
(100) 0x410185 MOV -0x60(%RBP),%RDI |
(100) 0x410189 MOV -0x38(%RBP),%RBX |
(100) 0x41018d MOV -0x40(%RBP),%R13 |
(100) 0x410191 JE 40ff00 |
(100) 0x410197 JMP 4101a3 |
(100) 0x410199 XOR %EAX,%EAX |
(100) 0x41019b MOV -0x38(%RBP),%RBX |
(100) 0x41019f MOV -0x40(%RBP),%R13 |
(100) 0x4101a3 SUB %EAX,%R8D |
(100) 0x4101a6 MOVSXD %EAX,%RDX |
(100) 0x4101a9 ADD %RSI,%RDX |
(100) 0x4101ac LEA (%RDX,%RDX,2),%RCX |
(100) 0x4101b0 LEA 0x10(,%RCX,8),%RCX |
(100) 0x4101b8 LEA (%R15,%RDX,4),%RDX |
(100) 0x4101bc XOR %R14D,%R14D |
(100) 0x4101bf NOP |
(101) 0x4101c0 MOVSXD (%RDX,%R14,4),%RAX |
(101) 0x4101c4 SAL $0x4,%RAX |
(101) 0x4101c8 VDIVSD 0x8(%R9,%RAX,1),%XMM0,%XMM2 |
(101) 0x4101cf VMOVUPD -0x10(%R11,%RCX,1),%XMM3 |
(101) 0x4101d6 VMOVDDUP %XMM2,%XMM4 |
(101) 0x4101da VFMADD213PD -0x10(%R10,%RCX,1),%XMM3,%XMM4 |
(101) 0x4101e1 VMOVUPD %XMM4,-0x10(%R10,%RCX,1) |
(101) 0x4101e8 VMOVSD (%R11,%RCX,1),%XMM3 |
(101) 0x4101ee VFMADD213SD (%R10,%RCX,1),%XMM2,%XMM3 |
(101) 0x4101f4 VMOVSD %XMM3,(%R10,%RCX,1) |
(101) 0x4101fa INC %R14 |
(101) 0x4101fd ADD $0x18,%RCX |
(101) 0x410201 CMP %R14D,%R8D |
(101) 0x410204 JNE 4101c0 |
(100) 0x410206 JMP 40ff00 |
0x41020b NOPL (%RAX,%RAX,1) |
Path / |
Source file and lines | timestep.c:85-96 |
Module | exec |
nb instructions | 60 |
nb uops | 63 |
loop length | 201 |
used x86 registers | 14 |
used mmx registers | 0 |
used xmm registers | 1 |
used ymm registers | 1 |
used zmm registers | 0 |
nb stack references | 9 |
micro-operation queue | 10.50 cycles |
front end | 10.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.80 | 1.80 | 4.33 | 4.33 | 10.00 | 2.00 | 1.80 | 10.00 | 10.00 | 10.00 | 1.60 | 4.33 |
cycles | 1.80 | 1.80 | 4.33 | 4.33 | 10.00 | 2.00 | 1.80 | 10.00 | 10.00 | 10.00 | 1.60 | 4.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 10.58-10.60 |
Stall cycles | 0.00 |
Front-end | 10.50 |
Dispatch | 10.00 |
Overall L1 | 10.50 |
all | 4% |
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 | 11% |
all | 9% |
load | 6% |
store | 9% |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 $0x48,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOVL $0,-0x4c(%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,-0x48(%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 -0x48(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x4c(%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 $0x62e950,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,-0x44(%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 403130 <__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 |
MOV %RBX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x30(%RBP),%EBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x2c(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x58(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EAX,%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 40fed0 <advancePosition.extracted+0x90> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x62e970,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV -0x44(%RBP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x48,%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 402fe0 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
VMOVQ %R15,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
MOV 0x18(%RDI),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x78(%RCX),%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 |
SUB %RBX,-0x58(%RBP) | 2 | 0.20 | 0.20 | 0.33 | 0.33 | 0.50 | 0.20 | 0.20 | 0.50 | 0.50 | 0.50 | 0.20 | 0.33 | 1 | 0.50 |
VPBROADCASTQ %XMM0,%YMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %EBX,%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 %R13D,%R13D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RDI,-0x60(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RBX,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 40ff10 <advancePosition.extracted+0xd0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPL (%RAX) | 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 |
NOPL (%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-96 |
Module | exec |
nb instructions | 60 |
nb uops | 63 |
loop length | 201 |
used x86 registers | 14 |
used mmx registers | 0 |
used xmm registers | 1 |
used ymm registers | 1 |
used zmm registers | 0 |
nb stack references | 9 |
micro-operation queue | 10.50 cycles |
front end | 10.50 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.80 | 1.80 | 4.33 | 4.33 | 10.00 | 2.00 | 1.80 | 10.00 | 10.00 | 10.00 | 1.60 | 4.33 |
cycles | 1.80 | 1.80 | 4.33 | 4.33 | 10.00 | 2.00 | 1.80 | 10.00 | 10.00 | 10.00 | 1.60 | 4.33 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 10.58-10.60 |
Stall cycles | 0.00 |
Front-end | 10.50 |
Dispatch | 10.00 |
Overall L1 | 10.50 |
all | 4% |
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 | 11% |
all | 9% |
load | 6% |
store | 9% |
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 $0x48,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RCX,%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV %RDX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOVL $0,-0x4c(%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,-0x48(%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 -0x48(%RBP),%RAX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
LEA -0x4c(%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 $0x62e950,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %ESI,-0x44(%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 403130 <__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 |
MOV %RBX,%RDI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
ADD $0x20,%RSP | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
MOV -0x30(%RBP),%EBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x2c(%RBP),%EAX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,-0x58(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP %EAX,%EBX | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
JBE 40fed0 <advancePosition.extracted+0x90> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV $0x62e970,%EDI | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV -0x44(%RBP),%ESI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
ADD $0x48,%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 402fe0 <__kmpc_for_static_fini@plt> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2.08 |
VMOVQ %R15,%XMM0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
MOV 0x18(%RDI),%RCX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x78(%RCX),%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 |
SUB %RBX,-0x58(%RBP) | 2 | 0.20 | 0.20 | 0.33 | 0.33 | 0.50 | 0.20 | 0.20 | 0.50 | 0.50 | 0.50 | 0.20 | 0.33 | 1 | 0.50 |
VPBROADCASTQ %XMM0,%YMM1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 |
MOV %EBX,%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 %R13D,%R13D | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RDI,-0x60(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV %RBX,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 40ff10 <advancePosition.extracted+0xd0> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
NOPL (%RAX) | 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 |
NOPL (%RAX,%RAX,1) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
Name | Coverage (%) | Time (s) |
---|---|---|
▼advancePosition.extracted– | 1.39 | 0.36 |
▼Loop 100 - timestep.c:85-96 - exec– | 0.02 | 0.01 |
○Loop 102 - timestep.c:88-94 - exec | 1.3 | 0.33 |
○Loop 101 - timestep.c:88-94 - exec | 0.07 | 0.02 |
○Loop 103 - timestep.c:88-94 - exec | 0 | 0 |