diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-03-20 02:18:41 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-03-20 02:18:41 +0000 |
commit | ca0e80fc6b927e48363387a8f721883141f8b2b3 (patch) | |
tree | d7ef645f402fee9016a843d6e778c048612859c7 /lib/Target | |
parent | 6734c3a8ea14d2bbdf7704794f3df2e0a28aacb2 (diff) | |
download | external_llvm-ca0e80fc6b927e48363387a8f721883141f8b2b3.zip external_llvm-ca0e80fc6b927e48363387a8f721883141f8b2b3.tar.gz external_llvm-ca0e80fc6b927e48363387a8f721883141f8b2b3.tar.bz2 |
Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m)))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48578 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 93fb802..5a05aba 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -5662,7 +5662,7 @@ bool X86TargetLowering::isTruncateFree(const Type *Ty1, const Type *Ty2) const { return false; unsigned NumBits1 = Ty1->getPrimitiveSizeInBits(); unsigned NumBits2 = Ty2->getPrimitiveSizeInBits(); - if (NumBits1 <= NumBits2 || NumBits2 < 8) + if (NumBits1 <= NumBits2) return false; return Subtarget->is64Bit() || NumBits1 < 64; } @@ -5673,7 +5673,7 @@ bool X86TargetLowering::isTruncateFree(MVT::ValueType VT1, return false; unsigned NumBits1 = MVT::getSizeInBits(VT1); unsigned NumBits2 = MVT::getSizeInBits(VT2); - if (NumBits1 <= NumBits2 || NumBits2 < 8) + if (NumBits1 <= NumBits2) return false; return Subtarget->is64Bit() || NumBits1 < 64; } |