reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
18227 if (V.isUndef()) 18237 if (isNullConstant(Index) && V.getOpcode() == ISD::EXTRACT_SUBVECTOR && 18238 V.hasOneUse() && isa<ConstantSDNode>(V.getOperand(1))) { 18238 V.hasOneUse() && isa<ConstantSDNode>(V.getOperand(1))) { 18239 if (TLI.isExtractSubvectorCheap(NVT, V.getOperand(0).getValueType(), 18240 V.getConstantOperandVal(1)) && 18242 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), NVT, V.getOperand(0), 18243 V.getOperand(1)); 18249 if (isa<ConstantSDNode>(Index) && V.getOpcode() == ISD::BITCAST && 18250 V.getOperand(0).getValueType().isVector()) { 18251 SDValue SrcOp = V.getOperand(0); 18254 unsigned DestNumElts = V.getValueType().getVectorNumElements(); 18265 V.getOperand(0), NewIndex); 18278 if (V.getOpcode() == ISD::CONCAT_VECTORS && isa<ConstantSDNode>(Index) && 18279 V.getOperand(0).getValueType() == NVT) { 18284 return V->getOperand(Idx / NumElems); 18287 V = peekThroughBitcasts(V); 18287 V = peekThroughBitcasts(V); 18290 if (V.getOpcode() == ISD::BUILD_VECTOR) { 18292 EVT InVT = V.getValueType(); 18311 SDValue Src = V->getOperand(IdxVal); 18319 ExtractVT, SDLoc(N), V->ops().slice(IdxVal, NumElems)); 18326 if (V.getOpcode() == ISD::INSERT_SUBVECTOR) { 18329 EVT SmallVT = V.getOperand(1).getValueType(); 18335 auto *InsIdx = dyn_cast<ConstantSDNode>(V.getOperand(2)); 18344 return DAG.getBitcast(NVT, V.getOperand(1)); 18347 DAG.getBitcast(N->getOperand(0).getValueType(), V.getOperand(0)),