asm volatile ("" : : : "memory")
I know that this provides a compiler level memory fence and processor can still do reordering when this is used.
Is there anyway I can achieve both compiler level fencing and processor level fencing with a similar instruction?
I came across,
asm volatile("sfence" : : : "memory")
What does this do? Does it provide only compiler level store fencing?
Any inputs on this will be very helpful.