MIPS assembly pack: fix MIPS64 assembler warnings.
[openssl.git] / crypto / sha / asm / sha1-mips.pl
index 63c3efa03f6ee298cb58d229755604a0f2cffc88..0141bcca801aef6d4b8ef3ec99d6a20653303fe4 100644 (file)
@@ -17,7 +17,7 @@
 
 # September 2012.
 #
-# Add MIPS32r2 code.
+# Add MIPS32r2 code (>25% less instructions).
 
 ######################################################################
 # There is a number of MIPS ABI in use, O32 and N32/64 are most
@@ -68,9 +68,9 @@ if ($flavour =~ /64|n32/i) {
 #
 ######################################################################
 
-$big_endian=(`echo MIPSEL | $ENV{CC} -E -P -`=~/MIPSEL/)?1:0;
+$big_endian=(`echo MIPSEL | $ENV{CC} -E -`=~/MIPSEL/)?1:0 if ($ENV{CC});
 
-for (@ARGV) {  $output=$_ if (/^\w[\w\-]*\.\w+$/);   }
+for (@ARGV) {  $output=$_ if (/\w[\w\-]*\.\w+$/);   }
 open STDOUT,">$output";
 
 if (!defined($big_endian))
@@ -325,14 +325,18 @@ $code.=<<___ if ($i<79);
 ___
 }
 
-$FRAMESIZE=16; # large enough to accomodate NUBI saved registers
-$SAVED_REGS_MASK = ($flavour =~ /nubi/i) ? 0xc0fff008 : 0xc0ff0000;
+$FRAMESIZE=16; # large enough to accommodate NUBI saved registers
+$SAVED_REGS_MASK = ($flavour =~ /nubi/i) ? "0xc0fff008" : "0xc0ff0000";
 
 $code=<<___;
 #ifdef OPENSSL_FIPSCANISTER
 # include <openssl/fipssyms.h>
 #endif
 
+#if defined(__mips_smartmips) && !defined(_MIPS_ARCH_MIPS32R2)
+#define _MIPS_ARCH_MIPS32R2
+#endif
+
 .text
 
 .set   noat