diff mbox series

[v2,11/16] x86: add comments about the binutils version to support code in as-instr

Message ID 20200326080104.27286-12-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles | expand

Commit Message

Masahiro Yamada March 26, 2020, 8 a.m. UTC
We raise the minimal supported binutils version from time to time.
The last bump was commit 1fb12b35e5ff ("kbuild: Raise the minimum
required binutils version to 2.21").

We need to keep these as-instr checks because binutils 2.21 does not
support them.

I hope this will be a good hint which one can be dropped when we
bump the minimal binutils version next time.

As for the Clang/LLVM builds, we require very new LLVM version,
so the LLVM integrated assembler supports all of them.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
---

Changes in v2:
  - Change the patch order and rebase

 arch/x86/Kconfig.assembler | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Nick Desaulniers March 26, 2020, 5:50 p.m. UTC | #1
On Thu, Mar 26, 2020 at 1:02 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> We raise the minimal supported binutils version from time to time.
> The last bump was commit 1fb12b35e5ff ("kbuild: Raise the minimum
> required binutils version to 2.21").
>
> We need to keep these as-instr checks because binutils 2.21 does not
> support them.
>
> I hope this will be a good hint which one can be dropped when we
> bump the minimal binutils version next time.
>
> As for the Clang/LLVM builds, we require very new LLVM version,
> so the LLVM integrated assembler supports all of them.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>

Acked-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>
> Changes in v2:
>   - Change the patch order and rebase
>
>  arch/x86/Kconfig.assembler | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/arch/x86/Kconfig.assembler b/arch/x86/Kconfig.assembler
> index 91230bf11a14..a5a1d2766b3a 100644
> --- a/arch/x86/Kconfig.assembler
> +++ b/arch/x86/Kconfig.assembler
> @@ -3,15 +3,25 @@
>
>  config AS_AVX2
>         def_bool $(as-instr,vpbroadcastb %xmm0$(comma)%ymm1)
> +       help
> +         Supported by binutils >= 2.22 and LLVM integrated assembler
>
>  config AS_AVX512
>         def_bool $(as-instr,vpmovm2b %k1$(comma)%zmm5)
> +       help
> +         Supported by binutils >= 2.25 and LLVM integrated assembler
>
>  config AS_SHA1_NI
>         def_bool $(as-instr,sha1msg1 %xmm0$(comma)%xmm1)
> +       help
> +         Supported by binutils >= 2.24 and LLVM integrated assembler
>
>  config AS_SHA256_NI
>         def_bool $(as-instr,sha256msg1 %xmm0$(comma)%xmm1)
> +       help
> +         Supported by binutils >= 2.24 and LLVM integrated assembler
>
>  config AS_ADX
>         def_bool $(as-instr,adox %eax$(comma)%eax)
> +       help
> +         Supported by binutils >= 2.23 and LLVM integrated assembler
> --
> 2.17.1
>
diff mbox series

Patch

diff --git a/arch/x86/Kconfig.assembler b/arch/x86/Kconfig.assembler
index 91230bf11a14..a5a1d2766b3a 100644
--- a/arch/x86/Kconfig.assembler
+++ b/arch/x86/Kconfig.assembler
@@ -3,15 +3,25 @@ 
 
 config AS_AVX2
 	def_bool $(as-instr,vpbroadcastb %xmm0$(comma)%ymm1)
+	help
+	  Supported by binutils >= 2.22 and LLVM integrated assembler
 
 config AS_AVX512
 	def_bool $(as-instr,vpmovm2b %k1$(comma)%zmm5)
+	help
+	  Supported by binutils >= 2.25 and LLVM integrated assembler
 
 config AS_SHA1_NI
 	def_bool $(as-instr,sha1msg1 %xmm0$(comma)%xmm1)
+	help
+	  Supported by binutils >= 2.24 and LLVM integrated assembler
 
 config AS_SHA256_NI
 	def_bool $(as-instr,sha256msg1 %xmm0$(comma)%xmm1)
+	help
+	  Supported by binutils >= 2.24 and LLVM integrated assembler
 
 config AS_ADX
 	def_bool $(as-instr,adox %eax$(comma)%eax)
+	help
+	  Supported by binutils >= 2.23 and LLVM integrated assembler