Lines Matching refs:basePtr
571 SDValue basePtr = LN->getBasePtr();
579 if (basePtr.getOpcode() == ISD::ADD
580 && (CN = dyn_cast<ConstantSDNode > (basePtr.getOperand(1))) != 0) {
581 // Known offset into basePtr
591 basePtr = basePtr.getOperand(0);
593 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
594 basePtr,
597 } else if ((basePtr.getOpcode() == SPUISD::AFormAddr)
598 || (basePtr.getOpcode() == SPUISD::IndirectAddr
599 && basePtr.getOperand(0).getOpcode() == SPUISD::Hi
600 && basePtr.getOperand(1).getOpcode() == SPUISD::Lo)) {
608 // Offset the rotate amount by the basePtr and the preferred slot
614 basePtr,
619 if (basePtr.getOpcode() == ISD::ADD) {
625 SDValue Op0 = basePtr.getOperand(0);
626 SDValue Op1 = basePtr.getOperand(1);
632 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
633 the_chain = DAG.getCopyToReg(the_chain, dl, VReg, basePtr, Flag);
634 basePtr = DAG.getCopyFromReg(the_chain, dl, VReg, PtrVT);
638 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
641 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
642 basePtr,
646 // Offset the rotate amount by the basePtr and the preferred slot
649 basePtr,
654 SDValue low = DAG.getLoad(MVT::i128, dl, the_chain, basePtr,
682 basePtr, DAG.getConstant( 0xf, MVT::i32 ) );
690 basePtr,
778 SDValue basePtr = SN->getBasePtr();
786 if (basePtr.getOpcode() == ISD::ADD
787 basePtr.getOperand(1))) != 0) {
788 // Known offset into basePtr
792 basePtr = basePtr.getOperand(0);
794 basePtr,
798 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
799 basePtr,
803 // Otherwise, assume it's at byte 0 of basePtr
805 basePtr,
807 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
808 basePtr,
813 if (basePtr.getOpcode() == ISD::ADD) {
819 SDValue Op0 = basePtr.getOperand(0);
820 SDValue Op1 = basePtr.getOperand(1);
826 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
827 the_chain = DAG.getCopyToReg(the_chain, dl, VReg, basePtr, Flag);
828 basePtr = DAG.getCopyFromReg(the_chain, dl, VReg, PtrVT);
832 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1);
835 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT,
836 basePtr,
840 // Insertion point is solely determined by basePtr's contents
842 basePtr,
847 SDValue low = DAG.getLoad(vecVT, dl, the_chain, basePtr,
872 errs() << "CellSPU LowerSTORE: basePtr = ";
873 basePtr.getNode()->dump(&DAG);
888 result = DAG.getStore(the_chain, dl, result, basePtr,
945 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr,
975 low = DAG.getStore(the_chain, dl, rlow, basePtr,
979 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr,