diff --git a/src/wasm/jit/x86_64.zig b/src/wasm/jit/x86_64.zig index edf130f..b6f8efc 100644 --- a/src/wasm/jit/x86_64.zig +++ b/src/wasm/jit/x86_64.zig @@ -896,7 +896,8 @@ const Jcc = enum(u8) { }; fn emitRex(buf: *codebuf.CodeBuffer, w: bool, r: u1, x: u1, b: u1) void { - const rex: u8 = 0x40 | (if (w) 0x08 else 0) | (@as(u8, r) << 2) | (@as(u8, x) << 1) | @as(u8, b); + const rex_w: u8 = if (w) @as(u8, 0x08) else @as(u8, 0x00); + const rex: u8 = @as(u8, 0x40) | rex_w | (@as(u8, r) << 2) | (@as(u8, x) << 1) | @as(u8, b); if (rex != 0x40) buf.emit1(rex); }