reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
44415 MVT SubVecVT = SubVec.getSimpleValueType(); 44417 if (Vec.isUndef() && SubVec.isUndef()) 44422 (SubVec.isUndef() || ISD::isBuildVectorAllZeros(SubVec.getNode()))) 44422 (SubVec.isUndef() || ISD::isBuildVectorAllZeros(SubVec.getNode()))) 44428 if (SubVec.getOpcode() == ISD::INSERT_SUBVECTOR && 44429 ISD::isBuildVectorAllZeros(SubVec.getOperand(0).getNode())) { 44430 uint64_t Idx2Val = SubVec.getConstantOperandVal(2); 44433 SubVec.getOperand(1), 44441 if (SubVec.getOpcode() == ISD::EXTRACT_SUBVECTOR && IdxVal == 0 && 44442 isNullConstant(SubVec.getOperand(1)) && 44443 SubVec.getOperand(0).getOpcode() == ISD::INSERT_SUBVECTOR) { 44444 SDValue Ins = SubVec.getOperand(0); 44460 if (SubVec.getOpcode() == ISD::EXTRACT_SUBVECTOR && 44461 SubVec.getOperand(0).getSimpleValueType() == OpVT && 44463 int ExtIdxVal = SubVec.getConstantOperandVal(1); 44475 return DAG.getVectorShuffle(OpVT, dl, Vec, SubVec.getOperand(0), Mask); 44499 if (Vec.isUndef() && IdxVal != 0 && SubVec.getOpcode() == X86ISD::VBROADCAST) 44500 return DAG.getNode(X86ISD::VBROADCAST, dl, OpVT, SubVec.getOperand(0)); 44504 if (Vec.isUndef() && IdxVal != 0 && SubVec.hasOneUse() && 44505 SubVec.getOpcode() == X86ISD::VBROADCAST_LOAD) { 44506 auto *MemIntr = cast<MemIntrinsicSDNode>(SubVec);