diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -3033,8 +3033,8 @@ SDValue Idx = N->getOperand(1); EVT VecVT = Vec.getValueType(); - if (isa(Idx)) { - uint64_t IdxVal = cast(Idx)->getZExtValue(); + if (const ConstantSDNode *Index = dyn_cast(Idx)) { + uint64_t IdxVal = Index->getZExtValue(); SDValue Lo, Hi; GetSplitVector(Vec, Lo, Hi);