luaur-code-gen 0.1.0

Native (A64/X64) code generation for Luau (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::enums::kind_a_64::KindA64;
use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
use crate::records::register_a_64::RegisterA64;

impl AssemblyBuilderA64 {
    pub fn fcmp(&mut self, src1: RegisterA64, src2: RegisterA64) {
        debug_assert!(src1.kind() == src2.kind());
        debug_assert!(src1.kind() == KindA64::d || src1.kind() == KindA64::s);

        if src1.kind() == KindA64::d {
            self.assembly_builder_a_64_place_fcmp(c"fcmp".as_ptr(), src1, src2, 0b11110_01_1, 0b00);
        } else {
            self.assembly_builder_a_64_place_fcmp(c"fcmp".as_ptr(), src1, src2, 0b11110_00_1, 0b00);
        }
    }
}