summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2019-01-10 21:57:09 +0100
committerNiels Möller <nisse@lysator.liu.se>2019-01-10 21:57:09 +0100
commitc10336bfdeb1c2ef83b6dd6a973a717257943320 (patch)
tree797c428d2f80440e44e0f337fe5f3d8dece2c907
parent09def119c3410c47919999df5762778b8b62ac93 (diff)
downloadnettle-c10336bfdeb1c2ef83b6dd6a973a717257943320.tar.gz
nettle-benchmark: Add volatile to inline asm.
-rw-r--r--ChangeLog5
-rw-r--r--examples/nettle-benchmark.c32
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