--- a/common/platform.cpp
+++ b/common/platform.cpp
@@ -17,6 +17,8 @@
     assert((alignment & (alignment-1)) == 0);
   #if defined(OIDN_ARCH_X64) || defined(_MSC_VER)
     void* ptr = _mm_malloc(size, alignment);
+  #elif defined(OIDN_ARCH_ARM64) && defined(_WIN32)
+    void* ptr = _aligned_malloc(size, alignment);
   #else
     void* ptr;
     if (posix_memalign(&ptr, max(alignment, sizeof(void*)), size) != 0)
