luaur_code_gen/methods/
assembly_builder_a_64_csel.rs1use crate::enums::condition_a_64::ConditionA64;
2use crate::enums::kind_a_64::KindA64;
3use crate::macros::codegen_assert::CODEGEN_ASSERT;
4use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
5use crate::records::register_a_64::RegisterA64;
6
7impl AssemblyBuilderA64 {
8 pub fn csel(
9 &mut self,
10 dst: RegisterA64,
11 src1: RegisterA64,
12 src2: RegisterA64,
13 cond: ConditionA64,
14 ) {
15 debug_assert!(dst.kind() == KindA64::x || dst.kind() == KindA64::w);
16
17 self.place_cs(
18 b"csel\0".as_ptr() as *const core::ffi::c_char,
19 dst,
20 src1,
21 src2,
22 cond,
23 0b11010100,
24 0b00,
25 0,
26 );
27 }
28}