]> git.proxmox.com Git - mirror_zfs.git/commit - include/zfs_fletcher.h
Add superscalar fletcher4
authorRomain Dolbeau <romain.github@dolbeau.name>
Fri, 4 Nov 2016 17:53:03 +0000 (18:53 +0100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 4 Nov 2016 17:53:03 +0000 (10:53 -0700)
commit7f3194932d22c667026aff1b263ceaa1ebd012ee
treeb68eee7abd34de2410db38208c35c184af2ddd70
parentace1eae84cca8579596f46262d99df19f6d7e963
Add superscalar fletcher4

This is the Fletcher4 algorithm implemented in pure C, but using
multiple counters using algorithms identical to those used for
SSE/NEON and AVX2.

This allows for faster execution on core with strong superscalar
capabilities but weak SIMD capabilities.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Romain Dolbeau <romain.dolbeau@atos.net>
Closes #5317
include/zfs_fletcher.h
lib/libzpool/Makefile.am
module/zcommon/Makefile.in
module/zcommon/zfs_fletcher.c
module/zcommon/zfs_fletcher_aarch64_neon.c
module/zcommon/zfs_fletcher_sse.c
module/zcommon/zfs_fletcher_superscalar.c [new file with mode: 0644]
module/zcommon/zfs_fletcher_superscalar4.c [new file with mode: 0644]