Skip to content

Commit c7efb3c

Browse files
committed
zen5 machine target on gcc 15+
1 parent d2aec3e commit c7efb3c

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

config/machine/linux_gcc_zen5.mk

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
BUILDDIR?=linux/gcc/zen5
2+
3+
include config/base.mk
4+
include config/extra/with-gcc.mk
5+
include config/extra/with-x86-64.mk
6+
include config/extra/with-debug.mk
7+
include config/extra/with-security.mk
8+
include config/extra/with-brutality.mk
9+
include config/extra/with-optimization.mk
10+
include config/extra/with-threads.mk
11+
12+
# GCC 8 (Firedancer's minimum supported GCC version) only supports znver1.
13+
# note: I dont agree with this behavior but inheriting it from zen4.mk.
14+
ifeq ($(shell $(CC) -dumpversion),8)
15+
CPPFLAGS+=-march=znver1 -mtune=znver1
16+
else
17+
18+
# GCC 14+ support zen5, however, 15 has the optimizations.
19+
ifeq ($(shell test `$(CC) -dumpversion | cut -d. -f1` -ge 15 && echo yes),yes)
20+
CPPFLAGS+=-march=znver5 -mtune=znver5
21+
else
22+
$(error Unsupported GCC version $(shell $(CC) -dumpversion). Only GCC 15+ is fully supported for zen5.)
23+
endif
24+
endif
25+
26+
27+
28+
CPPFLAGS+=\
29+
-DFD_HAS_INT128=1 \
30+
-DFD_HAS_DOUBLE=1 \
31+
-DFD_HAS_ALLOCA=1 \
32+
-DFD_HAS_X86=1 \
33+
-DFD_HAS_SSE=1 \
34+
-DFD_HAS_AVX=1 \
35+
-DFD_HAS_SHANI=1 \
36+
-DFD_HAS_AESNI=1 \
37+
-DFD_HAS_AVX512=1 \
38+
-DFD_HAS_GFNI=1
39+
40+
FD_HAS_INT128:=1
41+
FD_HAS_DOUBLE:=1
42+
FD_HAS_ALLOCA:=1
43+
FD_HAS_X86:=1
44+
FD_HAS_SSE:=1
45+
FD_HAS_AVX:=1
46+
FD_HAS_SHANI:=1
47+
FD_HAS_AESNI:=1
48+
FD_HAS_AVX512:=1
49+
FD_HAS_GFNI:=1

0 commit comments

Comments
 (0)