From bbbf30eecde6b0285bba857042cec242422ae414 Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Tue, 9 May 2017 10:54:39 -0700 Subject: [PATCH] Remove volatile from variables to improve performance BUG=libyuv:703 TEST=compile and disassemble. see registers used not stack. R=wangcheng@google.com Change-Id: Iaa07ee5d0c35252994491bb2868276e161149efd Reviewed-on: https://chromium-review.googlesource.com/500427 Commit-Queue: Frank Barchard Reviewed-by: Cheng Wang --- source/compare_common.cc | 4 ++-- source/compare_gcc.cc | 2 +- source/compare_neon.cc | 2 +- source/compare_neon64.cc | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/compare_common.cc b/source/compare_common.cc index bca095f33..0fdbfd061 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 cab1fe9e9..994fb10fd 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 49aa3b4ee..b7991c171 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 f7d88d37a..52f77e149 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"