[libc-commits] [clang] [compiler-rt] [flang] [libc] [libcxx] [lldb] [llvm] [RFC][Clang] Add __int256/__uint256 builtin types (PR #182733)
Xavier Roche via libc-commits
libc-commits at lists.llvm.org
Mon Feb 23 04:12:12 PST 2026
================
@@ -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
More information about the libc-commits
mailing list