summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86Subtarget.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2014-11-21 17:40:04 +0000
committerSanjay Patel <spatel@rotateright.com>2014-11-21 17:40:04 +0000
commit501890e909c20869a3d2a092d0c4548fc2f3fcd3 (patch)
treea37e77af9f6f68bfbb52ada242819ea5caecfa94 /llvm/lib/Target/X86/X86Subtarget.cpp
parent44b82359c930bf35a6a03a0db4d0fe322c025a17 (diff)
downloadbcm5719-llvm-501890e909c20869a3d2a092d0c4548fc2f3fcd3.tar.gz
bcm5719-llvm-501890e909c20869a3d2a092d0c4548fc2f3fcd3.zip
Add a feature flag for slow 32-byte unaligned memory accesses [x86].
This patch adds a feature flag to avoid unaligned 32-byte load/store AVX codegen for Sandy Bridge and Ivy Bridge. There is no functionality change intended for those chips. Previously, the absence of AVX2 was being used as a proxy to detect this feature. But that hindered codegen for AVX-enabled AMD chips such as btver2 that do not have the 32-byte unaligned access slowdown. Performance measurements are included in PR21541 ( http://llvm.org/bugs/show_bug.cgi?id=21541 ). Differential Revision: http://reviews.llvm.org/D6355 llvm-svn: 222544
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.cpp')
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp
index afa0173fb10..e59395c06a5 100644
--- a/llvm/lib/Target/X86/X86Subtarget.cpp
+++ b/llvm/lib/Target/X86/X86Subtarget.cpp
@@ -264,6 +264,7 @@ void X86Subtarget::initializeEnvironment() {
IsBTMemSlow = false;
IsSHLDSlow = false;
IsUAMemFast = false;
+ IsUAMem32Slow = false;
HasVectorUAMem = false;
HasCmpxchg16b = false;
UseLeaForSP = false;
OpenPOWER on IntegriCloud