superlu/superlu-dont-opt-away.diff

26 lines
599 B
Diff

Index: SuperLU_3.0/INSTALL/timertst.c
===================================================================
--- SuperLU_3.0.orig/INSTALL/timertst.c
+++ SuperLU_3.0/INSTALL/timertst.c
@@ -5,8 +5,10 @@ void mysub(int n, double *x, double *y)
{
return;
}
+volatile double _dummy;
+
main()
{
/* Parameters */
#define NMAX 100
@@ -32,8 +34,9 @@ main()
for (j = 0; j < iters; ++j) {
for (i = 0; i < NMAX; ++i)
y[i] += alpha * x[i];
alpha = -alpha;
+ _dummy = y[j%NMAX];
}
t2 = SuperLU_timer_();
tnotim = t2 - t1;
if ( tnotim > 0. ){