Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
Source at commit 64e2a3c6b7841ab2b63fa265219a1e497e8242b2 created 12 years 6 months ago. By Werner Almesberger, m1/perf/: scheduler cleanup; output comparison tool | |
---|---|
1 | #!/usr/bin/perl |
2 | |
3 | #while (<>) { |
4 | # last if /per-vertex PFPU fragment/; |
5 | #} |
6 | |
7 | $i = 0; |
8 | while (<>) { |
9 | next unless |
10 | /^(\d+):\s+(\S+)\s+(R\d+)?(,(R\d+))?.*?(->\s+(R\d+))?\s*$/; |
11 | # 1 2 3 4 5 6 7 |
12 | ($c, $op, $a, $b, $d) = ($1, $2, $3, $5, $7); |
13 | undef $e; |
14 | $e = $1 if /E=(\d+)>/; |
15 | die if $c != $i; |
16 | |
17 | $a = $reg{$a} if defined $reg{$a}; |
18 | $b = $reg{$b} if defined $reg{$b}; |
19 | |
20 | if ($op eq "IF") { |
21 | $expr = "(IF $reg{002} $a $b)"; |
22 | } elsif ($op eq "VECTOUT") { |
23 | $res = "$a\n$b\n"; |
24 | } elsif (defined $b) { |
25 | $expr = "($op $a $b)"; |
26 | } elsif (defined $a) { |
27 | $expr = "($op $a)"; |
28 | } else { |
29 | $expr = "($op)"; |
30 | } |
31 | |
32 | $val[$e] = $expr if defined $e; |
33 | $reg{$d} = $val[$i] if defined $d; |
34 | $i++; |
35 | } |
36 | |
37 | print $res; |
38 |
Branches:
master