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

References

lib/Target/X86/X86ISelLowering.cpp
35473     if (SDValue V = combineBitcastvxi1(DAG, VT, N0, dl, Subtarget))
35479         VT.isScalarInteger() && N0.getOpcode() == ISD::SETCC &&
35490         return DAG.getZExtOrTrunc(V, dl, VT);
35496     if ((VT == MVT::v4i1 || VT == MVT::v2i1) && SrcVT.isScalarInteger() &&
35496     if ((VT == MVT::v4i1 || VT == MVT::v2i1) && SrcVT.isScalarInteger() &&
35500       return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, VT, N0,
35506     if ((SrcVT == MVT::v4i1 || SrcVT == MVT::v2i1) && VT.isScalarInteger() &&
35524           return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
35533       return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
35542   if (VT == MVT::i8 && SrcVT == MVT::v8i1 && Subtarget.hasAVX512() &&
35546     return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT,
35552       VT.getScalarSizeInBits() == SrcVT.getScalarSizeInBits()) {
35554     SDVTList Tys = DAG.getVTList(VT, MVT::Other);
35558                                 VT.getVectorElementType(),
35567   if (VT == MVT::x86mmx) {
35575         return DAG.getNode(X86ISD::MMX_MOVW2D, DL, VT,
35580       return DAG.getBitcast(VT, DAG.getConstantFP(F64, DL, MVT::f64));
35598         return DAG.getNode(X86ISD::MMX_MOVW2D, dl, VT, N00);
35616         return DAG.getNode(X86ISD::MOVDQ2Q, SDLoc(N00), VT,
35625       return DAG.getNode(X86ISD::MOVDQ2Q, DL, VT,
35632   if (Subtarget.hasAVX512() && VT.isScalarInteger() &&
35639       VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
35639       VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
35643       return DAG.getConstant(1, SDLoc(N0), VT);
35645       return DAG.getConstant(0, SDLoc(N0), VT);
35666   if (!((Subtarget.hasSSE1() && VT == MVT::f32) ||
35667         (Subtarget.hasSSE2() && VT == MVT::f64)))
35676       LogicOp0.hasOneUse() && LogicOp0.getOperand(0).getValueType() == VT &&
35678     SDValue CastedOp1 = DAG.getBitcast(VT, LogicOp1);
35679     return DAG.getNode(FPOpcode, DL0, VT, LogicOp0.getOperand(0), CastedOp1);
35683       LogicOp1.hasOneUse() && LogicOp1.getOperand(0).getValueType() == VT &&
35685     SDValue CastedOp0 = DAG.getBitcast(VT, LogicOp0);
35686     return DAG.getNode(FPOpcode, DL0, VT, LogicOp1.getOperand(0), CastedOp0);