diff --git a/include/boost/atomic/thread_pause.hpp b/include/boost/atomic/thread_pause.hpp index ff44dc0..7926a95 100644 --- a/include/boost/atomic/thread_pause.hpp +++ b/include/boost/atomic/thread_pause.hpp @@ -24,7 +24,7 @@ // (sigh, shake head) _M_ARM64EC and _M_AMD64 may be defined both // https://learn.microsoft.com/en-us/windows/arm/arm64ec-abi #if defined(_M_ARM64) || defined(_M_ARM64EC) -extern "C" void __isb(void); +extern "C" void __isb(unsigned int); #if defined(BOOST_MSVC) #pragma intrinsic(__isb) #endif @@ -56,7 +56,7 @@ BOOST_FORCEINLINE void thread_pause() noexcept BOOST_ATOMIC_DETAIL_COMPILER_BARRIER(); #if defined(_M_ARM64) || defined(_M_ARM64EC) - __isb(); + __isb(0xF); // ISB SY #elif defined(_M_ARM) __yield(); #elif defined(_M_AMD64) || defined(_M_IX86)