[clang] [compiler-rt] [llvm] [SPARC] Properly handle CC for long double on sparc32 (PR #162226)

via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 23 18:06:14 PST 2025


================
@@ -20,3 +20,17 @@ r (long long __complex__  a, long long __complex__  b)
 {
   return 0;
 }
+
+// CHECK-LABEL: define{{.*}} void @s(ptr dead_on_unwind noalias writable sret(fp128) align 8 %agg.result, ptr noundef byval(fp128) align 8 %0) #0
+long double
+s(long double a)
+{
+    return 0;
+}
+
+// CHECK-LABEL: define{{.*}} { fp128, fp128 } @t(ptr noundef byval({ fp128, fp128 }) align 8 %a) #0
----------------
koachan wrote:

Wait, I thought I already put it in?

> Alternatively, inreg should only be attached to functions returning _Complex long double.

Though yeah I'll change it to this too since the special treatment should only be done for _Complex long double.

https://github.com/llvm/llvm-project/pull/162226


More information about the llvm-commits mailing list