luaur_code_gen/methods/
assembly_builder_a_64_frintm.rs1use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
2use crate::records::register_a_64::RegisterA64;
3
4impl AssemblyBuilderA64 {
5 pub fn frintm(&mut self, dst: RegisterA64, src: RegisterA64) {
6 debug_assert!(dst.kind() == src.kind());
7 debug_assert!(
8 dst.kind() == crate::enums::kind_a_64::KindA64::d
9 || dst.kind() == crate::enums::kind_a_64::KindA64::s
10 || dst.kind() == crate::enums::kind_a_64::KindA64::q
11 );
12
13 if dst.kind() == crate::enums::kind_a_64::KindA64::q {
14 self.place_r_1(
15 b"frintm\0".as_ptr() as *const core::ffi::c_char,
16 dst,
17 src,
18 0b010_01110_00_1_0000_11001_10,
19 );
20 } else if dst.kind() == crate::enums::kind_a_64::KindA64::d {
21 self.place_r_1(
22 b"frintm\0".as_ptr() as *const core::ffi::c_char,
23 dst,
24 src,
25 0b000_11110_01_1_001_010_10000,
26 );
27 } else {
28 self.place_r_1(
29 b"frintm\0".as_ptr() as *const core::ffi::c_char,
30 dst,
31 src,
32 0b000_11110_00_1_001_010_10000,
33 );
34 }
35 }
36}