diff options
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/wasm.zig | 10 |
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; } |
