From 25738bb9c75f94b451201acfd6bcab13bdeee512 Mon Sep 17 00:00:00 2001
From: Roy Li <rongqing.li@windriver.com>
Date: Thu, 5 May 2016 09:52:01 +0800
Subject: [PATCH] [PATCH] avoid gcc optimize-away the loops

Upstream-Status: Pending

Change expression used in do_integer_mul and do_uint64_mul
benchmarks so GCC doesn't optimize-away the loops, other
things are same:
-               TEN(r *= s;); r -= t;
+               i = 0;
+               while ( i++ < 10)
+                       r *= s;
+               r -= t;

and TEN is macro:
	#define TEN(a) a a a a a a a a a a

Signed-off-by: Roy Li <rongqing.li@windriver.com>

---
 src/lat_ops.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/src/lat_ops.c b/src/lat_ops.c
index d343ff3..457072b 100644
--- a/src/lat_ops.c
+++ b/src/lat_ops.c
@@ -126,11 +126,23 @@ do_integer_mul(iter_t iterations, void* cookie)
 	struct _state *pState = (struct _state*)cookie;
 	register int r = pState->N + 37431;
 	register int s = pState->N + 4;
-	register int t = r * s * s * s * s * s * s * s * s * s * s - r;
+	register int t = r;
+	int i = 0;
+
+	while ( i++ < 10)
+		t *= s;
+	t -= r;
 
 	while (iterations-- > 0) {
-		TEN(r *= s;); r -= t;
-		TEN(r *= s;); r -= t;
+		i = 0;
+		while ( i++ < 10)
+			r *= s;
+		r -= t;
+
+		i = 0;
+		while ( i++ < 10)
+			r *= s;
+		r -= t;
 	}
 	use_int(r);
 }
@@ -207,13 +219,21 @@ do_int64_mul(iter_t iterations, void* cookie)
 	register int64 r = (int64)pState->N + 37420;
 	register int64 s = (int64)pState->N + 4;
 	register int64 t;
+	int i = 0;
 
 	r += (int64)(pState->N + 6)<<32;
 	t = r * s * s * s * s * s * s * s * s * s * s - r;
 
 	while (iterations-- > 0) {
-		TEN(r *= s;); r -= t;
-		TEN(r *= s;); r -= t;
+		i = 0;
+		while ( i++ < 10)
+			r *= s;
+		r -= t;
+
+		i = 0;
+		while ( i++ < 10)
+			r *= s;
+		r -= t;
 	}
 	use_int((int)r);
 }
