• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/Mips/

Lines Matching refs:SDValue

78 unsigned MipsSEDAGToDAGISel::getMSACtrlReg(const SDValue RegIdx) const {
207 SDValue InFlag = Node->getOperand(2);
209 SDValue LHS = Node->getOperand(0), RHS = Node->getOperand(1);
215 SDValue Ops[3] = {LHS, RHS, InFlag};
234 SDValue CstOne = CurDAG->getTargetConstant(1, DL, MVT::i32);
236 SDValue OuFlag = CurDAG->getTargetConstant(20, DL, MVT::i32);
242 Mips::EXT, DL, MVT::i32, SDValue(DSPCtrlField, 0), OuFlag, CstOne);
244 SDValue Ops[4] = {SDValue(DSPCtrlField, 0),
246 SDValue(Carry, 0)};
254 SDValue Zero = CurDAG->getRegister(Mips::ZERO, MVT::i32);
256 SDValue InsOps[4] = {Zero, OuFlag, CstOne, SDValue(DSPCFWithCarry, 0)};
261 SDValue(DSPCtrlFinal, 0), CstOne);
263 SDValue Operands[3] = {LHS, RHS, SDValue(WrDSP, 0)};
268 bool MipsSEDAGToDAGISel::selectAddrFrameIndex(SDValue Addr, SDValue &Base,
269 SDValue &Offset) const {
282 SDValue Addr, SDValue &Base, SDValue &Offset, unsigned OffsetBits,
312 bool MipsSEDAGToDAGISel::selectAddrRegImm(SDValue Addr, SDValue &Base,
313 SDValue &Offset) const {
347 SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
362 bool MipsSEDAGToDAGISel::selectAddrDefault(SDValue Addr, SDValue &Base,
363 SDValue &Offset) const {
369 bool MipsSEDAGToDAGISel::selectIntAddr(SDValue Addr, SDValue &Base,
370 SDValue &Offset) const {
375 bool MipsSEDAGToDAGISel::selectAddrRegImm9(SDValue Addr, SDValue &Base,
376 SDValue &Offset) const {
387 bool MipsSEDAGToDAGISel::selectAddrRegImm11(SDValue Addr, SDValue &Base,
388 SDValue &Offset) const {
399 bool MipsSEDAGToDAGISel::selectAddrRegImm12(SDValue Addr, SDValue &Base,
400 SDValue &Offset) const {
410 bool MipsSEDAGToDAGISel::selectAddrRegImm16(SDValue Addr, SDValue &Base,
411 SDValue &Offset) const {
421 bool MipsSEDAGToDAGISel::selectIntAddr11MM(SDValue Addr, SDValue &Base,
422 SDValue &Offset) const {
427 bool MipsSEDAGToDAGISel::selectIntAddr12MM(SDValue Addr, SDValue &Base,
428 SDValue &Offset) const {
433 bool MipsSEDAGToDAGISel::selectIntAddr16MM(SDValue Addr, SDValue &Base,
434 SDValue &Offset) const {
439 bool MipsSEDAGToDAGISel::selectIntAddrLSL2MM(SDValue Addr, SDValue &Base,
440 SDValue &Offset) const {
461 bool MipsSEDAGToDAGISel::selectIntAddrSImm10(SDValue Addr, SDValue &Base,
462 SDValue &Offset) const {
473 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl1(SDValue Addr, SDValue &Base,
474 SDValue &Offset) const {
484 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl2(SDValue Addr, SDValue &Base,
485 SDValue &Offset) const {
495 bool MipsSEDAGToDAGISel::selectIntAddrSImm10Lsl3(SDValue Addr, SDValue &Base,
496 SDValue &Offset) const {
551 selectVSplatCommon(SDValue N, SDValue &Imm, bool Signed,
574 selectVSplatUimm1(SDValue N, SDValue &Imm) const {
579 selectVSplatUimm2(SDValue N, SDValue &Imm) const {
584 selectVSplatUimm3(SDValue N, SDValue &Imm) const {
590 selectVSplatUimm4(SDValue N, SDValue &Imm) const {
596 selectVSplatUimm5(SDValue N, SDValue &Imm) const {
602 selectVSplatUimm6(SDValue N, SDValue &Imm) const {
608 selectVSplatUimm8(SDValue N, SDValue &Imm) const {
614 selectVSplatSimm5(SDValue N, SDValue &Imm) const {
628 bool MipsSEDAGToDAGISel::selectVSplatUimmPow2(SDValue N, SDValue &Imm) const {
659 bool MipsSEDAGToDAGISel::selectVSplatMaskL(SDValue N, SDValue &Imm) const {
693 bool MipsSEDAGToDAGISel::selectVSplatMaskR(SDValue N, SDValue &Imm) const {
714 bool MipsSEDAGToDAGISel::selectVSplatUimmInvPow2(SDValue N,
715 SDValue &Imm) const {
749 SDValue cond = Node->getOperand(0);
750 SDValue Hi1 = Node->getOperand(1);
751 SDValue Lo1 = Node->getOperand(2);
752 SDValue Hi2 = Node->getOperand(3);
753 SDValue Lo2 = Node->getOperand(4);
755 SDValue ops[] = {cond, Hi1, Lo1, Hi2, Lo2};
773 SDValue Zero = CurDAG->getCopyFromReg(CurDAG->getEntryNode(), DL,
778 SDValue Zero = CurDAG->getCopyFromReg(CurDAG->getEntryNode(), DL,
783 SDValue Zero = CurDAG->getCopyFromReg(CurDAG->getEntryNode(), DL,
809 SDValue ImmOpnd = CurDAG->getTargetConstant(SignExtend64<16>(Inst->ImmOpnd),
828 SDValue(RegOpnd, 0), ImmOpnd);
843 SDValue ChainIn = Node->getOperand(0);
844 SDValue RegIdx = Node->getOperand(2);
845 SDValue Reg = CurDAG->getCopyFromReg(ChainIn, DL,
857 const SDValue &Chain = Node->getOperand(0);
858 const SDValue &Intrinsic = Node->getOperand(1);
859 const SDValue &Pointer = Node->getOperand(2);
860 const SDValue &Constant = Node->getOperand(3);
871 SDValue Imm =
874 SmallVector<SDValue, 3> Ops{Pointer, Imm, Chain};
913 SDValue ChainIn = Node->getOperand(0);
914 SDValue RegIdx = Node->getOperand(2);
915 SDValue Value = Node->getOperand(3);
916 SDValue ChainOut = CurDAG->getCopyToReg(ChainIn, DL,
928 const SDValue &Chain = Node->getOperand(0);
929 const SDValue &Intrinsic = Node->getOperand(1);
930 const SDValue &Vec = Node->getOperand(2);
931 const SDValue &Pointer = Node->getOperand(3);
932 const SDValue &Constant = Node->getOperand(4);
943 SDValue Imm =
946 SmallVector<SDValue, 4> Ops{Vec, Pointer, Imm, Chain};
1006 SDValue Ops[4] = {
1033 SDValue Chain = CurDAG->getCopyToReg(CurDAG->getEntryNode(), DL, DestReg,
1034 SDValue(Rdhwr, 0));
1035 SDValue ResNode = CurDAG->getCopyFromReg(Chain, DL, DestReg, PtrVT);
1100 SDValue Imm = CurDAG->getTargetConstant(SplatValue, DL,
1115 SDValue ZeroVal = CurDAG->getRegister(
1129 SDValue LoVal = CurDAG->getTargetConstant(Lo, DL, SplatMVT);
1132 Res = CurDAG->getMachineNode(FILLOp, DL, ViaVecTy, SDValue(Res, 0));
1139 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1141 SDValue LoVal = CurDAG->getTargetConstant(Lo, DL, MVT::i32);
1142 SDValue HiVal = CurDAG->getTargetConstant(Hi, DL, MVT::i32);
1149 Hi ? SDValue(Res, 0) : ZeroVal, LoVal);
1153 CurDAG->getMachineNode(Mips::FILL_W, DL, MVT::v4i32, SDValue(Res, 0));
1162 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1164 SDValue LoVal = CurDAG->getTargetConstant(Lo, DL, MVT::i32);
1165 SDValue HiVal = CurDAG->getTargetConstant(Hi, DL, MVT::i32);
1172 Hi ? SDValue(Res, 0) : ZeroVal, LoVal);
1177 SDValue(Res, 0),
1181 CurDAG->getMachineNode(Mips::FILL_D, DL, MVT::v2i64, SDValue(Res, 0));
1214 SDValue LoVal = CurDAG->getTargetConstant(Lo, DL, MVT::i32);
1215 SDValue HiVal = CurDAG->getTargetConstant(Hi, DL, MVT::i32);
1216 SDValue HigherVal = CurDAG->getTargetConstant(Higher, DL, MVT::i32);
1217 SDValue HighestVal = CurDAG->getTargetConstant(Highest, DL, MVT::i32);
1218 SDValue ZeroVal = CurDAG->getRegister(Mips::ZERO, MVT::i32);
1241 Hi ? SDValue(Res, 0) : ZeroVal, LoVal);
1249 Highest ? SDValue(HiRes, 0) : ZeroVal,
1255 (Hi || Lo) ? SDValue(Res, 0) : ZeroVal);
1258 Mips::INSERT_W, DL, MVT::v4i32, SDValue(Res, 0),
1259 (Highest || Higher) ? SDValue(HiRes, 0) : ZeroVal,
1267 Mips::COPY_TO_REGCLASS, DL, ViaVecTy, SDValue(Res, 0),
1271 Mips::SPLATI_D, DL, MVT::v2i64, SDValue(Res, 0),
1275 SDValue Zero64Val = CurDAG->getRegister(Mips::ZERO_64, MVT::i64);
1283 SDValue(HiRes, 0),
1290 SDValue(Res, 0),
1304 SDValue Ops[4] = {HiResNonZero ? SDValue(HiRes, 0) : Zero64Val,
1307 SDValue(Res, 0)};
1312 Mips::DSLL32, DL, MVT::i64, SDValue(HiRes, 0),
1319 SDValue(Res, 0));
1335 ResVecTy, SDValue(Res, 0),
1350 SelectInlineAsmMemoryOperand(const SDValue &Op, unsigned ConstraintID,
1351 std::vector<SDValue> &OutOps) {
1352 SDValue Base, Offset;