llitchev added a comment.

In D92189#2425639 <https://reviews.llvm.org/D92189#2425639>, @jdoerfert wrote:

> While only partially related, can you leave a FIXME saying that more than 15 
> arguments need to be packed in a structure?

Yes, the number of varargs that is guarantee to work is 15, if more are needed, 
there is a need to wrap the parameters in a struct.
As we discussed (bring it here too) the issue here is how parameters are passed 
following the calling convention. The varargs assumes that parameters are 
passed in GPR (INTEGER classifications based on the calling conventions). The 
varargs approach works fine for the INTEGER classified args. It breaks for the 
SSE(UP) and vector clarified parameters. If we pass the pointers to the SSE 
params (floats for example) everything will work - pointers are INTEGER 
classification.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92189/new/

https://reviews.llvm.org/D92189

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to