Displaying 20 results from an estimated 22 matches for "movnt".
Did you mean:
mount
2017 Sep 28
1
VMOVNTDQ in LLVM
This thread from last year has some additional detail regarding the hazards of aggressive MOVNT generation if you’re interested:
http://lists.llvm.org/pipermail/llvm-dev/2016-May/098980.html <http://lists.llvm.org/pipermail/llvm-dev/2016-May/098980.html>
– Steve
> On Sep 28, 2017, at 9:31 AM, Stephen Canon via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> What code...
2017 Sep 28
0
VMOVNTDQ in LLVM
What code did you write where you expected VMOVNTDQ to be generated?
The x86 MOVNT instructions are something of an attractive nuisance. There are cases where they are beneficial, but those cases are much less common and harder to characterize than you might expect. LLVM is deliberately conservative about using MOVNT (IIRC it’s currently only gen...
2017 Sep 28
2
VMOVNTDQ in LLVM
Hello, i am using llvm 4.0 i am generating intel avx code. But in code i
dont find VMOVNTDQ instruction. Why is that so? When does this instruction
generated?
Please clarify.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170928/9e34fd82/attachment-0001.html>
2009 Jul 31
4
[LLVMdev] RFC: SDNode Flags
Right now the MemSDNode keeps a volatile bit in the SubclassData to mark
volatile memory operations.
We have some changes we'd like to push back that adds a NonTemporal flag
to MemSDNode to mark instructions where movnt (on x86) and other goodness
can happen (we'll also add the TableGen patterns to properly select movnt).
In our tree we simply added another flag to the MemSDNode constructor
and embedded it in SubclassData:
MemSDNode(unsigned Opc, DebugLoc dl, SDVTList VTs, MVT MemoryVT,
const Va...
2020 Apr 28
2
Nontemporal memory accesses and fences
...ontemporal attribute in LLVM, and the __builtin_nontemporal_* functions in Clang, is rather spartan and underspecified. In effect, it says the following things:
* Atomic !nontemporal has no defined semantics
* !nontemporal may use special instructions to save cache bandwidth, such as "MOVNT" on x86.
What is crucially lacking from this specification is its effects in relation to other memory ordering constructs, namely fences. In lieu of text to the contrary, one could reasonably come to the conclusion that this code should be sufficient to generate correctly working code:
store...
2009 Aug 03
2
[LLVMdev] RFC: SDNode Flags
...an represent alignments up to
2^1024, which seems like a bit much. :)
What do you think about carving four more bits out of the alignment field
so we have five flag/semantic bits and can represent alignments up to 2^64?
That seems like plenty of alignment headroom.
> How are you representing movnt in LLVM IR, with an intrinsic?
Yes, it's an intrinsic inserted just before the load or store of interest.
I'm not particularly happy with this solution because I'm not sure all
transformation passes will preserve the ordering of
intrinsic-followed-by-operation. Is there a better w...
2009 Aug 01
0
[LLVMdev] RFC: SDNode Flags
...1, 2009, at 11:26 AM, David Greene wrote:
> Right now the MemSDNode keeps a volatile bit in the SubclassData to
> mark
> volatile memory operations.
>
> We have some changes we'd like to push back that adds a NonTemporal
> flag
> to MemSDNode to mark instructions where movnt (on x86) and other
> goodness
> can happen (we'll also add the TableGen patterns to properly select
> movnt).
>
> In our tree we simply added another flag to the MemSDNode constructor
> and embedded it in SubclassData:
>
> MemSDNode(unsigned Opc, DebugLoc dl, SDVTLis...
2009 Aug 03
0
[LLVMdev] RFC: SDNode Flags
...its and can represent alignments up
> to 2^64?
> That seems like plenty of alignment headroom.
Yes, that's fine too. If someone really wanted an alignment greater
than 1<<64, they would probably have other issues that would dwarf
this one.
>
>> How are you representing movnt in LLVM IR, with an intrinsic?
>
> Yes, it's an intrinsic inserted just before the load or store of
> interest.
> I'm not particularly happy with this solution because I'm not sure all
> transformation passes will preserve the ordering of
> intrinsic-followed-by-oper...
2009 Aug 03
1
[LLVMdev] RFC: SDNode Flags
...lly wanted an alignment greater
> than 1<<64, they would probably have other issues that would dwarf
> this one.
But see Evan's note. I can see a need for more bits if we take
target-specific needs into account. I'll work on a solution.
> >> How are you representing movnt in LLVM IR, with an intrinsic?
> >
> > Yes, it's an intrinsic inserted just before the load or store of
> > interest.
> > I'm not particularly happy with this solution because I'm not sure all
> > transformation passes will preserve the ordering of
> >...
2020 Apr 29
2
Nontemporal memory accesses and fences
...he !nontemporal attribute in LLVM, and the __builtin_nontemporal_* functions in Clang, is rather spartan and underspecified. In effect, it says the following things:
* Atomic !nontemporal has no defined semantics
* !nontemporal may use special instructions to save cache bandwidth, such as “MOVNT” on x86.
What is crucially lacking from this specification is its effects in relation to other memory ordering constructs, namely fences. In lieu of text to the contrary, one could reasonably come to the conclusion that this code should be sufficient to generate correctly working code:
store i64...
2010 Jan 04
2
[LLVMdev] Metadata
...viously doesn't specify things like how
to create custom metadata kinds and all that jazz.
As a few of us discussed at the latest dev meeting, I'd like to use
custom metadata to annotate load/store instructions with "nontemporal"
semantics to allow generation of instructions like MOVNT on x86-based
targets. Losing the "nontemporal" annotation won't affect correctness
so it seems a prime candidate for metadata.
One question: should "nontemporal" be "native" metadata or "external?"
-Dave
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
2
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
...w years.
3.1 added upgrade for:
x86.sse2.pcmpeq.* - we have almost no test cases for this
x86.sse2.pcmpgt.* - we no test cases for this
x86.avx2.pcmpeq.* - we have no test cases
x86.avx2.pcmpgt.* - we have no test cases for this
x86.avx.vpermil.* - we do test this
3.2 added upgrade for:
x86.avx.movnt.* - we have tests for this
x86.xop.vpcom* - we have tests for this
x86.sse41.ptest.* had its signature chagned and we upgrade from the old
signature. We don't have tests for the old signature.
x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. We don't
have any tests for the o...
2009 Aug 03
0
[LLVMdev] RFC: SDNode Flags
...1, 2009, at 11:26 AM, David Greene wrote:
> Right now the MemSDNode keeps a volatile bit in the SubclassData to
> mark
> volatile memory operations.
>
> We have some changes we'd like to push back that adds a NonTemporal
> flag
> to MemSDNode to mark instructions where movnt (on x86) and other
> goodness
> can happen (we'll also add the TableGen patterns to properly select
> movnt).
>
> In our tree we simply added another flag to the MemSDNode constructor
> and embedded it in SubclassData:
>
> MemSDNode(unsigned Opc, DebugLoc dl, SDVTLis...
2016 Jan 12
1
[PATCH 3/4] x86,asm: Re-work smp_store_mb()
On Tue, Jan 12, 2016 at 09:20:06AM -0800, Linus Torvalds wrote:
> On Tue, Jan 12, 2016 at 5:57 AM, Michael S. Tsirkin <mst at redhat.com> wrote:
> > #ifdef xchgrz
> > /* same as xchg but poking at gcc red zone */
> > #define barrier() do { int ret; asm volatile ("xchgl %0, -4(%%" SP ");": "=r"(ret) :: "memory", "cc"); }
2016 Jan 12
1
[PATCH 3/4] x86,asm: Re-work smp_store_mb()
On Tue, Jan 12, 2016 at 09:20:06AM -0800, Linus Torvalds wrote:
> On Tue, Jan 12, 2016 at 5:57 AM, Michael S. Tsirkin <mst at redhat.com> wrote:
> > #ifdef xchgrz
> > /* same as xchg but poking at gcc red zone */
> > #define barrier() do { int ret; asm volatile ("xchgl %0, -4(%%" SP ");": "=r"(ret) :: "memory", "cc"); }
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
0
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
...86.sse2.pcmpeq.* - we have almost no test cases for this
> x86.sse2.pcmpgt.* - we no test cases for this
> x86.avx2.pcmpeq.* - we have no test cases
> x86.avx2.pcmpgt.* - we have no test cases for this
> x86.avx.vpermil.* - we do test this
>
> 3.2 added upgrade for:
> x86.avx.movnt.* - we have tests for this
> x86.xop.vpcom* - we have tests for this
> x86.sse41.ptest.* had its signature chagned and we upgrade from the old
> signature. We don't have tests for the old signature.
> x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. We don't
>...
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
2
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
...almost no test cases for this
>> x86.sse2.pcmpgt.* - we no test cases for this
>> x86.avx2.pcmpeq.* - we have no test cases
>> x86.avx2.pcmpgt.* - we have no test cases for this
>> x86.avx.vpermil.* - we do test this
>>
>> 3.2 added upgrade for:
>> x86.avx.movnt.* - we have tests for this
>> x86.xop.vpcom* - we have tests for this
>> x86.sse41.ptest.* had its signature chagned and we upgrade from the old
>> signature. We don't have tests for the old signature.
>> x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. W...
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 21
3
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
....sse2.pcmpeq.* - we have almost no test cases for this
> x86.sse2.pcmpgt.* - we no test cases for this
> x86.avx2.pcmpeq.* - we have no test cases
> x86.avx2.pcmpgt.* - we have no test cases for this
> x86.avx.vpermil.* - we do test this
>
> 3.2 added upgrade for:
> x86.avx.movnt.* - we have tests for this
> x86.xop.vpcom* - we have tests for this
> x86.sse41.ptest.* had its signature chagned and we upgrade from the old signature. We don't have tests for the old signature.
> x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. We don't have any...
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 20
0
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
...w years.
3.1 added upgrade for:
x86.sse2.pcmpeq.* - we have almost no test cases for this
x86.sse2.pcmpgt.* - we no test cases for this
x86.avx2.pcmpeq.* - we have no test cases
x86.avx2.pcmpgt.* - we have no test cases for this
x86.avx.vpermil.* - we do test this
3.2 added upgrade for:
x86.avx.movnt.* - we have tests for this
x86.xop.vpcom* - we have tests for this
x86.sse41.ptest.* had its signature chagned and we upgrade from the old signature. We don't have tests for the old signature.
x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. We don't have any tests for the o...
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
2017 Sep 22
0
RFC: [X86] Can we begin removing AutoUpgrade support for x86 instrinsics added in early 3.X versions
...86.sse2.pcmpeq.* - we have almost no test cases for this
> x86.sse2.pcmpgt.* - we no test cases for this
> x86.avx2.pcmpeq.* - we have no test cases
> x86.avx2.pcmpgt.* - we have no test cases for this
> x86.avx.vpermil.* - we do test this
>
> 3.2 added upgrade for:
> x86.avx.movnt.* - we have tests for this
> x86.xop.vpcom* - we have tests for this
> x86.sse41.ptest.* had its signature chagned and we upgrade from the old
> signature. We don't have tests for the old signature.
> x86.xop.vfrcz.ss/sd had an argument dropped that we upgrade for. We don't
>...