diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2012-02-05 15:09:28 +1100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2012-02-05 15:09:28 +1100 |
commit | c11755f90bf996ea54d68bdb7739b68112ca5ddd (patch) | |
tree | b220cee873cb73de091c375517b1de65fab2d78c /crypto/rmd160.c | |
parent | f722e3d8f9f3904224192f21bd6a120ca13f5e63 (diff) | |
download | linux-crypto-c11755f90bf996ea54d68bdb7739b68112ca5ddd.tar.gz linux-crypto-c11755f90bf996ea54d68bdb7739b68112ca5ddd.zip |
crypto: sha512 - Avoid stack bloat on i386
Unfortunately in reducing W from 80 to 16 we ended up unrolling
the loop twice. As gcc has issues dealing with 64-bit ops on
i386 this means that we end up using even more stack space (>1K).
This patch solves the W reduction by moving LOAD_OP/BLEND_OP
into the loop itself, thus avoiding the need to duplicate it.
While the stack space still isn't great (>0.5K) it is at least
in the same ball park as the amount of stack used for our C sha1
implementation.
Note that this patch basically reverts to the original code so
the diff looks bigger than it really is.
Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/rmd160.c')
0 files changed, 0 insertions, 0 deletions