• Ard Biesheuvel's avatar
    crypto: arm64/aes-blk - improve XTS mask handling · 2e5d2f33
    Ard Biesheuvel authored
    The Crypto Extension instantiation of the aes-modes.S collection of
    skciphers uses only 15 NEON registers for the round key array, whereas
    the pure NEON flavor uses 16 NEON registers for the AES S-box.
    
    This means we have a spare register available that we can use to hold
    the XTS mask vector, removing the need to reload it at every iteration
    of the inner loop.
    
    Since the pure NEON version does not permit this optimization, tweak
    the macros so we can factor out this functionality. Also, replace the
    literal load with a short sequence to compose the mask vector.
    
    On Cortex-A53, this results in a ~4% speedup.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    2e5d2f33
aes-neon.S 12.3 KB