Re: Question about __builtin_ia32_mfence and memory barriers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 4, 2013 at 7:45 PM, dw <limegreensocks@xxxxxxxxx> wrote:

> And while I get an mfence instruction with this:
>
>     __atomic_thread_fence(__ATOMIC_SEQ_CST);
>
> It doesn't produce quite the same instruction ordering as:
>
>   asm volatile ("mfence" ::: "memory");
>
> Which makes me think that whatever __ATOMIC_SEQ_CST means, it's not the same
> as the "memory" clobber.

It's not the same as the "memory" clobber, but it should have the
effect of providing both an mfence instruction and a compiler memory
barrier.

> Also, I'm looking to support SFENCE and LFENCE,
> which these don't appear to support at all.

That is true.  I think the only supported way to get those is the
Intel intrinsics _mm_sfence and _mm_lfence.

Ian




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux