================ @@ -17,23 +17,25 @@ def CC_Sparc32 : CallingConv<[ // Custom assign SRet to [sp+64]. CCIfSRet<CCCustom<"CC_Sparc_Assign_SRet">>, + // f128 arguments are passed indirectly, using i32 pointers. + CCIfType<[f128], CCPassIndirect<i32>>, ---------------- koachan wrote:
It stops matching, but at least looking at GCC behavior, in soft-float mode it also switches into an ABI in which all f128s are passed as if it's 2xi64s in the integer registers, which at the moment, LLVM doesn't do. Should be fixable but I prefer to do it in another patch, so marking it as FIXME as you suggested. https://github.com/llvm/llvm-project/pull/162226 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
