Lines Matching refs:LocVT
325 bool llvm::CC_RISCV(unsigned ValNo, MVT ValVT, MVT LocVT, in CC_RISCV() argument
354 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
361 if (!LocVT.isVector() && IsRet && ValNo > 1) in CC_RISCV()
391 if ((LocVT == MVT::f16 || LocVT == MVT::bf16) && !UseGPRForF16_F32) { in CC_RISCV()
393 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
398 if (LocVT == MVT::f32 && !UseGPRForF16_F32) { in CC_RISCV()
400 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
405 if (LocVT == MVT::f64 && !UseGPRForF64) { in CC_RISCV()
407 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
414 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
421 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
429 if (LocVT == MVT::f64 && XLen == 64 && Subtarget.hasStdExtZdinx()) { in CC_RISCV()
431 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
437 if (LocVT == MVT::f16 || LocVT == MVT::bf16 || in CC_RISCV()
438 (LocVT == MVT::f32 && XLen == 64)) { in CC_RISCV()
440 LocVT = XLenVT; in CC_RISCV()
442 CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
448 if ((XLen == 32 && LocVT == MVT::f32) || (XLen == 64 && LocVT == MVT::f64)) { in CC_RISCV()
450 LocVT = XLenVT; in CC_RISCV()
452 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
486 if (XLen == 32 && LocVT == MVT::f64) { in CC_RISCV()
496 CCValAssign::getMem(ValNo, ValVT, StackOffset, LocVT, LocInfo)); in CC_RISCV()
499 LocVT = MVT::i32; in CC_RISCV()
500 State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
504 CCValAssign::getCustomReg(ValNo, ValVT, HiReg, LocVT, LocInfo)); in CC_RISCV()
508 CCValAssign::getCustomMem(ValNo, ValVT, StackOffset, LocVT, LocInfo)); in CC_RISCV()
517 LocVT = XLenVT; in CC_RISCV()
520 CCValAssign::getPending(ValNo, ValVT, LocVT, LocInfo)); in CC_RISCV()
539 XLen, State, VA, AF, ValNo, ValVT, LocVT, ArgFlags, in CC_RISCV()
554 LocVT = TLI.getContainerForFixedLengthVector(LocVT); in CC_RISCV()
556 CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
568 LocVT = XLenVT; in CC_RISCV()
571 LocVT = XLenVT; in CC_RISCV()
605 assert(((ValVT.isFloatingPoint() && !ValVT.isVector()) || LocVT == XLenVT || in CC_RISCV()
611 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV()
615 State.addLoc(CCValAssign::getMem(ValNo, ValVT, StackOffset, LocVT, LocInfo)); in CC_RISCV()
621 bool llvm::CC_RISCV_FastCC(unsigned ValNo, MVT ValVT, MVT LocVT, in CC_RISCV_FastCC() argument
630 if ((LocVT == MVT::f16 && Subtarget.hasStdExtZfhmin()) || in CC_RISCV_FastCC()
631 (LocVT == MVT::bf16 && Subtarget.hasStdExtZfbfmin())) { in CC_RISCV_FastCC()
638 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
643 if (LocVT == MVT::f32 && Subtarget.hasStdExtF()) { in CC_RISCV_FastCC()
650 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
655 if (LocVT == MVT::f64 && Subtarget.hasStdExtD()) { in CC_RISCV_FastCC()
662 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
670 if ((LocVT == MVT::f16 && Subtarget.hasStdExtZhinxmin())) { in CC_RISCV_FastCC()
672 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
678 if (LocVT == MVT::f32 && Subtarget.hasStdExtZfinx()) { in CC_RISCV_FastCC()
680 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
686 if (LocVT == MVT::f64 && Subtarget.is64Bit() && Subtarget.hasStdExtZdinx()) { in CC_RISCV_FastCC()
688 if (LocVT.getSizeInBits() != Subtarget.getXLen()) { in CC_RISCV_FastCC()
689 LocVT = XLenVT; in CC_RISCV_FastCC()
691 CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
694 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
701 if (LocVT.isVector()) { in CC_RISCV_FastCC()
705 if (LocVT.isFixedLengthVector()) { in CC_RISCV_FastCC()
706 LocVT = TLI.getContainerForFixedLengthVector(LocVT); in CC_RISCV_FastCC()
708 CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
711 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
717 if (LocVT.isScalableVector() || in CC_RISCV_FastCC()
720 LocVT = XLenVT; in CC_RISCV_FastCC()
724 if (LocVT == XLenVT) { in CC_RISCV_FastCC()
726 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_FastCC()
731 if (LocVT == XLenVT || LocVT == MVT::f16 || LocVT == MVT::bf16 || in CC_RISCV_FastCC()
732 LocVT == MVT::f32 || LocVT == MVT::f64 || LocVT.isFixedLengthVector()) { in CC_RISCV_FastCC()
734 int64_t Offset = State.AllocateStack(LocVT.getStoreSize(), StackAlign); in CC_RISCV_FastCC()
735 State.addLoc(CCValAssign::getMem(ValNo, ValVT, Offset, LocVT, LocInfo)); in CC_RISCV_FastCC()
742 bool llvm::CC_RISCV_GHC(unsigned ValNo, MVT ValVT, MVT LocVT, in CC_RISCV_GHC() argument
754 if (LocVT == MVT::i32 || LocVT == MVT::i64) { in CC_RISCV_GHC()
758 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_GHC()
766 if (LocVT == MVT::f32 && Subtarget.hasStdExtF()) { in CC_RISCV_GHC()
773 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_GHC()
778 if (LocVT == MVT::f64 && Subtarget.hasStdExtD()) { in CC_RISCV_GHC()
785 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_GHC()
790 if (LocVT == MVT::f32 && Subtarget.hasStdExtZfinx()) { in CC_RISCV_GHC()
796 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_GHC()
801 if (LocVT == MVT::f64 && Subtarget.hasStdExtZdinx() && Subtarget.is64Bit()) { in CC_RISCV_GHC()
803 State.addLoc(CCValAssign::getReg(ValNo, ValVT, Reg, LocVT, LocInfo)); in CC_RISCV_GHC()