[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 19:46:57 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:

I changed it so that only long doubles get the inreg treatment, think the others should be fine as-is.

> They don't trigger a failure because they use regex `.*`

Though, about the regex, I'm pretty sure that clang generates a lot of attributes in that place, I wonder if I should just use them as-is in the tests?

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


More information about the llvm-commits mailing list