diff options
author | Romain Dolbeau <[email protected]> | 2016-10-21 19:55:49 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-10-21 10:55:49 -0700 |
commit | 24cdeaf12e9e546621902449699fc6d664aeac2b (patch) | |
tree | 12af696407ba15b157d591f44f23de6d5eee2882 /module/zcommon/Makefile.in | |
parent | e4ffa98dcaf2208c742609f0ab2bdb343071446a (diff) |
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 <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Romain Dolbeau <[email protected]>
Closes #5248
Diffstat (limited to 'module/zcommon/Makefile.in')
-rw-r--r-- | module/zcommon/Makefile.in | 1 |
1 files changed, 1 insertions, 0 deletions
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 |