diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-11-05 06:04:18 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-11-05 06:04:18 +0000 |
commit | c7b04a12bbe838e3f60e63c11ad928702991bcdd (patch) | |
tree | e5cff42d4e833643e5c99344430a360df68fa8df /llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | |
parent | 3cd5e8c97b2532f15d8fcf69e3ff9cceeae120a7 (diff) | |
download | bcm5719-llvm-c7b04a12bbe838e3f60e63c11ad928702991bcdd.tar.gz bcm5719-llvm-c7b04a12bbe838e3f60e63c11ad928702991bcdd.zip |
Type of shuffle mask has changed.
llvm-svn: 58751
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index c6c8e0359b3..f8d92cba792 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -5155,6 +5155,7 @@ SDValue DAGCombiner::XformToShuffleWithZero(SDNode *N) { // Return the new VECTOR_SHUFFLE node. MVT EVT = RHS.getValueType().getVectorElementType(); MVT VT = MVT::getVectorVT(EVT, NumElts); + MVT MaskVT = MVT::getVectorVT(TLI.getPointerTy(), NumElts); std::vector<SDValue> Ops; LHS = DAG.getNode(ISD::BIT_CONVERT, VT, LHS); Ops.push_back(LHS); @@ -5162,7 +5163,7 @@ SDValue DAGCombiner::XformToShuffleWithZero(SDNode *N) { std::vector<SDValue> ZeroOps(NumElts, DAG.getConstant(0, EVT)); Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, VT, &ZeroOps[0], ZeroOps.size())); - Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, VT, + Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, MaskVT, &IdxOps[0], IdxOps.size())); SDValue Result = DAG.getNode(ISD::VECTOR_SHUFFLE, VT, &Ops[0], Ops.size()); |