Skip to main content

luaur_code_gen/methods/
assembly_builder_x_64_vmovaps.rs

1use crate::records::assembly_builder_x_64::AssemblyBuilderX64;
2use crate::records::operand_x_64::OperandX64;
3
4impl AssemblyBuilderX64 {
5    pub fn vmovaps(&mut self, dst: OperandX64, src: OperandX64) {
6        // C++: placeAvx("vmovaps", dst, src, 0x28, 0x29, false, AVX_0F, AVX_NP);
7        // This is the load/store overload (with `coderev` 0x29) so a memory
8        // destination is handled by swapping operands; the no-coderev overload
9        // trips the `dst.cat == reg` assert on the store form.
10        self.place_avx_c_char_operand_x_64_operand_x_64_u8_u8_bool_u8_u8(
11            c"vmovaps".as_ptr() as *const core::ffi::c_char,
12            dst,
13            src,
14            0x28,
15            0x29,
16            false,
17            0x0F,
18            0x00,
19        );
20    }
21}