Skip to main content

luaur_code_gen/methods/
assembly_builder_x_64_vblendvps.rs

1use crate::records::assembly_builder_x_64::AssemblyBuilderX64;
2use crate::records::operand_x_64::OperandX64;
3use crate::records::register_x_64::RegisterX64;
4
5impl AssemblyBuilderX64 {
6    pub fn vblendvps(
7        &mut self,
8        dst: RegisterX64,
9        src1: RegisterX64,
10        src2: OperandX64,
11        mask: RegisterX64,
12    ) {
13        // bits [7:4] of imm8 are used to select register for operand 4
14        self.place_avx_c_char_operand_x_64_operand_x_64_operand_x_64_u8_u8_bool_u8_u8(
15            b"vblendvps\0".as_ptr() as *const core::ffi::c_char,
16            OperandX64::reg(RegisterX64::noreg),
17            src1.into(),
18            src2,
19            mask.index() << 4,
20            0x4a,
21            false,
22            0x4a,
23            0x66,
24        );
25    }
26}