Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.337 -> 1.338 --- Log message: Only to vector shuffle for {x,x,y,y} cases when SCALAR_TO_VECTOR is free. --- Diffs of the changes: (+2 -1) LegalizeDAG.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.337 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.338 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.337 Fri Mar 24 01:29:17 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Fri Mar 24 12:45:20 2006 @@ -3209,7 +3209,8 @@ SDOperand ShuffleMask = DAG.getNode(ISD::BUILD_VECTOR, MaskVT, MaskVec); // If the target supports VECTOR_SHUFFLE and this shuffle mask, use it. - if (TLI.isShuffleLegal(Node->getValueType(0), ShuffleMask)) { + if (TLI.isShuffleLegal(Node->getValueType(0), ShuffleMask) && + TLI.isOperationLegal(ISD::SCALAR_TO_VECTOR, Node->getValueType(0))) { std::vector<SDOperand> Ops; for(std::map<SDOperand,std::vector<unsigned> >::iterator I=Values.begin(), E = Values.end(); I != E; ++I) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits