diff mbox series

x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ

Message ID 20250531211318.83677-1-ebiggers@kernel.org
State New
Headers show
Series x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ | expand

Commit Message

Eric Biggers May 31, 2025, 9:13 p.m. UTC
From: Eric Biggers <ebiggers@google.com>

Now that the minimum binutils version supports VPCLMULQDQ (and the
minimum clang version does too), there is no need to check for assembler
support before compiling code that uses these instructions.

Signed-off-by: Eric Biggers <ebiggers@google.com>
---

I'd be glad to apply this to the crc tree.  Arnd, let me know if you'd
like to instead go with a patch that handles all of arch/x86/ at the
same time.  That would be fine with me too.

 arch/x86/lib/crc-pclmul-template.S | 7 -------
 arch/x86/lib/crc-pclmul-template.h | 3 +--
 2 files changed, 1 insertion(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/arch/x86/lib/crc-pclmul-template.S b/arch/x86/lib/crc-pclmul-template.S
index ae0b6144c503c..a02f7dc8053e0 100644
--- a/arch/x86/lib/crc-pclmul-template.S
+++ b/arch/x86/lib/crc-pclmul-template.S
@@ -559,11 +559,10 @@ 
 	pop		CONSTS_PTR
 #endif
 	RET
 .endm
 
-#ifdef CONFIG_AS_VPCLMULQDQ
 #define DEFINE_CRC_PCLMUL_FUNCS(prefix, bits, lsb)			\
 SYM_FUNC_START(prefix##_pclmul_sse);					\
 	_crc_pclmul	n=bits, lsb_crc=lsb, vl=16, avx_level=0;	\
 SYM_FUNC_END(prefix##_pclmul_sse);					\
 									\
@@ -572,11 +571,5 @@  SYM_FUNC_START(prefix##_vpclmul_avx2);					\
 SYM_FUNC_END(prefix##_vpclmul_avx2);					\
 									\
 SYM_FUNC_START(prefix##_vpclmul_avx512);				\
 	_crc_pclmul	n=bits, lsb_crc=lsb, vl=64, avx_level=512;	\
 SYM_FUNC_END(prefix##_vpclmul_avx512);
-#else
-#define DEFINE_CRC_PCLMUL_FUNCS(prefix, bits, lsb)			\
-SYM_FUNC_START(prefix##_pclmul_sse);					\
-	_crc_pclmul	n=bits, lsb_crc=lsb, vl=16, avx_level=0;	\
-SYM_FUNC_END(prefix##_pclmul_sse);
-#endif // !CONFIG_AS_VPCLMULQDQ
diff --git a/arch/x86/lib/crc-pclmul-template.h b/arch/x86/lib/crc-pclmul-template.h
index c5b3bfe11d8da..51cba520a7dbd 100644
--- a/arch/x86/lib/crc-pclmul-template.h
+++ b/arch/x86/lib/crc-pclmul-template.h
@@ -25,12 +25,11 @@  crc_t prefix##_vpclmul_avx512(crc_t crc, const u8 *p, size_t len,	\
 			      const void *consts_ptr);			\
 DEFINE_STATIC_CALL(prefix##_pclmul, prefix##_pclmul_sse)
 
 #define INIT_CRC_PCLMUL(prefix)						\
 do {									\
-	if (IS_ENABLED(CONFIG_AS_VPCLMULQDQ) &&				\
-	    boot_cpu_has(X86_FEATURE_VPCLMULQDQ) &&			\
+	if (boot_cpu_has(X86_FEATURE_VPCLMULQDQ) &&			\
 	    boot_cpu_has(X86_FEATURE_AVX2) &&				\
 	    cpu_has_xfeatures(XFEATURE_MASK_YMM, NULL)) {		\
 		if (boot_cpu_has(X86_FEATURE_AVX512BW) &&		\
 		    boot_cpu_has(X86_FEATURE_AVX512VL) &&		\
 		    !boot_cpu_has(X86_FEATURE_PREFER_YMM) &&		\