List Info

Thread: OpenSSL: openssl/crypto/perlasm/ ppc-xlate.pl




OpenSSL: openssl/crypto/perlasm/ ppc-xlate.pl
country flaguser name
Germany
2007-12-29 12:50:44
  OpenSSL CVS Repository
  http://cvs.openssl.org/
 
____________________________________________________________
________________

  Server: cvs.openssl.org                  Name:   Andy
Polyakov
  Root:   /v/openssl/cvs                   Email:  approopenssl.org
  Module: openssl                          Date:  
29-Dec-2007 19:50:44
  Branch: HEAD                             Handle:
2007122918504400

  Modified files:
    openssl/crypto/perlasm  ppc-xlate.pl

  Log:
    ppc-xlate.pl update.

  Summary:
    Revision    Changes     Path
    1.9         +23 -2     
openssl/crypto/perlasm/ppc-xlate.pl
 
____________________________________________________________
________________

  patch -p0 <<' .'
  Index: openssl/crypto/perlasm/ppc-xlate.pl
 
============================================================
================
  $ cvs diff -u -r1.8 -r1.9 ppc-xlate.pl
  --- openssl/crypto/perlasm/ppc-xlate.pl	13 Jul 2007
21:35:56 -0000	1.8
  +++ openssl/crypto/perlasm/ppc-xlate.pl	29 Dec 2007
18:50:44 -0000	1.9
   -84,8 +84,29 
   };
   my $bdnz = sub {
       my $f = shift;
  -    my $bo = $f=~/[+-]/ ? 17 : 16;
  +    my $bo = $f=~/[+-]/ ? 16+9 : 16;	# optional
"to be taken" hint
       "	bc	$bo,0,".shift;
  +} if ($flavour!~/linux/);
  +my $bltlr = sub {
  +    my $f = shift;
  +    my $bo = $f=~/-/ ? 12+2 : 12;	# optional "not
to be taken" hint
  +    ($flavour =~ /linux/) ?		# GNU as doesn't allow most
recent hints
  +	"	.long	".sprintf
"0x%x",19<<26|$bo<<21|16<<1 :
  +	"	bclr	$bo,0";
  +};
  +my $bnelr = sub {
  +    my $f = shift;
  +    my $bo = $f=~/-/ ? 4+2 : 4;	# optional "not to
be taken" hint
  +    ($flavour =~ /linux/) ?		# GNU as doesn't allow most
recent hints
  +	"	.long	".sprintf
"0x%x",19<<26|$bo<<21|2<<16|16&l
t;<1 :
  +	"	bclr	$bo,2";
  +};
  +# GNU assembler can't handle extrdi rA,rS,16,48, or when
sum of last two
  +# arguments is 64, with "operand out of range"
error.
  +my $extrdi = sub {
  +    my ($f,$ra,$rs,$n,$b) = _;
  +    $b = ($b+$n)&63; $n = 64-$n;
  +    "	rldicl	$ra,$rs,$b,$n";
   };
   
   while($line=<>) {
   -112,7 +133,7 
   	my $mnemonic = $2;
   	my $f = $3;
   	my $opcode = eval("$$mnemonic");
  -	$line =~ s|bc?r([0-9]+)b|$1|g if ($c ne "."
and $flavour !~ /osx/);
  +	$line =~ s|bc?[rf]([0-9]+)b|$1|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; }
       }
   .
____________________________________________________________
__________
OpenSSL Project                                 http://www.openssl.org
CVS Repository Commit List                    
openssl-cvsopenssl.org
Automated List Manager                          
majordomoopenssl.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )