luaur_code_gen/methods/assembly_builder_x_64_vucomisd.rs
1use crate::records::assembly_builder_x_64::AssemblyBuilderX64;
2use crate::records::operand_x_64::OperandX64;
3
4impl AssemblyBuilderX64 {
5 pub fn vucomisd(&mut self, src1: OperandX64, src2: OperandX64) {
6 // C++: placeAvx("vucomisd", src1, src2, 0x2e, false, AVX_0F, AVX_66);
7 // 2-operand overload — there is no vvvv source, so VEX.vvvv must be 1111
8 // (placeVex with src1 = noreg). Using the 3-operand overload here wrongly
9 // encoded src1 into vvvv.
10 self.place_avx_c_char_operand_x_64_operand_x_64_u8_bool_u8_u8(
11 c"vucomisd".as_ptr(),
12 src1,
13 src2,
14 0x2e,
15 false,
16 0x0F, // AVX_0F
17 0x66, // AVX_66
18 );
19 }
20}