luaur_code_gen/methods/
assembly_builder_a_64_rev.rs1use crate::enums::kind_a_64::KindA64;
2use crate::macros::codegen_assert::CODEGEN_ASSERT;
3use crate::records::assembly_builder_a_64::AssemblyBuilderA64;
4use crate::records::register_a_64::RegisterA64;
5
6impl AssemblyBuilderA64 {
7 pub fn rev(&mut self, dst: RegisterA64, src: RegisterA64) {
8 CODEGEN_ASSERT!(dst.kind() == KindA64::w || dst.kind() == KindA64::x);
9 CODEGEN_ASSERT!(dst.kind() == src.kind());
10
11 self.place_r_1(
12 b"rev\0".as_ptr() as *const core::ffi::c_char,
13 dst,
14 src,
15 0b10_11010110_00000_0000_10 | (dst.kind() == KindA64::x) as u32,
16 );
17 }
18}