diff options
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index f3c18d37d3d..224b969694d 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -535,6 +535,9 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT,        case ISD::AND  : return getConstant(C1 & C2, VT);        case ISD::OR   : return getConstant(C1 | C2, VT);        case ISD::XOR  : return getConstant(C1 ^ C2, VT); +      case ISD::SHL  : return getConstant(C1 << (int)C2, VT); +      case ISD::SRL  : return getConstant(C1 >> (unsigned)C2, VT); +      case ISD::SRA  : return getConstant(N1C->getSignExtended() >>(int)C2, VT);        default: break;        }  | 

