diff --git a/BUILD.gn b/BUILD.gn
index 7af9f6a..d218425 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -88,7 +88,7 @@
         "-march=x86-64",
         "-mtune=generic",
       ]
-    } else {  # 32 bit version
+    } else if (target_cpu == "x86") {  # 32 bit version
       cflags += [
         "-m32",
         "-msse2",
diff --git a/src/Common/BUILD.gn b/src/Common/BUILD.gn
index 6b23321..87b7005 100644
--- a/src/Common/BUILD.gn
+++ b/src/Common/BUILD.gn
@@ -21,7 +21,7 @@
       "/wd4201",  # nameless struct/union
       "/wd5030",  # attribute is not recognized
     ]
-  } else {
+  } else if (target_cpu == "x86" || target_cpu == "x64") {
     cflags = [ "-msse2" ]
   }
 }
diff --git a/src/Common/Thread.hpp b/src/Common/Thread.hpp
index 14ccfd5..b8280f1 100644
--- a/src/Common/Thread.hpp
+++ b/src/Common/Thread.hpp
@@ -241,7 +241,7 @@
 			return InterlockedExchange64(target, value);
 		#else
 			int ret;
-			__asm__ __volatile__("lock; xchg8 %0,(%1)" : "=r" (ret) :"r" (target), "0" (value) : "memory" );
+			__asm__ __volatile__("lock; xchg8 %x0,(%x1)" : "=r" (ret) :"r" (target), "0" (value) : "memory" );
 			return ret;
 		#endif
 	}
@@ -252,7 +252,7 @@
 			return InterlockedExchange((volatile long*)target, (long)value);
 		#else
 			int ret;
-			__asm__ __volatile__("lock; xchgl %0,(%1)" : "=r" (ret) :"r" (target), "0" (value) : "memory" );
+			__asm__ __volatile__("lock; xchgl %x0,(%x1)" : "=r" (ret) :"r" (target), "0" (value) : "memory" );
 			return ret;
 		#endif
 	}
diff --git a/src/Main/BUILD.gn b/src/Main/BUILD.gn
index ee76067..61054d4 100644
--- a/src/Main/BUILD.gn
+++ b/src/Main/BUILD.gn
@@ -29,7 +29,7 @@
         "-Wno-sign-compare",
       ]
     }
-  } else {
+  } else if (target_cpu == "x86" || target_cpu == "x64") {
     cflags = [ "-msse2" ]
     defines =
         [ "NO_SANITIZE_FUNCTION=__attribute__((no_sanitize(\"function\")))" ]
diff --git a/src/OpenGL/libEGL/BUILD.gn b/src/OpenGL/libEGL/BUILD.gn
index bbbd2eb..3184f9b 100644
--- a/src/OpenGL/libEGL/BUILD.gn
+++ b/src/OpenGL/libEGL/BUILD.gn
@@ -28,7 +28,10 @@
 
     defines += [ "EGLAPI=" ]
   } else {
-    cflags = [ "-Wno-sign-compare" ]
+    cflags = [
+      "-Wno-sign-compare",
+      "-Wno-unused-function",
+    ]
     if (!is_clang) {
       cflags += [ "-Wno-unused-but-set-variable" ]
     }
diff --git a/src/Reactor/BUILD.gn b/src/Reactor/BUILD.gn
index 97446fc..1084f27 100644
--- a/src/Reactor/BUILD.gn
+++ b/src/Reactor/BUILD.gn
@@ -152,7 +152,7 @@
       "/wd4201",  # nameless struct/union
       "/wd4245",  # conversion from int to unsigned int (llvm)
     ]
-  } else {
+  } else if (target_cpu == "x86" || target_cpu == "x64") {
     cflags = [
       "-Wno-unused-local-typedef",
       "-msse2",
diff --git a/src/Reactor/SubzeroReactor.cpp b/src/Reactor/SubzeroReactor.cpp
index 3d49658..0103a25 100644
--- a/src/Reactor/SubzeroReactor.cpp
+++ b/src/Reactor/SubzeroReactor.cpp
@@ -103,7 +103,7 @@
 
 		static bool detectARM()
 		{
-			#if defined(__arm__)
+			#if defined(__arm__) || defined(__aarch64__)
 				return true;
 			#elif defined(__i386__) || defined(__x86_64__)
 				return false;
@@ -372,6 +372,8 @@
 			assert(sizeof(void*) == 8 && elfHeader->e_machine == EM_X86_64);
 		#elif defined(__arm__)
 			assert(sizeof(void*) == 4 && elfHeader->e_machine == EM_ARM);
+		#elif defined(__aarch64__)
+			assert(sizeof(void*) == 8 && elfHeader->e_machine == EM_AARCH64);
 		#else
 			#error "Unsupported platform"
 		#endif
diff --git a/src/Renderer/BUILD.gn b/src/Renderer/BUILD.gn
index 04ccd2e..6b95b11 100644
--- a/src/Renderer/BUILD.gn
+++ b/src/Renderer/BUILD.gn
@@ -22,7 +22,7 @@
       "/wd4324",  # structure was padded due to alignment specifier
       "/wd5030",  # attribute is not recognized
     ]
-  } else {
+  } else if (target_cpu == "x86" || target_cpu == "x64") {
     cflags = [
       "-msse2",
       "-Wno-sign-compare",
diff --git a/third_party/LLVM/BUILD.gn b/third_party/LLVM/BUILD.gn
index 9883df3..c09a83e 100644
--- a/third_party/LLVM/BUILD.gn
+++ b/third_party/LLVM/BUILD.gn
@@ -54,7 +54,7 @@
     cflags += [ "-Wno-error" ]
   }
 
-  if (is_clang) {
+  if (is_clang && (target_cpu == "x86" || target_cpu == "x64")) {
     cflags += [
       "-msse2",
       "-Wno-header-hygiene",
