search for: _mm_mfence

Displaying 7 results from an estimated 7 matches for "_mm_mfence".

Did you mean: _mm_lfence
2009 Jun 02
0
[LLVMdev] RFC: Atomics.h
Owen Anderson wrote: > Is this actually the case? I can't find it documented anywhere on > MSDN or the rest of the internet. C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include>grep -n -F MemoryFence WinNT.h 2231:#define MemoryFence _mm_mfence C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include>grep -n -F MemoryBarrier WinNT.h 2288:#define MemoryBarrier __faststorefence 3362:MemoryBarrier ( 4890:#define MemoryBarrier __mf Also, I have absolutely no problem using MSDN search to find these links: http://blogs.msdn.com/itg...
2009 Jun 02
2
[LLVMdev] RFC: Atomics.h
Is this actually the case? I can't find it documented anywhere on MSDN or the rest of the internet. --Owen On Jun 1, 2009, at 11:17 PM, Jonathan Ragan-Kelley wrote: > Yes, indeed. > > On May 28, 10:41 pm, Owen Anderson <resis... at mac.com> wrote: >> >> Wait, it defines MemoryFence() AND MemoryBarrier()?? >> >> Sheesh, they had to take all the
2009 May 29
0
[LLVMdev] RFC: Atomics.h
...ine void llvm::sys::MemoryFence(). This conflicts with the MemoryFence macro in <windows.h> and (since it's a preprocessor macro, and not a scoped function definition) causes the sys::MemoryFence definition on Atomic.cpp:23 to explode, as it's nonsensically expanded to a cl intrinsic (_mm_mfence). This breaks the Visual Studio build. The trivial fix is to #undef MemoryFence immediately after including <windows.h>, since it's clearly assumed not to exist. A deeper and safer fix might consider avoiding a name conflict with a core system macro on a widely used platform. On May 17...
2009 May 17
2
[LLVMdev] RFC: Atomics.h
On May 17, 2009, at 12:32 PM, Chris Lattner wrote: > Owen, I would really rather that you didn't take this path. Threading > support in LLVM should always be optional: it should be possible to > use LLVM on systems where we don't have support for threading > operations. Indeed, some systems don't support threads! I'm not trying to make it required. I had provided
2009 May 29
3
[LLVMdev] RFC: Atomics.h
...MemoryFence(). This conflicts with the MemoryFence macro in > <windows.h> and (since it's a preprocessor macro, and not a scoped > function definition) causes the sys::MemoryFence definition on > Atomic.cpp:23 to explode, as it's nonsensically expanded to a cl > intrinsic (_mm_mfence). This breaks the Visual Studio build. > > The trivial fix is to #undef MemoryFence immediately after including > <windows.h>, since it's clearly assumed not to exist. A deeper and > safer fix might consider avoiding a name conflict with a core system > macro on a widely us...
2016 Jan 13
4
RFC: non-temporal fencing in LLVM IR
...r a locked top-of-stack idempotent operation is better than mfence). Other languages have private stacks where this isn't an issue, and where the stack top can reasonably be assumed to be in cache. *How will this affect non-user-mode code (i.e. kernel code)?* Kernel code still has to ask for _mm_mfence if it wants mfence: C11 and C++11 barriers aren't specified as a specific instruction. *Is it safe to access top-of-stack?* AFAIK yes, and the ABI-specified red zone has our back (or front if the stack grows up ☻). *What about non-x86 architectures?* Architectures such as ARMv8 support no...
2016 Jan 13
2
RFC: non-temporal fencing in LLVM IR
...an mfence). Other > languages have private stacks where this isn't an issue, and where the > stack top can reasonably be assumed to be in cache. > > > > > > *How will this affect non-user-mode code (i.e. kernel code)?* > > > > Kernel code still has to ask for _mm_mfence if it wants mfence: C11 and > C++11 barriers aren't specified as a specific instruction. > > > > > > *Is it safe to access top-of-stack?* > > > > AFAIK yes, and the ABI-specified red zone has our back (or front if the > stack grows up ☻). > > > >...