summaryrefslogtreecommitdiffstats
path: root/crypto/perlasm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2013-12-04 22:01:31 +0100
committerAndy Polyakov <appro@openssl.org>2013-12-04 22:01:31 +0100
commit26e18383efcfcc38b766bbb48210d50b2a9af894 (patch)
tree913217b5b4c349978966b95277cb297883962b69 /crypto/perlasm
parentf586d97191ad9821faea026df68aceaba45d1800 (diff)
perlasm/ppc-xlate.pl: add support for AltiVec/VMX and VSX.
Suggested by: Marcello Cerri
Diffstat (limited to 'crypto/perlasm')
-rwxr-xr-xcrypto/perlasm/ppc-xlate.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index 57d9ec1610..89f749f667 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -146,6 +146,10 @@ my $extrdi = sub {
$b = ($b+$n)&63; $n = 64-$n;
" rldicl $ra,$rs,$b,$n";
};
+my $vmr = sub {
+ my ($f,$vx,$vy) = @_;
+ " vor $vx,$vy,$vy";
+};
while($line=<>) {
@@ -174,7 +178,7 @@ while($line=<>) {
my $mnemonic = $2;
my $f = $3;
my $opcode = eval("\$$mnemonic");
- $line =~ s|\bc?[rf]([0-9]+)\b|$1|g if ($c ne "." and $flavour !~ /osx/);
+ $line =~ s/\b(c?[rf]|v|vs)([0-9]+)\b/$2/g if ($c ne "." and $flavour !~ /osx/);
if (ref($opcode) eq 'CODE') { $line = &$opcode($f,split(',',$line)); }
elsif ($mnemonic) { $line = $c.$mnemonic.$f."\t".$line; }
}