namespace cds { namespace backoff {
namespace gcc { namespace x86 {
-# define CDS_backoff_pause_defined
- static inline void backoff_pause( unsigned int nLoop = 0x000003FF )
- {
- asm volatile (
- "andl %[nLoop], %%ecx; \n\t"
- "cmovzl %[nLoop], %%ecx; \n\t"
- "rep; "
- "nop; \n\t"
- : /*no output*/
- : [nLoop] "r" (nLoop)
- : "ecx", "cc"
- );
- }
-
# define CDS_backoff_nop_defined
static inline void backoff_nop()
{
asm volatile ( "nop;" );
}
+# define CDS_backoff_hint_defined
+ static inline void backoff_hint()
+ {
+ asm volatile ( "pause;" );
+ }
+
+
}} // namespace gcc::x86
namespace platform {