diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 248c7bafd5d..492071adba7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -1126,7 +1126,9 @@ SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) {        Result = PromoteOp(Node->getOperand(0));        break;      case Expand: -      assert(0 && "Cannot handle expand yet"); +      ExpandOp(Node->getOperand(0), Tmp1, Tmp2); +      // Truncate the low part of the expanded value to the result type +      Result = DAG.getNode(ISD::TRUNCATE, VT, Tmp1);       }      break;    case ISD::SIGN_EXTEND: | 

