================
@@ -1821,6 +1821,14 @@ void X86_64ABIInfo::classify(QualType Ty, uint64_t
OffsetBase, Class &Lo,
} else if (k == BuiltinType::Int128 || k == BuiltinType::UInt128) {
Lo = Integer;
Hi = Integer;
+ } else if (k == BuiltinType::Int256 || k == BuiltinType::UInt256) {
+ // 256-bit integers in aggregates cause the aggregate to be passed in
+ // memory. Standalone scalar __int256 arguments bypass SysV ABI
+ // classification and are emitted as direct i256 in IR, with the LLVM
+ // backend handling register lowering (4 x i64 GPRs).
+ // This differs from _BitInt(256) which always uses sret/byval.
----------------
xroche wrote:
Do we need this comment ?
https://github.com/llvm/llvm-project/pull/182733
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits