git: de6872045c07 - main - zfs: fix SIMD defines to match OpenZFS HAVE_SIMD() macro

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Wed, 01 Jul 2026 17:16:16 UTC
The branch main has been updated by mav:

URL: https://cgit.FreeBSD.org/src/commit/?id=de6872045c07b7eeffe66cba40e7feed23eefc9e

commit de6872045c07b7eeffe66cba40e7feed23eefc9e
Author:     Alexander Motin <mav@FreeBSD.org>
AuthorDate: 2026-07-01 17:09:49 +0000
Commit:     Alexander Motin <mav@FreeBSD.org>
CommitDate: 2026-07-01 17:09:49 +0000

    zfs: fix SIMD defines to match OpenZFS HAVE_SIMD() macro
    
    The OpenZFS merge 80aae8a3f8aa introduced HAVE_SIMD() which checks for
    HAVE_TOOLCHAIN_* defines via simd_config.h.  The kernel module Makefile
    was updated, but kern.pre.mk (static kernel build) and the libzpool/libzfs
    Makefiles were missed, still using the old HAVE_SSE2 etc. names.  This
    caused all vectorized raidz, fletcher, and blake3 implementations to be
    compiled out.
---
 cddl/lib/libzfs/Makefile   | 5 +++--
 cddl/lib/libzpool/Makefile | 6 +++---
 sys/conf/kern.pre.mk       | 8 +++++---
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/cddl/lib/libzfs/Makefile b/cddl/lib/libzfs/Makefile
index d28424a353e5..83f93ec4276b 100644
--- a/cddl/lib/libzfs/Makefile
+++ b/cddl/lib/libzfs/Makefile
@@ -69,11 +69,12 @@ ARCH_C =
 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
 ARCH_C += 	zfs_fletcher_intel.c \
 		zfs_fletcher_sse.c 
-CFLAGS +=  -DHAVE_SSE2
+CFLAGS +=  -DHAVE_TOOLCHAIN_SSE2 -DHAVE_TOOLCHAIN_SSSE3
 .endif
 .if ${MACHINE_ARCH} == "amd64"
 ARCH_C +=	zfs_fletcher_avx512.c
-CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
+CFLAGS+= -D__x86_64 -DHAVE_TOOLCHAIN_AVX2 -DHAVE_TOOLCHAIN_AVX \
+	-DHAVE_TOOLCHAIN_AVX512F
 .endif
 .if ${MACHINE_CPUARCH} == "aarch64"
 ARCH_C +=	zfs_fletcher_aarch64_neon.c
diff --git a/cddl/lib/libzpool/Makefile b/cddl/lib/libzpool/Makefile
index 0c2030faa3d6..68908fcb0241 100644
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
@@ -217,12 +217,12 @@ ARCH_C += 	vdev_raidz_math_sse2.c \
 		vdev_raidz_math_ssse3.c \
 		zfs_fletcher_intel.c \
 		zfs_fletcher_sse.c 
-CFLAGS +=  -DHAVE_SSE2 	-DHAVE_SSE3
+CFLAGS +=  -DHAVE_TOOLCHAIN_SSE2 -DHAVE_TOOLCHAIN_SSSE3
 .endif
 .if ${MACHINE_ARCH} == "amd64"
 ARCH_C +=	zfs_fletcher_avx512.c
-CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \
-	-DHAVE_AVX512BW
+CFLAGS+= -D__x86_64 -DHAVE_TOOLCHAIN_AVX2 -DHAVE_TOOLCHAIN_AVX \
+	-DHAVE_TOOLCHAIN_AVX512F -DHAVE_TOOLCHAIN_AVX512BW
 .endif
 .if ${MACHINE_CPUARCH} == "aarch64"
 ARCH_C +=	zfs_fletcher_aarch64_neon.c
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index d1556660094a..19a7b45f4b6a 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -209,9 +209,11 @@ ZFS_CFLAGS+=	-I$S/contrib/openzfs/module/icp/include \
 	-DWITH_NETDUMP -D__KERNEL__ -D_SYS_CONDVAR_H_ -DSMP
 
 .if ${MACHINE_ARCH} == "amd64"
-ZFS_CFLAGS+= -D__x86_64 -DHAVE_SSE2 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 \
-	-DHAVE_AVX -DHAVE_AVX2 -DHAVE_AVX512F -DHAVE_AVX512VL -DHAVE_AVX512BW \
-	-DHAVE_VAES -DHAVE_VPCLMULQDQ
+ZFS_CFLAGS+= -D__x86_64 -DHAVE_TOOLCHAIN_SSE2 -DHAVE_TOOLCHAIN_SSSE3 \
+	-DHAVE_TOOLCHAIN_SSE4_1 -DHAVE_TOOLCHAIN_AVX -DHAVE_TOOLCHAIN_AVX2 \
+	-DHAVE_TOOLCHAIN_AVX512F -DHAVE_TOOLCHAIN_AVX512VL \
+	-DHAVE_TOOLCHAIN_AVX512BW \
+	-DHAVE_TOOLCHAIN_VAES -DHAVE_TOOLCHAIN_VPCLMULQDQ
 .endif
 
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \