winch: Add support for <i32|i64>.rem_* WebAssembly instructions (#5823)

This commit adds support for i32 and i64 remainder instructions for
x64.
This commit is contained in:
Saúl Cabrera
2023-02-20 12:52:06 -05:00
committed by GitHub
parent c26a65a854
commit 4d954f5c0e
25 changed files with 579 additions and 4 deletions

View File

@@ -7,7 +7,7 @@ use crate::{
abi::local::LocalSlot,
codegen::CodeGenContext,
isa::reg::Reg,
masm::{DivKind, MacroAssembler as Masm, OperandSize, RegImm},
masm::{DivKind, MacroAssembler as Masm, OperandSize, RegImm, RemKind},
};
use cranelift_codegen::{settings, Final, MachBufferFinalized};
@@ -156,6 +156,10 @@ impl Masm for MacroAssembler {
todo!()
}
fn rem(&mut self, _context: &mut CodeGenContext, _kind: RemKind, _size: OperandSize) {
todo!()
}
fn zero(&mut self, reg: Reg) {
self.asm.load_constant(0, reg);
}