Currently, the regcall calling conversion in Clang doesn't match with
ICC when passing / returning structures. https://godbolt.org/z/axxKMKrW7
This patch tries to fix the problem to match with ICC.
| Paths 
 |  Differential  D122104  
[X86][regcall] Support passing / returning structures ClosedPublic Authored by pengfei on Mar 20 2022, 9:44 AM. 
Details Summary Currently, the regcall calling conversion in Clang doesn't match with This patch tries to fix the problem to match with ICC. 
Diff Detail 
 Event Timeline
 
 
 pengfei marked 2 inline comments as done.Comment Actions Address Yuanke's comments. 
 This revision is now accepted and ready to land.Mar 27 2022, 5:43 PM Closed by commit rGcd26190a10fc: [X86][regcall] Support passing / returning structures (authored by pengfei).  ·  Explain WhyMar 28 2022, 8:30 PM This revision was automatically updated to reflect the committed changes. 
 
 
 aaron.ballman added inline comments. 
 Comment Actions Thanks @erichkeane @aaron.ballman ! Yeah, I didn't receive buildbots notice about that. 
Revision Contents 
 
 
Diff 416945 clang/include/clang/CodeGen/CGFunctionInfo.h
 clang/lib/CodeGen/CGCall.cpp
 clang/lib/CodeGen/CodeGenFunction.cpp
 clang/lib/CodeGen/TargetInfo.cpp
 
 clang/test/CodeGen/aarch64-neon-tbl.c
 clang/test/CodeGen/regcall2.c
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I notice some code would indicate it is log 2 size with Log2 suffix in the variable name. Do you think it is more readable to add Log2 suffix?