| 39 | namespace STDEXEC::__stok |
| 40 | { |
| 41 | inline void __pause() |
| 42 | { |
| 43 | #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) |
| 44 | ::_mm_pause(); |
| 45 | #elif defined(__i386__) || defined(__x86_64__) || defined(_M_X64) |
| 46 | asm volatile("pause"); |
| 47 | #elif defined(__aarch64__) || defined(__arm__) |
| 48 | asm volatile("yield"); |
| 49 | #elif defined(__powerpc64__) |
| 50 | asm volatile("or 27,27,27"); |
| 51 | #endif |
| 52 | } |
| 53 | |
| 54 | struct __inplace_stop_callback_base |
| 55 | { |