* [PATCH] x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ
@ 2025-05-31 21:13 Eric Biggers
2025-06-08 23:40 ` Eric Biggers
0 siblings, 1 reply; 2+ messages in thread
From: Eric Biggers @ 2025-05-31 21:13 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-crypto, Ard Biesheuvel, Arnd Bergmann, x86
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 --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) && \
--
2.49.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ
2025-05-31 21:13 [PATCH] x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ Eric Biggers
@ 2025-06-08 23:40 ` Eric Biggers
0 siblings, 0 replies; 2+ messages in thread
From: Eric Biggers @ 2025-06-08 23:40 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-crypto, Ard Biesheuvel, Arnd Bergmann, x86
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-08 23:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-31 21:13 [PATCH] x86/crc: drop checks of CONFIG_AS_VPCLMULQDQ Eric Biggers
2025-06-08 23:40 ` Eric Biggers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).