diff options
author | Dan Gohman <gohman@apple.com> | 2007-09-17 14:49:27 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2007-09-17 14:49:27 +0000 |
commit | 5f6913cecd9f760c02754772cb57fa4d9a96624f (patch) | |
tree | 8df4f05f0cd6c727e0ea21516454c1e66e27cc94 /lib/Target | |
parent | 11f7bfbb834e42cd53a81a84a1dfc118ae17c9c5 (diff) | |
download | external_llvm-5f6913cecd9f760c02754772cb57fa4d9a96624f.zip external_llvm-5f6913cecd9f760c02754772cb57fa4d9a96624f.tar.gz external_llvm-5f6913cecd9f760c02754772cb57fa4d9a96624f.tar.bz2 |
Emit integer x<1 as x<=0, as comparisons with zero (now includeing
64-bit) can use test instead of cmp with an immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 55f37a6..3b4b4f9 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -1546,6 +1546,11 @@ static bool translateX86CC(ISD::CondCode SetCCOpcode, bool isFP, // X < 0 -> X == 0, jump on sign. X86CC = X86::COND_S; return true; + } else if (SetCCOpcode == ISD::SETLT && RHSC->getValue() == 1) { + // X < 1 -> X <= 0 + RHS = DAG.getConstant(0, RHS.getValueType()); + X86CC = X86::COND_LE; + return true; } } |