Skip to content
Snippets Groups Projects
Commit ed16d1da authored by William Horvath's avatar William Horvath Committed by Alexandre Julliard
Browse files

include: Use inline assembly on Clang MSVC mode in YieldProcessor().

Otherwise, YieldProcessor() is a no-op.
parent a4893039
No related branches found
No related tags found
No related merge requests found
......@@ -7386,11 +7386,11 @@ static FORCEINLINE unsigned char InterlockedCompareExchange128( volatile __int64
static FORCEINLINE void YieldProcessor(void)
{
#ifdef __GNUC__
#if defined(__i386__) || defined(__x86_64__)
__asm__ __volatile__( "rep; nop" : : : "memory" );
#elif defined(__arm__) || defined(__aarch64__)
#if defined(__GNUC__) || defined(__clang__)
#if defined(__arm__) || defined(__aarch64__) || defined(__arm64ec__)
__asm__ __volatile__( "dmb ishst\n\tyield" : : : "memory" );
#elif defined(__i386__) || defined(__x86_64__)
__asm__ __volatile__( "rep; nop" : : : "memory" );
#else
__asm__ __volatile__( "" : : : "memory" );
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment