Skip to content

Commit 3f84a9c

Browse files
authored
Merge pull request #2936 from martin-frbg/issue2934-2
Fix compiler version check for -mavx2 support (DYNAMIC_ARCH case)
2 parents 7e265c5 + 2e48d56 commit 3f84a9c

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

kernel/Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,25 @@ ifeq ($(C_COMPILER), CLANG)
2222
override CFLAGS += -fno-integrated-as
2323
endif
2424
endif
25+
2526
AVX2OPT =
2627
ifeq ($(C_COMPILER), GCC)
2728
# AVX2 support was added in 4.7.0
28-
GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
29-
GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
30-
ifeq ($(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7), 11)
29+
GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
30+
GCCVERSIONGTEQ5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 5)
31+
GCCMINORVERSIONGTEQ7 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 7)
32+
GCCVERSIONCHECK := $(GCCVERSIONGTEQ5)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
33+
ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
3134
AVX2OPT = -mavx2
3235
endif
3336
endif
3437
ifeq ($(C_COMPILER), CLANG)
3538
# Any clang posing as gcc 4.2 should be new enough (3.4 or later)
3639
GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
40+
GCCVERSIONGTEQ5 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 5)
3741
GCCMINORVERSIONGTEQ2 := $(shell expr `$(CC) -dumpversion | cut -f2 -d.` \>= 2)
38-
ifeq ($(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ2), 11)
42+
GCCVERSIONCHECK := $(GCCVERSIONGTEQ5)$(GCCVERSIONGTEQ4)$(GCCMINORVERSIONGTEQ7)
43+
ifeq ($(GCCVERSIONCHECK), $(filter $(GCCVERSIONCHECK), 011 110 111))
3944
AVX2OPT = -mavx2
4045
endif
4146
endif

0 commit comments

Comments
 (0)