Message ID | 20250531211318.83677-1-ebiggers@kernel.org |
---|---|
State | New |
Headers | show |
Series | x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ | expand |
On Sat, May 31, 2025 at 02:13:18PM -0700, Eric Biggers wrote: > 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(-) Applied to https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=crc-next - Eric
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) && \