aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dyngen-exec.h2
-rw-r--r--target-mips/exec.h4
-rw-r--r--target-ppc/exec.h4
3 files changed, 5 insertions, 5 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h
index 0c392283d4..2f3878561c 100644
--- a/dyngen-exec.h
+++ b/dyngen-exec.h
@@ -188,7 +188,7 @@ extern int printf(const char *, ...);
#endif
/* force GCC to generate only one epilog at the end of the function */
-#define FORCE_RET() asm volatile ("");
+#define FORCE_RET() __asm__ __volatile__("" : : : "memory");
#ifndef OPPROTO
#define OPPROTO
diff --git a/target-mips/exec.h b/target-mips/exec.h
index 9e1fcdc000..e364d8a6fc 100644
--- a/target-mips/exec.h
+++ b/target-mips/exec.h
@@ -45,9 +45,9 @@ register host_uint_t T2 asm(AREG3);
#endif
#if defined (DEBUG_OP)
-#define RETURN() __asm__ __volatile__("nop");
+# define RETURN() __asm__ __volatile__("nop" : : : "memory");
#else
-#define RETURN() __asm__ __volatile__("");
+# define RETURN() __asm__ __volatile__("" : : : "memory");
#endif
#include "cpu.h"
diff --git a/target-ppc/exec.h b/target-ppc/exec.h
index 3ef0968bc3..89171f9d3f 100644
--- a/target-ppc/exec.h
+++ b/target-ppc/exec.h
@@ -38,9 +38,9 @@ register uint32_t T2 asm(AREG3);
#define FT2 (env->ft2)
#if defined (DEBUG_OP)
-#define RETURN() __asm__ __volatile__("nop");
+# define RETURN() __asm__ __volatile__("nop" : : : "memory");
#else
-#define RETURN() __asm__ __volatile__("");
+# define RETURN() __asm__ __volatile__("" : : : "memory");
#endif
#include "cpu.h"