diff -bur ffts-o/tests/test.c ffts/tests/test.c
--- ffts-o/tests/test.c	2025-04-19 22:01:43.840158300 -0600
+++ ffts/tests/test.c	2025-04-19 22:01:55.037660200 -0600
@@ -103,6 +103,9 @@
 #ifdef HAVE_SSE
     float FFTS_ALIGN(32) *input = _mm_malloc(2 * n * sizeof(float), 32);
     float FFTS_ALIGN(32) *output = _mm_malloc(2 * n * sizeof(float), 32);
+#elif defined(_M_ARM64)
+    float FFTS_ALIGN(32) *input = _aligned_malloc(2 * n * sizeof(float), 32);
+    float FFTS_ALIGN(32) *output = _aligned_malloc(2 * n * sizeof(float), 32);
 #else
     float FFTS_ALIGN(32) *input = valloc(2 * n * sizeof(float));
     float FFTS_ALIGN(32) *output = valloc(2 * n * sizeof(float));
@@ -144,6 +144,9 @@
 #ifdef HAVE_SSE
         float FFTS_ALIGN(32) *input = _mm_malloc(2 * n * sizeof(float), 32);
         float FFTS_ALIGN(32) *output = _mm_malloc(2 * n * sizeof(float), 32);
+#elif defined(_M_ARM64)
+        float FFTS_ALIGN(32) *input = _aligned_malloc(2 * n * sizeof(float), 32);
+        float FFTS_ALIGN(32) *output = _aligned_malloc(2 * n * sizeof(float), 32);
 #else
         float FFTS_ALIGN(32) *input = valloc(2 * n * sizeof(float));
         float FFTS_ALIGN(32) *output = valloc(2 * n * sizeof(float));
 #endif