ggml_add_cpu_backend_variant(power8_2 POWER8 VSX)
ggml_add_cpu_backend_variant(power9 POWER9 VSX)
ggml_add_cpu_backend_variant(power10 POWER10 VSX)
- ggml_add_cpu_backend_variant(power11 POWER11 VSX)
+ # POWER11 backend: only if compiler supports -mcpu=power11
+ check_cxx_compiler_flag("-mcpu=power11" GGML_CXX_SUPPORTS_POWER11)
+ if (GGML_CXX_SUPPORTS_POWER11)
+ message(STATUS "Compiler supports -mcpu=power11, enabling POWER11 backend")
+ ggml_add_cpu_backend_variant(power11 POWER11 VSX)
+ else()
+ message(STATUS "Skipping POWER11 backend: compiler does not support -mcpu=power11")
+ endif()
else()
message(FATAL_ERROR "Unsupported PowerPC target OS: ${CMAKE_SYSTEM_NAME}")
endif()
string(REGEX MATCHALL "POWER *([0-9]+)" MATCHED_STRING "${POWER10_M_UPPER}")
string(REGEX REPLACE "POWER *([0-9]+)" "\\1" EXTRACTED_NUMBER "${MATCHED_STRING}")
- if (EXTRACTED_NUMBER GREATER_EQUAL 10)
+ if (EXTRACTED_NUMBER EQUAL 10 OR EXTRACTED_NUMBER EQUAL 11)
list(APPEND ARCH_FLAGS -mcpu=power10)
elseif (EXTRACTED_NUMBER EQUAL 9)
list(APPEND ARCH_FLAGS -mcpu=power9)