luaur_code_gen/methods/assembly_builder_a_64_rem.rs
1use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
2use crate::records::register_a_64::RegisterA64;
3
4impl AssemblyBuilderA64 {
5 pub fn rem(&mut self, dst: RegisterA64, src1: RegisterA64, src2: RegisterA64) {
6 // dst must hold the quotient from a preceding sdiv/udiv.
7 // dst != src1 because mul clobbers dst before sub reads src1.
8 assert!(dst.index() != src1.index());
9
10 // dst = src1 - (dst * src2);
11 self.msub(dst, dst, src2, src1);
12 }
13}