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

References

lib/Target/X86/X86ISelLowering.cpp
26275       return DAG.getNode(Op, DL, VT, R,
26276                          DAG.getTargetConstant(RotateAmt, DL, MVT::i8));
26290       return split256IntArith(Op, DAG);
26296       return DAG.getNode(X86ISD::VROTLI, DL, VT, R,
26297                          DAG.getTargetConstant(RotateAmt, DL, MVT::i8));
26306     return split256IntArith(Op, DAG);
26317   bool IsSplatAmt = DAG.isSplatValue(Amt);
26332         V0 = DAG.getBitcast(VT, V0);
26333         V1 = DAG.getBitcast(VT, V1);
26334         Sel = DAG.getBitcast(VT, Sel);
26335         return DAG.getBitcast(SelVT, DAG.getSelect(DL, VT, Sel, V0, V1));
26335         return DAG.getBitcast(SelVT, DAG.getSelect(DL, VT, Sel, V0, V1));
26340       SDValue Z = DAG.getConstant(0, DL, SelVT);
26341       SDValue C = DAG.getNode(X86ISD::PCMPGT, DL, SelVT, Z, Sel);
26342       return DAG.getSelect(DL, SelVT, C, V0, V1);
26348     Amt = DAG.getBitcast(ExtVT, Amt);
26349     Amt = DAG.getNode(ISD::SHL, DL, ExtVT, Amt, DAG.getConstant(5, DL, ExtVT));
26349     Amt = DAG.getNode(ISD::SHL, DL, ExtVT, Amt, DAG.getConstant(5, DL, ExtVT));
26350     Amt = DAG.getBitcast(VT, Amt);
26354     M = DAG.getNode(
26356         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(4, DL, VT)),
26356         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(4, DL, VT)),
26357         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(4, DL, VT)));
26357         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(4, DL, VT)));
26361     Amt = DAG.getNode(ISD::ADD, DL, VT, Amt, Amt);
26364     M = DAG.getNode(
26366         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(2, DL, VT)),
26366         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(2, DL, VT)),
26367         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(6, DL, VT)));
26367         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(6, DL, VT)));
26371     Amt = DAG.getNode(ISD::ADD, DL, VT, Amt, Amt);
26374     M = DAG.getNode(
26376         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(1, DL, VT)),
26376         DAG.getNode(ISD::SHL, DL, VT, R, DAG.getConstant(1, DL, VT)),
26377         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(7, DL, VT)));
26377         DAG.getNode(ISD::SRL, DL, VT, R, DAG.getConstant(7, DL, VT)));
26382   Amt = DAG.getNode(ISD::AND, DL, VT, Amt,
26383                     DAG.getConstant(EltSizeInBits - 1, DL, VT));
26392     SDValue AmtR = DAG.getConstant(EltSizeInBits, DL, VT);
26393     AmtR = DAG.getNode(ISD::SUB, DL, VT, AmtR, Amt);
26394     SDValue SHL = DAG.getNode(ISD::SHL, DL, VT, R, Amt);
26395     SDValue SRL = DAG.getNode(ISD::SRL, DL, VT, R, AmtR);
26396     return DAG.getNode(ISD::OR, DL, VT, SHL, SRL);
26400   SDValue Scale = convertShiftLeftToScale(Amt, DL, Subtarget, DAG);
26405     SDValue Lo = DAG.getNode(ISD::MUL, DL, VT, R, Scale);
26406     SDValue Hi = DAG.getNode(ISD::MULHU, DL, VT, R, Scale);
26407     return DAG.getNode(ISD::OR, DL, VT, Lo, Hi);
26415   SDValue R13 = DAG.getVectorShuffle(VT, DL, R, R, OddMask);
26416   SDValue Scale13 = DAG.getVectorShuffle(VT, DL, Scale, Scale, OddMask);
26418   SDValue Res02 = DAG.getNode(X86ISD::PMULUDQ, DL, MVT::v2i64,
26419                               DAG.getBitcast(MVT::v2i64, R),
26420                               DAG.getBitcast(MVT::v2i64, Scale));
26421   SDValue Res13 = DAG.getNode(X86ISD::PMULUDQ, DL, MVT::v2i64,
26422                               DAG.getBitcast(MVT::v2i64, R13),
26423                               DAG.getBitcast(MVT::v2i64, Scale13));
26424   Res02 = DAG.getBitcast(VT, Res02);
26425   Res13 = DAG.getBitcast(VT, Res13);
26427   return DAG.getNode(ISD::OR, DL, VT,
26428                      DAG.getVectorShuffle(VT, DL, Res02, Res13, {0, 4, 2, 6}),
26429                      DAG.getVectorShuffle(VT, DL, Res02, Res13, {1, 5, 3, 7}));