23 lines
556 B
Diff
23 lines
556 B
Diff
--- a/src/core/atomic/atomic_unknown.h 2023-01-03 20:02:51.000000000 +0300
|
|
+++ b/src/core/atomic/atomic_unknown.h 2023-01-12 14:02:07.851068713 +0300
|
|
@@ -65,11 +65,19 @@
|
|
* with a full memory barrier
|
|
* => to be safe we must use either unlock; lock or lock; unlock; lock; unlock
|
|
* --andrei*/
|
|
+#ifdef __e2k__
|
|
+#include <e2kbuiltin.h>
|
|
+#define membar() __builtin_ia32_pause()
|
|
+
|
|
+#warning builtin memory barrier detected
|
|
+
|
|
+#else
|
|
#define membar() \
|
|
do{\
|
|
_membar_unlock; \
|
|
_membar_lock; \
|
|
} while(0)
|
|
+#endif /* E2K */
|
|
#endif /* NOSMP */
|
|
|
|
|