diff options
author | Craig Topper <craig.topper@intel.com> | 2017-10-27 20:13:10 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2017-10-27 20:13:10 +0000 |
commit | 728fa7b4e2e6c6c983e77df4d8970ab96112fd15 (patch) | |
tree | 291efad2109bd874b3487b637bc97aa43deae773 /llvm | |
parent | 58fe564e9338985057cebe4b296ef59ff1de92bb (diff) | |
download | bcm5719-llvm-728fa7b4e2e6c6c983e77df4d8970ab96112fd15.tar.gz bcm5719-llvm-728fa7b4e2e6c6c983e77df4d8970ab96112fd15.zip |
[X86] Teach fastisel to use VLX VMOVNTDQA for v4f64 and 256-bit integers when available.
This looks to have been missed from r280682.
llvm-svn: 316790
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index 49ff90644e4..1f51cbb722a 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -423,7 +423,7 @@ bool X86FastISel::X86FastEmitLoad(EVT VT, X86AddressMode &AM, 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, X86AddressMode &AM, 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) |