[clang] [X86][vectorcall] Pass built types byval when xmm0~6 exhausted (PR #91846)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Sat May 11 11:10:28 PDT 2024
================
@@ -792,7 +792,7 @@ ABIArgInfo X86_32ABIInfo::classifyArgumentType(QualType Ty, CCState &State,
return ABIArgInfo::getDirect();
return ABIArgInfo::getExpand();
}
- return getIndirectResult(Ty, /*ByVal=*/false, State);
+ return getIndirectResult(Ty, IsVectorCall && Ty->isBuiltinType(), State);
----------------
efriedma-quic wrote:
Maybe try to avoid byval overhead:
```
if (IsVectorCall && Ty->isBuiltinType())
return ABIArgInfo::getDirect();
return getIndirectResult(Ty, /*ByVal=*/false, State);
```
https://github.com/llvm/llvm-project/pull/91846
More information about the cfe-commits
mailing list