Skip to main content

luaur_code_gen/methods/
assembly_builder_x_64_vdpps.rs

1use crate::records::assembly_builder_x_64::AssemblyBuilderX64;
2use crate::records::operand_x_64::OperandX64;
3
4impl AssemblyBuilderX64 {
5    pub fn vdpps(&mut self, dst: OperandX64, src1: OperandX64, src2: OperandX64, mask: u8) {
6        self.place_avx_c_char_operand_x_64_operand_x_64_operand_x_64_u8_u8_bool_u8_u8(
7            b"vdpps\0".as_ptr() as *const core::ffi::c_char,
8            dst,
9            src1,
10            src2,
11            // C++: placeAvx("vdpps", dst, src1, src2, mask, 0x40, false,
12            //               AVX_0F3A, AVX_66);
13            // mode = AVX_0F3A (0x3A -> 0b00011), prefix = AVX_66 (0x66 -> 0b01).
14            mask,
15            0x40,
16            false,
17            0x3A, // AVX_0F3A
18            0x66, // AVX_66
19        );
20    }
21}