commit | 7faa1d74f8d347615a0ff54eb05f8f0ac35af448 | [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 | f8033361663fd57283b3236ad75af0e7f7e5827c [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;