OSDN Git Service

arm64: crypto: add NEON accelerated XOR implementation
authorJackie Liu <liuyun01@kylinos.cn>
Tue, 4 Dec 2018 01:43:23 +0000 (09:43 +0800)
committer0ranko0P <ranko0p@outlook.com>
Wed, 4 Dec 2019 13:45:17 +0000 (21:45 +0800)
commit8bcc7d6a3297bfec8dc634aab59e205e42d47c8b
treea836df80ec4834ff01ee3107078813caac71db1e
parentb083a53e08bf57199a3e1776e0f1805c6e07cf0b
arm64: crypto: add NEON accelerated XOR implementation

This is a NEON acceleration method that can improve
performance by approximately 20%. I got the following
data from the centos 7.5 on Huawei's HISI1616 chip:

[ 93.837726] xor: measuring software checksum speed
[ 93.874039]   8regs  : 7123.200 MB/sec
[ 93.914038]   32regs : 7180.300 MB/sec
[ 93.954043]   arm64_neon: 9856.000 MB/sec
[ 93.954047] xor: using function: arm64_neon (9856.000 MB/sec)

I believe this code can bring some optimization for
all arm64 platform. thanks for Ard Biesheuvel's suggestions.

Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/Kbuild
arch/arm64/include/asm/xor.h [new file with mode: 0644]
arch/arm64/lib/Makefile
arch/arm64/lib/xor-neon.c [new file with mode: 0644]