Lines Matching refs:SDNode

52   SDNode *Select(SDNode *N);
75 bool SelectAddr(SDNode *Op, SDValue Addr, SDValue &Base, SDValue &Offset);
77 SDNode *SelectLoad(SDNode *N);
78 SDNode *SelectBaseOffsetLoad(LoadSDNode *LD, DebugLoc dl);
79 SDNode *SelectIndexedLoad(LoadSDNode *LD, DebugLoc dl);
80 SDNode *SelectIndexedLoadZeroExtend64(LoadSDNode *LD, unsigned Opcode,
82 SDNode *SelectIndexedLoadSignExtend64(LoadSDNode *LD, unsigned Opcode,
84 SDNode *SelectBaseOffsetStore(StoreSDNode *ST, DebugLoc dl);
85 SDNode *SelectIndexedStore(StoreSDNode *ST, DebugLoc dl);
86 SDNode *SelectStore(SDNode *N);
87 SDNode *SelectSHL(SDNode *N);
88 SDNode *SelectSelect(SDNode *N);
89 SDNode *SelectTruncate(SDNode *N);
90 SDNode *SelectMul(SDNode *N);
91 SDNode *SelectZeroExtend(SDNode *N);
92 SDNode *SelectIntrinsicWOChain(SDNode *N);
93 SDNode *SelectConstant(SDNode *N);
94 SDNode *SelectAdd(SDNode *N);
109 static bool IsS11_0_Offset(SDNode * S) {
119 static bool IsS11_1_Offset(SDNode * S) {
129 static bool IsS11_2_Offset(SDNode * S) {
139 static bool IsS11_3_Offset(SDNode * S) {
149 static bool IsU6_0_Offset(SDNode * S) {
159 static bool IsU6_1_Offset(SDNode * S) {
169 static bool IsU6_2_Offset(SDNode * S) {
297 SDNode *HexagonDAGToDAGISel::SelectBaseOffsetLoad(LoadSDNode *LD, DebugLoc dl) {
299 SDNode* Const32 = LD->getBasePtr().getNode();
313 SDNode* NewBase = CurDAG->getMachineNode(Hexagon::CONST32_set,
325 SDNode* Result = CurDAG->getMachineNode(Opcode, dl,
343 SDNode *HexagonDAGToDAGISel::SelectIndexedLoadSignExtend64(LoadSDNode *LD,
351 SDNode *OffsetNode = Offset.getNode();
360 SDNode *Result_1 = CurDAG->getMachineNode(Opcode, dl, MVT::i32, MVT::i32,
363 SDNode *Result_2 = CurDAG->getMachineNode(Hexagon::SXTW, dl, MVT::i64,
381 SDNode *Result_1 = CurDAG->getMachineNode(Opcode, dl, MVT::i32,
384 SDNode *Result_2 = CurDAG->getMachineNode(Hexagon::SXTW, dl,
386 SDNode* Result_3 = CurDAG->getMachineNode(Hexagon::ADD_ri, dl,
407 SDNode *HexagonDAGToDAGISel::SelectIndexedLoadZeroExtend64(LoadSDNode *LD,
415 SDNode *OffsetNode = Offset.getNode();
425 SDNode *Result_1 = CurDAG->getMachineNode(Opcode, dl, MVT::i32,
428 SDNode *Result_2 = CurDAG->getMachineNode(Hexagon::TFRI, dl, MVT::i32,
430 SDNode *Result_3 = CurDAG->getMachineNode(Hexagon::COMBINE_rr, dl,
452 SDNode *Result_1 = CurDAG->getMachineNode(Opcode, dl, MVT::i32,
455 SDNode *Result_2 = CurDAG->getMachineNode(Hexagon::TFRI, dl, MVT::i32,
457 SDNode *Result_3 = CurDAG->getMachineNode(Hexagon::COMBINE_rr, dl,
462 SDNode* Result_4 = CurDAG->getMachineNode(Hexagon::ADD_ri, dl, MVT::i32,
484 SDNode *HexagonDAGToDAGISel::SelectIndexedLoad(LoadSDNode *LD, DebugLoc dl) {
488 SDNode *OffsetNode = Offset.getNode();
533 SDNode* Result = CurDAG->getMachineNode(Opcode, dl,
553 SDNode* Result_1 = CurDAG->getMachineNode(Opcode, dl,
557 SDNode* Result_2 = CurDAG->getMachineNode(Hexagon::ADD_ri, dl, MVT::i32,
577 SDNode *HexagonDAGToDAGISel::SelectLoad(SDNode *N) {
578 SDNode *result;
594 SDNode *HexagonDAGToDAGISel::SelectIndexedStore(StoreSDNode *ST, DebugLoc dl) {
599 SDNode *OffsetNode = Offset.getNode();
619 SDNode* Result = CurDAG->getMachineNode(Opcode, dl, MVT::i32,
646 SDNode* Result_1 = CurDAG->getMachineNode(Opcode, dl, MVT::Other, Ops,
649 SDNode* Result_2 = CurDAG->getMachineNode(Hexagon::ADD_ri, dl, MVT::i32,
663 SDNode *HexagonDAGToDAGISel::SelectBaseOffsetStore(StoreSDNode *ST,
666 SDNode* Const32 = ST->getBasePtr().getNode();
687 SDNode* NewBase = CurDAG->getMachineNode(Hexagon::CONST32_set,
702 SDNode* Result = CurDAG->getMachineNode(Opcode, dl,
717 SDNode *HexagonDAGToDAGISel::SelectStore(SDNode *N) {
730 SDNode *HexagonDAGToDAGISel::SelectMul(SDNode *N) {
804 SDNode *Result = CurDAG->getMachineNode(Hexagon::MPY64, dl, MVT::i64,
814 SDNode *HexagonDAGToDAGISel::SelectSelect(SDNode *N) {
838 SDNode *SextNode = CurDAG->getMachineNode(Hexagon::SXTH, dl,
840 SDNode *Result = CurDAG->getMachineNode(Hexagon::MAXw_rr, dl,
862 SDNode *SextNode = CurDAG->getMachineNode(Hexagon::SXTH, dl,
864 SDNode *Result = CurDAG->getMachineNode(Hexagon::MINw_rr, dl,
881 SDNode *HexagonDAGToDAGISel::SelectTruncate(SDNode *N) {
983 SDNode *Result = CurDAG->getMachineNode(Hexagon::MPY, dl, MVT::i32,
994 SDNode *HexagonDAGToDAGISel::SelectSHL(SDNode *N) {
1015 SDNode* Result =
1043 SDNode* Result =
1070 SDNode *HexagonDAGToDAGISel::SelectZeroExtend(SDNode *N) {
1072 SDNode *IsIntrinsic = N->getOperand(0).getNode();
1081 SDNode *Result_1 = CurDAG->getMachineNode(Hexagon::TFR_RsPd, dl,
1084 SDNode *Result_2 = CurDAG->getMachineNode(Hexagon::TFRI, dl,
1087 SDNode *Result_3 = CurDAG->getMachineNode(Hexagon::COMBINE_rr, dl,
1096 SDNode* RsPd = CurDAG->getMachineNode(Hexagon::TFR_RsPd, dl,
1113 SDNode *HexagonDAGToDAGISel::SelectIntrinsicWOChain(SDNode *N) {
1130 SDNode *Arg = N->getOperand(i).getNode();
1138 SDNode *PdRs = CurDAG->getMachineNode(Hexagon::TFR_PdRs, dl, MVT::i1,
1143 // const SDNode for immediate value.
1152 SDNode *Result = CurDAG->getMachineNode(IntrinsicWithPred, dl,
1165 SDNode *HexagonDAGToDAGISel::SelectConstant(SDNode *N) {
1168 SDNode* Result;
1172 SDNode* IntRegTFR =
1177 SDNode* Pd = CurDAG->getMachineNode(Hexagon::TFR_PdRs, dl, MVT::i1,
1181 SDNode* NotPd = CurDAG->getMachineNode(Hexagon::NOT_p, dl, MVT::i1,
1204 SDNode *HexagonDAGToDAGISel::SelectAdd(SDNode *N) {
1210 SDNode* Src1 = N->getOperand(0).getNode();
1218 SDNode* Result = CurDAG->getMachineNode(Hexagon::ASR_rr_acc, dl, MVT::i32,
1228 SDNode *HexagonDAGToDAGISel::Select(SDNode *N) {
1443 bool HexagonDAGToDAGISel::SelectAddr(SDNode *Op, SDValue Addr,