From c10336bfdeb1c2ef83b6dd6a973a717257943320 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 10 Jan 2019 21:57:09 +0100
Subject: [PATCH] nettle-benchmark: Add volatile to inline asm.

---
 ChangeLog                   |  5 +++++
 examples/nettle-benchmark.c | 32 ++++++++++++++++----------------
 2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cee3e546..fde29b4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-01-09  Niels Möller  <nisse@lysator.liu.se>
+
+	* examples/nettle-benchmark.c (GET_CYCLE_COUNTER): Add volatile to
+	inline asm.
+
 2019-01-08  Niels Möller  <nisse@lysator.liu.se>
 
 	* sha512-compress.c: Add missing include of sha2-internal.h.
diff --git a/examples/nettle-benchmark.c b/examples/nettle-benchmark.c
index 101ba7d4..6e0f560b 100644
--- a/examples/nettle-benchmark.c
+++ b/examples/nettle-benchmark.c
@@ -92,24 +92,24 @@ static double frequency = 0.0;
 #if WITH_CYCLE_COUNTER
 # if defined(__i386__)
 #define GET_CYCLE_COUNTER(hi, lo)		\
-  __asm__("xorl %%eax,%%eax\n"			\
-	  "movl %%ebx, %%edi\n"			\
-	  "cpuid\n"				\
-	  "rdtsc\n"				\
-	  "movl %%edi, %%ebx\n"			\
-	  : "=a" (lo), "=d" (hi)		\
-	  : /* No inputs. */			\
-	  : "%edi", "%ecx", "cc")
+  __asm__ volatile ("xorl %%eax,%%eax\n"	\
+		    "movl %%ebx, %%edi\n"	\
+		    "cpuid\n"			\
+		    "rdtsc\n"			\
+		    "movl %%edi, %%ebx\n"	\
+		    : "=a" (lo), "=d" (hi)	\
+		    : /* No inputs. */		\
+		    : "%edi", "%ecx", "cc")
 # elif defined(__x86_64__)
 #define GET_CYCLE_COUNTER(hi, lo)		\
-  __asm__("xorl %%eax,%%eax\n"			\
-	  "mov %%rbx, %%r10\n"			\
-	  "cpuid\n"				\
-	  "rdtsc\n"				\
-	  "mov %%r10, %%rbx\n"			\
-	  : "=a" (lo), "=d" (hi)		\
-	  : /* No inputs. */			\
-	  : "%r10", "%rcx", "cc")
+  __asm__ volatile ("xorl %%eax,%%eax\n"	\
+		    "mov %%rbx, %%r10\n"	\
+		    "cpuid\n"			\
+		    "rdtsc\n"			\
+		    "mov %%r10, %%rbx\n"	\
+		    : "=a" (lo), "=d" (hi)	\
+		    : /* No inputs. */		\
+		    : "%r10", "%rcx", "cc")
 # endif
 #define BENCH_ITERATIONS 10
 #endif
-- 
GitLab