diff options
author | Alexey Volkov <avolkov.intel@gmail.com> | 2014-06-09 11:40:41 +0000 |
---|---|---|
committer | Alexey Volkov <avolkov.intel@gmail.com> | 2014-06-09 11:40:41 +0000 |
commit | 5260dba32346bdaec7277eed9f24b0c121e55e8b (patch) | |
tree | 1552540bc2a04fb5d88bf9b292eba1582f1aebea /llvm/lib/Target/X86/X86Subtarget.cpp | |
parent | b22b96366965db910547d803abb9d4946fe76b4a (diff) | |
download | bcm5719-llvm-5260dba32346bdaec7277eed9f24b0c121e55e8b.tar.gz bcm5719-llvm-5260dba32346bdaec7277eed9f24b0c121e55e8b.zip |
[X86] Use ADD/SUB instead of INC/DEC for Silvermont
According to Intel Software Optimization Manual
on Silvermont INC or DEC instructions require
an additional uop to merge the flags.
As a result, a branch instruction depending
on an INC or a DEC instruction incurs a 1 cycle penalty.
Differential Revision: http://reviews.llvm.org/D3990
llvm-svn: 210466
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 989e0d61b6f..0df16c56ee1 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp @@ -291,6 +291,7 @@ void X86Subtarget::initializeEnvironment() { CallRegIndirect = false; LEAUsesAG = false; SlowLEA = false; + SlowIncDec = false; stackAlignment = 4; // FIXME: this is a known good value for Yonah. How about others? MaxInlineSizeThreshold = 128; |