diff --git a/source/compare_common.cc b/source/compare_common.cc
index bca095f33b03a0908fea7d6bd525675e430355b8..0fdbfd061f06a408447ed11b8f6808ccf66ff4ae 100644
--- a/source/compare_common.cc
+++ b/source/compare_common.cc
@@ -19,7 +19,7 @@ extern "C" {
 
 #if ORIGINAL_C
 uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 diff = 0u;
+  uint32 diff = 0u;
 
   int i;
   for (i = 0; i < count; ++i) {
@@ -39,7 +39,7 @@ uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count) {
 
 // Hakmem method for hamming distance.
 uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 diff = 0u;
+  uint32 diff = 0u;
 
   int i;
   for (i = 0; i < count - 3; i += 4) {
diff --git a/source/compare_gcc.cc b/source/compare_gcc.cc
index cab1fe9e969c80fce66299e23d3d237c18291b3b..994fb10fd5966e97fab8c30735ea39d9bf0f6760 100644
--- a/source/compare_gcc.cc
+++ b/source/compare_gcc.cc
@@ -23,7 +23,7 @@ extern "C" {
     (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER)))
 
 uint32 HammingDistance_X86(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 diff = 0u;
+  uint32 diff = 0u;
 
   int i;
   for (i = 0; i < count - 7; i += 8) {
diff --git a/source/compare_neon.cc b/source/compare_neon.cc
index 49aa3b4eefec8b6c692c1ec952349eb038e57c1d..b7991c17136d4fdaa10131a54ae8b165e843c13e 100644
--- a/source/compare_neon.cc
+++ b/source/compare_neon.cc
@@ -22,7 +22,7 @@ extern "C" {
     !defined(__aarch64__)
 
 uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 sse;
+  uint32 sse;
   asm volatile (
     "vmov.u8    q8, #0                         \n"
     "vmov.u8    q10, #0                        \n"
diff --git a/source/compare_neon64.cc b/source/compare_neon64.cc
index f7d88d37ae04d298d2d420a5dfebeef335de1393..52f77e149c2f029397245ee251e419f20488c59a 100644
--- a/source/compare_neon64.cc
+++ b/source/compare_neon64.cc
@@ -22,7 +22,7 @@ extern "C" {
 
 #if 0
 uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 diff;
+  uint32 diff;
   asm volatile (
     "eor        v4.16b, v4.16b, v4.16b         \n"
     "eor        v5.16b, v5.16b, v5.16b         \n"
@@ -51,7 +51,7 @@ uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count) {
 #endif
 
 uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 diff;
+  uint32 diff;
   asm volatile (
     "movi       d6, #0                         \n"
 
@@ -82,7 +82,7 @@ uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count) {
 }
 
 uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count) {
-  volatile uint32 sse;
+  uint32 sse;
   asm volatile (
     "eor        v16.16b, v16.16b, v16.16b      \n"
     "eor        v18.16b, v18.16b, v18.16b      \n"