From bf28a47cf23a60539f7cc6cb87309d1a7fa01c18 Mon Sep 17 00:00:00 2001 From: Luuk de Gram Date: Thu, 14 Jul 2022 19:48:42 +0200 Subject: [PATCH] wasm: pass correct abi-size for scalar values When returning an aggregate type that contains a scalar value (nested), its abi-size is passed by bits, rather than bytes to `buildOpcode`. --- src/arch/wasm/CodeGen.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig index ab73e23783..1fbf9f5785 100644 --- a/src/arch/wasm/CodeGen.zig +++ b/src/arch/wasm/CodeGen.zig @@ -1674,7 +1674,7 @@ fn airRet(self: *Self, inst: Air.Inst.Index) InnerError!WValue { try self.emitWValue(operand); const opcode = buildOpcode(.{ .op = .load, - .width = @intCast(u8, scalar_type.abiSize(self.target)), + .width = @intCast(u8, scalar_type.abiSize(self.target) * 8), .signedness = if (scalar_type.isSignedInt()) .signed else .unsigned, .valtype1 = typeToValtype(scalar_type, self.target), });