• Tianjia Zhang's avatar
    crypto: arm64/sm4 - add CE implementation for CTS-CBC mode · b1863fd0
    Tianjia Zhang authored
    This patch is a CE-optimized assembly implementation for CTS-CBC mode.
    
    Benchmark on T-Head Yitian-710 2.75 GHz, the data comes from the 218 mode of
    tcrypt, and compared the performance before and after this patch (the driver
    used before this patch is cts(cbc-sm4-ce)). The abscissas are blocks of
    different lengths. The data is tabulated and the unit is Mb/s:
    
    Before:
    
    cts(cbc-sm4-ce) |      16       64      128      256     1024     1420     4096
    ----------------+--------------------------------------------------------------
        CTS-CBC enc |  286.09   297.17   457.97   627.75   868.58   900.80   957.69
        CTS-CBC dec |  286.67   285.63   538.35   947.08  2241.03  2577.32  3391.14
    
    After:
    
    cts-cbc-sm4-ce  |      16       64      128      256     1024     1420     4096
    ----------------+--------------------------------------------------------------
        CTS-CBC enc |  288.19   428.80   593.57   741.04   911.73   931.80   950.00
        CTS-CBC dec |  292.22   468.99   838.23  1380.76  2741.17  3036.42  3409.62
    Signed-off-by: default avatarTianjia Zhang <tianjia.zhang@linux.alibaba.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    b1863fd0
sm4-ce-core.S 12.2 KB