Add parity generation/rebuild using AVX-512 for x86-64

avx512f should work on all AVX512 hardware, since it only uses
Foundation instructions.

avx512bw should be faster on hardware supporting the AVW512BW
extension. We can use full-width pshufb (instead of relying on the 256
bits AVX2 pshufb). As a side-effect, the code is also unrolled more.

Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Gvozden Neskovic <neskovic@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Romain Dolbeau <romain.github@dolbeau.name>
Closes #5219
This commit is contained in:
Romain Dolbeau
2016-11-02 20:40:23 +01:00
committed by Brian Behlendorf
parent 6d4210052b
commit 7f547f85fe
8 changed files with 971 additions and 0 deletions
+2
View File
@@ -34,6 +34,8 @@ static const char *raidz_impl_names[] = {
"sse2",
"ssse3",
"avx2",
"avx512f",
"avx512bw",
"aarch64_neon",
"aarch64_neonx2",
NULL