reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
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);