summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2006-05-04 21:30:41 +0000
committerAndy Polyakov <appro@openssl.org>2006-05-04 21:30:41 +0000
commit67d990904ea0ddc54ac5794f658effd98e8f0b15 (patch)
tree3f4a870a7cb39377fecb269ebd27f7cfebcca06c
parentf3df90b2bb064a10bd4a944fb59fedf2cc29035c (diff)
Futher minor PPC assembler update.
-rw-r--r--crypto/bn/asm/ppc-mont.pl2
-rwxr-xr-xcrypto/perlasm/ppc-xlate.pl16
-rwxr-xr-xcrypto/sha/asm/sha1-ppc.pl2
3 files changed, 10 insertions, 10 deletions
diff --git a/crypto/bn/asm/ppc-mont.pl b/crypto/bn/asm/ppc-mont.pl
index e9149c98cf..c345c1b30e 100644
--- a/crypto/bn/asm/ppc-mont.pl
+++ b/crypto/bn/asm/ppc-mont.pl
@@ -98,7 +98,7 @@ $nlo="r25";
$nhi="r0";
$code=<<___;
-.machine any
+.machine "any"
.text
.globl .bn_mul_mont
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index 7e0f9e96c0..a3b5b0e37b 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -58,8 +58,10 @@ my $text = sub {
my $machine = sub {
my $junk = shift;
my $arch = shift;
- if ($arch eq "any" and $flavour =~ /osx/)
- { $arch = ($flavour =~ /64/) ? "ppc970-64" : "ppc970"; }
+ if ($flavour =~ /osx/)
+ { $arch =~ s/\"//g;
+ $arch = ($flavour=~/64/) ? "ppc970-64" : "ppc970" if ($arch eq "any");
+ }
".machine $arch";
};
@@ -69,12 +71,10 @@ my $machine = sub {
my $cmplw = sub {
my $f = shift;
my $cr = 0; $cr = shift if ($#_>1);
- " cmpl$f ".join(',',$cr,0,@_);
-};
-my $cmpld = sub {
- my $f = shift;
- my $cr = 0; $cr = shift if ($#_>1);
- " cmpl$f ".join(',',$cr,1,@_);
+ # Some out-of-date 32-bit GNU assembler just can't handle cmplw...
+ ($flavour =~ /linux.*32/) ?
+ " .long ".sprintf "0x%x",31<<26|$cr<<23|$_[0]<<16|$_[1]<<11|64 :
+ " cmplw ".join(',',$cr,@_);
};
my $bdnz = sub {
my $f = shift;
diff --git a/crypto/sha/asm/sha1-ppc.pl b/crypto/sha/asm/sha1-ppc.pl
index c1bf1f4872..3aa9655a82 100755
--- a/crypto/sha/asm/sha1-ppc.pl
+++ b/crypto/sha/asm/sha1-ppc.pl
@@ -149,7 +149,7 @@ ___
}
$code=<<___;
-.machine any
+.machine "any"
.text
.globl .sha1_block_asm_data_order