From be10f95994d077f9b8137bb58d0349f78f408219 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Sat, 22 Oct 2022 19:32:56 +0300 Subject: [PATCH] ARM C ABI: workaround i128 issues --- src/arch/arm/abi.zig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/arch/arm/abi.zig b/src/arch/arm/abi.zig index d8bbc5d1d1..9659ca13d7 100644 --- a/src/arch/arm/abi.zig +++ b/src/arch/arm/abi.zig @@ -68,7 +68,14 @@ pub fn classifyType(ty: Type, target: std.Target, ctx: Context) Class { return Class.arrSize(bit_size, 32); }, .Bool, .Float => return .byval, - .Int, .Enum, .ErrorSet => { + .Int => { + // TODO this is incorrect for _BitInt(128) but implementing + // this correctly makes implementing compiler-rt impossible. + // const bit_size = ty.bitSize(target); + // if (bit_size > 64) return .memory; + return .byval; + }, + .Enum, .ErrorSet => { const bit_size = ty.bitSize(target); if (bit_size > 64) return .memory; return .byval;