From: Masahiro Yamada <masahiroy@kernel.org>
To: x86@kernel.org, Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>, "H . Peter Anvin" <hpa@zytor.com>
Cc: linux-kernel@vger.kernel.org,
"Jason A . Donenfeld" <Jason@zx2c4.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Allison Randal <allison@lohutok.net>,
Armijn Hemel <armijn@tjaldur.nl>,
"David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Herbert Xu <herbert@gondor.apana.org.au>,
Ingo Molnar <mingo@redhat.com>,
Kate Stewart <kstewart@linuxfoundation.org>,
Song Liu <songliubraving@fb.com>,
Zhengyuan Liu <liuzhengyuan@kylinos.cn>,
clang-built-linux@googlegroups.com, linux-crypto@vger.kernel.org
Subject: [PATCH 5/7] x86: remove always-defined CONFIG_AS_SSSE3
Date: Mon, 23 Mar 2020 11:08:42 +0900 [thread overview]
Message-ID: <20200323020844.17064-6-masahiroy@kernel.org> (raw)
In-Reply-To: <20200323020844.17064-1-masahiroy@kernel.org>
CONFIG_AS_SSSE3 was introduced by commit 75aaf4c3e6a4 ("x86/raid6:
correctly check for assembler capabilities").
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").
I confirmed the code in $(call as-instr,...) can be assembled by the
binutils 2.21 assembler and also by LLVM integrated assembler.
Remove CONFIG_AS_SSSE3, which is always defined.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
arch/x86/Makefile | 5 ++---
arch/x86/crypto/blake2s-core.S | 2 --
lib/raid6/algos.c | 2 --
lib/raid6/recov_ssse3.c | 6 ------
lib/raid6/test/Makefile | 3 ---
5 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index e4a062313bb0..94f89612e024 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -178,7 +178,6 @@ ifeq ($(ACCUMULATE_OUTGOING_ARGS), 1)
endif
# does binutils support specific instructions?
-asinstr += $(call as-instr,pshufb %xmm0$(comma)%xmm0,-DCONFIG_AS_SSSE3=1)
avx_instr := $(call as-instr,vxorps %ymm0$(comma)%ymm1$(comma)%ymm2,-DCONFIG_AS_AVX=1)
avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
avx512_instr :=$(call as-instr,vpmovm2b %k1$(comma)%zmm5,-DCONFIG_AS_AVX512=1)
@@ -186,8 +185,8 @@ sha1_ni_instr :=$(call as-instr,sha1msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA1_NI=
sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA256_NI=1)
adx_instr := $(call as-instr,adox %r10$(comma)%r10,-DCONFIG_AS_ADX=1)
-KBUILD_AFLAGS += $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) $(adx_instr)
-KBUILD_CFLAGS += $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) $(adx_instr)
+KBUILD_AFLAGS += $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) $(adx_instr)
+KBUILD_CFLAGS += $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) $(adx_instr)
KBUILD_LDFLAGS := -m elf_$(UTS_MACHINE)
diff --git a/arch/x86/crypto/blake2s-core.S b/arch/x86/crypto/blake2s-core.S
index 24910b766bdd..2ca79974f819 100644
--- a/arch/x86/crypto/blake2s-core.S
+++ b/arch/x86/crypto/blake2s-core.S
@@ -46,7 +46,6 @@ SIGMA2:
#endif /* CONFIG_AS_AVX512 */
.text
-#ifdef CONFIG_AS_SSSE3
SYM_FUNC_START(blake2s_compress_ssse3)
testq %rdx,%rdx
je .Lendofloop
@@ -174,7 +173,6 @@ SYM_FUNC_START(blake2s_compress_ssse3)
.Lendofloop:
ret
SYM_FUNC_END(blake2s_compress_ssse3)
-#endif /* CONFIG_AS_SSSE3 */
#ifdef CONFIG_AS_AVX512
SYM_FUNC_START(blake2s_compress_avx512)
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c
index bf1b4765c8f6..77457ea5a239 100644
--- a/lib/raid6/algos.c
+++ b/lib/raid6/algos.c
@@ -103,9 +103,7 @@ const struct raid6_recov_calls *const raid6_recov_algos[] = {
#ifdef CONFIG_AS_AVX2
&raid6_recov_avx2,
#endif
-#ifdef CONFIG_AS_SSSE3
&raid6_recov_ssse3,
-#endif
#ifdef CONFIG_S390
&raid6_recov_s390xc,
#endif
diff --git a/lib/raid6/recov_ssse3.c b/lib/raid6/recov_ssse3.c
index 1de97d2405d0..4bfa3c6b60de 100644
--- a/lib/raid6/recov_ssse3.c
+++ b/lib/raid6/recov_ssse3.c
@@ -3,8 +3,6 @@
* Copyright (C) 2012 Intel Corporation
*/
-#ifdef CONFIG_AS_SSSE3
-
#include <linux/raid/pq.h>
#include "x86.h"
@@ -328,7 +326,3 @@ const struct raid6_recov_calls raid6_recov_ssse3 = {
#endif
.priority = 1,
};
-
-#else
-#warning "your version of binutils lacks SSSE3 support"
-#endif
diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
index 3ab8720aa2f8..79777645cac9 100644
--- a/lib/raid6/test/Makefile
+++ b/lib/raid6/test/Makefile
@@ -34,9 +34,6 @@ endif
ifeq ($(IS_X86),yes)
OBJS += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o avx512.o recov_avx512.o
- CFLAGS += $(shell echo "pshufb %xmm0, %xmm0" | \
- gcc -c -x assembler - >&/dev/null && \
- rm ./-.o && echo -DCONFIG_AS_SSSE3=1)
CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1" | \
gcc -c -x assembler - >&/dev/null && \
rm ./-.o && echo -DCONFIG_AS_AVX2=1)
--
2.17.1
next prev parent reply other threads:[~2020-03-23 2:17 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-23 2:08 [PATCH 0/7] x86: remove always-defined CONFIG_AS_* options Masahiro Yamada
2020-03-23 2:08 ` [PATCH 1/7] x86: remove unneeded defined(__ASSEMBLY__) check from asm/dwarf2.h Masahiro Yamada
2020-03-23 2:08 ` [PATCH 2/7] x86: remove always-defined CONFIG_AS_CFI Masahiro Yamada
2020-03-23 20:37 ` Nick Desaulniers
2020-03-23 2:08 ` [PATCH 3/7] x86: remove always-defined CONFIG_AS_CFI_SIGNAL_FRAME Masahiro Yamada
2020-03-23 20:45 ` Nick Desaulniers
2020-03-23 2:08 ` [PATCH 4/7] x86: remove always-defined CONFIG_AS_CFI_SECTIONS Masahiro Yamada
2020-03-23 20:59 ` Nick Desaulniers
2020-03-23 2:08 ` Masahiro Yamada [this message]
2020-03-23 9:59 ` [PATCH 5/7] x86: remove always-defined CONFIG_AS_SSSE3 kbuild test robot
2020-03-23 10:42 ` kbuild test robot
2020-03-23 18:06 ` Jason A. Donenfeld
2020-03-23 20:44 ` Masahiro Yamada
2020-03-23 20:48 ` Jason A. Donenfeld
2020-03-23 21:01 ` Jason A. Donenfeld
2020-03-23 2:08 ` [PATCH 6/7] x86: remove always-defined CONFIG_AS_AVX Masahiro Yamada
2020-03-23 2:08 ` [PATCH 7/7] x86: add comments about the binutils version to support code in as-instr Masahiro Yamada
2020-03-23 4:07 ` [PATCH 0/7] x86: remove always-defined CONFIG_AS_* options Jason A. Donenfeld
2020-03-23 4:28 ` Jason A. Donenfeld
2020-03-23 6:35 ` Masahiro Yamada
2020-03-23 6:53 ` Jason A. Donenfeld
2020-03-23 9:52 ` Sedat Dilek
2020-03-23 19:50 ` Jason A. Donenfeld
2020-03-24 8:46 ` Sedat Dilek
2020-03-23 22:03 ` Masahiro Yamada
2020-03-23 22:10 ` Jason A. Donenfeld
2020-03-23 19:45 ` Nick Desaulniers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200323020844.17064-6-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=Jason@zx2c4.com \
--cc=allison@lohutok.net \
--cc=armijn@tjaldur.nl \
--cc=bp@alien8.de \
--cc=clang-built-linux@googlegroups.com \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=herbert@gondor.apana.org.au \
--cc=hpa@zytor.com \
--cc=kstewart@linuxfoundation.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuzhengyuan@kylinos.cn \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=songliubraving@fb.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.