diff --git a/CMakeLists.txt b/CMakeLists.txt index fa1fa37d2e..46f3d2dad4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -339,13 +339,26 @@ if (CXX_GCC OR CXX_CLANG) endif() elseif(ARCHITECTURE_arm64) # See https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html - set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, armv9, native") set(mtune generic) + set(armv8_2_target armv8.2-a+fp16+dotprod) - if (${YUZU_BUILD_PRESET} STREQUAL "generic") - set(march armv8-a) - elseif (${YUZU_BUILD_PRESET} STREQUAL "armv9") - set(march armv9-a) + if (ANDROID) + set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, armv8.2, armv9, native") + set(march ${armv8_2_target}) + + if (${YUZU_BUILD_PRESET} STREQUAL "armv9") + set(march armv9-a) + endif() + else() + set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, armv8.2, armv9, native") + + if (${YUZU_BUILD_PRESET} STREQUAL "generic") + set(march armv8-a) + elseif (${YUZU_BUILD_PRESET} STREQUAL "armv8.2") + set(march ${armv8_2_target}) + elseif (${YUZU_BUILD_PRESET} STREQUAL "armv9") + set(march armv9-a) + endif() endif() endif()