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

References

lib/Target/X86/X86ISelLowering.cpp
 9290   assert(IndicesVec.getValueType().getVectorNumElements() >= NumElts &&
 9292   if (IndicesVec.getValueType().getVectorNumElements() > NumElts)
 9293     IndicesVec = extractSubVector(IndicesVec, 0, DAG, SDLoc(IndicesVec),
 9293     IndicesVec = extractSubVector(IndicesVec, 0, DAG, SDLoc(IndicesVec),
 9293     IndicesVec = extractSubVector(IndicesVec, 0, DAG, SDLoc(IndicesVec),
 9295   IndicesVec = DAG.getZExtOrTrunc(IndicesVec, SDLoc(IndicesVec), IndicesVT);
 9295   IndicesVec = DAG.getZExtOrTrunc(IndicesVec, SDLoc(IndicesVec), IndicesVT);
 9295   IndicesVec = DAG.getZExtOrTrunc(IndicesVec, SDLoc(IndicesVec), IndicesVT);
 9304       IndicesVec = widenSubVector(IndicesVT.getSimpleVT(), IndicesVec, false,
 9304       IndicesVec = widenSubVector(IndicesVT.getSimpleVT(), IndicesVec, false,
 9305                                   Subtarget, DAG, SDLoc(IndicesVec));
 9307           createVariablePermute(VT, SrcVec, IndicesVec, DL, DAG, Subtarget), 0,
 9370       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9370       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9370       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9376           DL, IndicesVec,
 9389       SDValue LoIdx = extract128BitVector(IndicesVec, 0, DAG, DL);
 9390       SDValue HiIdx = extract128BitVector(IndicesVec, 16, DAG, DL);
 9412       SDValue Ops[] = {LoLo, HiHi, IndicesVec};
 9422       IndicesVec = ScaleIndices(IndicesVec, 2);
 9422       IndicesVec = ScaleIndices(IndicesVec, 2);
 9426                   DAG.getBitcast(MVT::v32i8, IndicesVec), DL, DAG, Subtarget));
 9442                             IndicesVec, DAG.getTargetConstant(0, DL, MVT::i8)));
 9446           DL, IndicesVec, DAG.getConstant(3, DL, MVT::v8i32),
 9447           DAG.getNode(X86ISD::VPERMILPV, DL, MVT::v8f32, HiHi, IndicesVec),
 9448           DAG.getNode(X86ISD::VPERMILPV, DL, MVT::v8f32, LoLo, IndicesVec),
 9460         IndicesVec = widenSubVector(MVT::v8i64, IndicesVec, false, Subtarget,
 9460         IndicesVec = widenSubVector(MVT::v8i64, IndicesVec, false, Subtarget,
 9461                                     DAG, SDLoc(IndicesVec));
 9462         SDValue Res = createVariablePermute(WidenSrcVT, SrcVec, IndicesVec, DL,
 9474       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9474       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9474       IndicesVec = DAG.getNode(ISD::ADD, DL, IndicesVT, IndicesVec, IndicesVec);
 9478                             IndicesVec, DAG.getTargetConstant(0, DL, MVT::i8)));
 9482           DL, IndicesVec, DAG.getConstant(2, DL, MVT::v4i64),
 9483           DAG.getNode(X86ISD::VPERMILPV, DL, MVT::v4f64, HiHi, IndicesVec),
 9484           DAG.getNode(X86ISD::VPERMILPV, DL, MVT::v4f64, LoLo, IndicesVec),
 9514     IndicesVec = ScaleIndices(IndicesVec, Scale);
 9514     IndicesVec = ScaleIndices(IndicesVec, Scale);
 9517   IndicesVec = DAG.getBitcast(ShuffleIdxVT, IndicesVec);
 9517   IndicesVec = DAG.getBitcast(ShuffleIdxVT, IndicesVec);
 9521                     ? DAG.getNode(Opcode, DL, ShuffleVT, IndicesVec, SrcVec)
 9522                     : DAG.getNode(Opcode, DL, ShuffleVT, SrcVec, IndicesVec);