Lines Matching refs:SDValue
68 inline bool foldGlobalAddress(SDValue &N, SDValue &R);
69 inline bool foldGlobalAddressGP(SDValue &N, SDValue &R);
70 bool foldGlobalAddressImpl(SDValue &N, SDValue &R, bool ShouldLookForGP);
71 bool SelectADDRri(SDValue& N, SDValue &R1, SDValue &R2);
72 bool SelectADDRriS11_0(SDValue& N, SDValue &R1, SDValue &R2);
73 bool SelectADDRriS11_1(SDValue& N, SDValue &R1, SDValue &R2);
74 bool SelectADDRriS11_2(SDValue& N, SDValue &R1, SDValue &R2);
75 bool SelectMEMriS11_2(SDValue& Addr, SDValue &Base, SDValue &Offset);
76 bool SelectADDRriS11_3(SDValue& N, SDValue &R1, SDValue &R2);
77 bool SelectADDRrr(SDValue &Addr, SDValue &Base, SDValue &Offset);
78 bool SelectADDRriU6_0(SDValue& N, SDValue &R1, SDValue &R2);
79 bool SelectADDRriU6_1(SDValue& N, SDValue &R1, SDValue &R2);
80 bool SelectADDRriU6_2(SDValue& N, SDValue &R1, SDValue &R2);
88 bool SelectInlineAsmMemoryOperand(const SDValue &Op,
90 std::vector<SDValue> &OutOps) override;
91 bool SelectAddr(SDNode *Op, SDValue Addr, SDValue &Base, SDValue &Offset);
118 SDValue XformMskToBitPosU5Imm(uint32_t Imm) { in XformMskToBitPosU5Imm()
128 SDValue XformMskToBitPosU4Imm(uint16_t Imm) { in XformMskToBitPosU4Imm()
134 SDValue XformMskToBitPosU3Imm(uint8_t Imm) { in XformMskToBitPosU3Imm()
149 inline SDValue XformM5ToU5Imm(signed Imm) { in XformM5ToU5Imm()
157 inline SDValue XformU7ToU7M1Imm(signed Imm) { in XformU7ToU7M1Imm()
163 inline SDValue XformSToSM1Imm(signed Imm) { in XformSToSM1Imm()
168 inline SDValue XformUToUM1Imm(unsigned Imm) { in XformUToUM1Imm()
388 SDValue Chain = LD->getChain(); in SelectBaseOffsetLoad()
394 SDValue Base = Const32->getOperand(0); in SelectBaseOffsetLoad()
401 SDValue TargAddr = in SelectBaseOffsetLoad()
414 SDValue TargetConstOff = CurDAG->getTargetConstant(Offset, PointerTy); in SelectBaseOffsetLoad()
418 SDValue(NewBase,0), in SelectBaseOffsetLoad()
437 SDValue Chain = LD->getChain(); in SelectIndexedLoadSignExtend64()
439 SDValue Base = LD->getBasePtr(); in SelectIndexedLoadSignExtend64()
440 SDValue Offset = LD->getOffset(); in SelectIndexedLoadSignExtend64()
443 SDValue N1 = LD->getOperand(1); in SelectIndexedLoadSignExtend64()
444 SDValue CPTmpN1_0; in SelectIndexedLoadSignExtend64()
445 SDValue CPTmpN1_1; in SelectIndexedLoadSignExtend64()
452 SDValue TargetConst = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoadSignExtend64()
457 SDValue(Result_1, 0)); in SelectIndexedLoadSignExtend64()
461 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoadSignExtend64()
462 SDValue(LD, 1), in SelectIndexedLoadSignExtend64()
463 SDValue(LD, 2) in SelectIndexedLoadSignExtend64()
465 const SDValue Tos[] = { SDValue(Result_2, 0), in SelectIndexedLoadSignExtend64()
466 SDValue(Result_1, 1), in SelectIndexedLoadSignExtend64()
467 SDValue(Result_1, 2) in SelectIndexedLoadSignExtend64()
472 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectIndexedLoadSignExtend64()
473 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoadSignExtend64()
478 MVT::i64, SDValue(Result_1, 0)); in SelectIndexedLoadSignExtend64()
481 SDValue(Result_1, 1)); in SelectIndexedLoadSignExtend64()
485 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoadSignExtend64()
486 SDValue(LD, 1), in SelectIndexedLoadSignExtend64()
487 SDValue(LD, 2) in SelectIndexedLoadSignExtend64()
489 const SDValue Tos[] = { SDValue(Result_2, 0), in SelectIndexedLoadSignExtend64()
490 SDValue(Result_3, 0), in SelectIndexedLoadSignExtend64()
491 SDValue(Result_1, 1) in SelectIndexedLoadSignExtend64()
504 SDValue Chain = LD->getChain(); in SelectIndexedLoadZeroExtend64()
506 SDValue Base = LD->getBasePtr(); in SelectIndexedLoadZeroExtend64()
507 SDValue Offset = LD->getOffset(); in SelectIndexedLoadZeroExtend64()
510 SDValue N1 = LD->getOperand(1); in SelectIndexedLoadZeroExtend64()
511 SDValue CPTmpN1_0; in SelectIndexedLoadZeroExtend64()
512 SDValue CPTmpN1_1; in SelectIndexedLoadZeroExtend64()
519 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoadZeroExtend64()
520 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectIndexedLoadZeroExtend64()
528 SDValue(Result_2,0), in SelectIndexedLoadZeroExtend64()
529 SDValue(Result_1,0)); in SelectIndexedLoadZeroExtend64()
533 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoadZeroExtend64()
534 SDValue(LD, 1), in SelectIndexedLoadZeroExtend64()
535 SDValue(LD, 2) in SelectIndexedLoadZeroExtend64()
537 const SDValue Tos[] = { SDValue(Result_3, 0), in SelectIndexedLoadZeroExtend64()
538 SDValue(Result_1, 1), in SelectIndexedLoadZeroExtend64()
539 SDValue(Result_1, 2) in SelectIndexedLoadZeroExtend64()
546 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectIndexedLoadZeroExtend64()
547 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoadZeroExtend64()
555 SDValue(Result_2,0), in SelectIndexedLoadZeroExtend64()
556 SDValue(Result_1,0)); in SelectIndexedLoadZeroExtend64()
560 SDValue(Result_1, 1)); in SelectIndexedLoadZeroExtend64()
564 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoadZeroExtend64()
565 SDValue(LD, 1), in SelectIndexedLoadZeroExtend64()
566 SDValue(LD, 2) in SelectIndexedLoadZeroExtend64()
568 const SDValue Tos[] = { SDValue(Result_3, 0), // Load value. in SelectIndexedLoadZeroExtend64()
569 SDValue(Result_4, 0), // New address. in SelectIndexedLoadZeroExtend64()
570 SDValue(Result_1, 1) in SelectIndexedLoadZeroExtend64()
581 SDValue Chain = LD->getChain(); in SelectIndexedLoad()
582 SDValue Base = LD->getBasePtr(); in SelectIndexedLoad()
583 SDValue Offset = LD->getOffset(); in SelectIndexedLoad()
630 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoad()
638 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoad()
639 SDValue(LD, 1), in SelectIndexedLoad()
640 SDValue(LD, 2) in SelectIndexedLoad()
642 const SDValue Tos[] = { SDValue(Result, 0), in SelectIndexedLoad()
643 SDValue(Result, 1), in SelectIndexedLoad()
644 SDValue(Result, 2) in SelectIndexedLoad()
649 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectIndexedLoad()
650 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedLoad()
657 SDValue(Result_1, 1)); in SelectIndexedLoad()
661 const SDValue Froms[] = { SDValue(LD, 0), in SelectIndexedLoad()
662 SDValue(LD, 1), in SelectIndexedLoad()
663 SDValue(LD, 2) in SelectIndexedLoad()
665 const SDValue Tos[] = { SDValue(Result_1, 0), in SelectIndexedLoad()
666 SDValue(Result_2, 0), in SelectIndexedLoad()
667 SDValue(Result_1, 1) in SelectIndexedLoad()
693 SDValue Chain = ST->getChain(); in SelectIndexedStore()
694 SDValue Base = ST->getBasePtr(); in SelectIndexedStore()
695 SDValue Offset = ST->getOffset(); in SelectIndexedStore()
696 SDValue Value = ST->getValue(); in SelectIndexedStore()
707 SDValue Ops[] = {Base, CurDAG->getTargetConstant(Val, MVT::i32), Value, in SelectIndexedStore()
726 ReplaceUses(SDValue(ST,1), SDValue(Result,1)); in SelectIndexedStore()
733 SDValue Ops[] = { Base, CurDAG->getTargetConstant(0, MVT::i32), Value, in SelectIndexedStore()
745 SDValue TargetConstVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIndexedStore()
751 SDValue(Result_1, 0)); in SelectIndexedStore()
756 ReplaceUses(SDValue(ST,0), SDValue(Result_2,0)); in SelectIndexedStore()
757 ReplaceUses(SDValue(ST,1), SDValue(Result_1,0)); in SelectIndexedStore()
764 SDValue Chain = ST->getChain(); in SelectBaseOffsetStore()
766 SDValue Value = ST->getValue(); in SelectBaseOffsetStore()
776 SDValue Base = Const32->getOperand(0); in SelectBaseOffsetStore()
784 SDValue TargAddr = in SelectBaseOffsetStore()
797 SDValue Ops[] = {SDValue(NewBase,0), in SelectBaseOffsetStore()
844 SDValue MulOp0 = N->getOperand(0); in SelectMul()
845 SDValue MulOp1 = N->getOperand(1); in SelectMul()
847 SDValue OP0; in SelectMul()
848 SDValue OP1; in SelectMul()
852 SDValue Sext0 = MulOp0.getOperand(0); in SelectMul()
866 SDValue Chain = LD->getChain(); in SelectMul()
867 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectMul()
868 OP0 = SDValue (CurDAG->getMachineNode(Hexagon::LDriw, dl, MVT::i32, in SelectMul()
878 SDValue Sext1 = MulOp1.getOperand(0); in SelectMul()
892 SDValue Chain = LD->getChain(); in SelectMul()
893 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectMul()
894 OP1 = SDValue (CurDAG->getMachineNode(Hexagon::LDriw, dl, MVT::i32, in SelectMul()
915 SDValue N0 = N->getOperand(0); in SelectSelect()
917 SDValue N00 = N0.getOperand(0); in SelectSelect()
919 SDValue N000 = N00.getOperand(0); in SelectSelect()
920 SDValue N001 = N00.getOperand(1); in SelectSelect()
922 SDValue N01 = N0.getOperand(1); in SelectSelect()
923 SDValue N02 = N0.getOperand(2); in SelectSelect()
931 SDValue N1 = N->getOperand(1); in SelectSelect()
933 SDValue N2 = N->getOperand(2); in SelectSelect()
941 SDValue(SextNode, 0), in SelectSelect()
955 SDValue N1 = N->getOperand(1); in SelectSelect()
957 SDValue N2 = N->getOperand(2); in SelectSelect()
965 SDValue(SextNode, 0), in SelectSelect()
982 SDValue Shift = N->getOperand(0); in SelectTruncate()
1004 SDValue ShiftOp0 = Shift.getOperand(0); in SelectTruncate()
1005 SDValue ShiftOp1 = Shift.getOperand(1); in SelectTruncate()
1019 SDValue Mul = ShiftOp0; in SelectTruncate()
1024 SDValue MulOp0 = Mul.getOperand(0); in SelectTruncate()
1025 SDValue MulOp1 = Mul.getOperand(1); in SelectTruncate()
1027 SDValue OP0; in SelectTruncate()
1028 SDValue OP1; in SelectTruncate()
1032 SDValue Sext0 = MulOp0.getOperand(0); in SelectTruncate()
1046 SDValue Chain = LD->getChain(); in SelectTruncate()
1047 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectTruncate()
1048 OP0 = SDValue (CurDAG->getMachineNode(Hexagon::LDriw, dl, MVT::i32, in SelectTruncate()
1058 SDValue Sext1 = MulOp1.getOperand(0); in SelectTruncate()
1071 SDValue Chain = LD->getChain(); in SelectTruncate()
1072 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectTruncate()
1073 OP1 = SDValue (CurDAG->getMachineNode(Hexagon::LDriw, dl, MVT::i32, in SelectTruncate()
1096 SDValue Shl_0 = N->getOperand(0); in SelectSHL()
1097 SDValue Shl_1 = N->getOperand(1); in SelectSHL()
1101 SDValue Mul_0 = Shl_0.getOperand(0); // Val in SelectSHL()
1102 SDValue Mul_1 = Shl_0.getOperand(1); // Const in SelectSHL()
1110 SDValue Val = CurDAG->getTargetConstant(ValConst, in SelectSHL()
1123 SDValue Sub_0 = Shl_0.getOperand(0); // Const 0 in SelectSHL()
1124 SDValue Sub_1 = Shl_0.getOperand(1); // Val in SelectSHL()
1130 SDValue Shl2_0 = Sub_1.getOperand(0); // Val in SelectSHL()
1131 SDValue Shl2_1 = Sub_1.getOperand(1); // Const in SelectSHL()
1138 SDValue Val = CurDAG->getTargetConstant(-ValConst, MVT::i32); in SelectSHL()
1179 SDValue TargetConst0 = CurDAG->getTargetConstant(0, MVT::i32); in SelectZeroExtend()
1182 SDValue(IsIntrinsic, 0)); in SelectZeroExtend()
1188 SDValue(Result_2, 0), in SelectZeroExtend()
1189 SDValue(Result_1, 0)); in SelectZeroExtend()
1197 SDValue(IsIntrinsic, 0)); in SelectZeroExtend()
1220 SmallVector<SDValue, 8> Ops; in SelectIntrinsicWOChain()
1236 Ops.push_back(SDValue(Arg, 0)); in SelectIntrinsicWOChain()
1240 SDValue(Arg, 0)); in SelectIntrinsicWOChain()
1241 Ops.push_back(SDValue(PdRs,0)); in SelectIntrinsicWOChain()
1246 SDValue SDVal = CurDAG->getTargetConstant(Val, MVT::i32); in SelectIntrinsicWOChain()
1297 SDValue(IntRegTFR, 0)); in SelectConstant()
1301 SDValue(Pd, 0)); in SelectConstant()
1305 SDValue(Pd, 0), SDValue(NotPd, 0)); in SelectConstant()
1397 bool HexagonDAGToDAGISel::SelectADDRri(SDValue& Addr, SDValue &Base, in SelectADDRri()
1398 SDValue &Offset) { in SelectADDRri()
1414 bool HexagonDAGToDAGISel::SelectADDRriS11_0(SDValue& Addr, SDValue &Base, in SelectADDRriS11_0()
1415 SDValue &Offset) { in SelectADDRriS11_0()
1431 bool HexagonDAGToDAGISel::SelectADDRriS11_1(SDValue& Addr, SDValue &Base, in SelectADDRriS11_1()
1432 SDValue &Offset) { in SelectADDRriS11_1()
1448 bool HexagonDAGToDAGISel::SelectADDRriS11_2(SDValue& Addr, SDValue &Base, in SelectADDRriS11_2()
1449 SDValue &Offset) { in SelectADDRriS11_2()
1465 bool HexagonDAGToDAGISel::SelectADDRriU6_0(SDValue& Addr, SDValue &Base, in SelectADDRriU6_0()
1466 SDValue &Offset) { in SelectADDRriU6_0()
1482 bool HexagonDAGToDAGISel::SelectADDRriU6_1(SDValue& Addr, SDValue &Base, in SelectADDRriU6_1()
1483 SDValue &Offset) { in SelectADDRriU6_1()
1499 bool HexagonDAGToDAGISel::SelectADDRriU6_2(SDValue& Addr, SDValue &Base, in SelectADDRriU6_2()
1500 SDValue &Offset) { in SelectADDRriU6_2()
1516 bool HexagonDAGToDAGISel::SelectMEMriS11_2(SDValue& Addr, SDValue &Base, in SelectMEMriS11_2()
1517 SDValue &Offset) { in SelectMEMriS11_2()
1527 bool HexagonDAGToDAGISel::SelectADDRriS11_3(SDValue& Addr, SDValue &Base, in SelectADDRriS11_3()
1528 SDValue &Offset) { in SelectADDRriS11_3()
1543 bool HexagonDAGToDAGISel::SelectADDRrr(SDValue &Addr, SDValue &R1, in SelectADDRrr()
1544 SDValue &R2) { in SelectADDRrr()
1567 bool HexagonDAGToDAGISel::SelectAddr(SDNode *Op, SDValue Addr, in SelectAddr()
1568 SDValue &Base, SDValue &Offset) { in SelectAddr()
1592 SelectInlineAsmMemoryOperand(const SDValue &Op, char ConstraintCode, in SelectInlineAsmMemoryOperand()
1593 std::vector<SDValue> &OutOps) { in SelectInlineAsmMemoryOperand()
1594 SDValue Op0, Op1; in SelectInlineAsmMemoryOperand()
1645 inline bool HexagonDAGToDAGISel::foldGlobalAddress(SDValue &N, SDValue &R) { in foldGlobalAddress()
1652 inline bool HexagonDAGToDAGISel::foldGlobalAddressGP(SDValue &N, SDValue &R) { in foldGlobalAddressGP()
1659 bool HexagonDAGToDAGISel::foldGlobalAddressImpl(SDValue &N, SDValue &R, in foldGlobalAddressImpl()
1662 SDValue N0 = N.getOperand(0); in foldGlobalAddressImpl()
1663 SDValue N1 = N.getOperand(1); in foldGlobalAddressImpl()