[clang] [compiler-rt] [llvm] [SPARC] Properly handle CC for long double on sparc32 (PR #162226)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 22 18:54:55 PST 2025
================
@@ -106,6 +106,23 @@ static bool CC_Sparc_Assign_Ret_Split_64(unsigned &ValNo, MVT &ValVT,
return true;
}
+static bool CC_Sparc_Assign_Ret_F128(unsigned &ValNo, MVT &ValVT, MVT &LocVT,
+ CCValAssign::LocInfo &LocInfo,
+ ISD::ArgFlagsTy &ArgFlags,
+ CCState &State) {
+ static const MCPhysReg RegList[] = {SP::Q0, SP::Q1};
+
+ if (!ArgFlags.isInReg())
+ return false;
+
+ if (Register Reg = State.AllocateReg(RegList))
+ State.addLoc(CCValAssign::getCustomReg(ValNo, ValVT, Reg, LocVT, LocInfo));
----------------
koachan wrote:
I think I can remove this entirely since I'm going to use `CCIfInReg`.
https://github.com/llvm/llvm-project/pull/162226
More information about the llvm-commits
mailing list