[LLVMdev] llvm memory barrier as a builtin
Mon Ping Wang
monping at apple.com
Wed Sep 17 10:10:50 PDT 2008
By semantic difference, I only meant that the memory barrier is more
generic that mfence, i..e., it has a different signature that allows
us to express various kinds of memory barriers.
-- Mon Ping
On Sep 16, 2008, at 11:38 PM, Eli Friedman wrote:
> On Tue, Sep 16, 2008 at 11:22 PM, Duncan Sands <baldrick at free.fr>
> wrote:
>>> I would like access to LLVM memory barrier instruction as a built-in
>>> from clang, which means that I need a name for it. In gcc, I see
>>> names
>>> like __builtin_ia32_mfence but those refers to X86 SSE instruction
>>> that we support. I don't see a gcc name that has the same semantics
>>> as our barrier instruction. For a name, I was thinking of
>>> __builtin_memory_barrier or __builtin_llvm_memory_barrier. Does
>>> anyone object of adding it as built-in or have a better idea for a
>>> name?
>>
>> What are the semantic differences?
>
> As far as I know, there isn't a difference, just that the intrinsic
> isn't platform-specific. I think SSE2 mfence is equivalent to
> "llvm.memory.barrier(i1 true,i1 true,i1 true,i1 true,i1 true)".
>
> -Eli
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list