Use direct passing for 32- and 64-bit unsigned integers. (#5980)

Previously we only avoided creating a thunk for signed integers. But the
same logic also applies to the unsigned 32-bit and 64-bit types.
This commit is contained in:
Richard Smith
2025-08-25 21:49:03 +00:00
committed by GitHub
parent 74016d47f9
commit ddafbc9331
4 changed files with 162 additions and 123 deletions
+1 -1
View File
@@ -1062,7 +1062,7 @@ static auto MapBuiltinType(Context& context, SemIR::LocId loc_id,
MakeIntType(context, context.ints().Add(width), is_signed);
// Try to make sure signed integer of 32 or 64 bits are complete so we can
// check against them when deciding whether we need to generate a thunk.
if (is_signed && (width == 32 || width == 64)) {
if (width == 32 || width == 64) {
SemIR::TypeId type_id = type_expr.type_id;
if (!context.types().IsComplete(type_id)) {
TryToCompleteType(context, type_id, loc_id);