new port column

This commit is contained in:
Jan Laukemann
2017-11-10 00:38:37 +01:00
parent 692fe64d5e
commit ae229a448a
5 changed files with 291 additions and 241 deletions

View File

@@ -1,89 +1,89 @@
instr,TP,LT,ports
jmp-lbl,0.0,0.0,"((5,),)"
jmpq-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
je-lbl,0.0,0.0,"((5,),)"
jz-lbl,0.0,0.0,"((5,),)"
jne-lbl,0.0,0.0,"((5,),)"
jnz-lbl,0.0,0.0,"((5,),)"
jb-lbl,0.0,0.0,"((5,),)"
jnae-lbl,0.0,0.0,"((5,),)"
jc-lbl,0.0,0.0,"((5,),)"
jnb-lbl,0.0,0.0,"((5,),)"
jae-lbl,0.0,0.0,"((5,),)"
jnc-lbl,0.0,0.0,"((5,),)"
jbe-lbl,0.0,0.0,"((5,),)"
jna-lbl,0.0,0.0,"((5,),)"
ja-lbl,0.0,0.0,"((5,),)"
jnbe-lbl,0.0,0.0,"((5,),)"
jl-lbl,0.0,0.0,"((5,),)"
jnge-lbl,0.0,0.0,"((5,),)"
jge-lbl,0.0,0.0,"((5,),)"
jnl-lbl,0.0,0.0,"((5,),)"
jle-lbl,0.0,0.0,"((5,),)"
jng-lbl,0.0,0.0,"((5,),)"
jg-lbl,0.0,0.0,"((5,),)"
jnle-lbl,0.0,0.0,"((5,),)"
jp-lbl,0.0,0.0,"((5,),)"
jpe-lbl,0.0,0.0,"((5,),)"
jnp-lbl,0.0,0.0,"((5,),)"
jpo-lbl,0.0,0.0,"((5,),)"
jcxz-lbl,0.0,0.0,"((5,),)"
jecxz-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
lea-r64_mem,1.0,1.0,"((0,),(1,))"
lea-r32_mem,1.0,1.0,"((0,),(1,))"
vcvtsi2ss-xmm_xmm_r64,1.0,3.0,"((1,5),)"
vcvtsi2ss-xmm_xmm_r32,1.0,3.0,"((1,5),)"
vmulss-xmm_xmm_xmm,1.0,5.0,"((0,),)"
vaddss-xmm_xmm_mem,1.0,3.0,"((1,2),(1,3))"
vaddss-xmm_xmm_xmm,1.0,3.0,"((1,),)"
vxorps-xmm_xmm_xmm,1.0,1.0,"((5,),)"
vmovss-xmm_mem,0.5,1.0,"((2,),(3,))"
vmovss-mem_xmm,1.0,1.0,"((2,4),(3,4))"
inc-r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
inc-r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r32_mem,0.5,1.0,"((0,2),(0,3),(1,2),(1,3),(2,5),(3,5))"
cmp-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
incq-r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
incq-r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-mem_r32,1.0,3.0,"((2,),(3,))"
add-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
movsx-r64_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vmulsd-xmm_xmm_mem,1.0,5.0,"((0,2),(0,3))"
mov-r64_mem,0.5,2.0,"((2,),(3,))"
vmovsd-xmm_mem,0.5,3.0,"((2,),(3,))"
vaddsd-xmm_xmm_xmm,1.0,3.0,"((1,),)"
mov-r32_mem,0.5,2.0,"((2,),(3,))"
vmovsd-mem_xmm,1.0,3.0,"((2,4),(3,4))"
movslq-r64_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
add-mem_imd,1.0,6.0,"((0,2,3,4),(1,2,3,4),(2,3,4,5))"
addl-mem_imd,1.0,6.0,"((0,2,3,4),(1,2,3,4),(2,3,4,5))"
mov-mem_imd,1.0,1.0,"((2,4),(3,4))"
movl-mem_imd,1.0,1.0,"((2,4),(3,4))"
mov-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-mem_r64,1.0,3.0,"((2,4),(3,4))"
vmovupd-mem_ymm,2.0,2.0,"((2,4),(3,4))"
^comment,0,0,"(0, 0, 0.5, 0.5, 2.0, 0)"
add-r32_imd,0.3333333333333333,1,"((0,),(1,),(5,))"
vaddsd-xmm_xmm_mem,1.0,3.0,"((1,2),(1,3))"
and-r32_imd,0.3333333333333333,1,"((0,),(1,),(5,))"
mov-r32_r32,0.25,1.0,"((0,),(1,),(5,))"
sub-r64_r64,0.3333333333333333,1,"((0,),(1,),(5,))"
add-r64_r64,0.3333333333333333,1,"((0,),(1,),(5,))"
shl-r64_imd,0.5,1.0,"((1,),(5,))"
cmp-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r32_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vmulsd-xmm_xmm_xmm,1.0,5.0,"((0,),)"
xor-r32_r32,0.3333333333333333,1,"((0,),(1,),(5,))"
jmp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jmpq-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jno-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
js-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jns-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
je-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jne-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jb-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnae-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jc-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnb-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jae-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnc-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jbe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jna-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
ja-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnbe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jl-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnge-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jge-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnl-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jle-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jng-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jg-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnle-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jpe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jnp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jpo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jcxz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jecxz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jno-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
js-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
jns-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0)"
lea-r64_mem,1.0,1.0,"(0.5, 0.5, 0.0, 0.0, 0.0, 0.0)"
lea-r32_mem,1.0,1.0,"(0.5, 0.5, 0.0, 0.0, 0.0, 0.0)"
vcvtsi2ss-xmm_xmm_r64,1.0,3.0,"(0, 1.0, 0, 0, 0, 1.0)"
vcvtsi2ss-xmm_xmm_r32,1.0,3.0,"(0, 1.0, 0, 0, 0, 1.0)"
vmulss-xmm_xmm_xmm,1.0,5.0,"(1.0, 0, 0, 0, 0, 0)"
vaddss-xmm_xmm_mem,1.0,3.0,"(0.0, 1.0, 0.5, 0.5, 0.0, 0.0)"
vaddss-xmm_xmm_xmm,1.0,3.0,"(0, 1.0, 0, 0, 0, 0)"
vxorps-xmm_xmm_xmm,1.0,1.0,"(0, 0, 0, 0, 0, 1.0)"
vmovss-xmm_mem,0.5,1.0,"(0.0, 0.0, 0.5, 0.5, 0.0, 0.0)"
vmovss-mem_xmm,1.0,1.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
inc-r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
inc-r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmp-r64_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmp-r32_mem,0.5,1.0,"(0.3333333333333333, 0.3333333333333333, 0.5, 0.5, 0.0, 0.3333333333333333)"
cmp-r32_r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmpq-r32_r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmpq-r64_r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
incq-r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
incq-r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmpq-r64_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
mov-mem_r32,1.0,3.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
add-r64_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
mov-r64_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
movsx-r64_r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
vmulsd-xmm_xmm_mem,1.0,5.0,"(1.0, 0.0, 0.5, 0.5, 0.0, 0.0)"
mov-r64_mem,0.5,2.0,"(0.0, 0.0, 0.5, 0.5, 0.0, 0.0)"
vmovsd-xmm_mem,0.5,3.0,"(0.0, 0.0, 0.5, 0.5, 0.0, 0.0)"
vaddsd-xmm_xmm_xmm,1.0,3.0,"(0, 1.0, 0, 0, 0, 0)"
mov-r32_mem,0.5,2.0,"(0.0, 0.0, 0.5, 0.5, 0.0, 0.0)"
vmovsd-mem_xmm,1.0,3.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
movslq-r64_r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
add-mem_imd,1.0,6.0,"(0.3333333333333333, 0.3333333333333333, 1.0, 1.0, 1.0, 0.3333333333333333)"
addl-mem_imd,1.0,6.0,"(0.3333333333333333, 0.3333333333333333, 1.0, 1.0, 1.0, 0.3333333333333333)"
mov-mem_imd,1.0,1.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
movl-mem_imd,1.0,1.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
mov-r64_r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
mov-mem_r64,1.0,3.0,"(0.0, 0.0, 0.5, 0.5, 1.0, 0.0)"
vmovupd-mem_ymm,2.0,2.0,"(0.0, 0.0, 0.5, 0.5, 2.0, 0.0)"
add-r32_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
vaddsd-xmm_xmm_mem,1.0,3.0,"(0.0, 1.0, 0.5, 0.5, 0.0, 0.0)"
and-r32_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
mov-r32_r32,0.25,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
sub-r64_r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
add-r64_r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
shl-r64_imd,0.5,1.0,"(0.0, 0.5, 0.0, 0.0, 0.0, 0.5)"
cmp-r64_r64,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
cmp-r32_imd,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
vmulsd-xmm_xmm_xmm,1.0,5.0,"(1.0, 0, 0, 0, 0, 0)"
xor-r32_r32,0.3333333333333333,1.0,"(0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)"
jan-xmm_xmm,1.0,2.0,"(0.0,17,0.0,3.0,9.0,6.0)"
1 instr TP LT ports
2 jmp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
3 jmpq-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
4 jo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
5 jno-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
6 js-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
7 jns-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
8 je-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
9 jz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
10 jne-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
11 jnz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
12 jb-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
13 jnae-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
14 jc-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
15 jnb-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
16 jae-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
17 jnc-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
18 jbe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
19 jna-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
20 ja-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
21 jnbe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
22 jl-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
23 jnge-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
24 jge-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
25 jnl-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
26 jle-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
27 jng-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
28 jg-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
29 jnle-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
30 jp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
31 jpe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
32 jnp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
33 jpo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
34 jcxz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
35 jecxz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
36 jo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
37 jno-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
38 js-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
39 jns-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0)
40 lea-r64_mem 1.0 1.0 ((0,),(1,)) (0.5, 0.5, 0.0, 0.0, 0.0, 0.0)
41 lea-r32_mem 1.0 1.0 ((0,),(1,)) (0.5, 0.5, 0.0, 0.0, 0.0, 0.0)
42 vcvtsi2ss-xmm_xmm_r64 1.0 3.0 ((1,5),) (0, 1.0, 0, 0, 0, 1.0)
43 vcvtsi2ss-xmm_xmm_r32 1.0 3.0 ((1,5),) (0, 1.0, 0, 0, 0, 1.0)
44 vmulss-xmm_xmm_xmm 1.0 5.0 ((0,),) (1.0, 0, 0, 0, 0, 0)
45 vaddss-xmm_xmm_mem 1.0 3.0 ((1,2),(1,3)) (0.0, 1.0, 0.5, 0.5, 0.0, 0.0)
46 vaddss-xmm_xmm_xmm 1.0 3.0 ((1,),) (0, 1.0, 0, 0, 0, 0)
47 vxorps-xmm_xmm_xmm 1.0 1.0 ((5,),) (0, 0, 0, 0, 0, 1.0)
48 vmovss-xmm_mem 0.5 1.0 ((2,),(3,)) (0.0, 0.0, 0.5, 0.5, 0.0, 0.0)
49 vmovss-mem_xmm 1.0 1.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
50 inc-r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
51 inc-r64 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
52 cmp-r64_imd 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
53 cmp-r32_mem 0.5 1.0 ((0,2),(0,3),(1,2),(1,3),(2,5),(3,5)) (0.3333333333333333, 0.3333333333333333, 0.5, 0.5, 0.0, 0.3333333333333333)
54 cmp-r32_r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
55 cmpq-r32_r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
56 cmpq-r64_r64 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
57 incq-r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
58 incq-r64 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
59 cmpq-r64_imd 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
60 mov-mem_r32 1.0 3.0 ((2,),(3,)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
61 add-r64_imd 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
62 mov-r64_imd 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
63 movsx-r64_r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
64 vmulsd-xmm_xmm_mem 1.0 5.0 ((0,2),(0,3)) (1.0, 0.0, 0.5, 0.5, 0.0, 0.0)
65 mov-r64_mem 0.5 2.0 ((2,),(3,)) (0.0, 0.0, 0.5, 0.5, 0.0, 0.0)
66 vmovsd-xmm_mem 0.5 3.0 ((2,),(3,)) (0.0, 0.0, 0.5, 0.5, 0.0, 0.0)
67 vaddsd-xmm_xmm_xmm 1.0 3.0 ((1,),) (0, 1.0, 0, 0, 0, 0)
68 mov-r32_mem 0.5 2.0 ((2,),(3,)) (0.0, 0.0, 0.5, 0.5, 0.0, 0.0)
69 vmovsd-mem_xmm 1.0 3.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
70 movslq-r64_r32 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
71 add-mem_imd 1.0 6.0 ((0,2,3,4),(1,2,3,4),(2,3,4,5)) (0.3333333333333333, 0.3333333333333333, 1.0, 1.0, 1.0, 0.3333333333333333)
72 addl-mem_imd 1.0 6.0 ((0,2,3,4),(1,2,3,4),(2,3,4,5)) (0.3333333333333333, 0.3333333333333333, 1.0, 1.0, 1.0, 0.3333333333333333)
73 mov-mem_imd 1.0 1.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
74 movl-mem_imd 1.0 1.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
75 mov-r64_r64 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
76 mov-mem_r64 1.0 3.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 1.0, 0.0)
77 vmovupd-mem_ymm 2.0 2.0 ((2,4),(3,4)) (0.0, 0.0, 0.5, 0.5, 2.0, 0.0)
78 ^comment add-r32_imd 0 0.3333333333333333 0 1.0 (0, 0, 0.5, 0.5, 2.0, 0) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
79 add-r32_imd vaddsd-xmm_xmm_mem 0.3333333333333333 1.0 1 3.0 ((0,),(1,),(5,)) (0.0, 1.0, 0.5, 0.5, 0.0, 0.0)
80 vaddsd-xmm_xmm_mem and-r32_imd 1.0 0.3333333333333333 3.0 1.0 ((1,2),(1,3)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
81 and-r32_imd mov-r32_r32 0.3333333333333333 0.25 1 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
82 mov-r32_r32 sub-r64_r64 0.25 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
83 sub-r64_r64 add-r64_r64 0.3333333333333333 1 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
84 add-r64_r64 shl-r64_imd 0.3333333333333333 0.5 1 1.0 ((0,),(1,),(5,)) (0.0, 0.5, 0.0, 0.0, 0.0, 0.5)
85 shl-r64_imd cmp-r64_r64 0.5 0.3333333333333333 1.0 ((1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
86 cmp-r64_r64 cmp-r32_imd 0.3333333333333333 1.0 ((0,),(1,),(5,)) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
87 cmp-r32_imd vmulsd-xmm_xmm_xmm 0.3333333333333333 1.0 1.0 5.0 ((0,),(1,),(5,)) (1.0, 0, 0, 0, 0, 0)
88 vmulsd-xmm_xmm_xmm xor-r32_r32 1.0 0.3333333333333333 5.0 1.0 ((0,),) (0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0, 0.3333333333333333)
89 xor-r32_r32 jan-xmm_xmm 0.3333333333333333 1.0 1 2.0 ((0,),(1,),(5,)) (0.0,17,0.0,3.0,9.0,6.0)

View File

@@ -1,92 +1,90 @@
instr,TP,LT
jmp-lbl,0.0,-1.0
jo-lbl,0.0,-1.0
jno-lbl,0.0,-1.0
js-lbl,0.0,-1.0
jns-lbl,0.0,-1.0
je-lbl,0.0,-1.0
jz-lbl,0.0,-1.0
jne-lbl,0.0,-1.0
jnz-lbl,0.0,-1.0
jb-lbl,0.0,-1.0
jnae-lbl,0.0,-1.0
jc-lbl,0.0,-1.0
jnb-lbl,0.0,-1.0
jae-lbl,0.0,-1.0
jnc-lbl,0.0,-1.0
jbe-lbl,0.0,-1.0
jna-lbl,0.0,-1.0
ja-lbl,0.0,-1.0
jnbe-lbl,0.0,-1.0
jl-lbl,0.0,-1.0
jnge-lbl,0.0,-1.0
jge-lbl,0.0,-1.0
jnl-lbl,0.0,-1.0
jle-lbl,0.0,-1.0
jng-lbl,0.0,-1.0
jg-lbl,0.0,-1.0
jnle-lbl,0.0,-1.0
jp-lbl,0.0,-1.0
jpe-lbl,0.0,-1.0
jnp-lbl,0.0,-1.0
jpo-lbl,0.0,-1.0
jcxz-lbl,0.0,-1.0
jecxz-lbl,0.0,-1.0
jo-lbl,0.0,-1.0
jno-lbl,0.0,-1.0
js-lbl,0.0,-1.0
jns-lbl,0.0,-1.0
vmulss-xmm_xmm_xmm,1.0,-1.0
vaddss-xmm_xmm_xmm,1.0,-1.0
vxorps-xmm_xmm_xmm,0.25,-1.0
inc-r64,0.3333333333333333,-1.0
xor-r32_r32,0.3333333333333333,-1.0
vcvtsi2ss-xmm_xmm_r32,1.0,-1.0
vaddss-xmm_xmm_mem,1.0,-1.0
vmovupd-load-avx,1.0,-1.0
lea-r32_mem,1.0,-1.0
vmovss-xmm_mem,0.5,-1.0
vmovss-mem_xmm,1.0,-1.0
vmovupd-store-avx,2.0,-1.0
lea-r64_mem,1.0,-1.0
movslq-r64_mem,0.5,-1.0
mov-r64_mem,0.5,-1.0
vaddpd-ymm_ymm_ymm,1.0,-1.0
cmp-r32_r32,0.3333333333333333,-1.0
vmovsd-xmm_xmm_xmm,1.0,-1.0
vmulsd-xmm_xmm_mem,1.0,-1.0
vmovsd-mem_xmm,1.0,-1.0
vmovhpd-xmm_xmm_mem,1.0,-1.0
vsubpd-ymm_ymm_ymm,1.0,-1.0
vmovq-xmm_r64,1.0,-1.0
vunpckhpd-xmm_xmm_xmm,1.0,-1.0
vmulpd-ymm_ymm_mem,1.0,-1.0
mov-mem_r64,1.0,-1.0
movzbl-r32_r8,0.29600000000000004,-1.0
vmulsd-xmm_xmm_xmm,1.0,-1.0
vaddsd-xmm_xmm_mem,1.0,-1.0
vmovq-r64_xmm,1.0,-1.0
vmulpd-ymm_ymm_ymm,1.0,-1.0
mov-r32_mem,0.5,-1.0
cmp-r32_mem,0.5,-1.0
vaddpd-xmm_xmm_xmm,1.0,-1.0
mov-mem_r32,1.0,-1.0
vmovsd-xmm_mem,0.5,-1.0
vsubsd-xmm_xmm_xmm,1.0,-1.0
vmovaps-xmm_xmm,0.845,-1.0
vaddsd-xmm_xmm_xmm,1.0,-1.0
add-r32_mem,0.5,-1.0
vmovupd-xmm_mem,0.5,-1.0
test-r32_r32,0.3333333333333333,-1.0
add-r64_r64,0.3333333333333333,-1.0
dec-r32,0.3333333333333333,-1.0
movslq-r64_r32,0.3333333333333333,-1.0
vxorpd-ymm_ymm_ymm,0.25,-1.0
sub-r32_r32,0.3333333333333333,-1.0
inc-r32,0.3333333333333333,-1.0
neg-r32,0.3333333333333333,-1.0
cmp-r64_imd,0.3333333333333333,-1.0
vxorpd-xmm_xmm_xmm,0.25,-1.0
vmovapd-ymm_ymm,0.856,-1.0
vmovapd-xmm_xmm,0.855,-1.0
mov-r32_r32,0.3333333333333333,-1.0
instr,TP,LT,ports
jmp-lbl,0.0,0.0,"((5,),)"
jmpq-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
je-lbl,0.0,0.0,"((5,),)"
jz-lbl,0.0,0.0,"((5,),)"
jne-lbl,0.0,0.0,"((5,),)"
jnz-lbl,0.0,0.0,"((5,),)"
jb-lbl,0.0,0.0,"((5,),)"
jnae-lbl,0.0,0.0,"((5,),)"
jc-lbl,0.0,0.0,"((5,),)"
jnb-lbl,0.0,0.0,"((5,),)"
jae-lbl,0.0,0.0,"((5,),)"
jnc-lbl,0.0,0.0,"((5,),)"
jbe-lbl,0.0,0.0,"((5,),)"
jna-lbl,0.0,0.0,"((5,),)"
ja-lbl,0.0,0.0,"((5,),)"
jnbe-lbl,0.0,0.0,"((5,),)"
jl-lbl,0.0,0.0,"((5,),)"
jnge-lbl,0.0,0.0,"((5,),)"
jge-lbl,0.0,0.0,"((5,),)"
jnl-lbl,0.0,0.0,"((5,),)"
jle-lbl,0.0,0.0,"((5,),)"
jng-lbl,0.0,0.0,"((5,),)"
jg-lbl,0.0,0.0,"((5,),)"
jnle-lbl,0.0,0.0,"((5,),)"
jp-lbl,0.0,0.0,"((5,),)"
jpe-lbl,0.0,0.0,"((5,),)"
jnp-lbl,0.0,0.0,"((5,),)"
jpo-lbl,0.0,0.0,"((5,),)"
jcxz-lbl,0.0,0.0,"((5,),)"
jecxz-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
lea-r64_mem,1.0,1.0,"((0,),(1,))"
lea-r32_mem,1.0,1.0,"((0,),(1,))"
vcvtsi2ss-xmm_xmm_r64,1.0,3.0,"((1,5),)"
vcvtsi2ss-xmm_xmm_r32,1.0,3.0,"((1,5),)"
vmulss-xmm_xmm_xmm,1.0,5.0,"((0,),)"
vaddss-xmm_xmm_mem,1.0,3.0,"((1,2),(1,3))"
vaddss-xmm_xmm_xmm,1.0,3.0,"((1,),)"
vxorps-xmm_xmm_xmm,1.0,1.0,"((5,),)"
vmovss-xmm_mem,0.5,1.0,"((2,),(3,))"
vmovss-mem_xmm,1.0,1.0,"((2,4),(3,4))"
inc-r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
inc-r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r32_mem,0.5,1.0,"((0,2),(0,3),(1,2),(1,3),(2,5),(3,5))"
cmp-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
incq-r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
incq-r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmpq-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-mem_r32,1.0,3.0,"((2,),(3,))"
add-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
movsx-r64_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vmulsd-xmm_xmm_mem,1.0,5.0,"((0,2),(0,3))"
mov-r64_mem,0.5,2.0,"((2,),(3,))"
vmovsd-xmm_mem,0.5,3.0,"((2,),(3,))"
vaddsd-xmm_xmm_xmm,1.0,3.0,"((1,),)"
mov-r32_mem,0.5,2.0,"((2,),(3,))"
vmovsd-mem_xmm,1.0,3.0,"((2,4),(3,4))"
movslq-r64_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
add-mem_imd,1.0,6.0,"((0,2,3,4),(1,2,3,4),(2,3,4,5))"
addl-mem_imd,1.0,6.0,"((0,2,3,4),(1,2,3,4),(2,3,4,5))"
mov-mem_imd,1.0,1.0,"((2,4),(3,4))"
movl-mem_imd,1.0,1.0,"((2,4),(3,4))"
mov-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-mem_r64,1.0,3.0,"((2,4),(3,4))"
vmovupd-mem_ymm,2.0,2.0,"((2,4),(3,4))"
^comment,0.0,0.0,"(0, 0, 0.5, 0.5, 2.0, 0)"
add-r32_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vaddsd-xmm_xmm_mem,1.0,3.0,"((1,2),(1,3))"
and-r32_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
mov-r32_r32,0.25,1.0,"((0,),(1,),(5,))"
sub-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
add-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
shl-r64_imd,0.5,1.0,"((1,),(5,))"
cmp-r64_r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r32_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vmulsd-xmm_xmm_xmm,1.0,5.0,"((0,),)"
xor-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
jan-xmm_xmm,1.0,2.0,"(-1,)"
1 instr TP LT ports
2 jmp-lbl 0.0 -1.0 0.0 ((5,),)
3 jo-lbl jmpq-lbl 0.0 -1.0 0.0 ((5,),)
4 jno-lbl jo-lbl 0.0 -1.0 0.0 ((5,),)
5 js-lbl jno-lbl 0.0 -1.0 0.0 ((5,),)
6 jns-lbl js-lbl 0.0 -1.0 0.0 ((5,),)
7 je-lbl jns-lbl 0.0 -1.0 0.0 ((5,),)
8 jz-lbl je-lbl 0.0 -1.0 0.0 ((5,),)
9 jne-lbl jz-lbl 0.0 -1.0 0.0 ((5,),)
10 jnz-lbl jne-lbl 0.0 -1.0 0.0 ((5,),)
11 jb-lbl jnz-lbl 0.0 -1.0 0.0 ((5,),)
12 jnae-lbl jb-lbl 0.0 -1.0 0.0 ((5,),)
13 jc-lbl jnae-lbl 0.0 -1.0 0.0 ((5,),)
14 jnb-lbl jc-lbl 0.0 -1.0 0.0 ((5,),)
15 jae-lbl jnb-lbl 0.0 -1.0 0.0 ((5,),)
16 jnc-lbl jae-lbl 0.0 -1.0 0.0 ((5,),)
17 jbe-lbl jnc-lbl 0.0 -1.0 0.0 ((5,),)
18 jna-lbl jbe-lbl 0.0 -1.0 0.0 ((5,),)
19 ja-lbl jna-lbl 0.0 -1.0 0.0 ((5,),)
20 jnbe-lbl ja-lbl 0.0 -1.0 0.0 ((5,),)
21 jl-lbl jnbe-lbl 0.0 -1.0 0.0 ((5,),)
22 jnge-lbl jl-lbl 0.0 -1.0 0.0 ((5,),)
23 jge-lbl jnge-lbl 0.0 -1.0 0.0 ((5,),)
24 jnl-lbl jge-lbl 0.0 -1.0 0.0 ((5,),)
25 jle-lbl jnl-lbl 0.0 -1.0 0.0 ((5,),)
26 jng-lbl jle-lbl 0.0 -1.0 0.0 ((5,),)
27 jg-lbl jng-lbl 0.0 -1.0 0.0 ((5,),)
28 jnle-lbl jg-lbl 0.0 -1.0 0.0 ((5,),)
29 jp-lbl jnle-lbl 0.0 -1.0 0.0 ((5,),)
30 jpe-lbl jp-lbl 0.0 -1.0 0.0 ((5,),)
31 jnp-lbl jpe-lbl 0.0 -1.0 0.0 ((5,),)
32 jpo-lbl jnp-lbl 0.0 -1.0 0.0 ((5,),)
33 jcxz-lbl jpo-lbl 0.0 -1.0 0.0 ((5,),)
34 jecxz-lbl jcxz-lbl 0.0 -1.0 0.0 ((5,),)
35 jo-lbl jecxz-lbl 0.0 -1.0 0.0 ((5,),)
36 jno-lbl jo-lbl 0.0 -1.0 0.0 ((5,),)
37 js-lbl jno-lbl 0.0 -1.0 0.0 ((5,),)
38 jns-lbl js-lbl 0.0 -1.0 0.0 ((5,),)
39 vmulss-xmm_xmm_xmm jns-lbl 1.0 0.0 -1.0 0.0 ((5,),)
40 vaddss-xmm_xmm_xmm lea-r64_mem 1.0 -1.0 1.0 ((0,),(1,))
41 vxorps-xmm_xmm_xmm lea-r32_mem 0.25 1.0 -1.0 1.0 ((0,),(1,))
42 inc-r64 vcvtsi2ss-xmm_xmm_r64 0.3333333333333333 1.0 -1.0 3.0 ((1,5),)
43 xor-r32_r32 vcvtsi2ss-xmm_xmm_r32 0.3333333333333333 1.0 -1.0 3.0 ((1,5),)
44 vcvtsi2ss-xmm_xmm_r32 vmulss-xmm_xmm_xmm 1.0 -1.0 5.0 ((0,),)
45 vaddss-xmm_xmm_mem 1.0 -1.0 3.0 ((1,2),(1,3))
46 vmovupd-load-avx vaddss-xmm_xmm_xmm 1.0 -1.0 3.0 ((1,),)
47 lea-r32_mem vxorps-xmm_xmm_xmm 1.0 -1.0 1.0 ((5,),)
48 vmovss-xmm_mem 0.5 -1.0 1.0 ((2,),(3,))
49 vmovss-mem_xmm 1.0 -1.0 1.0 ((2,4),(3,4))
50 vmovupd-store-avx inc-r32 2.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
51 lea-r64_mem inc-r64 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
52 movslq-r64_mem cmp-r64_imd 0.5 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
53 mov-r64_mem cmp-r32_mem 0.5 -1.0 1.0 ((0,2),(0,3),(1,2),(1,3),(2,5),(3,5))
54 vaddpd-ymm_ymm_ymm cmp-r32_r32 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
55 cmp-r32_r32 cmpq-r32_r32 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
56 vmovsd-xmm_xmm_xmm cmpq-r64_r64 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
57 vmulsd-xmm_xmm_mem incq-r32 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
58 vmovsd-mem_xmm incq-r64 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
59 vmovhpd-xmm_xmm_mem cmpq-r64_imd 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
60 vsubpd-ymm_ymm_ymm mov-mem_r32 1.0 -1.0 3.0 ((2,),(3,))
61 vmovq-xmm_r64 add-r64_imd 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
62 vunpckhpd-xmm_xmm_xmm mov-r64_imd 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
63 vmulpd-ymm_ymm_mem movsx-r64_r32 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
64 mov-mem_r64 vmulsd-xmm_xmm_mem 1.0 -1.0 5.0 ((0,2),(0,3))
65 movzbl-r32_r8 mov-r64_mem 0.29600000000000004 0.5 -1.0 2.0 ((2,),(3,))
66 vmulsd-xmm_xmm_xmm vmovsd-xmm_mem 1.0 0.5 -1.0 3.0 ((2,),(3,))
67 vaddsd-xmm_xmm_mem vaddsd-xmm_xmm_xmm 1.0 -1.0 3.0 ((1,),)
68 vmovq-r64_xmm mov-r32_mem 1.0 0.5 -1.0 2.0 ((2,),(3,))
69 vmulpd-ymm_ymm_ymm vmovsd-mem_xmm 1.0 -1.0 3.0 ((2,4),(3,4))
70 mov-r32_mem movslq-r64_r32 0.5 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
71 cmp-r32_mem add-mem_imd 0.5 1.0 -1.0 6.0 ((0,2,3,4),(1,2,3,4),(2,3,4,5))
72 vaddpd-xmm_xmm_xmm addl-mem_imd 1.0 -1.0 6.0 ((0,2,3,4),(1,2,3,4),(2,3,4,5))
73 mov-mem_r32 mov-mem_imd 1.0 -1.0 1.0 ((2,4),(3,4))
74 vmovsd-xmm_mem movl-mem_imd 0.5 1.0 -1.0 1.0 ((2,4),(3,4))
75 vsubsd-xmm_xmm_xmm mov-r64_r64 1.0 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
76 vmovaps-xmm_xmm mov-mem_r64 0.845 1.0 -1.0 3.0 ((2,4),(3,4))
77 vaddsd-xmm_xmm_xmm vmovupd-mem_ymm 1.0 2.0 -1.0 2.0 ((2,4),(3,4))
78 add-r32_mem ^comment 0.5 0.0 -1.0 0.0 (0, 0, 0.5, 0.5, 2.0, 0)
79 vmovupd-xmm_mem add-r32_imd 0.5 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
80 test-r32_r32 vaddsd-xmm_xmm_mem 0.3333333333333333 1.0 -1.0 3.0 ((1,2),(1,3))
81 add-r64_r64 and-r32_imd 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
82 dec-r32 mov-r32_r32 0.3333333333333333 0.25 -1.0 1.0 ((0,),(1,),(5,))
83 movslq-r64_r32 sub-r64_r64 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
84 vxorpd-ymm_ymm_ymm add-r64_r64 0.25 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
85 sub-r32_r32 shl-r64_imd 0.3333333333333333 0.5 -1.0 1.0 ((1,),(5,))
86 inc-r32 cmp-r64_r64 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
87 neg-r32 cmp-r32_imd 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
88 cmp-r64_imd vmulsd-xmm_xmm_xmm 0.3333333333333333 1.0 -1.0 5.0 ((0,),)
89 vxorpd-xmm_xmm_xmm xor-r32_r32 0.25 0.3333333333333333 -1.0 1.0 ((0,),(1,),(5,))
90 vmovapd-ymm_ymm jan-xmm_xmm 0.856 1.0 -1.0 2.0 (-1,)
vmovapd-xmm_xmm 0.855 -1.0
mov-r32_r32 0.3333333333333333 -1.0

View File

@@ -1,53 +1,67 @@
instr,TP,LT,ports
jmp-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
je-lbl,0.0,0.0,"((5,),)"
jz-lbl,0.0,0.0,"((5,),)"
jne-lbl,0.0,0.0,"((5,),)"
jnz-lbl,0.0,0.0,"((5,),)"
jb-lbl,0.0,0.0,"((5,),)"
jnae-lbl,0.0,0.0,"((5,),)"
jc-lbl,0.0,0.0,"((5,),)"
jnb-lbl,0.0,0.0,"((5,),)"
jae-lbl,0.0,0.0,"((5,),)"
jnc-lbl,0.0,0.0,"((5,),)"
jbe-lbl,0.0,0.0,"((5,),)"
jna-lbl,0.0,0.0,"((5,),)"
ja-lbl,0.0,0.0,"((5,),)"
jnbe-lbl,0.0,0.0,"((5,),)"
jl-lbl,0.0,0.0,"((5,),)"
jnge-lbl,0.0,0.0,"((5,),)"
jge-lbl,0.0,0.0,"((5,),)"
jnl-lbl,0.0,0.0,"((5,),)"
jle-lbl,0.0,0.0,"((5,),)"
jng-lbl,0.0,0.0,"((5,),)"
jg-lbl,0.0,0.0,"((5,),)"
jnle-lbl,0.0,0.0,"((5,),)"
jp-lbl,0.0,0.0,"((5,),)"
jpe-lbl,0.0,0.0,"((5,),)"
jnp-lbl,0.0,0.0,"((5,),)"
jpo-lbl,0.0,0.0,"((5,),)"
jcxz-lbl,0.0,0.0,"((5,),)"
jecxz-lbl,0.0,0.0,"((5,),)"
jo-lbl,0.0,0.0,"((5,),)"
jno-lbl,0.0,0.0,"((5,),)"
js-lbl,0.0,0.0,"((5,),)"
jns-lbl,0.0,0.0,"((5,),)"
lea-r64_mem,1.0,1.0,"((2,),(3,))"
lea-r32_mem,1.0,1.0,"((2,),(3,))"
vcvtsi2ss-xmm_xmm_r64,1.0,3.0,"((0,1),(1,5))"
vcvtsi2ss-xmm_xmm_r32,1.0,3.0,"((-1,))"
vmulss-xmm_xmm_xmm,1.0,5.0,"((0,),)"
vaddss-xmm_xmm_mem,1.0,3.0,"((1,),)"
vaddss-xmm_xmm_xmm,1.0,3.0,"((1,),)"
vxorps-xmm_xmm_xmm,0.3333333333333333,1.0,"((0,),(1,),(5,))"
vmovss-xmm_mem,0.5,1.0,"((2,),(3,))"
vmovss-mem_xmm,1.0,1.0,"((2,4),(3,4))"
inc-r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
inc-r64,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r64_imd,0.3333333333333333,1.0,"((0,),(1,),(5,))"
cmp-r32_mem,0.5,1.0,"((0,),(1,),(5,))"
cmp-r32_r32,0.3333333333333333,1.0,"((0,),(1,),(5,))"
jmp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jno-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
js-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jns-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
je-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jne-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jb-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnae-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jc-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnb-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jae-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnc-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jbe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jna-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
ja-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnbe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jl-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnge-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jge-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnl-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jle-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jng-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jg-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnle-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jpe-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jnp-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jpo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jcxz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jecxz-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jo-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jno-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
js-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
jns-lbl,0.0,0.0,"(0, 0, 0, 0, 0, 0.0, 0, 0)"
mov-mem_r64,1.0,2.0,"(0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)"
vmovupd-mem_ymm,1.0,3.0,"(0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)"
mov-mem_r32,1.0,2.0,"(0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)"
add-r64_imd,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
add-r64_r64,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
vxorps-xmm_xmm_xmm,1.0,1.0,"(0,0,0,0,0,1.0,0,0)"
vaddsd-xmm_xmm_mem,0.5,4.0,"(0.5,0.5,0,0,0,0,0,0)"
mov-r64_r64,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
and-r32_imd,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
cmp-r64_r64,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
mov-r64_imd,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
vcvtsi2ss-xmm_xmm_r32,2.0,4.0,"(2.0,2.0,0,0,0,2.0,0,0)"
vmovsd-xmm_mem,0.5,3.0,"(0,0,0.5,0.5,0,0,0,0)"
vaddsd-xmm_xmm_xmm,0.5,4.0,"(0.5,0.5,0,0,0,0,0,0)"
shl-r64_imd,0.5,1.0,"(0.5,0,0,0,0,0,0.5,0)"
vmovsd-mem_xmm,1.0,3.0,"(0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)"
add-r32_imd,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
vmulsd-xmm_xmm_mem,0.5,4.0,"(0.5,0.5,0.5,0.5,0,0,0,0)"
movslq-r64_r32,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
vmulsd-xmm_xmm_xmm,0.5,4.0,"(0.5,0.5,0,0,0,0,0,0)"
mov-r64_mem,0.5,2.0,"(0,0,0.5,0.5,0,0,0,0)"
xor-r32_r32,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
cmp-r32_imd,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
mov-r32_mem,0.5,2.0,"(0,0,0.5,0.5,0,0,0,0)"
add-mem_imd,1.0,5.0,"(0.5,0.5,0.6666666666666666,0.6666666666666666,1.0,0.5,0.5,0.6666666666666666)"
movsx-r64_r32,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
mov-mem_imd,1.0,2.0,"(0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)"
mov-r32_r32,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
sub-r64_r64,0.25,1.0,"(0.25,0.25,0,0,0,0.25,0.25,0)"
1 instr TP LT ports
2 jmp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
3 jo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
4 jno-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
5 js-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
6 jns-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
7 je-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
8 jz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
9 jne-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
10 jnz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
11 jb-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
12 jnae-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
13 jc-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
14 jnb-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
15 jae-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
16 jnc-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
17 jbe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
18 jna-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
19 ja-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
20 jnbe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
21 jl-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
22 jnge-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
23 jge-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
24 jnl-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
25 jle-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
26 jng-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
27 jg-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
28 jnle-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
29 jp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
30 jpe-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
31 jnp-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
32 jpo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
33 jcxz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
34 jecxz-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
35 jo-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
36 jno-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
37 js-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
38 jns-lbl 0.0 0.0 ((5,),) (0, 0, 0, 0, 0, 0.0, 0, 0)
39 lea-r64_mem mov-mem_r64 1.0 1.0 2.0 ((2,),(3,)) (0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)
40 lea-r32_mem vmovupd-mem_ymm 1.0 1.0 3.0 ((2,),(3,)) (0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)
41 vcvtsi2ss-xmm_xmm_r64 mov-mem_r32 1.0 3.0 2.0 ((0,1),(1,5)) (0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)
42 vcvtsi2ss-xmm_xmm_r32 add-r64_imd 1.0 0.25 3.0 1.0 ((-1,)) (0.25,0.25,0,0,0,0.25,0.25,0)
43 vmulss-xmm_xmm_xmm add-r64_r64 1.0 0.25 5.0 1.0 ((0,),) (0.25,0.25,0,0,0,0.25,0.25,0)
44 vaddss-xmm_xmm_mem vxorps-xmm_xmm_xmm 1.0 3.0 1.0 ((1,),) (0,0,0,0,0,1.0,0,0)
45 vaddss-xmm_xmm_xmm vaddsd-xmm_xmm_mem 1.0 0.5 3.0 4.0 ((1,),) (0.5,0.5,0,0,0,0,0,0)
46 vxorps-xmm_xmm_xmm mov-r64_r64 0.3333333333333333 0.25 1.0 ((0,),(1,),(5,)) (0.25,0.25,0,0,0,0.25,0.25,0)
47 vmovss-xmm_mem and-r32_imd 0.5 0.25 1.0 ((2,),(3,)) (0.25,0.25,0,0,0,0.25,0.25,0)
48 vmovss-mem_xmm cmp-r64_r64 1.0 0.25 1.0 ((2,4),(3,4)) (0.25,0.25,0,0,0,0.25,0.25,0)
49 inc-r32 mov-r64_imd 0.3333333333333333 0.25 1.0 ((0,),(1,),(5,)) (0.25,0.25,0,0,0,0.25,0.25,0)
50 inc-r64 vcvtsi2ss-xmm_xmm_r32 0.3333333333333333 2.0 1.0 4.0 ((0,),(1,),(5,)) (2.0,2.0,0,0,0,2.0,0,0)
51 cmp-r64_imd vmovsd-xmm_mem 0.3333333333333333 0.5 1.0 3.0 ((0,),(1,),(5,)) (0,0,0.5,0.5,0,0,0,0)
52 cmp-r32_mem vaddsd-xmm_xmm_xmm 0.5 1.0 4.0 ((0,),(1,),(5,)) (0.5,0.5,0,0,0,0,0,0)
53 cmp-r32_r32 shl-r64_imd 0.3333333333333333 0.5 1.0 ((0,),(1,),(5,)) (0.5,0,0,0,0,0,0.5,0)
54 vmovsd-mem_xmm 1.0 3.0 (0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)
55 add-r32_imd 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
56 vmulsd-xmm_xmm_mem 0.5 4.0 (0.5,0.5,0.5,0.5,0,0,0,0)
57 movslq-r64_r32 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
58 vmulsd-xmm_xmm_xmm 0.5 4.0 (0.5,0.5,0,0,0,0,0,0)
59 mov-r64_mem 0.5 2.0 (0,0,0.5,0.5,0,0,0,0)
60 xor-r32_r32 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
61 cmp-r32_imd 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
62 mov-r32_mem 0.5 2.0 (0,0,0.5,0.5,0,0,0,0)
63 add-mem_imd 1.0 5.0 (0.5,0.5,0.6666666666666666,0.6666666666666666,1.0,0.5,0.5,0.6666666666666666)
64 movsx-r64_r32 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
65 mov-mem_imd 1.0 2.0 (0,0,0.3333333333333333,0.3333333333333333,1.0,0,0,0.3333333333333333)
66 mov-r32_r32 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)
67 sub-r64_r64 0.25 1.0 (0.25,0.25,0,0,0,0.25,0.25,0)

View File

@@ -29,6 +29,42 @@ class Scheduler(object):
curr_dir = os.path.realpath(__file__)[:-11]
self.df = pd.read_csv(curr_dir + 'data/' + arch.lower() + '_data.csv', quotechar='"',
converters={'ports': ast.literal_eval})
def new_schedule(self):
"""
Schedules Instruction Form list and calculates port bindings.
Returns
-------
(str, [int, ...])
A tuple containing the graphic output of the schedule as string and
the port bindings as list of ints.
"""
sched = self.get_head()
# Initialize ports
occ_ports = [[0] * self.ports for x in range(len(self.instrList))]
port_bndgs = [0] * self.ports
# Check if there's a port occupation stored in the CSV, otherwise leave the
# occ_port list item empty
for i, instrForm in enumerate(self.instrList):
try:
search_string = instrForm[0] + '-' + self.get_operand_suffix(instrForm)
entry = self.df.loc[lambda df, sStr=search_string: df.instr == sStr]
tup = entry.ports.values[0]
if(len(tup) == 1 and tup[0] == -1):
raise IndexError()
except IndexError:
# Instruction form not in CSV
if(instrForm[0][:3] == 'nop'):
sched += self.get_line(occ_ports[i], '* ' + instrForm[-1])
else:
sched += self.get_line(occ_ports[i], 'X ' + instrForm[-1])
continue
occ_ports[i] = list(tup)
# Write schedule line
sched += self.get_line(occ_ports[i], instrForm[-1])
# Add throughput to total port binding
port_bndgs = list(map(add, port_bndgs, occ_ports[i]))
return (sched, port_bndgs)
def schedule(self):
"""
@@ -87,15 +123,14 @@ class Scheduler(object):
# Add throughput to total port binding
port_bndgs = list(map(add, port_bndgs, occ_ports[i]))
return (sched, port_bndgs)
def flatten(self, l):
if(len(l) == 0):
return l
if(isinstance(l[0], type(l))):
return self.flatten(l[0]) + self.flatten(l[1:])
return l[:1] + self.flatten(l[1:])
return l[:1] + self.flatten(l[1:])
def schedule_fcfs(self):
"""
Schedules Instruction Form list for a single run with latencies.
@@ -222,8 +257,8 @@ class Scheduler(object):
String containing the report information
"""
analysis = 'Throughput Analysis Report\n' + ('-' * 26) + '\n'
annotations = ('* - No information for this instruction in database\n'
'\" - Instruction micro-ops not bound to a port\n'
annotations = ('X - No information for this instruction in database\n'
'* - Instruction micro-ops not bound to a port\n'
'\n')
return analysis + annotations
@@ -265,7 +300,10 @@ class Scheduler(object):
line = ''
for i in occ_ports:
cycles = ' ' if (i == 0) else '%.2f' % float(i)
line += '| ' + cycles + ' '
if(i >= 10):
line += '|' + cycles + ' '
else:
line += '| ' + cycles + ' '
line += '| ' + instr_name + '\n'
return line

View File

@@ -103,9 +103,9 @@ class Osaca(object):
new = False
break
if(new and clmn == 'TP'):
new_data.append([instr, clk_cyc, '-1', ((-1,),)])
new_data.append([instr, clk_cyc, '-1', (-1,)])
elif(new and clmn == 'LT'):
new_data.append([instr, '-1', clk_cyc, ((-1,),)])
new_data.append([instr, '-1', clk_cyc, (-1,)])
new = True
added_vals += 1
# If val is -1 (= not filled with a valid value) add it immediately
@@ -641,7 +641,7 @@ class Osaca(object):
if(pr_sched):
output += '\n\n'
sched = Scheduler(self.arch, self.instr_forms)
sched_output, port_binding = sched.schedule()
sched_output, port_binding = sched.new_schedule()
binding = sched.get_port_binding(port_binding)
output += sched.get_report_info() + '\n' + binding + '\n\n' + sched_output
block_tp = round(max(port_binding), 2)