diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2018-07-23 23:10:07 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2018-07-23 23:10:07 +0100 |
commit | 1ebcfcb08774c1ddf1d69725376f3088833b30a2 (patch) | |
tree | 00d38ad0e876347c8730fa7dbe46d7bd87fdee4e /sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p | |
parent | bac3e0ec6390348d2d1f44f0fb7ef5e2c43f74d3 (diff) | |
download | toolchains-1ebcfcb08774c1ddf1d69725376f3088833b30a2.tar.gz toolchains-1ebcfcb08774c1ddf1d69725376f3088833b30a2.tar.bz2 |
Wrong file extenson meant bn_div optimisation wasn't being applied.
Diffstat (limited to 'sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p')
-rw-r--r-- | sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p b/sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p new file mode 100644 index 0000000..0d5492f --- /dev/null +++ b/sdk/recipes/patches/openssl/m68k-unknown-amigaos/crypto.bn.bn_div.c.p @@ -0,0 +1,25 @@ +--- crypto/bn/bn_div.c 2017-01-26 13:22:03.000000000 +0000 ++++ crypto/bn/bn_div.c 2017-02-11 16:06:29.437010335 +0000 +@@ -175,6 +175,22 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, cons + q; \ + }) + # define REMAINDER_IS_ALREADY_CALCULATED ++# elif defined(__mc68020__) ++ /* Same rationale as for i386. On the 68020-60/CPU32 the divu ++ * instruction will take a 64 bit dividend in a register pair ++ * and overwrite that pair with the remainder:quotient. ++ * Howard Chu ++ */ ++# undef bn_div_words ++# define bn_div_words(n0,n1,d0) \ ++ ({ asm volatile ( \ ++ "divu.l %4,%2:%3" \ ++ : "=d"(rem), "=d"(q) \ ++ : "0"(n0), "1"(n1), "d"(d0) \ ++ : "cc"); \ ++ q; \ ++ }) ++# define REMAINDER_IS_ALREADY_CALCULATED + # endif /* __<cpu> */ + # endif /* __GNUC__ */ + # endif /* OPENSSL_NO_ASM */ |