aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/wasm.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/wasm.zig')
-rw-r--r--src/codegen/wasm.zig10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/codegen/wasm.zig b/src/codegen/wasm.zig
index b5e044b258..70e9de7baf 100644
--- a/src/codegen/wasm.zig
+++ b/src/codegen/wasm.zig
@@ -264,7 +264,15 @@ pub const Context = struct {
try self.emitWValue(lhs);
try self.emitWValue(rhs);
- try self.code.append(0x6A); // i32.add
+ const opcode: u8 = switch (inst.base.ty.tag()) {
+ .u32, .i32 => 0x6A, //i32.add
+ .u64, .i64 => 0x7C, //i64.add
+ .f32 => 0x92, //f32.add
+ .f64 => 0xA0, //f64.add
+ else => return self.fail(inst.base.src, "TODO - Implement wasm genAdd for type '{s}'", .{inst.base.ty.tag()}),
+ };
+
+ try self.code.append(opcode);
return WValue.none;
}