[llvm] r316790 - [X86] Teach fastisel to use VLX VMOVNTDQA for v4f64 and 256-bit integers when available.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 27 13:13:10 PDT 2017
Author: ctopper
Date: Fri Oct 27 13:13:10 2017
New Revision: 316790
URL: http://llvm.org/viewvc/llvm-project?rev=316790&view=rev
Log:
[X86] Teach fastisel to use VLX VMOVNTDQA for v4f64 and 256-bit integers when available.
This looks to have been missed from r280682.
Modified:
llvm/trunk/lib/Target/X86/X86FastISel.cpp
Modified: llvm/trunk/lib/Target/X86/X86FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FastISel.cpp?rev=316790&r1=316789&r2=316790&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86FastISel.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86FastISel.cpp Fri Oct 27 13:13:10 2017
@@ -423,7 +423,7 @@ bool X86FastISel::X86FastEmitLoad(EVT VT
case MVT::v4f64:
assert(HasAVX);
if (IsNonTemporal && Alignment >= 32 && HasAVX2)
- Opc = X86::VMOVNTDQAYrm;
+ Opc = HasVLX ? X86::VMOVNTDQAZ256rm : X86::VMOVNTDQAYrm;
else if (IsNonTemporal && Alignment >= 16)
return false; // Force split for X86::VMOVNTDQArm
else if (Alignment >= 32)
@@ -438,7 +438,7 @@ bool X86FastISel::X86FastEmitLoad(EVT VT
case MVT::v32i8:
assert(HasAVX);
if (IsNonTemporal && Alignment >= 32 && HasAVX2)
- Opc = X86::VMOVNTDQAYrm;
+ Opc = HasVLX ? X86::VMOVNTDQAZ256rm : X86::VMOVNTDQAYrm;
else if (IsNonTemporal && Alignment >= 16)
return false; // Force split for X86::VMOVNTDQArm
else if (Alignment >= 32)
More information about the llvm-commits
mailing list