From a2bfd5fcfcc35432fdfdd271655d42655f77c4df Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Wed, 4 May 2022 15:51:58 +0300 Subject: [PATCH] Minor AArch64 support changes --- 3rdparty/cubeb/CMakeLists.txt | 4 ++-- 3rdparty/llvm.cmake | 1 + rpcs3/Emu/RSX/Common/buffer_stream.hpp | 7 ++++++- rpcs3/rpcs3qt/memory_string_searcher.cpp | 12 ++++++------ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/3rdparty/cubeb/CMakeLists.txt b/3rdparty/cubeb/CMakeLists.txt index 58110265b7..6d1f231f0b 100644 --- a/3rdparty/cubeb/CMakeLists.txt +++ b/3rdparty/cubeb/CMakeLists.txt @@ -11,9 +11,9 @@ set(USE_SANITIZERS FALSE CACHE BOOL "Dont't use sanitizers") add_subdirectory(cubeb EXCLUDE_FROM_ALL) add_library(3rdparty::cubeb ALIAS cubeb) -if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|ARM)") +if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|ARM|aarch64|AArch64|Aarch64)") target_compile_definitions(speex PUBLIC - _USE_NEON + #_USE_NEON ) elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86|X86|amd64|AMD64|em64t|EM64T)") target_compile_definitions(speex PUBLIC diff --git a/3rdparty/llvm.cmake b/3rdparty/llvm.cmake index 9a8d3b0745..56f9c50d2e 100644 --- a/3rdparty/llvm.cmake +++ b/3rdparty/llvm.cmake @@ -5,6 +5,7 @@ if(WITH_LLVM) if(BUILD_LLVM_SUBMODULE) message(STATUS "LLVM will be built from the submodule.") + set(LLVM_TARGETS_TO_BUILD "AArch64;X86") option(LLVM_BUILD_RUNTIME OFF) option(LLVM_BUILD_TOOLS OFF) option(LLVM_INCLUDE_BENCHMARKS OFF) diff --git a/rpcs3/Emu/RSX/Common/buffer_stream.hpp b/rpcs3/Emu/RSX/Common/buffer_stream.hpp index ea72432196..b4c1e3cb6f 100644 --- a/rpcs3/Emu/RSX/Common/buffer_stream.hpp +++ b/rpcs3/Emu/RSX/Common/buffer_stream.hpp @@ -9,11 +9,16 @@ #endif #ifdef ARCH_ARM64 -#if !defined(_MSC_VER) +#ifndef _MSC_VER +#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic ignored "-Wold-style-cast" #endif #undef FORCE_INLINE #include "Emu/CPU/sse2neon.h" +#ifndef _MSC_VER +#pragma GCC diagnostic pop +#endif #endif namespace utils diff --git a/rpcs3/rpcs3qt/memory_string_searcher.cpp b/rpcs3/rpcs3qt/memory_string_searcher.cpp index 44e25e1c57..0ea3ff2bfe 100644 --- a/rpcs3/rpcs3qt/memory_string_searcher.cpp +++ b/rpcs3/rpcs3qt/memory_string_searcher.cpp @@ -53,12 +53,12 @@ void fmt_class_string::format(std::string& out, u64 arg) { switch (mode) { - case as_string: return "String"; - case as_hex: return "HEX bytes/integer"; - case as_f64: return "Double"; - case as_f32: return "Float"; - case as_inst: return "Instruction"; - case as_fake_spu_inst: return "SPU Instruction"; + case as_string: return "String"; + case as_hex: return "HEX bytes/integer"; + case as_f64: return "Double"; + case as_f32: return "Float"; + case as_inst: return "Instruction"; + case as_fake_spu_inst: return "SPU Instruction"; default: return ""; } }();