On Tue, Mar 26, 2024 at 09:10:13AM +0100, Ingo Molnar wrote: > > * Eric Biggers <ebiggers@xxxxxxxxxx> wrote: > > > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > > > Add config symbols AS_VAES and AS_VPCLMULQDQ that expose whether the > > assembler supports the vector AES and carryless multiplication > > cryptographic extensions. > > > > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> > > --- > > arch/x86/Kconfig.assembler | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/arch/x86/Kconfig.assembler b/arch/x86/Kconfig.assembler > > index 8ad41da301e5..59aedf32c4ea 100644 > > --- a/arch/x86/Kconfig.assembler > > +++ b/arch/x86/Kconfig.assembler > > @@ -23,9 +23,19 @@ config AS_TPAUSE > > config AS_GFNI > > def_bool $(as-instr,vgf2p8mulb %xmm0$(comma)%xmm1$(comma)%xmm2) > > help > > Supported by binutils >= 2.30 and LLVM integrated assembler > > > > +config AS_VAES > > + def_bool $(as-instr,vaesenc %ymm0$(comma)%ymm1$(comma)%ymm2) > > + help > > + Supported by binutils >= 2.30 and LLVM integrated assembler > > Nit: any reason it isn't called AS_VAESENC, like the instruction itself? > > The other new AS_ Kconfig symbols follow the same nomenclature: The CPU feature flag is called VAES. It guards the vaesenc, vaesenclast, vaesdec, and vaesdeclast instructions when used on ymm and zmm registers. So the name AS_VAES seems fine as-is. I think you may have been confused by AS_VPCLMULQDQ, because in that case the feature happens to provides a single instruction with the same name as the CPU feature flag. - Eric