From ecae4b6a0bbab109b0e47004af19befa58522958 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sun, 15 Mar 2026 22:19:57 +0900 Subject: [PATCH] [Base/Mem] Add platform guard for AVX/SSE streaming stores in vastcpy. Prevents build failures on non-x86 platforms --- src/xenia/base/memory.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/xenia/base/memory.cc b/src/xenia/base/memory.cc index 8d9cb3dc6..f34dc1722 100644 --- a/src/xenia/base/memory.cc +++ b/src/xenia/base/memory.cc @@ -32,6 +32,7 @@ bool IsWritableExecutableMemoryPreferred() { using xe::swcache::CacheLine; +#if XE_ARCH_AMD64 static constexpr unsigned NUM_CACHELINES_IN_PAGE = 4096 / sizeof(CacheLine); #if defined(__clang__) @@ -216,6 +217,13 @@ void vastcpy(uint8_t* XE_RESTRICT physaddr, uint8_t* XE_RESTRICT rdmapping, return vastcpy_dispatch((CacheLine*)physaddr, (CacheLine*)rdmapping, written_length); } +#else // !XE_ARCH_AMD64 +XE_NOINLINE +void vastcpy(uint8_t* XE_RESTRICT physaddr, uint8_t* XE_RESTRICT rdmapping, + uint32_t written_length) { + std::memcpy(physaddr, rdmapping, written_length); +} +#endif // XE_ARCH_AMD64 } // namespace memory // TODO(benvanik): fancy AVX versions.