Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/crypto/external/bsd/openssl/dist/crypto/bn Fix mips asm to n...



details:   https://anonhg.NetBSD.org/src/rev/9b3cc5bd9da7
branches:  trunk
changeset: 780593:9b3cc5bd9da7
user:      matt <matt%NetBSD.org@localhost>
date:      Mon Jul 30 18:40:36 2012 +0000

description:
Fix mips asm to not use outdated stuff.

diffstat:

 crypto/external/bsd/openssl/dist/crypto/bn/bn_lcl.h |  15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diffs (27 lines):

diff -r b839dd746e82 -r 9b3cc5bd9da7 crypto/external/bsd/openssl/dist/crypto/bn/bn_lcl.h
--- a/crypto/external/bsd/openssl/dist/crypto/bn/bn_lcl.h       Mon Jul 30 17:49:24 2012 +0000
+++ b/crypto/external/bsd/openssl/dist/crypto/bn/bn_lcl.h       Mon Jul 30 18:40:36 2012 +0000
@@ -284,14 +284,17 @@
 #  if defined(__GNUC__) && __GNUC__>=2
 #   define BN_UMULT_HIGH(a,b)  ({      \
        register BN_ULONG ret;          \
-       asm ("dmultu    %1,%2"          \
-            : "=h"(ret)                \
-            : "r"(a), "r"(b) : "l");   \
+       asm ("dmultu    %1,%2"  "\n\t"  \
+            "mfhi %0"          "\n\t"  \
+            : "=r"(ret)                \
+            : "r"(a), "r"(b) : "lo", "hi");    \
        ret;                    })
 #   define BN_UMULT_LOHI(low,high,a,b) \
-       asm ("dmultu    %2,%3"          \
-            : "=l"(low),"=h"(high)     \
-            : "r"(a), "r"(b));
+       asm ("dmultu    %2,%3"  "\n\t"  \
+            "mflo      %0"     "\n\t"  \
+            "mfhi      %1"     "\n\t"  \
+            : "=r"(low),"=r"(high)     \
+            : "r"(a), "r"(b) : "lo", "hi");
 #  endif
 # endif                /* cpu */
 #endif         /* OPENSSL_NO_ASM */



Home | Main Index | Thread Index | Old Index