use crate::{InstructionSet, TrapCode};
impl InstructionSet {
pub const MSH_I64_REM_S: u32 = 12;
pub fn op_i64_rem_s(&mut self) {
self.op_i32_const(0);
self.op_i32_const(0);
self.op_i32_const(0);
self.op_i32_const(0);
self.op_local_get(5);
self.op_local_get(7);
self.op_i32_or();
self.op_br_if_nez(2);
self.op_trap(TrapCode::IntegerDivisionByZero);
self.op_local_get(7);
self.op_i32_const(-1);
self.op_i32_le_s();
self.op_br_if_nez(147);
self.op_i32_const(0);
self.op_local_set(4);
self.op_local_get(5);
self.op_i32_const(0);
self.op_i32_lt_s();
self.op_br_if_nez(67);
self.op_i32_const(0);
self.op_local_set(4);
self.op_i32_const(64);
self.op_local_set(3);
self.op_i32_const(0);
self.op_local_set(2);
self.op_local_get(2);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(8);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(1);
self.op_local_get(4);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(3);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_tee(5);
self.op_local_get(6);
self.op_i32_gt_u();
self.op_br_if_nez(12);
self.op_local_get(4);
self.op_local_get(6);
self.op_i32_ne();
self.op_br_if_nez(5);
self.op_local_get(1);
self.op_local_get(7);
self.op_i32_ge_u();
self.op_br_if_nez(4);
self.op_local_get(1);
self.op_local_set(2);
self.op_br(13);
self.op_local_get(4);
self.op_local_get(6);
self.op_i32_sub();
self.op_local_get(2);
self.op_local_get(8);
self.op_i32_lt_u();
self.op_i32_sub();
self.op_local_set(4);
self.op_local_get(1);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_set(2);
self.op_local_get(7);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(9);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(7);
self.op_local_get(8);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_set(8);
self.op_local_get(3);
self.op_i32_const(-1);
self.op_i32_add();
self.op_local_tee(4);
self.op_br_if_nez(-58);
self.op_br(240);
self.op_i32_const(0);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_tee(4);
self.op_i32_eqz();
self.op_local_get(6);
self.op_i32_const(-1);
self.op_i32_xor();
self.op_i32_add();
self.op_local_set(6);
self.op_i32_const(64);
self.op_local_set(1);
self.op_i32_const(0);
self.op_local_set(2);
self.op_local_get(2);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(8);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(5);
self.op_local_get(4);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(3);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_tee(5);
self.op_local_get(7);
self.op_i32_gt_u();
self.op_br_if_nez(12);
self.op_local_get(4);
self.op_local_get(7);
self.op_i32_ne();
self.op_br_if_nez(5);
self.op_local_get(5);
self.op_local_get(4);
self.op_i32_ge_u();
self.op_br_if_nez(4);
self.op_local_get(5);
self.op_local_set(2);
self.op_br(13);
self.op_local_get(4);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_get(6);
self.op_local_get(5);
self.op_i32_lt_u();
self.op_i32_sub();
self.op_local_set(4);
self.op_local_get(5);
self.op_local_get(4);
self.op_i32_sub();
self.op_local_set(2);
self.op_local_get(7);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(9);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(7);
self.op_local_get(8);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_set(8);
self.op_local_get(1);
self.op_i32_const(-1);
self.op_i32_add();
self.op_local_tee(2);
self.op_br_if_nez(-58);
self.op_br(166);
self.op_i32_const(0);
self.op_local_set(4);
self.op_i32_const(0);
self.op_local_get(9);
self.op_i32_sub();
self.op_local_tee(3);
self.op_i32_eqz();
self.op_local_get(8);
self.op_i32_const(-1);
self.op_i32_xor();
self.op_i32_add();
self.op_local_set(8);
self.op_local_get(5);
self.op_i32_const(0);
self.op_i32_lt_s();
self.op_br_if_nez(67);
self.op_i32_const(0);
self.op_local_set(4);
self.op_i32_const(64);
self.op_local_set(3);
self.op_i32_const(0);
self.op_local_set(7);
self.op_local_get(7);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(9);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(1);
self.op_local_get(4);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(8);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_tee(5);
self.op_local_get(6);
self.op_i32_gt_u();
self.op_br_if_nez(12);
self.op_local_get(4);
self.op_local_get(6);
self.op_i32_ne();
self.op_br_if_nez(5);
self.op_local_get(1);
self.op_local_get(7);
self.op_i32_ge_u();
self.op_br_if_nez(4);
self.op_local_get(1);
self.op_local_set(7);
self.op_br(13);
self.op_local_get(4);
self.op_local_get(6);
self.op_i32_sub();
self.op_local_get(2);
self.op_local_get(8);
self.op_i32_lt_u();
self.op_i32_sub();
self.op_local_set(4);
self.op_local_get(1);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_set(7);
self.op_local_get(8);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(3);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(8);
self.op_local_get(2);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_set(2);
self.op_local_get(3);
self.op_i32_const(-1);
self.op_i32_add();
self.op_local_tee(4);
self.op_br_if_nez(-58);
self.op_br(74);
self.op_i32_const(0);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_tee(4);
self.op_i32_eqz();
self.op_local_get(6);
self.op_i32_const(-1);
self.op_i32_xor();
self.op_i32_add();
self.op_local_set(6);
self.op_i32_const(64);
self.op_local_set(1);
self.op_i32_const(0);
self.op_local_set(7);
self.op_local_get(7);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(9);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(5);
self.op_local_get(4);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(8);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_tee(5);
self.op_local_get(7);
self.op_i32_gt_u();
self.op_br_if_nez(12);
self.op_local_get(4);
self.op_local_get(7);
self.op_i32_ne();
self.op_br_if_nez(5);
self.op_local_get(5);
self.op_local_get(4);
self.op_i32_ge_u();
self.op_br_if_nez(4);
self.op_local_get(5);
self.op_local_set(7);
self.op_br(13);
self.op_local_get(4);
self.op_local_get(7);
self.op_i32_sub();
self.op_local_get(6);
self.op_local_get(5);
self.op_i32_lt_u();
self.op_i32_sub();
self.op_local_set(4);
self.op_local_get(5);
self.op_local_get(4);
self.op_i32_sub();
self.op_local_set(7);
self.op_local_get(8);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_get(3);
self.op_i32_const(31);
self.op_i32_shr_u();
self.op_i32_or();
self.op_local_set(8);
self.op_local_get(2);
self.op_i32_const(1);
self.op_i32_shl();
self.op_local_set(2);
self.op_local_get(1);
self.op_i32_const(-1);
self.op_i32_add();
self.op_local_tee(2);
self.op_br_if_nez(-58);
self.op_i32_const(0);
self.op_local_get(8);
self.op_i32_sub();
self.op_local_tee(3);
self.op_i32_eqz();
self.op_local_get(5);
self.op_i32_const(-1);
self.op_i32_xor();
self.op_i32_add();
self.op_local_set(4);
self.op_local_get(4);
self.op_i32_const(0);
self.op_i32_const(32);
self.op_i32_const(0);
self.op_local_get(2);
self.op_i32_const(63);
self.op_i32_and();
self.op_local_set(2);
self.op_local_get(2);
self.op_br_if_eqz(32);
self.op_local_get(2);
self.op_i32_const(31);
self.op_i32_gt_u();
self.op_br_if_eqz(10);
self.op_local_get(4);
self.op_local_get(3);
self.op_i32_const(32);
self.op_i32_sub();
self.op_i32_shl();
self.op_local_set(3);
self.op_i32_const(0);
self.op_local_set(4);
self.op_br(19);
self.op_local_get(4);
self.op_local_get(3);
self.op_i32_shl();
self.op_local_set(4);
self.op_local_get(3);
self.op_local_get(3);
self.op_i32_shl();
self.op_local_set(3);
self.op_local_get(4);
self.op_i32_const(32);
self.op_local_get(4);
self.op_i32_const(31);
self.op_i32_and();
self.op_i32_sub();
self.op_i32_shr_u();
self.op_local_get(4);
self.op_i32_or();
self.op_local_set(3);
self.op_drop();
self.op_drop();
self.op_local_get(4);
self.op_i32_const(0);
self.op_local_get(3);
self.op_i32_or();
self.op_local_set(2);
self.op_local_get(3);
self.op_i32_or();
self.op_local_set(2);
self.op_local_set(8);
self.op_local_set(8);
self.op_drop();
self.op_drop();
self.op_drop();
self.op_drop();
self.op_drop();
self.op_drop();
}
}