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

References

lib/Target/X86/X86ISelLowering.cpp
19376   const TargetLowering &TLI = DAG.getTargetLoweringInfo();
19385       std::tie(Lo, Hi) = DAG.SplitVector(In, DL);
19388       std::tie(LoVT, HiVT) = DAG.GetSplitDestVTs(VT);
19390       Lo = DAG.getNode(ISD::TRUNCATE, DL, LoVT, Lo);
19391       Hi = DAG.getNode(ISD::TRUNCATE, DL, HiVT, Hi);
19392       return DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, Lo, Hi);
19400     return LowerTruncateVecI1(Op, DAG, Subtarget);
19419   KnownBits Known = DAG.computeKnownBits(In);
19422             truncateVectorWithPACK(X86ISD::PACKUS, VT, In, DL, DAG, Subtarget))
19427   if ((InNumEltBits - NumPackedSignBits) < DAG.ComputeNumSignBits(In))
19429             truncateVectorWithPACK(X86ISD::PACKSS, VT, In, DL, DAG, Subtarget))
19439       In = DAG.getBitcast(MVT::v8i32, In);
19440       In = DAG.getVectorShuffle(MVT::v8i32, DL, In, In, ShufMask);
19441       return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, In,
19442                          DAG.getIntPtrConstant(0, DL));
19445     SDValue OpLo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v2i64, In,
19446                                DAG.getIntPtrConstant(0, DL));
19447     SDValue OpHi = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v2i64, In,
19448                                DAG.getIntPtrConstant(2, DL));
19449     OpLo = DAG.getBitcast(MVT::v4i32, OpLo);
19450     OpHi = DAG.getBitcast(MVT::v4i32, OpHi);
19452     return DAG.getVectorShuffle(VT, DL, OpLo, OpHi, ShufMask);
19458       In = DAG.getBitcast(MVT::v32i8, In);
19465       In = DAG.getVectorShuffle(MVT::v32i8, DL, In, In, ShufMask1);
19466       In = DAG.getBitcast(MVT::v4i64, In);
19469       In = DAG.getVectorShuffle(MVT::v4i64, DL,  In, In, ShufMask2);
19470       In = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v2i64, In,
19471                        DAG.getIntPtrConstant(0, DL));
19472       return DAG.getBitcast(VT, In);
19475     SDValue OpLo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v4i32, In,
19476                                DAG.getIntPtrConstant(0, DL));
19478     SDValue OpHi = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v4i32, In,
19479                                DAG.getIntPtrConstant(4, DL));
19481     OpLo = DAG.getBitcast(MVT::v16i8, OpLo);
19482     OpHi = DAG.getBitcast(MVT::v16i8, OpHi);
19488     OpLo = DAG.getVectorShuffle(MVT::v16i8, DL, OpLo, OpLo, ShufMask1);
19489     OpHi = DAG.getVectorShuffle(MVT::v16i8, DL, OpHi, OpHi, ShufMask1);
19491     OpLo = DAG.getBitcast(MVT::v4i32, OpLo);
19492     OpHi = DAG.getBitcast(MVT::v4i32, OpHi);
19496     SDValue res = DAG.getVectorShuffle(MVT::v4i32, DL, OpLo, OpHi, ShufMask2);
19497     return DAG.getBitcast(MVT::v8i16, res);
19502     In = DAG.getNode(ISD::AND, DL, InVT, In, DAG.getConstant(255, DL, InVT));
19502     In = DAG.getNode(ISD::AND, DL, InVT, In, DAG.getConstant(255, DL, InVT));
19504     SDValue InLo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v8i16, In,
19505                                DAG.getIntPtrConstant(0, DL));
19506     SDValue InHi = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MVT::v8i16, In,
19507                                DAG.getIntPtrConstant(8, DL));
19508     return DAG.getNode(X86ISD::PACKUS, DL, VT, InLo, InHi);