Implement SVE 8-buffer SNOW3G UEA2
Following changes have be done in this patch. 1. Add job manager of snow3g uea2, this manager can schedule 8-buffer with un-uniform length and different keys. 2. Add 8-buffer implementation of underlying algorithm of snow3g, such as s1 box, s2 box, multiply alpha and divide alpha.
Compared with 4-buffer NEON implementation, the throughput
improvement on different micro-archetecutre is listed below.
Neoverse V1 : x1.44 @ 1024 buffer-sz
We use DPDK command to calculate performance improvement.
sudo ./build/app/dpdk-test-crypto-perf -c 0x3 --no-huge
--vdev crypto_snow3g -- --devtype crypto_snow3g
--ptest throughput --pool-sz 16384 --total-ops 1000000
--burst-sz 8 --optype cipher-only --cipher-algo snow3g-uea2
--cipher-iv-sz 16 --auth-op generate --cipher-key-sz 16
--buffer-sz 64,128,256,512,1024 --cipher-op encrypt
Signed-off-by: fisher.yufisher.yu@arm.com Change-Id: Ic3c62ba6936eff904f3767386e97edf00a795843