Commit 26e18383 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

perlasm/ppc-xlate.pl: add support for AltiVec/VMX and VSX.

Suggested by: Marcello Cerri
parent f586d971
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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; }
    }