[llvm-branch-commits] [llvm-branch] r84959 - in /llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG: LegalizeTypes.h LegalizeVectorTypes.cpp
Bill Wendling
isanbard at gmail.com
Fri Oct 23 11:19:28 PDT 2009
Author: void
Date: Fri Oct 23 13:19:28 2009
New Revision: 84959
URL: http://llvm.org/viewvc/llvm-project?rev=84959&view=rev
Log:
$ svn merge -c 84279 https://llvm.org/svn/llvm-project/llvm/trunk
--- Merging r84279 into '.':
U lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
U lib/CodeGen/SelectionDAG/LegalizeTypes.h
Modified:
llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeTypes.h
llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Modified: llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeTypes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeTypes.h?rev=84959&r1=84958&r2=84959&view=diff
==============================================================================
--- llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeTypes.h (original)
+++ llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeTypes.h Fri Oct 23 13:19:28 2009
@@ -623,6 +623,7 @@
SDValue WidenVecOp_BIT_CONVERT(SDNode *N);
SDValue WidenVecOp_CONCAT_VECTORS(SDNode *N);
SDValue WidenVecOp_EXTRACT_VECTOR_ELT(SDNode *N);
+ SDValue WidenVecOp_EXTRACT_SUBVECTOR(SDNode *N);
SDValue WidenVecOp_STORE(SDNode* N);
SDValue WidenVecOp_Convert(SDNode *N);
Modified: llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp?rev=84959&r1=84958&r2=84959&view=diff
==============================================================================
--- llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (original)
+++ llvm/branches/Apple/Bender-SWB/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Fri Oct 23 13:19:28 2009
@@ -1830,6 +1830,7 @@
case ISD::BIT_CONVERT: Res = WidenVecOp_BIT_CONVERT(N); break;
case ISD::CONCAT_VECTORS: Res = WidenVecOp_CONCAT_VECTORS(N); break;
+ case ISD::EXTRACT_SUBVECTOR: Res = WidenVecOp_EXTRACT_SUBVECTOR(N); break;
case ISD::EXTRACT_VECTOR_ELT: Res = WidenVecOp_EXTRACT_VECTOR_ELT(N); break;
case ISD::STORE: Res = WidenVecOp_STORE(N); break;
@@ -1940,6 +1941,12 @@
return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &Ops[0], NumElts);
}
+SDValue DAGTypeLegalizer::WidenVecOp_EXTRACT_SUBVECTOR(SDNode *N) {
+ SDValue InOp = GetWidenedVector(N->getOperand(0));
+ return DAG.getNode(ISD::EXTRACT_SUBVECTOR, N->getDebugLoc(),
+ N->getValueType(0), InOp, N->getOperand(1));
+}
+
SDValue DAGTypeLegalizer::WidenVecOp_EXTRACT_VECTOR_ELT(SDNode *N) {
SDValue InOp = GetWidenedVector(N->getOperand(0));
MVT EltVT = InOp.getValueType().getVectorElementType();
More information about the llvm-branch-commits
mailing list