[LLVMdev] llvm memory barrier as a builtin
Eli Friedman
eli.friedman at gmail.com
Tue Sep 16 23:38:28 PDT 2008
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
More information about the llvm-dev
mailing list