Skip to main content

luaur_code_gen/methods/
assembly_builder_a_64_place_bc.rs

1use crate::enums::kind::Kind;
2use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
3use crate::records::label::Label;
4use crate::records::patch::Patch;
5
6impl AssemblyBuilderA64 {
7    pub fn place_bc(
8        &mut self,
9        name: *const core::ffi::c_char,
10        label: &mut Label,
11        op: u8,
12        cond: u8,
13    ) {
14        self.place(cond as u32 | ((op as u32) << 24));
15        self.commit();
16
17        self.patch_label(label, Kind::Imm19);
18
19        if self.log_text {
20            self.log_c_char_label(name, *label);
21        }
22    }
23}