From 24cdeaf12e9e546621902449699fc6d664aeac2b Mon Sep 17 00:00:00 2001 From: Romain Dolbeau Date: Fri, 21 Oct 2016 19:55:49 +0200 Subject: Fletcher4 algorithm implemented in pure NEON for Aarch64 / ARMv8 64 bits This is not useful on micro-architecture with a weak NEON implementation (only 64 bits); the native version is slower & the byteswap barely faster than scalar. On A53 or A57, it's a small improvement on scalar but OK for byteswap. Results from an A53 system: 0 0 0x01 -1 0 1499068294333000 1499101101878000 implementation native byteswap scalar 1008227510 755880264 aarch64_neon 1198098720 1044818671 fastest aarch64_neon aarch64_neon Results from a A57 system: 0 0 0x01 -1 0 4407214734807033 4407233933777404 implementation native byteswap scalar 2302071241 1124873346 aarch64_neon 2542214946 2245570352 fastest aarch64_neon aarch64_neon Reviewed-by: Gvozden Neskovic Reviewed-by: Brian Behlendorf Signed-off-by: Romain Dolbeau Closes #5248 --- module/zcommon/Makefile.in | 1 + 1 file changed, 1 insertion(+) (limited to 'module/zcommon/Makefile.in') diff --git a/module/zcommon/Makefile.in b/module/zcommon/Makefile.in index 7dffd5228..bcef47709 100644 --- a/module/zcommon/Makefile.in +++ b/module/zcommon/Makefile.in @@ -19,3 +19,4 @@ $(MODULE)-objs += zpool_prop.o $(MODULE)-$(CONFIG_X86) += zfs_fletcher_intel.o $(MODULE)-$(CONFIG_X86) += zfs_fletcher_sse.o $(MODULE)-$(CONFIG_X86) += zfs_fletcher_avx512.o +$(MODULE)-$(CONFIG_ARM64) += zfs_fletcher_aarch64_neon.o -- cgit v1.2.3