diff options
author | Romain Dolbeau <[email protected]> | 2020-01-23 20:01:24 +0100 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-01-23 11:01:24 -0800 |
commit | 35b07497c60701465a87aab48fc890a0bc502561 (patch) | |
tree | ded14fd0cfd7c3dd985617ae1d576d4e26c165a2 /lib/libzpool | |
parent | 1a69856034304e74b32fb372e89967e91989cafd (diff) |
Add AltiVec RAID-Z
Implements the RAID-Z function using AltiVec SIMD.
This is basically the NEON code translated to AltiVec.
Note that the 'fletcher' algorithm requires 64-bits
operations, and the initial implementations of AltiVec
(PPC74xx a.k.a. G4, PPC970 a.k.a. G5) only has up to
32-bits operations, so no 'fletcher'.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Romain Dolbeau <[email protected]>
Closes #9539
Diffstat (limited to 'lib/libzpool')
-rw-r--r-- | lib/libzpool/Makefile.am | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am index 7b1ae098d..f1f56b704 100644 --- a/lib/libzpool/Makefile.am +++ b/lib/libzpool/Makefile.am @@ -130,6 +130,7 @@ KERNEL_C = \ vdev_raidz_math_scalar.c \ vdev_raidz_math_sse2.c \ vdev_raidz_math_ssse3.c \ + vdev_raidz_math_powerpc_altivec.c \ vdev_removal.c \ vdev_root.c \ vdev_trim.c \ @@ -201,3 +202,8 @@ libzpool_la_LIBADD += $(ZLIB) -ldl libzpool_la_LDFLAGS = -pthread -version-info 2:0:0 EXTRA_DIST = $(USER_C) + +if TARGET_CPU_POWERPC +vdev_raidz_math_powerpc_altivec.$(OBJEXT): CFLAGS += -maltivec +vdev_raidz_math_powerpc_altivec.l$(OBJEXT): CFLAGS += -maltivec +endif |