[PATCH] D26151: RegCall - Handling long double arguments

Akira Hatanaka via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 16 19:09:29 PST 2016


ahatanak added inline comments.


================
Comment at: lib/Target/X86/X86CallingConv.td:160
     // long double --> FP
-    CCIfType<[f80], CCAssignToReg<[FP0]>>,
+    CCIfType<[f80], CCAssignToReg<RC.FP>>,
 
----------------
ahatanak wrote:
> Since RC.FP includes only FP0, this indicates that only one register is used to return a value even though two registers are used when returning complex long double. I think this currently works only because it falls backs on RetCC_X86Common to find the return register for the latter half of the complex long double return value.
> 
> Wouldn't it be better to include both FP0 and FP1 in RC.FP?
I mean you can use separate register lists for the argument and return registers.


Repository:
  rL LLVM

https://reviews.llvm.org/D26151





More information about the llvm-commits mailing list