[llvm] [llvm] X86_64 CC for UEFI (PR #137905)

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 30 00:28:15 PDT 2025


================
@@ -284,7 +284,8 @@ def RetCC_X86Common : CallingConv<[
 
   // Long double types are always returned in FP0 (even with SSE),
   // except on Win64.
-  CCIfNotSubtarget<"isTargetWin64()", CCIfType<[f80], CCAssignToReg<[FP0, FP1]>>>
+  CCIfNotSubtarget<"isTargetWinOrUEFI64()",
+                    CCIfType<[f80], CCAssignToReg<[FP0, FP1]>>>
----------------
petrhosek wrote:

Could you instead use two separate statements the same way you did for CC and avoid introducing `isTargetWinOrUEFI64()` altogether?

```suggestion
  CCIfNotSubtarget<"isTargetWin64()",
                    CCIfType<[f80], CCAssignToReg<[FP0, FP1]>>>

  CCIfNotSubtarget<"isTargetUEFI64()",
                    CCIfType<[f80], CCAssignToReg<[FP0, FP1]>>>
```

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


More information about the llvm-commits mailing list