|
@@ -219,15 +219,20 @@ STARPU_ATOMIC_SOMETHING(or, old | value)
|
|
|
#define STARPU_SYNCHRONIZE() __sync_synchronize()
|
|
|
#elif defined(__i386__)
|
|
|
#define STARPU_SYNCHRONIZE() __asm__ __volatile__("lock; addl $0,0(%%esp)" ::: "memory")
|
|
|
+#elif defined(__KNC__) || defined(__KNF__)
|
|
|
+#define STARPU_SYNCHRONIZE() __asm__ __volatile__("lock; addl $0,0(%%rsp)" ::: "memory")
|
|
|
#elif defined(__x86_64__)
|
|
|
#define STARPU_SYNCHRONIZE() __asm__ __volatile__("mfence" ::: "memory")
|
|
|
#elif defined(__ppc__) || defined(__ppc64__)
|
|
|
#define STARPU_SYNCHRONIZE() __asm__ __volatile__("sync" ::: "memory")
|
|
|
#endif
|
|
|
|
|
|
-#if defined(__i386__) || defined(__KNC__) || defined(__KNF__)
|
|
|
+#if defined(__i386__)
|
|
|
#define STARPU_RMB() __asm__ __volatile__("lock; addl $0,0(%%esp)" ::: "memory")
|
|
|
#define STARPU_WMB() __asm__ __volatile__("lock; addl $0,0(%%esp)" ::: "memory")
|
|
|
+#elif defined(__KNC__) || defined(__KNF__)
|
|
|
+#define STARPU_RMB() __asm__ __volatile__("lock; addl $0,0(%%rsp)" ::: "memory")
|
|
|
+#define STARPU_WMB() __asm__ __volatile__("lock; addl $0,0(%%rsp)" ::: "memory")
|
|
|
#elif defined(__x86_64__)
|
|
|
#define STARPU_RMB() __asm__ __volatile__("lfence" ::: "memory")
|
|
|
#define STARPU_WMB() __asm__ __volatile__("sfence" ::: "memory")
|