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

References

lib/Target/X86/X86ISelLowering.cpp
25024     return DAG.getNode(ISD::AND, dl, VT, Op.getOperand(0), Op.getOperand(1));
25042           ISD::TRUNCATE, dl, VT,
25043           DAG.getNode(ISD::MUL, dl, ExVT,
25044                       DAG.getNode(ISD::ANY_EXTEND, dl, ExVT, A),
25045                       DAG.getNode(ISD::ANY_EXTEND, dl, ExVT, B)));
25055     SDValue ALo = DAG.getBitcast(ExVT, getUnpackl(DAG, dl, VT, A, Undef));
25056     SDValue AHi = DAG.getBitcast(ExVT, getUnpackh(DAG, dl, VT, A, Undef));
25064           LoOps.push_back(DAG.getAnyExtOrTrunc(B.getOperand(i + j), dl,
25066           HiOps.push_back(DAG.getAnyExtOrTrunc(B.getOperand(i + j + 8), dl,
25071       BLo = DAG.getBuildVector(ExVT, dl, LoOps);
25072       BHi = DAG.getBuildVector(ExVT, dl, HiOps);
25074       BLo = DAG.getBitcast(ExVT, getUnpackl(DAG, dl, VT, B, Undef));
25075       BHi = DAG.getBitcast(ExVT, getUnpackh(DAG, dl, VT, B, Undef));
25079     SDValue RLo = DAG.getNode(ISD::MUL, dl, ExVT, ALo, BLo);
25080     SDValue RHi = DAG.getNode(ISD::MUL, dl, ExVT, AHi, BHi);
25081     RLo = DAG.getNode(ISD::AND, dl, ExVT, RLo, DAG.getConstant(255, dl, ExVT));
25081     RLo = DAG.getNode(ISD::AND, dl, ExVT, RLo, DAG.getConstant(255, dl, ExVT));
25082     RHi = DAG.getNode(ISD::AND, dl, ExVT, RHi, DAG.getConstant(255, dl, ExVT));
25082     RHi = DAG.getNode(ISD::AND, dl, ExVT, RHi, DAG.getConstant(255, dl, ExVT));
25083     return DAG.getNode(X86ISD::PACKUS, dl, VT, RLo, RHi);
25093     SDValue Aodds = DAG.getVectorShuffle(VT, dl, A, A, UnpackMask);
25094     SDValue Bodds = DAG.getVectorShuffle(VT, dl, B, B, UnpackMask);
25097     SDValue Evens = DAG.getNode(X86ISD::PMULUDQ, dl, MVT::v2i64,
25101     SDValue Odds = DAG.getNode(X86ISD::PMULUDQ, dl, MVT::v2i64,
25111     return DAG.getVectorShuffle(VT, dl, Evens, Odds, ShufMask);
25138   SDValue Zero = DAG.getConstant(0, dl, VT);
25143     AloBlo = DAG.getNode(X86ISD::PMULUDQ, dl, VT, A, B);
25147     SDValue Bhi = getTargetVShiftByConstNode(X86ISD::VSRLI, dl, VT, B, 32, DAG);
25148     AloBhi = DAG.getNode(X86ISD::PMULUDQ, dl, VT, A, Bhi);
25153     SDValue Ahi = getTargetVShiftByConstNode(X86ISD::VSRLI, dl, VT, A, 32, DAG);
25154     AhiBlo = DAG.getNode(X86ISD::PMULUDQ, dl, VT, Ahi, B);
25157   SDValue Hi = DAG.getNode(ISD::ADD, dl, VT, AloBhi, AhiBlo);
25158   Hi = getTargetVShiftByConstNode(X86ISD::VSHLI, dl, VT, Hi, 32, DAG);
25160   return DAG.getNode(ISD::ADD, dl, VT, AloBlo, Hi);