reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
12528 switch (V.getOpcode()) { 12530 V = V.getOperand(0); 12530 V = V.getOperand(0); 12534 int OpBitWidth = V.getOperand(0).getValueSizeInBits(); 12536 V = V.getOperand(OpIdx); 12536 V = V.getOperand(OpIdx); 12541 SDValue VOuter = V.getOperand(0), VInner = V.getOperand(1); 12541 SDValue VOuter = V.getOperand(0), VInner = V.getOperand(1); 12542 auto ConstantIdx = dyn_cast<ConstantSDNode>(V.getOperand(2)); 12553 V = VInner; 12555 V = VOuter; 12566 bool BitCastSrc = V.getScalarValueSizeInBits() != NumEltBits; 12575 DL, VT, V, BroadcastIdx, Subtarget, DAG)) 12582 ((V.getOpcode() == ISD::BUILD_VECTOR && V.hasOneUse()) || 12582 ((V.getOpcode() == ISD::BUILD_VECTOR && V.hasOneUse()) || 12583 (V.getOpcode() == ISD::SCALAR_TO_VECTOR && BroadcastIdx == 0))) { 12584 V = V.getOperand(BroadcastIdx); 12584 V = V.getOperand(BroadcastIdx); 12587 if (!BroadcastFromReg && !isShuffleFoldableLoad(V)) 12589 } else if (MayFoldLoad(V) && cast<LoadSDNode>(V)->isSimple()) { 12589 } else if (MayFoldLoad(V) && cast<LoadSDNode>(V)->isSimple()) { 12600 LoadSDNode *Ld = cast<LoadSDNode>(V); 12606 V = DAG.getLoad(SVT, DL, Ld->getChain(), NewAddr, 12609 DAG.makeEquivalentMemoryOrdering(Ld, V); 12628 assert((BitOffset % V.getScalarValueSizeInBits()) == 0 && 12630 assert((V.getValueSizeInBits() == 256 || V.getValueSizeInBits() == 512) && 12630 assert((V.getValueSizeInBits() == 256 || V.getValueSizeInBits() == 512) && 12632 unsigned ExtractIdx = BitOffset / V.getScalarValueSizeInBits(); 12633 V = extract128BitVector(V, ExtractIdx, DAG, DL); 12633 V = extract128BitVector(V, ExtractIdx, DAG, DL); 12636 if (Opcode == X86ISD::MOVDDUP && !V.getValueType().isVector()) 12637 V = DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, MVT::v2f64, 12638 DAG.getBitcast(MVT::f64, V)); 12641 if (V.getValueType().getScalarType() != BroadcastVT.getScalarType()) { 12645 if (V.getValueType().isVector()) { 12646 unsigned NumSrcElts = V.getValueSizeInBits() / NumEltBits; 12651 V = DAG.getBitcast(ExtVT, V); 12651 V = DAG.getBitcast(ExtVT, V); 12655 if (!Subtarget.is64Bit() && V.getValueType() == MVT::i64) { 12656 V = DAG.getBitcast(MVT::f64, V); 12656 V = DAG.getBitcast(MVT::f64, V); 12664 if (V.getValueSizeInBits() > 128) { 12665 MVT ExtVT = V.getSimpleValueType().getScalarType(); 12667 V = extract128BitVector(peekThroughBitcasts(V), 0, DAG, DL); 12667 V = extract128BitVector(peekThroughBitcasts(V), 0, DAG, DL); 12668 V = DAG.getBitcast(ExtVT, V); 12668 V = DAG.getBitcast(ExtVT, V); 12671 return DAG.getBitcast(VT, DAG.getNode(Opcode, DL, BroadcastVT, V));