commit | 433f6f62ca858c20d5d3f561e63818c2fda06ebe | [log] [tgz] |
---|---|---|
author | Evan Cheng <evan.cheng@apple.com> | Thu Mar 06 08:20:51 2008 +0000 |
committer | Evan Cheng <evan.cheng@apple.com> | Thu Mar 06 08:20:51 2008 +0000 |
tree | 1b0ac953f5512806efbfc08f3ee5d241f711be50 | |
parent | 819a66cf2582f6d9108a7a7f4a75175d7901a8dc [diff] [blame] |
Constant fold SIGN_EXTEND_INREG with ashr not lshr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47992 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index dd13435..0dba4a4 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -2029,7 +2029,7 @@ APInt Val = N1C->getAPIntValue(); unsigned FromBits = MVT::getSizeInBits(cast<VTSDNode>(N2)->getVT()); Val <<= Val.getBitWidth()-FromBits; - Val = Val.lshr(Val.getBitWidth()-FromBits); + Val = Val.ashr(Val.getBitWidth()-FromBits); return getConstant(Val, VT); } break;