freebsd-dev/module/zcommon
Romain Dolbeau 24cdeaf12e 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 <neskovic@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Romain Dolbeau <romain.dolbeau@atos.net>
Closes #5248
2016-10-21 10:55:49 -07:00
..
Makefile.in Fletcher4 algorithm implemented in pure NEON for Aarch64 / ARMv8 64 bits 2016-10-21 10:55:49 -07:00
zfs_comutil.c Multipath autoreplace, control enclosure LEDs, event rate limiting 2016-10-19 12:55:59 -07:00
zfs_deleg.c Add support for user/group dnode accounting & quota 2016-10-07 09:45:13 -07:00
zfs_fletcher_aarch64_neon.c Fletcher4 algorithm implemented in pure NEON for Aarch64 / ARMv8 64 bits 2016-10-21 10:55:49 -07:00
zfs_fletcher_avx512.c Fletcher4: save/reload implementation context 2016-10-05 16:41:46 +02:00
zfs_fletcher_intel.c Fletcher4: save/reload implementation context 2016-10-05 16:41:46 +02:00
zfs_fletcher_sse.c Fletcher4: save/reload implementation context 2016-10-05 16:41:46 +02:00
zfs_fletcher.c Fletcher4 algorithm implemented in pure NEON for Aarch64 / ARMv8 64 bits 2016-10-21 10:55:49 -07:00
zfs_namecheck.c OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
zfs_prop.c Add support for user/group dnode accounting & quota 2016-10-07 09:45:13 -07:00
zfs_uio.c Fix uio_prefaultpages for 0 length iovec 2015-12-15 16:19:55 -08:00
zpool_prop.c Implement large_dnode pool feature 2016-06-24 13:13:21 -07:00
zprop_common.c Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00