Skip to content

Commit 95207db

Browse files
masahir0ytorvalds
authored andcommitted
Remove Intel compiler support
include/linux/compiler-intel.h had no update in the past 3 years. We often forget about the third C compiler to build the kernel. For example, commit a0a12c3 ("asm goto: eradicate CC_HAS_ASM_GOTO") only mentioned GCC and Clang. init/Kconfig defines CC_IS_GCC and CC_IS_CLANG but not CC_IS_ICC, and nobody has reported any issue. I guess the Intel Compiler support is broken, and nobody is caring about it. Harald Arnesen pointed out ICC (classic Intel C/C++ compiler) is deprecated: $ icc -v icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message. icc version 2021.7.0 (gcc version 12.1.0 compatibility) Arnd Bergmann provided a link to the article, "Intel C/C++ compilers complete adoption of LLVM". lib/zstd/common/compiler.h and lib/zstd/compress/zstd_fast.c were kept untouched for better sync with https://github.com/facebook/zstd Link: https://www.intel.com/content/www/us/en/developer/articles/technical/adoption-of-llvm-complete-icx.html Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Reviewed-by: Nick Desaulniers <[email protected]> Reviewed-by: Nathan Chancellor <[email protected]> Reviewed-by: Miguel Ojeda <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent b01fe98 commit 95207db

File tree

11 files changed

+5
-287
lines changed

11 files changed

+5
-287
lines changed

arch/ia64/include/uapi/asm/cmpxchg.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,7 @@
1515
#include <linux/types.h>
1616
/* include compiler specific intrinsics */
1717
#include <asm/ia64regs.h>
18-
#ifdef __INTEL_COMPILER
19-
# include <asm/intel_intrin.h>
20-
#else
21-
# include <asm/gcc_intrin.h>
22-
#endif
18+
#include <asm/gcc_intrin.h>
2319

2420
/*
2521
* This function doesn't exist, so you'll get a linker error if

arch/ia64/include/uapi/asm/intel_intrin.h

Lines changed: 0 additions & 162 deletions
This file was deleted.

arch/ia64/include/uapi/asm/intrinsics.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,7 @@
1414
#include <linux/types.h>
1515
/* include compiler specific intrinsics */
1616
#include <asm/ia64regs.h>
17-
#ifdef __INTEL_COMPILER
18-
# include <asm/intel_intrin.h>
19-
#else
20-
# include <asm/gcc_intrin.h>
21-
#endif
17+
#include <asm/gcc_intrin.h>
2218
#include <asm/cmpxchg.h>
2319

2420
#define ia64_set_rr0_to_rr4(val0, val1, val2, val3, val4) \

include/acpi/platform/acenv.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,15 +148,12 @@
148148
*
149149
*****************************************************************************/
150150

151-
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
151+
#if defined(__GNUC__)
152152
#include <acpi/platform/acgcc.h>
153153

154154
#elif defined(_MSC_VER)
155155
#include "acmsvc.h"
156156

157-
#elif defined(__INTEL_COMPILER)
158-
#include <acpi/platform/acintel.h>
159-
160157
#endif
161158

162159
#if defined(_LINUX) || defined(__linux__)

include/acpi/platform/acenvex.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
#endif
3737

38-
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
38+
#if defined(__GNUC__)
3939
#include "acgccex.h"
4040

4141
#elif defined(_MSC_VER)

include/acpi/platform/acintel.h

Lines changed: 0 additions & 55 deletions
This file was deleted.

include/linux/compiler-intel.h

Lines changed: 0 additions & 34 deletions
This file was deleted.

include/linux/compiler_attributes.h

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,10 @@
6464
* compiler should see some alignment anyway, when the return value is
6565
* massaged by 'flags = ptr & 3; ptr &= ~3;').
6666
*
67-
* Optional: not supported by icc
68-
*
6967
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-assume_005faligned-function-attribute
7068
* clang: https://clang.llvm.org/docs/AttributeReference.html#assume-aligned
7169
*/
72-
#if __has_attribute(__assume_aligned__)
73-
# define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__)))
74-
#else
75-
# define __assume_aligned(a, ...)
76-
#endif
70+
#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__)))
7771

7872
/*
7973
* Note the long name.
@@ -85,7 +79,6 @@
8579
/*
8680
* Optional: only supported since gcc >= 9
8781
* Optional: not supported by clang
88-
* Optional: not supported by icc
8982
*
9083
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-copy-function-attribute
9184
*/
@@ -98,7 +91,6 @@
9891
/*
9992
* Optional: not supported by gcc
10093
* Optional: only supported since clang >= 14.0
101-
* Optional: not supported by icc
10294
*
10395
* clang: https://clang.llvm.org/docs/AttributeReference.html#diagnose_as_builtin
10496
*/
@@ -122,7 +114,6 @@
122114

123115
/*
124116
* Optional: not supported by clang
125-
* Optional: not supported by icc
126117
*
127118
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-designated_005finit-type-attribute
128119
*/
@@ -236,7 +227,6 @@
236227
/*
237228
* Optional: only supported since gcc >= 8
238229
* Optional: not supported by clang
239-
* Optional: not supported by icc
240230
*
241231
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-nonstring-variable-attribute
242232
*/
@@ -267,7 +257,6 @@
267257

268258
/*
269259
* Optional: not supported by gcc.
270-
* Optional: not supported by icc.
271260
*
272261
* clang: https://clang.llvm.org/docs/AttributeReference.html#overloadable
273262
*/
@@ -287,7 +276,6 @@
287276
* Note: the "type" argument should match any __builtin_object_size(p, type) usage.
288277
*
289278
* Optional: not supported by gcc.
290-
* Optional: not supported by icc.
291279
*
292280
* clang: https://clang.llvm.org/docs/AttributeReference.html#pass-object-size-pass-dynamic-object-size
293281
*/

include/linux/compiler_types.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ static inline void __chk_io_ptr(const volatile void __iomem *ptr) { }
120120
/* Compiler specific macros. */
121121
#ifdef __clang__
122122
#include <linux/compiler-clang.h>
123-
#elif defined(__INTEL_COMPILER)
124-
#include <linux/compiler-intel.h>
125123
#elif defined(__GNUC__)
126124
/* The above compilers also define __GNUC__, so order is important here. */
127125
#include <linux/compiler-gcc.h>

scripts/cc-version.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ get_c_compiler_info()
1212
cat <<- EOF | "$@" -E -P -x c - 2>/dev/null
1313
#if defined(__clang__)
1414
Clang __clang_major__ __clang_minor__ __clang_patchlevel__
15-
#elif defined(__INTEL_COMPILER)
16-
ICC __INTEL_COMPILER __INTEL_COMPILER_UPDATE
1715
#elif defined(__GNUC__)
1816
GCC __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__
1917
#else

0 commit comments

Comments
 (0)