diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 4de1c62ddd..b173cb23cd 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -305,9 +305,14 @@ static void fixup_settings(const psf::registry* _psf) #if defined(ARCH_ARM64) if (g_cfg.core.spu_decoder == spu_decoder_type::asmjit) { +#ifdef LLVM_AVAILABLE + constexpr auto arm64_spu_fallback = spu_decoder_type::llvm; +#else + constexpr auto arm64_spu_fallback = spu_decoder_type::dynamic; +#endif sys_log.warning("The setting '%s' is currently not supported on ARM64 builds and will therefore be changed from '%s' to '%s' during emulation.", - g_cfg.core.spu_decoder.get_name(), spu_decoder_type::asmjit, spu_decoder_type::llvm); - g_cfg.core.spu_decoder.set(spu_decoder_type::llvm); + g_cfg.core.spu_decoder.get_name(), spu_decoder_type::asmjit, arm64_spu_fallback); + g_cfg.core.spu_decoder.set(arm64_spu_fallback); } #endif