summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86FastISel.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2013-07-17 06:58:23 +0000
committerCraig Topper <craig.topper@gmail.com>2013-07-17 06:58:23 +0000
commit55475d448b513595787dfac62f7a1c069268840e (patch)
tree3ee3f9098f0f48d65d087d10a6e98cec7ed44897 /llvm/lib/Target/X86/X86FastISel.cpp
parent46cbc2ed50e27a5cfade691f7a5586fa7b933072 (diff)
downloadbcm5719-llvm-55475d448b513595787dfac62f7a1c069268840e.tar.gz
bcm5719-llvm-55475d448b513595787dfac62f7a1c069268840e.zip
Teach x86 fast-isel to use AVX opcodes for vector stores when AVX is enabled.
llvm-svn: 186496
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
index 7419822b673..8c9575c8b77 100644
--- a/llvm/lib/Target/X86/X86FastISel.cpp
+++ b/llvm/lib/Target/X86/X86FastISel.cpp
@@ -264,24 +264,24 @@ X86FastISel::X86FastEmitStore(EVT VT, unsigned ValReg,
break;
case MVT::v4f32:
if (Aligned)
- Opc = X86::MOVAPSmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVAPSmr : X86::MOVAPSmr;
else
- Opc = X86::MOVUPSmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVUPSmr : X86::MOVUPSmr;
break;
case MVT::v2f64:
if (Aligned)
- Opc = X86::MOVAPSmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVAPSmr : X86::MOVAPSmr;
else
- Opc = X86::MOVUPSmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVUPSmr : X86::MOVUPSmr;
break;
case MVT::v4i32:
case MVT::v2i64:
case MVT::v8i16:
case MVT::v16i8:
if (Aligned)
- Opc = X86::MOVDQAmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVDQAmr : X86::MOVDQAmr;
else
- Opc = X86::MOVDQUmr;
+ Opc = Subtarget->hasAVX() ? X86::VMOVDQUmr : X86::MOVDQUmr;
break;
}
OpenPOWER on IntegriCloud