diff options
author | Sanjay Patel <spatel@rotateright.com> | 2014-11-21 17:40:04 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2014-11-21 17:40:04 +0000 |
commit | 501890e909c20869a3d2a092d0c4548fc2f3fcd3 (patch) | |
tree | a37e77af9f6f68bfbb52ada242819ea5caecfa94 /llvm/lib/Target/X86/X86Subtarget.cpp | |
parent | 44b82359c930bf35a6a03a0db4d0fe322c025a17 (diff) | |
download | bcm5719-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.cpp | 1 |
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; |