• Eric Biggers's avatar
    crypto: arm/crct10dif-ce - cleanup and optimizations · e7b3ed33
    Eric Biggers authored
    The x86, arm, and arm64 asm implementations of crct10dif are very
    difficult to understand partly because many of the comments, labels, and
    macros are named incorrectly: the lengths mentioned are usually off by a
    factor of two from the actual code.  Many other things are unnecessarily
    convoluted as well, e.g. there are many more fold constants than
    actually needed and some aren't fully reduced.
    
    This series therefore cleans up all these implementations to be much
    more maintainable.  I also made some small optimizations where I saw
    opportunities, resulting in slightly better performance.
    
    This patch cleans up the arm version.
    
    (Also moved the constants to .rodata as suggested by Ard Biesheuvel.)
    Acked-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    e7b3ed33
crct10dif-ce-core.S 11.8 KB