Since inlined assembly is not supported by VC++ 2010 in 64-bit code, how do I get a pause
x86-64 instruction into my code? There does not appear to be an intrinsic for this like there is for many other common assembly instructions (e.g., __rdtsc()
, __cpuid()
, etc...).
On the why side, I want the instruction to help with a busy wait use case, so that the (hyperthreaded) CPU is available to other threads running on said CPU (See: Performance Insights at intel.com). The pause
instruction is very helpful for this use case as well as spin-lock implementations, I can't understand why MS did not include it as an intrinsic.
Thanks