summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--storage/innobase/include/ut0ut.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/storage/innobase/include/ut0ut.h b/storage/innobase/include/ut0ut.h
index a19f3db188d..c20a9023458 100644
--- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h
@@ -71,12 +71,11 @@ Created 1/20/1994 Heikki Tuuri
#elif defined(__powerpc__) && defined __GLIBC__
# include <sys/platform/ppc.h>
# define UT_RELAX_CPU() __ppc_get_timebase()
+#elif defined __GNUC__
+/* Mainly, prevent the compiler from optimizing away delay loops */
+# define UT_RELAX_CPU() __asm__ __volatile__ ("":::"memory")
#else
-# define UT_RELAX_CPU() do { \
- volatile int32 volatile_var; \
- int32 oldval= 0; \
- my_atomic_cas32(&volatile_var, &oldval, 1); \
- } while (0)
+# define UT_RELAX_CPU()
#endif
#if defined (__GNUC__)