From 35b07497c60701465a87aab48fc890a0bc502561 Mon Sep 17 00:00:00 2001 From: Romain Dolbeau Date: Thu, 23 Jan 2020 20:01:24 +0100 Subject: 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 Signed-off-by: Romain Dolbeau Closes #9539 --- lib/libzpool/Makefile.am | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/libzpool') 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 -- cgit v1.2.3