Add different code generators for truncate_block(), add results to inc_common.cl and make use of them in m01800-pure.cl

This commit is contained in:
jsteube
2017-07-03 10:41:09 +02:00
parent b9b2112b64
commit a22da36a00
6 changed files with 2000 additions and 46 deletions
@@ -0,0 +1,42 @@
#!/usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 64; $i++)
{
printf (" case %2d:\n", $i);
my $id4 = int ($i / 4);
my $im4 = int ($i % 4);
if ($im4 == 0)
{
printf (" w%d[%d] = 0;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 1)
{
printf (" w%d[%d] &= 0xff000000;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 2)
{
printf (" w%d[%d] &= 0xffff0000;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 3)
{
printf (" w%d[%d] &= 0xffffff00;\n", $id4 / 4, $id4 % 4);
}
for (my $j = $id4 + 1; $j < 16; $j++)
{
my $jd4 = int ($j / 4);
my $jm4 = int ($j % 4);
printf (" w%d[%d] = 0;\n", $jd4, $jm4);
}
printf ("\n");
printf (" break;\n");
printf ("\n");
}
@@ -0,0 +1,42 @@
#!/usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 64; $i++)
{
printf (" case %2d:\n", $i);
my $id4 = int ($i / 4);
my $im4 = int ($i % 4);
if ($im4 == 0)
{
printf (" w%d[%d] = 0;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 1)
{
printf (" w%d[%d] &= 0x000000ff;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 2)
{
printf (" w%d[%d] &= 0x0000ffff;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 3)
{
printf (" w%d[%d] &= 0x00ffffff;\n", $id4 / 4, $id4 % 4);
}
for (my $j = $id4 + 1; $j < 16; $j++)
{
my $jd4 = int ($j / 4);
my $jm4 = int ($j % 4);
printf (" w%d[%d] = 0;\n", $jd4, $jm4);
}
printf ("\n");
printf (" break;\n");
printf ("\n");
}
@@ -0,0 +1,42 @@
#!/usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 16; $i++)
{
printf (" case %2d:\n", $i);
my $id4 = int ($i / 4);
my $im4 = int ($i % 4);
if ($im4 == 0)
{
printf (" w%d[%d] = 0;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 1)
{
printf (" w%d[%d] &= 0xff000000;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 2)
{
printf (" w%d[%d] &= 0xffff0000;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 3)
{
printf (" w%d[%d] &= 0xffffff00;\n", $id4 / 4, $id4 % 4);
}
for (my $j = $id4 + 1; $j < 4; $j++)
{
my $jd4 = int ($j / 4);
my $jm4 = int ($j % 4);
printf (" w%d[%d] = 0;\n", $jd4, $jm4);
}
printf ("\n");
printf (" break;\n");
printf ("\n");
}
@@ -0,0 +1,42 @@
#!/usr/bin/perl
use strict;
use warnings;
for (my $i = 0; $i < 16; $i++)
{
printf (" case %2d:\n", $i);
my $id4 = int ($i / 4);
my $im4 = int ($i % 4);
if ($im4 == 0)
{
printf (" w%d[%d] = 0;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 1)
{
printf (" w%d[%d] &= 0x000000ff;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 2)
{
printf (" w%d[%d] &= 0x0000ffff;\n", $id4 / 4, $id4 % 4);
}
elsif ($im4 == 3)
{
printf (" w%d[%d] &= 0x00ffffff;\n", $id4 / 4, $id4 % 4);
}
for (my $j = $id4 + 1; $j < 4; $j++)
{
my $jd4 = int ($j / 4);
my $jm4 = int ($j % 4);
printf (" w%d[%d] = 0;\n", $jd4, $jm4);
}
printf ("\n");
printf (" break;\n");
printf ("\n");
}