From 7b04de6571ac48320f73a8057be40139a5de411c Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Fri, 21 Jun 2019 11:25:06 +0000 Subject: [PATCH] [X86] createMMXBuildVector - call with BuildVectorSDNode directly. NFCI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364030 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86ISelLowering.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 9c03f583be7..ab49cda8343 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -34619,12 +34619,10 @@ static SDValue combineCastedMaskArithmetic(SDNode *N, SelectionDAG &DAG, return SDValue(); } -static SDValue createMMXBuildVector(SDValue N, SelectionDAG &DAG, +static SDValue createMMXBuildVector(BuildVectorSDNode *BV, SelectionDAG &DAG, const X86Subtarget &Subtarget) { - SDLoc DL(N); - unsigned NumElts = N.getNumOperands(); - - auto *BV = cast(N); + SDLoc DL(BV); + unsigned NumElts = BV->getNumOperands(); SDValue Splat = BV->getSplatValue(); // Build MMX element from integer GPR or SSE float values. @@ -34672,7 +34670,7 @@ static SDValue createMMXBuildVector(SDValue N, SelectionDAG &DAG, Ops.append(NumElts, Splat); } else { for (unsigned i = 0; i != NumElts; ++i) - Ops.push_back(CreateMMXElement(N.getOperand(i))); + Ops.push_back(CreateMMXElement(BV->getOperand(i))); } // Use tree of PUNPCKLs to build up general MMX vector. @@ -34777,7 +34775,7 @@ static SDValue combineBitcast(SDNode *N, SelectionDAG &DAG, if (N0.getOpcode() == ISD::BUILD_VECTOR && (SrcVT == MVT::v2f32 || SrcVT == MVT::v2i32 || SrcVT == MVT::v4i16 || SrcVT == MVT::v8i8)) - return createMMXBuildVector(N0, DAG, Subtarget); + return createMMXBuildVector(cast(N0), DAG, Subtarget); // Detect bitcasts between element or subvector extraction to x86mmx. if ((N0.getOpcode() == ISD::EXTRACT_VECTOR_ELT || -- 2.50.1