diff options
author | Kristian Nielsen <knielsen@knielsen-hq.org> | 2016-10-21 22:43:46 +0200 |
---|---|---|
committer | Kristian Nielsen <knielsen@knielsen-hq.org> | 2016-10-21 22:43:46 +0200 |
commit | 7eb4bd3f1ddd9b84425d51550b44c14ac0a8f1de (patch) | |
tree | 4cf011a87d419d812a2b498a204cd621a2e7a617 /extra/yassl/taocrypt | |
parent | 998f987eda62e6b3481ac3914538282715e2df4a (diff) | |
download | mariadb-git-7eb4bd3f1ddd9b84425d51550b44c14ac0a8f1de.tar.gz |
Upstream patch from Debian Bug 838557
The patch fixes 128-bit multiply on mips64.
This corrects a previous incorrect patch upstreamed from Debian.
Diffstat (limited to 'extra/yassl/taocrypt')
-rw-r--r-- | extra/yassl/taocrypt/src/integer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/extra/yassl/taocrypt/src/integer.cpp b/extra/yassl/taocrypt/src/integer.cpp index fb8d9276bd9..dd8425396ed 100644 --- a/extra/yassl/taocrypt/src/integer.cpp +++ b/extra/yassl/taocrypt/src/integer.cpp @@ -193,8 +193,9 @@ DWord() {} "a" (a), "rm" (b) : "cc"); #elif defined(__mips64) - __asm__("dmultu %2,%3" : "=d" (r.halfs_.high), "=l" (r.halfs_.low) - : "r" (a), "r" (b)); + unsigned __int128 t = (unsigned __int128) a * b; + r.halfs_.high = t >> 64; + r.halfs_.low = (word) t; #elif defined(_M_IX86) // for testing |