We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d1a986c commit 2fe2bbbCopy full SHA for 2fe2bbb
Include/internal/pycore_lock.h
@@ -14,7 +14,7 @@ extern "C" {
14
#endif
15
16
#if defined(MS_WINDOWS)
17
-# include <emmintrin.h> // _mm_pause()
+# include <intrin.h> // _mm_pause(), __yield()
18
19
20
//_Py_UNLOCKED is defined as 0 and _Py_LOCKED as 1 in Include/cpython/pylock.h
@@ -87,8 +87,10 @@ _Py_yield(void)
87
__asm__ volatile ("yield" ::: "memory");
88
#elif defined(__powerpc__) || defined(__ppc__) || defined(__PPC__)
89
__asm__ volatile ("or 27,27,27" ::: "memory");
90
-#elif defined(MS_WINDOWS)
+#elif defined(_M_X64) || defined(_M_IX86)
91
_mm_pause();
92
+#elif defined(_M_ARM64) || defined(_M_ARM)
93
+ __yield();
94
#elif defined(HAVE_SCHED_H)
95
sched_yield();
96
0 commit comments