From 389698cda9834b17a29eb076bf6b04912bf9316e Mon Sep 17 00:00:00 2001 From: r-a-sattarov Date: Mon, 3 Feb 2025 16:40:57 +0300 Subject: [PATCH] Added use of O3 instead of O2 for e2k arch O3 on E2K mcst-lcc approximately equal to O2 at X86/ARM gcc --- neo/CMakeLists.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/neo/CMakeLists.txt b/neo/CMakeLists.txt index afcdda0e1..e2e9d8818 100644 --- a/neo/CMakeLists.txt +++ b/neo/CMakeLists.txt @@ -329,11 +329,18 @@ if(D3_COMPILER_IS_GCC_OR_CLANG) endif () endif () + if(cpu STREQUAL "e2k" AND CMAKE_COMPILER_IS_GNUCC) + # O3 on E2K mcst-lcc approximately equal to O2 at X86/ARM gcc + set(OPT_LEVEL "-O3") + else() + set(OPT_LEVEL "-O2") + endif() + set(CMAKE_C_FLAGS_DEBUG "-g -ggdb -D_DEBUG -O0") set(CMAKE_C_FLAGS_DEBUGALL "-g -ggdb -D_DEBUG") set(CMAKE_C_FLAGS_PROFILE "-g -ggdb -D_DEBUG -O1 -fno-omit-frame-pointer") - set(CMAKE_C_FLAGS_RELEASE "-O2 -fno-math-errno -fno-trapping-math -ffinite-math-only -fomit-frame-pointer") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -ggdb -O2 -fno-math-errno -fno-trapping-math -ffinite-math-only -fno-omit-frame-pointer") + set(CMAKE_C_FLAGS_RELEASE "${OPT_LEVEL} -fno-math-errno -fno-trapping-math -ffinite-math-only -fomit-frame-pointer") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -ggdb ${OPT_LEVEL} -fno-math-errno -fno-trapping-math -ffinite-math-only -fno-omit-frame-pointer") set(CMAKE_C_FLAGS_MINSIZEREL "-Os -fno-math-errno -fno-trapping-math -ffinite-math-only -fomit-frame-pointer") set(CMAKE_CXX_FLAGS_DEBUGALL ${CMAKE_C_FLAGS_DEBUGALL})