• Herbert Xu's avatar
    crypto: sha512 - Avoid stack bloat on i386 · 3a92d687
    Herbert Xu authored
    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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    3a92d687
sha512_generic.c 8.8 KB