luaur-code-gen 0.1.3

Native (A64/X64) code generation for Luau (Rust).
Documentation
use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
use crate::records::register_a_64::RegisterA64;

impl AssemblyBuilderA64 {
    pub fn bif(&mut self, dst: RegisterA64, src: RegisterA64, mask: RegisterA64) {
        if self.log_text {
            self.log_append(format_args!(
                " {:<12}v{}.16b,v{}.16b,v{}.16b\n",
                "bif",
                dst.index(),
                src.index(),
                mask.index()
            ));
        }

        let op: u32 = 0b0_1_1_01110111_00000_000111_00000_00000;

        self.place(
            (dst.index() as u32) | ((src.index() as u32) << 5) | ((mask.index() as u32) << 16) | op,
        );

        self.commit();
    }
}