mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2025-04-21 12:27:27 +03:00
m1/perf/: scheduler cleanup; output comparison tool
This commit is contained in:
37
m1/perf/eval.pl
Executable file
37
m1/perf/eval.pl
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
#while (<>) {
|
||||
# last if /per-vertex PFPU fragment/;
|
||||
#}
|
||||
|
||||
$i = 0;
|
||||
while (<>) {
|
||||
next unless
|
||||
/^(\d+):\s+(\S+)\s+(R\d+)?(,(R\d+))?.*?(->\s+(R\d+))?\s*$/;
|
||||
# 1 2 3 4 5 6 7
|
||||
($c, $op, $a, $b, $d) = ($1, $2, $3, $5, $7);
|
||||
undef $e;
|
||||
$e = $1 if /E=(\d+)>/;
|
||||
die if $c != $i;
|
||||
|
||||
$a = $reg{$a} if defined $reg{$a};
|
||||
$b = $reg{$b} if defined $reg{$b};
|
||||
|
||||
if ($op eq "IF") {
|
||||
$expr = "(IF $reg{002} $a $b)";
|
||||
} elsif ($op eq "VECTOUT") {
|
||||
$res = "$a\n$b\n";
|
||||
} elsif (defined $b) {
|
||||
$expr = "($op $a $b)";
|
||||
} elsif (defined $a) {
|
||||
$expr = "($op $a)";
|
||||
} else {
|
||||
$expr = "($op)";
|
||||
}
|
||||
|
||||
$val[$e] = $expr if defined $e;
|
||||
$reg{$d} = $val[$i] if defined $d;
|
||||
$i++;
|
||||
}
|
||||
|
||||
print $res;
|
||||
Reference in New Issue
Block a user