Lines Matching refs:SDValue
56 SDValue Base;
58 SDValue Index;
113 RxSBGOperands(unsigned Op, SDValue N) in RxSBGOperands()
121 SDValue Input;
132 inline SDValue getImm(const SDNode *Node, uint64_t Imm) const { in getImm()
149 bool selectAddress(SDValue N, SystemZAddressingMode &AM) const;
153 SDValue &Base, SDValue &Disp) const;
155 SDValue &Base, SDValue &Disp, SDValue &Index) const;
160 bool selectBDAddr(SystemZAddressingMode::DispRange DR, SDValue Addr,
161 SDValue &Base, SDValue &Disp) const;
166 bool selectMVIAddr(SystemZAddressingMode::DispRange DR, SDValue Addr,
167 SDValue &Base, SDValue &Disp) const;
173 SystemZAddressingMode::DispRange DR, SDValue Addr,
174 SDValue &Base, SDValue &Disp, SDValue &Index) const;
177 bool selectPCRelAddress(SDValue Addr, SDValue &Target) const { in selectPCRelAddress()
186 bool selectBDAddr12Only(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectBDAddr12Only()
189 bool selectBDAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectBDAddr12Pair()
192 bool selectBDAddr20Only(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectBDAddr20Only()
195 bool selectBDAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectBDAddr20Pair()
200 bool selectMVIAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectMVIAddr12Pair()
203 bool selectMVIAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp) const { in selectMVIAddr20Pair()
208 bool selectBDXAddr12Only(SDValue Addr, SDValue &Base, SDValue &Disp, in selectBDXAddr12Only()
209 SDValue &Index) const { in selectBDXAddr12Only()
214 bool selectBDXAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp, in selectBDXAddr12Pair()
215 SDValue &Index) const { in selectBDXAddr12Pair()
220 bool selectDynAlloc12Only(SDValue Addr, SDValue &Base, SDValue &Disp, in selectDynAlloc12Only()
221 SDValue &Index) const { in selectDynAlloc12Only()
226 bool selectBDXAddr20Only(SDValue Addr, SDValue &Base, SDValue &Disp, in selectBDXAddr20Only()
227 SDValue &Index) const { in selectBDXAddr20Only()
232 bool selectBDXAddr20Only128(SDValue Addr, SDValue &Base, SDValue &Disp, in selectBDXAddr20Only128()
233 SDValue &Index) const { in selectBDXAddr20Only128()
238 bool selectBDXAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp, in selectBDXAddr20Pair()
239 SDValue &Index) const { in selectBDXAddr20Pair()
244 bool selectLAAddr12Pair(SDValue Addr, SDValue &Base, SDValue &Disp, in selectLAAddr12Pair()
245 SDValue &Index) const { in selectLAAddr12Pair()
250 bool selectLAAddr20Pair(SDValue Addr, SDValue &Base, SDValue &Disp, in selectLAAddr20Pair()
251 SDValue &Index) const { in selectLAAddr20Pair()
260 bool detectOrAndInsertion(SDValue &Op, uint64_t InsertMask) const;
271 SDValue getUNDEF(SDLoc DL, EVT VT) const;
274 SDValue convertTo(SDLoc DL, EVT VT, SDValue N) const;
291 SDNode *splitLargeImmediate(unsigned Opcode, SDNode *Node, SDValue Op0,
327 virtual bool SelectInlineAsmMemoryOperand(const SDValue &Op,
329 std::vector<SDValue> &OutOps)
364 SDValue Value) { in changeComponent()
375 SDValue Value) { in expandAdjDynAlloc()
386 static bool expandIndex(SystemZAddressingMode &AM, SDValue Base, in expandIndex()
387 SDValue Index) { in expandIndex()
399 SDValue Op0, uint64_t Op1) { in expandDisp()
415 SDValue N = IsBase ? AM.Base : AM.Index; in expandAddress()
422 SDValue Op0 = N.getOperand(0); in expandAddress()
423 SDValue Op1 = N.getOperand(1); in expandAddress()
444 SDValue Full = N.getOperand(0); in expandAddress()
445 SDValue Base = N.getOperand(1); in expandAddress()
446 SDValue Anchor = Base.getOperand(0); in expandAddress()
528 bool SystemZDAGToDAGISel::selectAddress(SDValue Addr, in selectAddress()
536 expandDisp(AM, true, SDValue(), in selectAddress()
567 static void insertDAGNode(SelectionDAG *DAG, SDNode *Pos, SDValue N) { in insertDAGNode()
576 EVT VT, SDValue &Base, in getAddressOperands()
577 SDValue &Disp) const { in getAddressOperands()
591 SDValue Trunc = CurDAG->getNode(ISD::TRUNCATE, DL, VT, Base); in getAddressOperands()
601 EVT VT, SDValue &Base, in getAddressOperands()
602 SDValue &Disp, in getAddressOperands()
603 SDValue &Index) const { in getAddressOperands()
613 SDValue Addr, SDValue &Base, in selectBDAddr()
614 SDValue &Disp) const { in selectBDAddr()
624 SDValue Addr, SDValue &Base, in selectMVIAddr()
625 SDValue &Disp) const { in selectMVIAddr()
636 SDValue Addr, SDValue &Base, in selectBDXAddr()
637 SDValue &Disp, SDValue &Index) const { in selectBDXAddr()
646 bool SystemZDAGToDAGISel::detectOrAndInsertion(SDValue &Op, in detectOrAndInsertion()
700 SDValue N = RxSBG.Input; in expandRxSBG()
712 SDValue Input = N.getOperand(0); in expandRxSBG()
737 SDValue Input = N.getOperand(0); in expandRxSBG()
840 SDValue SystemZDAGToDAGISel::getUNDEF(SDLoc DL, EVT VT) const { in getUNDEF()
842 return SDValue(N, 0); in getUNDEF()
845 SDValue SystemZDAGToDAGISel::convertTo(SDLoc DL, EVT VT, SDValue N) const { in convertTo()
857 RxSBGOperands RISBG(SystemZ::RISBG, SDValue(N, 0)); in tryRISBGZero()
881 SDValue NewMask = CurDAG->getConstant(RISBG.Mask, VT); in tryRISBGZero()
897 SDValue Ops[5] = { in tryRISBGZero()
905 return convertTo(SDLoc(N), VT, SDValue(N, 0)).getNode(); in tryRISBGZero()
927 SDValue Op0 = N->getOperand(I ^ 1); in tryRxSBG()
941 SDValue Ops[5] = { in tryRxSBG()
949 return convertTo(SDLoc(N), VT, SDValue(N, 0)).getNode(); in tryRxSBG()
953 SDValue Op0, uint64_t UpperVal, in splitLargeImmediate()
957 SDValue Upper = CurDAG->getConstant(UpperVal, VT); in splitLargeImmediate()
960 Upper = SDValue(Select(Upper.getNode()), 0); in splitLargeImmediate()
962 SDValue Lower = CurDAG->getConstant(LowerVal, VT); in splitLargeImmediate()
963 SDValue Or = CurDAG->getNode(Opcode, DL, VT, Upper, Lower); in splitLargeImmediate()
1077 Node = splitLargeImmediate(ISD::OR, Node, SDValue(), in Select()
1088 SDValue Ops[] = { Node->getOperand(0), Node->getOperand(1), in Select()
1097 SDValue Op0 = Node->getOperand(0); in Select()
1098 SDValue Op1 = Node->getOperand(1); in Select()
1102 SDValue CCValid = Node->getOperand(2); in Select()
1103 SDValue CCMask = Node->getOperand(3); in Select()
1111 SDValue Op4 = Node->getOperand(4); in Select()
1133 SelectInlineAsmMemoryOperand(const SDValue &Op, in SelectInlineAsmMemoryOperand()
1135 std::vector<SDValue> &OutOps) { in SelectInlineAsmMemoryOperand()
1139 SDValue Base, Disp, Index; in SelectInlineAsmMemoryOperand()