using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using Iced.Intel.BlockEncoderInternal; using Iced.Intel.DecoderInternal; using Iced.Intel.EncoderInternal; using Iced.Intel.FastFormatterInternal; using Iced.Intel.FormatterInternal; using Iced.Intel.GasFormatterInternal; using Iced.Intel.InstructionInfoInternal; using Iced.Intel.IntelFormatterInternal; using Iced.Intel.Internal; using Iced.Intel.MasmFormatterInternal; using Iced.Intel.NasmFormatterInternal; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("iced project and contributors ")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright (C) 2018-present iced project and contributors")] [assembly: AssemblyDescription("x86/x64 disassembler, assembler, instruction decoder")] [assembly: AssemblyFileVersion("1.18.0.0")] [assembly: AssemblyInformationalVersion("1.18.0+2e21c4c1299f9f90b8fce53acb4710b6d474e46d")] [assembly: AssemblyProduct("Iced")] [assembly: AssemblyTitle("Iced")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/icedland/iced")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.18.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: System.Runtime.CompilerServices.NullablePublicOnly(false)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class NullablePublicOnlyAttribute : Attribute { public readonly bool IncludesInternals; public NullablePublicOnlyAttribute(bool P_0) { IncludesInternals = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Iced.Intel { public class Assembler { [Flags] private enum PrefixFlags { None = 0, Lock = 1, Repe = 2, Repne = 4, Notrack = 8, PreferVex = 0x10, PreferEvex = 0x20 } private readonly InstructionList instructions; private ulong currentLabelId; private Label currentLabel; private Label currentAnonLabel; private Label nextAnonLabel; private bool definedAnonLabel; private PrefixFlags prefixFlags; public int Bitness { get; } public bool PreferVex { get; set; } public bool PreferShortBranch { get; set; } internal bool InstructionPreferVex { get { if ((prefixFlags & (PrefixFlags.PreferVex | PrefixFlags.PreferEvex)) != 0) { return (prefixFlags & PrefixFlags.PreferVex) != 0; } return PreferVex; } } public IReadOnlyList Instructions => instructions; public Label CurrentLabel => currentLabel; [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Label B { get { if (currentAnonLabel.IsEmpty) { throw new InvalidOperationException("No anonymous label has been created yet"); } return currentAnonLabel; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Label F { get { if (nextAnonLabel.IsEmpty) { nextAnonLabel = CreateLabel(); } return nextAnonLabel; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler @lock { get { prefixFlags |= PrefixFlags.Lock; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler xacquire { get { prefixFlags |= PrefixFlags.Repne; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler xrelease { get { prefixFlags |= PrefixFlags.Repe; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler rep { get { prefixFlags |= PrefixFlags.Repe; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler repe { get { prefixFlags |= PrefixFlags.Repe; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler repz => repe; [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler repne { get { prefixFlags |= PrefixFlags.Repne; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler repnz => repne; [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler bnd { get { prefixFlags |= PrefixFlags.Repne; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler notrack { get { prefixFlags |= PrefixFlags.Notrack; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler vex { get { prefixFlags |= PrefixFlags.PreferVex; return this; } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] public Assembler evex { get { prefixFlags |= PrefixFlags.PreferEvex; return this; } } public Assembler(int bitness) { if (bitness != 16 && bitness != 32 && bitness != 64) { throw new ArgumentOutOfRangeException("bitness"); } Bitness = bitness; instructions = new InstructionList(); currentLabelId = 0uL; currentLabel = default(Label); currentAnonLabel = default(Label); nextAnonLabel = default(Label); definedAnonLabel = false; prefixFlags = PrefixFlags.None; PreferVex = true; PreferShortBranch = true; } public void Reset() { instructions.Clear(); currentLabelId = 0uL; currentLabel = default(Label); currentAnonLabel = default(Label); nextAnonLabel = default(Label); definedAnonLabel = false; prefixFlags = PrefixFlags.None; } public Label CreateLabel(string? name = null) { currentLabelId++; return new Label(name, currentLabelId); } public void Label(ref Label label) { if (label.IsEmpty) { throw new ArgumentException("Invalid label. Must be created via CreateLabel", "label"); } if (label.InstructionIndex >= 0) { throw new ArgumentException($"Cannot reuse label. The specified label is already associated with an instruction at index {label.InstructionIndex}.", "label"); } if (!currentLabel.IsEmpty) { throw new ArgumentException("At most one label per instruction is allowed"); } label.InstructionIndex = instructions.Count; currentLabel = label; } public void AnonymousLabel() { if (definedAnonLabel) { throw new InvalidOperationException("At most one anonymous label per instruction is allowed"); } if (nextAnonLabel.IsEmpty) { currentAnonLabel = CreateLabel(); } else { currentAnonLabel = nextAnonLabel; } nextAnonLabel = default(Label); definedAnonLabel = true; } public void AddInstruction(Instruction instruction) { AddInstruction(ref instruction); } public void AddInstruction(ref Instruction instruction) { if (!currentLabel.IsEmpty && definedAnonLabel) { throw new InvalidOperationException("You can't create both an anonymous label and a normal label"); } if (!currentLabel.IsEmpty) { instruction.IP = currentLabel.Id; } else if (definedAnonLabel) { instruction.IP = currentAnonLabel.Id; } if (prefixFlags != 0) { if ((prefixFlags & PrefixFlags.Lock) != 0) { instruction.HasLockPrefix = true; } if ((prefixFlags & PrefixFlags.Repe) != 0) { instruction.HasRepePrefix = true; } else if ((prefixFlags & PrefixFlags.Repne) != 0) { instruction.HasRepnePrefix = true; } if ((prefixFlags & PrefixFlags.Notrack) != 0) { instruction.SegmentPrefix = Register.DS; } } instructions.Add(in instruction); currentLabel = default(Label); definedAnonLabel = false; prefixFlags = PrefixFlags.None; } private void AddInstruction(Instruction instruction, AssemblerOperandFlags flags) { if (flags != 0) { if ((flags & AssemblerOperandFlags.Broadcast) != 0) { instruction.IsBroadcast = true; } if ((flags & AssemblerOperandFlags.Zeroing) != 0) { instruction.ZeroingMasking = true; } if ((flags & AssemblerOperandFlags.K7) != 0) { instruction.OpMask = (Register)(173 + ((int)(flags & AssemblerOperandFlags.K7) >> 6)); } if ((flags & AssemblerOperandFlags.SuppressAllExceptions) != 0) { instruction.SuppressAllExceptions = true; } if ((flags & AssemblerOperandFlags.RoundingControlMask) != 0) { instruction.RoundingControl = (RoundingControl)((int)(flags & AssemblerOperandFlags.RoundingControlMask) >> 3); } } AddInstruction(ref instruction); } public void db(byte[] array) { if (array == null) { ThrowHelper.ThrowArgumentNullException_array(); } db(array, 0, array.Length); } public void db(byte[] array, int index, int length) { if (array == null) { ThrowHelper.ThrowArgumentNullException_array(); } if (index < 0) { ThrowHelper.ThrowArgumentOutOfRangeException_index(); } if (length < 0 || (uint)(index + length) > (uint)array.Length) { ThrowHelper.ThrowArgumentOutOfRangeException_length(); } int result; int num = Math.DivRem(length, 16, out result); int num2 = index; for (int i = 0; i < num; i++) { AddInstruction(Instruction.CreateDeclareByte(array, num2, 16)); num2 += 16; } if (result > 0) { AddInstruction(Instruction.CreateDeclareByte(array, num2, result)); } } public void db(ReadOnlySpan data) { int result; int num = Math.DivRem(data.Length, 16, out result); int num2 = 0; for (int i = 0; i < num; i++) { AddInstruction(Instruction.CreateDeclareByte(data.Slice(num2, 16))); num2 += 16; } if (result > 0) { AddInstruction(Instruction.CreateDeclareByte(data.Slice(num2, result))); } } public void call(ushort selector, uint offset) { AddInstruction(Instruction.CreateBranch((Bitness >= 32) ? Code.Call_ptr1632 : Code.Call_ptr1616, selector, offset)); } public void jmp(ushort selector, uint offset) { AddInstruction(Instruction.CreateBranch((Bitness >= 32) ? Code.Jmp_ptr1632 : Code.Jmp_ptr1616, selector, offset)); } public void xlatb() { MemoryOperand memory = new MemoryOperand(Bitness switch { 64 => Register.RBX, 32 => Register.EBX, _ => Register.BX, }, Register.AL); AddInstruction(Instruction.Create(Code.Xlat_m8, in memory)); } public void nop(int sizeInBytes) { if (sizeInBytes < 0) { throw new ArgumentOutOfRangeException("sizeInBytes"); } if (prefixFlags != 0) { throw new InvalidOperationException("No prefixes are allowed"); } if (sizeInBytes != 0) { int result; int num = Math.DivRem(sizeInBytes, 9, out result); for (int i = 0; i < num; i++) { AppendNop(9); } if (result > 0) { AppendNop(result); } } void AppendNop(int amount) { switch (amount) { case 1: db(144); break; case 2: db(102, 144); break; case 3: db(15, 31, 0); break; case 4: db(15, 31, 64, 0); break; case 5: if (Bitness != 16) { db(15, 31, 68, 0, 0); } else { db(15, 31, 128, 0, 0); } break; case 6: if (Bitness != 16) { db(102, 15, 31, 68, 0, 0); } else { db(102, 15, 31, 128, 0, 0); } break; case 7: if (Bitness != 16) { db(15, 31, 128, 0, 0, 0, 0); } else { db(103, 102, 15, 31, 68, 0, 0); } break; case 8: if (Bitness != 16) { db(15, 31, 132, 0, 0, 0, 0, 0); } else { db(103, 15, 31, 128, 0, 0, 0, 0); } break; case 9: if (Bitness != 16) { db(102, 15, 31, 132, 0, 0, 0, 0, 0); } else { db(103, 15, 31, 132, 0, 0, 0, 0, 0); } break; default: throw new InvalidOperationException(); } } } public AssemblerResult Assemble(CodeWriter writer, ulong rip, BlockEncoderOptions options = BlockEncoderOptions.None) { if (!TryAssemble(writer, rip, out string errorMessage, out AssemblerResult assemblerResult, options)) { throw new InvalidOperationException(errorMessage); } return assemblerResult; } public bool TryAssemble(CodeWriter writer, ulong rip, [NotNullWhen(false)] out string? errorMessage, out AssemblerResult assemblerResult, BlockEncoderOptions options = BlockEncoderOptions.None) { if (writer == null) { ThrowHelper.ThrowArgumentNullException_writer(); } assemblerResult = default(AssemblerResult); if (prefixFlags != 0) { errorMessage = $"Unused prefixes {prefixFlags}. You must emit an instruction after using an instruction prefix."; return false; } if (!currentLabel.IsEmpty) { errorMessage = $"Unused label {currentLabel}. You must emit an instruction after emitting a label."; return false; } if (definedAnonLabel) { errorMessage = "Unused anonymous label. You must emit an instruction after emitting a label."; return false; } if (!nextAnonLabel.IsEmpty) { errorMessage = "Found an @F anonymous label reference but there was no call to AnonymousLabel"; return false; } InstructionBlock[] blocks = new InstructionBlock[1] { new InstructionBlock(writer, instructions, rip) }; if (BlockEncoder.TryEncode(Bitness, blocks, out errorMessage, out BlockEncoderResult[] result, options)) { assemblerResult = new AssemblerResult(result); return true; } assemblerResult = new AssemblerResult(Array2.Empty()); return false; } private InvalidOperationException NoOpCodeFoundFor(Mnemonic mnemonic, params object[] argNames) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("Unable to calculate an OpCode for `" + mnemonic.ToString().ToLowerInvariant()); for (int i = 0; i < argNames.Length; i++) { stringBuilder.Append((i == 0) ? " " : ", "); stringBuilder.Append(argNames[i]); } stringBuilder.Append($"`. Combination of arguments and/or current bitness {Bitness} is not compatible with any existing OpCode encoding."); return new InvalidOperationException(stringBuilder.ToString()); } public void aaa() { AddInstruction(Instruction.Create(Code.Aaa)); } public void aad(sbyte imm) { AddInstruction(Instruction.Create(Code.Aad_imm8, imm)); } public void aad(byte imm) { AddInstruction(Instruction.Create(Code.Aad_imm8, (uint)imm)); } public void aadd(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aadd_m32_r32, in memory, src)); } public void aadd(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aadd_m64_r64, in memory, src)); } public void aam(sbyte imm) { AddInstruction(Instruction.Create(Code.Aam_imm8, imm)); } public void aam(byte imm) { AddInstruction(Instruction.Create(Code.Aam_imm8, (uint)imm)); } public void aand(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aand_m32_r32, in memory, src)); } public void aand(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aand_m64_r64, in memory, src)); } public void aas() { AddInstruction(Instruction.Create(Code.Aas)); } public void adc(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Adc_rm8_r8, dst, src)); } public void adc(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_rm8_r8, in memory, src)); } public void adc(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Adc_rm16_r16, dst, src)); } public void adc(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_rm16_r16, in memory, src)); } public void adc(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Adc_rm32_r32, dst, src)); } public void adc(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_rm32_r32, in memory, src)); } public void adc(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Adc_rm64_r64, dst, src)); } public void adc(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_rm64_r64, in memory, src)); } public void adc(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_r8_rm8, register, in memory)); } public void adc(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_r16_rm16, register, in memory)); } public void adc(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_r32_rm32, register, in memory)); } public void adc(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adc_r64_rm64, register, in memory)); } public void adc(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Adc_AL_imm8 : Code.Adc_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void adc(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Adc_rm16_imm8 : Code.Adc_rm16_imm16) : Code.Adc_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void adc(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Adc_rm32_imm8 : Code.Adc_rm32_imm32) : Code.Adc_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void adc(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Adc_rm64_imm8 : Code.Adc_rm64_imm32) : Code.Adc_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void adc(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Adc_rm64_imm8 : Code.Adc_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Adc_rm32_imm8 : Code.Adc_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Adc_rm16_imm8 : Code.Adc_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Adc, dst, imm); } code = Code.Adc_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void adc(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Adc_AL_imm8 : Code.Adc_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void adc(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Adc_rm16_imm8 : Code.Adc_rm16_imm16) : Code.Adc_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void adc(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Adc_rm32_imm8 : Code.Adc_rm32_imm32) : Code.Adc_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void adc(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Adc_rm32_imm8 : Code.Adc_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Adc_rm16_imm8 : Code.Adc_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Adc, dst, imm); } code = Code.Adc_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void adcx(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Adcx_r32_rm32, dst, src)); } public void adcx(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Adcx_r64_rm64, dst, src)); } public void adcx(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adcx_r32_rm32, register, in memory)); } public void adcx(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adcx_r64_rm64, register, in memory)); } public void add(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Add_rm8_r8, dst, src)); } public void add(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_rm8_r8, in memory, src)); } public void add(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Add_rm16_r16, dst, src)); } public void add(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_rm16_r16, in memory, src)); } public void add(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Add_rm32_r32, dst, src)); } public void add(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_rm32_r32, in memory, src)); } public void add(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Add_rm64_r64, dst, src)); } public void add(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_rm64_r64, in memory, src)); } public void add(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_r8_rm8, register, in memory)); } public void add(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_r16_rm16, register, in memory)); } public void add(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_r32_rm32, register, in memory)); } public void add(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Add_r64_rm64, register, in memory)); } public void add(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Add_AL_imm8 : Code.Add_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void add(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Add_rm16_imm8 : Code.Add_rm16_imm16) : Code.Add_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void add(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Add_rm32_imm8 : Code.Add_rm32_imm32) : Code.Add_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void add(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Add_rm64_imm8 : Code.Add_rm64_imm32) : Code.Add_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void add(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Add_rm64_imm8 : Code.Add_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Add_rm32_imm8 : Code.Add_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Add_rm16_imm8 : Code.Add_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Add, dst, imm); } code = Code.Add_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void add(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Add_AL_imm8 : Code.Add_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void add(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Add_rm16_imm8 : Code.Add_rm16_imm16) : Code.Add_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void add(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Add_rm32_imm8 : Code.Add_rm32_imm32) : Code.Add_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void add(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Add_rm32_imm8 : Code.Add_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Add_rm16_imm8 : Code.Add_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Add, dst, imm); } code = Code.Add_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void addpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addpd_xmm_xmmm128, dst, src)); } public void addpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addpd_xmm_xmmm128, register, in memory)); } public void addps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addps_xmm_xmmm128, dst, src)); } public void addps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addps_xmm_xmmm128, register, in memory)); } public void addsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addsd_xmm_xmmm64, dst, src)); } public void addsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addsd_xmm_xmmm64, register, in memory)); } public void addss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addss_xmm_xmmm32, dst, src)); } public void addss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addss_xmm_xmmm32, register, in memory)); } public void addsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addsubpd_xmm_xmmm128, dst, src)); } public void addsubpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addsubpd_xmm_xmmm128, register, in memory)); } public void addsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Addsubps_xmm_xmmm128, dst, src)); } public void addsubps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Addsubps_xmm_xmmm128, register, in memory)); } public void adox(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Adox_r32_rm32, dst, src)); } public void adox(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Adox_r64_rm64, dst, src)); } public void adox(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adox_r32_rm32, register, in memory)); } public void adox(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Adox_r64_rm64, register, in memory)); } public void aesdec(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Aesdec_xmm_xmmm128, dst, src)); } public void aesdec(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdec_xmm_xmmm128, register, in memory)); } public void aesdec128kl(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdec128kl_xmm_m384, register, in memory)); } public void aesdec256kl(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdec256kl_xmm_m512, register, in memory)); } public void aesdeclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Aesdeclast_xmm_xmmm128, dst, src)); } public void aesdeclast(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdeclast_xmm_xmmm128, register, in memory)); } public void aesdecwide128kl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdecwide128kl_m384, in memory)); } public void aesdecwide256kl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesdecwide256kl_m512, in memory)); } public void aesenc(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Aesenc_xmm_xmmm128, dst, src)); } public void aesenc(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesenc_xmm_xmmm128, register, in memory)); } public void aesenc128kl(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesenc128kl_xmm_m384, register, in memory)); } public void aesenc256kl(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesenc256kl_xmm_m512, register, in memory)); } public void aesenclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Aesenclast_xmm_xmmm128, dst, src)); } public void aesenclast(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesenclast_xmm_xmmm128, register, in memory)); } public void aesencwide128kl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesencwide128kl_m384, in memory)); } public void aesencwide256kl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesencwide256kl_m512, in memory)); } public void aesimc(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Aesimc_xmm_xmmm128, dst, src)); } public void aesimc(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aesimc_xmm_xmmm128, register, in memory)); } public void aeskeygenassist(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Aeskeygenassist_xmm_xmmm128_imm8, dst, src1, imm)); } public void aeskeygenassist(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aeskeygenassist_xmm_xmmm128_imm8, register, in memory, imm)); } public void aeskeygenassist(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Aeskeygenassist_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void aeskeygenassist(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aeskeygenassist_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void altinst() { AddInstruction(Instruction.Create(Code.Altinst)); } public void and(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.And_rm8_r8, dst, src)); } public void and(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_rm8_r8, in memory, src)); } public void and(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.And_rm16_r16, dst, src)); } public void and(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_rm16_r16, in memory, src)); } public void and(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.And_rm32_r32, dst, src)); } public void and(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_rm32_r32, in memory, src)); } public void and(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.And_rm64_r64, dst, src)); } public void and(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_rm64_r64, in memory, src)); } public void and(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_r8_rm8, register, in memory)); } public void and(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_r16_rm16, register, in memory)); } public void and(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_r32_rm32, register, in memory)); } public void and(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.And_r64_rm64, register, in memory)); } public void and(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.And_AL_imm8 : Code.And_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void and(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.And_rm16_imm8 : Code.And_rm16_imm16) : Code.And_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void and(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.And_rm32_imm8 : Code.And_rm32_imm32) : Code.And_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void and(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.And_rm64_imm8 : Code.And_rm64_imm32) : Code.And_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void and(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.And_rm64_imm8 : Code.And_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.And_rm32_imm8 : Code.And_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.And_rm16_imm8 : Code.And_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.And, dst, imm); } code = Code.And_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void and(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.And_AL_imm8 : Code.And_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void and(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.And_rm16_imm8 : Code.And_rm16_imm16) : Code.And_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void and(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.And_rm32_imm8 : Code.And_rm32_imm32) : Code.And_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void and(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.And_rm32_imm8 : Code.And_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.And_rm16_imm8 : Code.And_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.And, dst, imm); } code = Code.And_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void andn(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Andn_r32_r32_rm32, dst, src1, src2)); } public void andn(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Andn_r64_r64_rm64, dst, src1, src2)); } public void andn(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Andn_r32_r32_rm32, register, register2, in memory)); } public void andn(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Andn_r64_r64_rm64, register, register2, in memory)); } public void andnpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Andnpd_xmm_xmmm128, dst, src)); } public void andnpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Andnpd_xmm_xmmm128, register, in memory)); } public void andnps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Andnps_xmm_xmmm128, dst, src)); } public void andnps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Andnps_xmm_xmmm128, register, in memory)); } public void andpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Andpd_xmm_xmmm128, dst, src)); } public void andpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Andpd_xmm_xmmm128, register, in memory)); } public void andps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Andps_xmm_xmmm128, dst, src)); } public void andps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Andps_xmm_xmmm128, register, in memory)); } public void aor(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aor_m32_r32, in memory, src)); } public void aor(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Aor_m64_r64, in memory, src)); } public void arpl(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Arpl_rm16_r16, dst, src)); } public void arpl(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Arpl_rm16_r16, in memory, src)); } public void arpl(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Arpl_r32m16_r32, dst, src)); } public void arpl(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Arpl_r32m16_r32, in memory, src)); } public void axor(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Axor_m32_r32, in memory, src)); } public void axor(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Axor_m64_r64, in memory, src)); } public void bb0_reset() { AddInstruction(Instruction.Create(Code.Bb0_reset)); } public void bb1_reset() { AddInstruction(Instruction.Create(Code.Bb1_reset)); } public void bextr(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Bextr_r32_rm32_r32, dst, src1, src2)); } public void bextr(AssemblerRegister32 dst, AssemblerMemoryOperand src1, AssemblerRegister32 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Bextr_r32_rm32_r32, register, in memory, src2)); } public void bextr(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Bextr_r64_rm64_r64, dst, src1, src2)); } public void bextr(AssemblerRegister64 dst, AssemblerMemoryOperand src1, AssemblerRegister64 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Bextr_r64_rm64_r64, register, in memory, src2)); } public void bextr(AssemblerRegister32 dst, AssemblerRegister32 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Bextr_r32_rm32_imm32, dst, src1, imm)); } public void bextr(AssemblerRegister64 dst, AssemblerRegister64 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Bextr_r64_rm64_imm32, dst, src1, imm)); } public void bextr(AssemblerRegister32 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Bextr_r32_rm32_imm32, register, in memory, imm)); } public void bextr(AssemblerRegister64 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Bextr_r64_rm64_imm32, register, in memory, imm)); } public void bextr(AssemblerRegister32 dst, AssemblerRegister32 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Bextr_r32_rm32_imm32, dst, src1, imm)); } public void bextr(AssemblerRegister64 dst, AssemblerRegister64 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Bextr_r64_rm64_imm32, dst, src1, imm)); } public void bextr(AssemblerRegister32 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Bextr_r32_rm32_imm32, register, in memory, imm)); } public void bextr(AssemblerRegister64 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Bextr_r64_rm64_imm32, register, in memory, imm)); } public void blcfill(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blcfill_r32_rm32, dst, src)); } public void blcfill(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blcfill_r64_rm64, dst, src)); } public void blcfill(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcfill_r32_rm32, register, in memory)); } public void blcfill(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcfill_r64_rm64, register, in memory)); } public void blci(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blci_r32_rm32, dst, src)); } public void blci(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blci_r64_rm64, dst, src)); } public void blci(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blci_r32_rm32, register, in memory)); } public void blci(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blci_r64_rm64, register, in memory)); } public void blcic(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blcic_r32_rm32, dst, src)); } public void blcic(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blcic_r64_rm64, dst, src)); } public void blcic(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcic_r32_rm32, register, in memory)); } public void blcic(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcic_r64_rm64, register, in memory)); } public void blcmsk(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blcmsk_r32_rm32, dst, src)); } public void blcmsk(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blcmsk_r64_rm64, dst, src)); } public void blcmsk(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcmsk_r32_rm32, register, in memory)); } public void blcmsk(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcmsk_r64_rm64, register, in memory)); } public void blcs(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blcs_r32_rm32, dst, src)); } public void blcs(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blcs_r64_rm64, dst, src)); } public void blcs(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcs_r32_rm32, register, in memory)); } public void blcs(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blcs_r64_rm64, register, in memory)); } public void blendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Blendpd_xmm_xmmm128_imm8, dst, src1, imm)); } public void blendpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendpd_xmm_xmmm128_imm8, register, in memory, imm)); } public void blendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Blendpd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void blendpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendpd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void blendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Blendps_xmm_xmmm128_imm8, dst, src1, imm)); } public void blendps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendps_xmm_xmmm128_imm8, register, in memory, imm)); } public void blendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Blendps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void blendps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void blendvpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Blendvpd_xmm_xmmm128, dst, src)); } public void blendvpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendvpd_xmm_xmmm128, register, in memory)); } public void blendvps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Blendvps_xmm_xmmm128, dst, src)); } public void blendvps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Blendvps_xmm_xmmm128, register, in memory)); } public void blsfill(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blsfill_r32_rm32, dst, src)); } public void blsfill(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blsfill_r64_rm64, dst, src)); } public void blsfill(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blsfill_r32_rm32, register, in memory)); } public void blsfill(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blsfill_r64_rm64, register, in memory)); } public void blsi(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Blsi_r32_rm32, dst, src)); } public void blsi(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.VEX_Blsi_r64_rm64, dst, src)); } public void blsi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsi_r32_rm32, register, in memory)); } public void blsi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsi_r64_rm64, register, in memory)); } public void blsic(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Blsic_r32_rm32, dst, src)); } public void blsic(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Blsic_r64_rm64, dst, src)); } public void blsic(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blsic_r32_rm32, register, in memory)); } public void blsic(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Blsic_r64_rm64, register, in memory)); } public void blsmsk(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Blsmsk_r32_rm32, dst, src)); } public void blsmsk(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.VEX_Blsmsk_r64_rm64, dst, src)); } public void blsmsk(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsmsk_r32_rm32, register, in memory)); } public void blsmsk(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsmsk_r64_rm64, register, in memory)); } public void blsr(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Blsr_r32_rm32, dst, src)); } public void blsr(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.VEX_Blsr_r64_rm64, dst, src)); } public void blsr(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsr_r32_rm32, register, in memory)); } public void blsr(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Blsr_r64_rm64, register, in memory)); } public void bndcl(AssemblerRegisterBND dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bndcl_bnd_rm32, dst, src)); } public void bndcl(AssemblerRegisterBND dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bndcl_bnd_rm64, dst, src)); } public void bndcl(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Bndcl_bnd_rm64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Bndcl, dst, src); } code = Code.Bndcl_bnd_rm32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void bndcn(AssemblerRegisterBND dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bndcn_bnd_rm32, dst, src)); } public void bndcn(AssemblerRegisterBND dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bndcn_bnd_rm64, dst, src)); } public void bndcn(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Bndcn_bnd_rm64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Bndcn, dst, src); } code = Code.Bndcn_bnd_rm32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void bndcu(AssemblerRegisterBND dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bndcu_bnd_rm32, dst, src)); } public void bndcu(AssemblerRegisterBND dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bndcu_bnd_rm64, dst, src)); } public void bndcu(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Bndcu_bnd_rm64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Bndcu, dst, src); } code = Code.Bndcu_bnd_rm32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void bndldx(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bndldx_bnd_mib, register, in memory)); } public void bndmk(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Bndmk_bnd_m64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Bndmk, dst, src); } code = Code.Bndmk_bnd_m32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void bndmov(AssemblerRegisterBND dst, AssemblerRegisterBND src) { Code code = ((Bitness == 64) ? Code.Bndmov_bnd_bndm128 : Code.Bndmov_bnd_bndm64); AddInstruction(Instruction.Create(code, dst, src)); } public void bndmov(AssemblerMemoryOperand dst, AssemblerRegisterBND src) { Code code = ((Bitness == 64) ? Code.Bndmov_bndm128_bnd : Code.Bndmov_bndm64_bnd); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void bndmov(AssemblerRegisterBND dst, AssemblerMemoryOperand src) { Code code = ((Bitness == 64) ? Code.Bndmov_bnd_bndm128 : Code.Bndmov_bnd_bndm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void bndstx(AssemblerMemoryOperand dst, AssemblerRegisterBND src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bndstx_mib_bnd, in memory, src)); } public void bound(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bound_r16_m1616, register, in memory)); } public void bound(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bound_r32_m3232, register, in memory)); } public void bsf(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Bsf_r16_rm16, dst, src)); } public void bsf(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bsf_r32_rm32, dst, src)); } public void bsf(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bsf_r64_rm64, dst, src)); } public void bsf(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsf_r16_rm16, register, in memory)); } public void bsf(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsf_r32_rm32, register, in memory)); } public void bsf(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsf_r64_rm64, register, in memory)); } public void bsr(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Bsr_r16_rm16, dst, src)); } public void bsr(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bsr_r32_rm32, dst, src)); } public void bsr(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bsr_r64_rm64, dst, src)); } public void bsr(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsr_r16_rm16, register, in memory)); } public void bsr(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsr_r32_rm32, register, in memory)); } public void bsr(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bsr_r64_rm64, register, in memory)); } public void bswap(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Bswap_r16, dst)); } public void bswap(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Bswap_r32, dst)); } public void bswap(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Bswap_r64, dst)); } public void bt(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Bt_rm16_r16, dst, src)); } public void bt(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bt_rm16_r16, in memory, src)); } public void bt(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bt_rm32_r32, dst, src)); } public void bt(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bt_rm32_r32, in memory, src)); } public void bt(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bt_rm64_r64, dst, src)); } public void bt(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bt_rm64_r64, in memory, src)); } public void bt(AssemblerRegister16 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bt_rm16_imm8, dst, imm)); } public void bt(AssemblerRegister32 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bt_rm32_imm8, dst, imm)); } public void bt(AssemblerRegister64 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bt_rm64_imm8, dst, imm)); } public void bt(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Bt_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Bt_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Bt, dst, imm); } code = Code.Bt_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void bt(AssemblerRegister16 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bt_rm16_imm8, (Register)dst, (uint)imm)); } public void bt(AssemblerRegister32 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bt_rm32_imm8, (Register)dst, (uint)imm)); } public void bt(AssemblerRegister64 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bt_rm64_imm8, (Register)dst, (uint)imm)); } public void bt(AssemblerMemoryOperand dst, byte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Bt_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Bt_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Bt, dst, imm); } code = Code.Bt_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void btc(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Btc_rm16_r16, dst, src)); } public void btc(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btc_rm16_r16, in memory, src)); } public void btc(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Btc_rm32_r32, dst, src)); } public void btc(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btc_rm32_r32, in memory, src)); } public void btc(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Btc_rm64_r64, dst, src)); } public void btc(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btc_rm64_r64, in memory, src)); } public void btc(AssemblerRegister16 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btc_rm16_imm8, dst, imm)); } public void btc(AssemblerRegister32 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btc_rm32_imm8, dst, imm)); } public void btc(AssemblerRegister64 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btc_rm64_imm8, dst, imm)); } public void btc(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Btc_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Btc_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Btc, dst, imm); } code = Code.Btc_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void btc(AssemblerRegister16 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btc_rm16_imm8, (Register)dst, (uint)imm)); } public void btc(AssemblerRegister32 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btc_rm32_imm8, (Register)dst, (uint)imm)); } public void btc(AssemblerRegister64 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btc_rm64_imm8, (Register)dst, (uint)imm)); } public void btc(AssemblerMemoryOperand dst, byte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Btc_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Btc_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Btc, dst, imm); } code = Code.Btc_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void btr(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Btr_rm16_r16, dst, src)); } public void btr(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btr_rm16_r16, in memory, src)); } public void btr(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Btr_rm32_r32, dst, src)); } public void btr(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btr_rm32_r32, in memory, src)); } public void btr(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Btr_rm64_r64, dst, src)); } public void btr(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Btr_rm64_r64, in memory, src)); } public void btr(AssemblerRegister16 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btr_rm16_imm8, dst, imm)); } public void btr(AssemblerRegister32 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btr_rm32_imm8, dst, imm)); } public void btr(AssemblerRegister64 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Btr_rm64_imm8, dst, imm)); } public void btr(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Btr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Btr_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Btr, dst, imm); } code = Code.Btr_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void btr(AssemblerRegister16 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btr_rm16_imm8, (Register)dst, (uint)imm)); } public void btr(AssemblerRegister32 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btr_rm32_imm8, (Register)dst, (uint)imm)); } public void btr(AssemblerRegister64 dst, byte imm) { AddInstruction(Instruction.Create(Code.Btr_rm64_imm8, (Register)dst, (uint)imm)); } public void btr(AssemblerMemoryOperand dst, byte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Btr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Btr_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Btr, dst, imm); } code = Code.Btr_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void bts(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Bts_rm16_r16, dst, src)); } public void bts(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bts_rm16_r16, in memory, src)); } public void bts(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Bts_rm32_r32, dst, src)); } public void bts(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bts_rm32_r32, in memory, src)); } public void bts(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Bts_rm64_r64, dst, src)); } public void bts(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Bts_rm64_r64, in memory, src)); } public void bts(AssemblerRegister16 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bts_rm16_imm8, dst, imm)); } public void bts(AssemblerRegister32 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bts_rm32_imm8, dst, imm)); } public void bts(AssemblerRegister64 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Bts_rm64_imm8, dst, imm)); } public void bts(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Bts_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Bts_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Bts, dst, imm); } code = Code.Bts_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void bts(AssemblerRegister16 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bts_rm16_imm8, (Register)dst, (uint)imm)); } public void bts(AssemblerRegister32 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bts_rm32_imm8, (Register)dst, (uint)imm)); } public void bts(AssemblerRegister64 dst, byte imm) { AddInstruction(Instruction.Create(Code.Bts_rm64_imm8, (Register)dst, (uint)imm)); } public void bts(AssemblerMemoryOperand dst, byte imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Bts_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Bts_rm32_imm8; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Bts, dst, imm); } code = Code.Bts_rm16_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void bzhi(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Bzhi_r32_rm32_r32, dst, src1, src2)); } public void bzhi(AssemblerRegister32 dst, AssemblerMemoryOperand src1, AssemblerRegister32 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Bzhi_r32_rm32_r32, register, in memory, src2)); } public void bzhi(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Bzhi_r64_rm64_r64, dst, src1, src2)); } public void bzhi(AssemblerRegister64 dst, AssemblerMemoryOperand src1, AssemblerRegister64 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Bzhi_r64_rm64_r64, register, in memory, src2)); } public void call(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Call_rm16, dst)); } public void call(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Call_rm32, dst)); } public void call(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Call_rm64, dst)); } public void call(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Tbyte) { code = Code.Call_m1664; } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Call_rm64; } else if (dst.Size == MemoryOperandSize.Fword) { code = Code.Call_m1632; } else if (dst.Size == MemoryOperandSize.Dword) { code = ((Bitness >= 32) ? Code.Call_rm32 : Code.Call_m1616); } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Call, dst); } code = Code.Call_rm16; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void call(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Call_rel32_32 : Code.Call_rel16) : Code.Call_rel32_64); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void call(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Call_rel32_32 : Code.Call_rel16) : Code.Call_rel32_64); AddInstruction(Instruction.CreateBranch(code, dst)); } public void cbw() { AddInstruction(Instruction.Create(Code.Cbw)); } public void ccs_encrypt() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ccs_encrypt_32 : Code.Ccs_encrypt_16) : Code.Ccs_encrypt_64); AddInstruction(Instruction.Create(code)); } public void ccs_hash() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ccs_hash_32 : Code.Ccs_hash_16) : Code.Ccs_hash_64); AddInstruction(Instruction.Create(code)); } public void cdq() { AddInstruction(Instruction.Create(Code.Cdq)); } public void cdqe() { AddInstruction(Instruction.Create(Code.Cdqe)); } public void cl1invmb() { AddInstruction(Instruction.Create(Code.Cl1invmb)); } public void clac() { AddInstruction(Instruction.Create(Code.Clac)); } public void clc() { AddInstruction(Instruction.Create(Code.Clc)); } public void cld() { AddInstruction(Instruction.Create(Code.Cld)); } public void cldemote(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cldemote_m8, in memory)); } public void clflush(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Clflush_m8, in memory)); } public void clflushopt(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Clflushopt_m8, in memory)); } public void clgi() { AddInstruction(Instruction.Create(Code.Clgi)); } public void cli() { AddInstruction(Instruction.Create(Code.Cli)); } public void clrssbsy(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Clrssbsy_m64, in memory)); } public void clts() { AddInstruction(Instruction.Create(Code.Clts)); } public void clui() { AddInstruction(Instruction.Create(Code.Clui)); } public void clwb(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Clwb_m8, in memory)); } public void clzero() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Clzerod : Code.Clzerow) : Code.Clzeroq); AddInstruction(Instruction.Create(code)); } public void cmc() { AddInstruction(Instruction.Create(Code.Cmc)); } public void cmova(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmova_r16_rm16, dst, src)); } public void cmova(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmova_r32_rm32, dst, src)); } public void cmova(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmova_r64_rm64, dst, src)); } public void cmova(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r16_rm16, register, in memory)); } public void cmova(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r32_rm32, register, in memory)); } public void cmova(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r64_rm64, register, in memory)); } public void cmovae(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, dst, src)); } public void cmovae(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, dst, src)); } public void cmovae(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, dst, src)); } public void cmovae(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, register, in memory)); } public void cmovae(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, register, in memory)); } public void cmovae(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, register, in memory)); } public void cmovb(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, dst, src)); } public void cmovb(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, dst, src)); } public void cmovb(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, dst, src)); } public void cmovb(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, register, in memory)); } public void cmovb(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, register, in memory)); } public void cmovb(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, register, in memory)); } public void cmovbe(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r16_rm16, dst, src)); } public void cmovbe(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r32_rm32, dst, src)); } public void cmovbe(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r64_rm64, dst, src)); } public void cmovbe(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r16_rm16, register, in memory)); } public void cmovbe(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r32_rm32, register, in memory)); } public void cmovbe(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r64_rm64, register, in memory)); } public void cmovc(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, dst, src)); } public void cmovc(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, dst, src)); } public void cmovc(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, dst, src)); } public void cmovc(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, register, in memory)); } public void cmovc(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, register, in memory)); } public void cmovc(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, register, in memory)); } public void cmove(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmove_r16_rm16, dst, src)); } public void cmove(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmove_r32_rm32, dst, src)); } public void cmove(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmove_r64_rm64, dst, src)); } public void cmove(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r16_rm16, register, in memory)); } public void cmove(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r32_rm32, register, in memory)); } public void cmove(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r64_rm64, register, in memory)); } public void cmovg(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovg_r16_rm16, dst, src)); } public void cmovg(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovg_r32_rm32, dst, src)); } public void cmovg(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovg_r64_rm64, dst, src)); } public void cmovg(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r16_rm16, register, in memory)); } public void cmovg(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r32_rm32, register, in memory)); } public void cmovg(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r64_rm64, register, in memory)); } public void cmovge(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovge_r16_rm16, dst, src)); } public void cmovge(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovge_r32_rm32, dst, src)); } public void cmovge(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovge_r64_rm64, dst, src)); } public void cmovge(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r16_rm16, register, in memory)); } public void cmovge(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r32_rm32, register, in memory)); } public void cmovge(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r64_rm64, register, in memory)); } public void cmovl(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovl_r16_rm16, dst, src)); } public void cmovl(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovl_r32_rm32, dst, src)); } public void cmovl(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovl_r64_rm64, dst, src)); } public void cmovl(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r16_rm16, register, in memory)); } public void cmovl(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r32_rm32, register, in memory)); } public void cmovl(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r64_rm64, register, in memory)); } public void cmovle(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovle_r16_rm16, dst, src)); } public void cmovle(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovle_r32_rm32, dst, src)); } public void cmovle(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovle_r64_rm64, dst, src)); } public void cmovle(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r16_rm16, register, in memory)); } public void cmovle(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r32_rm32, register, in memory)); } public void cmovle(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r64_rm64, register, in memory)); } public void cmovna(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r16_rm16, dst, src)); } public void cmovna(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r32_rm32, dst, src)); } public void cmovna(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovbe_r64_rm64, dst, src)); } public void cmovna(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r16_rm16, register, in memory)); } public void cmovna(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r32_rm32, register, in memory)); } public void cmovna(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovbe_r64_rm64, register, in memory)); } public void cmovnae(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, dst, src)); } public void cmovnae(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, dst, src)); } public void cmovnae(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, dst, src)); } public void cmovnae(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r16_rm16, register, in memory)); } public void cmovnae(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r32_rm32, register, in memory)); } public void cmovnae(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovb_r64_rm64, register, in memory)); } public void cmovnb(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, dst, src)); } public void cmovnb(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, dst, src)); } public void cmovnb(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, dst, src)); } public void cmovnb(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, register, in memory)); } public void cmovnb(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, register, in memory)); } public void cmovnb(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, register, in memory)); } public void cmovnbe(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmova_r16_rm16, dst, src)); } public void cmovnbe(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmova_r32_rm32, dst, src)); } public void cmovnbe(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmova_r64_rm64, dst, src)); } public void cmovnbe(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r16_rm16, register, in memory)); } public void cmovnbe(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r32_rm32, register, in memory)); } public void cmovnbe(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmova_r64_rm64, register, in memory)); } public void cmovnc(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, dst, src)); } public void cmovnc(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, dst, src)); } public void cmovnc(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, dst, src)); } public void cmovnc(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r16_rm16, register, in memory)); } public void cmovnc(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r32_rm32, register, in memory)); } public void cmovnc(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovae_r64_rm64, register, in memory)); } public void cmovne(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovne_r16_rm16, dst, src)); } public void cmovne(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovne_r32_rm32, dst, src)); } public void cmovne(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovne_r64_rm64, dst, src)); } public void cmovne(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r16_rm16, register, in memory)); } public void cmovne(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r32_rm32, register, in memory)); } public void cmovne(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r64_rm64, register, in memory)); } public void cmovng(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovle_r16_rm16, dst, src)); } public void cmovng(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovle_r32_rm32, dst, src)); } public void cmovng(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovle_r64_rm64, dst, src)); } public void cmovng(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r16_rm16, register, in memory)); } public void cmovng(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r32_rm32, register, in memory)); } public void cmovng(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovle_r64_rm64, register, in memory)); } public void cmovnge(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovl_r16_rm16, dst, src)); } public void cmovnge(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovl_r32_rm32, dst, src)); } public void cmovnge(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovl_r64_rm64, dst, src)); } public void cmovnge(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r16_rm16, register, in memory)); } public void cmovnge(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r32_rm32, register, in memory)); } public void cmovnge(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovl_r64_rm64, register, in memory)); } public void cmovnl(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovge_r16_rm16, dst, src)); } public void cmovnl(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovge_r32_rm32, dst, src)); } public void cmovnl(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovge_r64_rm64, dst, src)); } public void cmovnl(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r16_rm16, register, in memory)); } public void cmovnl(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r32_rm32, register, in memory)); } public void cmovnl(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovge_r64_rm64, register, in memory)); } public void cmovnle(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovg_r16_rm16, dst, src)); } public void cmovnle(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovg_r32_rm32, dst, src)); } public void cmovnle(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovg_r64_rm64, dst, src)); } public void cmovnle(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r16_rm16, register, in memory)); } public void cmovnle(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r32_rm32, register, in memory)); } public void cmovnle(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovg_r64_rm64, register, in memory)); } public void cmovno(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovno_r16_rm16, dst, src)); } public void cmovno(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovno_r32_rm32, dst, src)); } public void cmovno(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovno_r64_rm64, dst, src)); } public void cmovno(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovno_r16_rm16, register, in memory)); } public void cmovno(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovno_r32_rm32, register, in memory)); } public void cmovno(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovno_r64_rm64, register, in memory)); } public void cmovnp(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r16_rm16, dst, src)); } public void cmovnp(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r32_rm32, dst, src)); } public void cmovnp(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r64_rm64, dst, src)); } public void cmovnp(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r16_rm16, register, in memory)); } public void cmovnp(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r32_rm32, register, in memory)); } public void cmovnp(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r64_rm64, register, in memory)); } public void cmovns(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovns_r16_rm16, dst, src)); } public void cmovns(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovns_r32_rm32, dst, src)); } public void cmovns(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovns_r64_rm64, dst, src)); } public void cmovns(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovns_r16_rm16, register, in memory)); } public void cmovns(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovns_r32_rm32, register, in memory)); } public void cmovns(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovns_r64_rm64, register, in memory)); } public void cmovnz(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovne_r16_rm16, dst, src)); } public void cmovnz(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovne_r32_rm32, dst, src)); } public void cmovnz(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovne_r64_rm64, dst, src)); } public void cmovnz(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r16_rm16, register, in memory)); } public void cmovnz(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r32_rm32, register, in memory)); } public void cmovnz(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovne_r64_rm64, register, in memory)); } public void cmovo(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovo_r16_rm16, dst, src)); } public void cmovo(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovo_r32_rm32, dst, src)); } public void cmovo(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovo_r64_rm64, dst, src)); } public void cmovo(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovo_r16_rm16, register, in memory)); } public void cmovo(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovo_r32_rm32, register, in memory)); } public void cmovo(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovo_r64_rm64, register, in memory)); } public void cmovp(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovp_r16_rm16, dst, src)); } public void cmovp(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovp_r32_rm32, dst, src)); } public void cmovp(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovp_r64_rm64, dst, src)); } public void cmovp(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r16_rm16, register, in memory)); } public void cmovp(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r32_rm32, register, in memory)); } public void cmovp(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r64_rm64, register, in memory)); } public void cmovpe(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovp_r16_rm16, dst, src)); } public void cmovpe(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovp_r32_rm32, dst, src)); } public void cmovpe(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovp_r64_rm64, dst, src)); } public void cmovpe(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r16_rm16, register, in memory)); } public void cmovpe(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r32_rm32, register, in memory)); } public void cmovpe(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovp_r64_rm64, register, in memory)); } public void cmovpo(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r16_rm16, dst, src)); } public void cmovpo(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r32_rm32, dst, src)); } public void cmovpo(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovnp_r64_rm64, dst, src)); } public void cmovpo(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r16_rm16, register, in memory)); } public void cmovpo(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r32_rm32, register, in memory)); } public void cmovpo(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovnp_r64_rm64, register, in memory)); } public void cmovs(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmovs_r16_rm16, dst, src)); } public void cmovs(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmovs_r32_rm32, dst, src)); } public void cmovs(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmovs_r64_rm64, dst, src)); } public void cmovs(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovs_r16_rm16, register, in memory)); } public void cmovs(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovs_r32_rm32, register, in memory)); } public void cmovs(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmovs_r64_rm64, register, in memory)); } public void cmovz(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmove_r16_rm16, dst, src)); } public void cmovz(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmove_r32_rm32, dst, src)); } public void cmovz(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmove_r64_rm64, dst, src)); } public void cmovz(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r16_rm16, register, in memory)); } public void cmovz(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r32_rm32, register, in memory)); } public void cmovz(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmove_r64_rm64, register, in memory)); } public void cmp(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Cmp_rm8_r8, dst, src)); } public void cmp(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_rm8_r8, in memory, src)); } public void cmp(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmp_rm16_r16, dst, src)); } public void cmp(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_rm16_r16, in memory, src)); } public void cmp(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmp_rm32_r32, dst, src)); } public void cmp(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_rm32_r32, in memory, src)); } public void cmp(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmp_rm64_r64, dst, src)); } public void cmp(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_rm64_r64, in memory, src)); } public void cmp(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_r8_rm8, register, in memory)); } public void cmp(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_r16_rm16, register, in memory)); } public void cmp(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_r32_rm32, register, in memory)); } public void cmp(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmp_r64_rm64, register, in memory)); } public void cmp(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Cmp_AL_imm8 : Code.Cmp_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void cmp(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Cmp_rm16_imm8 : Code.Cmp_rm16_imm16) : Code.Cmp_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void cmp(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Cmp_rm32_imm8 : Code.Cmp_rm32_imm32) : Code.Cmp_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void cmp(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Cmp_rm64_imm8 : Code.Cmp_rm64_imm32) : Code.Cmp_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void cmp(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Cmp_rm64_imm8 : Code.Cmp_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Cmp_rm32_imm8 : Code.Cmp_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Cmp_rm16_imm8 : Code.Cmp_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Cmp, dst, imm); } code = Code.Cmp_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void cmp(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Cmp_AL_imm8 : Code.Cmp_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void cmp(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Cmp_rm16_imm8 : Code.Cmp_rm16_imm16) : Code.Cmp_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void cmp(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Cmp_rm32_imm8 : Code.Cmp_rm32_imm32) : Code.Cmp_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void cmp(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Cmp_rm32_imm8 : Code.Cmp_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Cmp_rm16_imm8 : Code.Cmp_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Cmp, dst, imm); } code = Code.Cmp_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void cmpbexadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpbexadd_m32_r32_r32, in memory, src1, src2)); } public void cmpbexadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpbexadd_m64_r64_r64, in memory, src1, src2)); } public void cmpbxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpbxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpbxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpbxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpeqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 0); } public void cmpeqpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 0); } public void cmpeqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 0); } public void cmpeqps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 0); } public void cmpeqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 0); } public void cmpeqsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 0); } public void cmpeqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 0); } public void cmpeqss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 0); } public void cmplepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 2); } public void cmplepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 2); } public void cmpleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 2); } public void cmpleps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 2); } public void cmplesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 2); } public void cmplesd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 2); } public void cmpless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 2); } public void cmpless(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 2); } public void cmplexadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmplexadd_m32_r32_r32, in memory, src1, src2)); } public void cmplexadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmplexadd_m64_r64_r64, in memory, src1, src2)); } public void cmpltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 1); } public void cmpltpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 1); } public void cmpltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 1); } public void cmpltps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 1); } public void cmpltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 1); } public void cmpltsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 1); } public void cmpltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 1); } public void cmpltss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 1); } public void cmplxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmplxadd_m32_r32_r32, in memory, src1, src2)); } public void cmplxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmplxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnbexadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnbexadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnbexadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnbexadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnbxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnbxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnbxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnbxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpneqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 4); } public void cmpneqpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 4); } public void cmpneqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 4); } public void cmpneqps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 4); } public void cmpneqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 4); } public void cmpneqsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 4); } public void cmpneqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 4); } public void cmpneqss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 4); } public void cmpnlepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 6); } public void cmpnlepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 6); } public void cmpnleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 6); } public void cmpnleps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 6); } public void cmpnlesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 6); } public void cmpnlesd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 6); } public void cmpnless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 6); } public void cmpnless(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 6); } public void cmpnlexadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnlexadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnlexadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnlexadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 5); } public void cmpnltpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 5); } public void cmpnltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 5); } public void cmpnltps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 5); } public void cmpnltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 5); } public void cmpnltsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 5); } public void cmpnltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 5); } public void cmpnltss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 5); } public void cmpnlxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnlxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnlxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnlxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnoxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnoxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnoxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnoxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnpxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnpxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnpxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnpxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnsxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnsxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnsxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnsxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpnzxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnzxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpnzxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpnzxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 7); } public void cmpordpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 7); } public void cmpordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 7); } public void cmpordps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 7); } public void cmpordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 7); } public void cmpordsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 7); } public void cmpordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 7); } public void cmpordss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 7); } public void cmpoxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpoxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpoxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpoxadd_m64_r64_r64, in memory, src1, src2)); } public void cmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Cmppd_xmm_xmmm128_imm8, dst, src1, imm)); } public void cmppd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmppd_xmm_xmmm128_imm8, register, in memory, imm)); } public void cmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Cmppd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void cmppd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmppd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void cmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Cmpps_xmm_xmmm128_imm8, dst, src1, imm)); } public void cmpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpps_xmm_xmmm128_imm8, register, in memory, imm)); } public void cmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Cmpps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void cmpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void cmppxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmppxadd_m32_r32_r32, in memory, src1, src2)); } public void cmppxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmppxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpsb() { AddInstruction(Instruction.CreateCmpsb(Bitness)); } public void cmpsd() { AddInstruction(Instruction.CreateCmpsd(Bitness)); } public void cmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Cmpsd_xmm_xmmm64_imm8, dst, src1, imm)); } public void cmpsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpsd_xmm_xmmm64_imm8, register, in memory, imm)); } public void cmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Cmpsd_xmm_xmmm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void cmpsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpsd_xmm_xmmm64_imm8, register, in memory, (uint)imm)); } public void cmpsq() { AddInstruction(Instruction.CreateCmpsq(Bitness)); } public void cmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Cmpss_xmm_xmmm32_imm8, dst, src1, imm)); } public void cmpss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpss_xmm_xmmm32_imm8, register, in memory, imm)); } public void cmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Cmpss_xmm_xmmm32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void cmpss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpss_xmm_xmmm32_imm8, register, in memory, (uint)imm)); } public void cmpsw() { AddInstruction(Instruction.CreateCmpsw(Bitness)); } public void cmpsxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpsxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpsxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpsxadd_m64_r64_r64, in memory, src1, src2)); } public void cmpunordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmppd(dst, src, 3); } public void cmpunordpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmppd(dst, src, 3); } public void cmpunordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpps(dst, src, 3); } public void cmpunordps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpps(dst, src, 3); } public void cmpunordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpsd(dst, src, 3); } public void cmpunordsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpsd(dst, src, 3); } public void cmpunordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { cmpss(dst, src, 3); } public void cmpunordss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { cmpss(dst, src, 3); } public void cmpxchg(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Cmpxchg_rm8_r8, dst, src)); } public void cmpxchg(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg_rm8_r8, in memory, src)); } public void cmpxchg(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Cmpxchg_rm16_r16, dst, src)); } public void cmpxchg(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg_rm16_r16, in memory, src)); } public void cmpxchg(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cmpxchg_rm32_r32, dst, src)); } public void cmpxchg(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg_rm32_r32, in memory, src)); } public void cmpxchg(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cmpxchg_rm64_r64, dst, src)); } public void cmpxchg(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg_rm64_r64, in memory, src)); } public void cmpxchg16b(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg16b_m128, in memory)); } public void cmpxchg8b(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cmpxchg8b_m64, in memory)); } public void cmpzxadd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpzxadd_m32_r32_r32, in memory, src1, src2)); } public void cmpzxadd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Cmpzxadd_m64_r64_r64, in memory, src1, src2)); } public void comisd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Comisd_xmm_xmmm64, dst, src)); } public void comisd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Comisd_xmm_xmmm64, register, in memory)); } public void comiss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Comiss_xmm_xmmm32, dst, src)); } public void comiss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Comiss_xmm_xmmm32, register, in memory)); } public void cpu_read() { AddInstruction(Instruction.Create(Code.Cpu_read)); } public void cpu_write() { AddInstruction(Instruction.Create(Code.Cpu_write)); } public void cpuid() { AddInstruction(Instruction.Create(Code.Cpuid)); } public void cqo() { AddInstruction(Instruction.Create(Code.Cqo)); } public void crc32(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Crc32_r32_rm8, dst, src)); } public void crc32(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Crc32_r64_rm8, dst, src)); } public void crc32(AssemblerRegister32 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Crc32_r32_rm16, dst, src)); } public void crc32(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Crc32_r32_rm32, dst, src)); } public void crc32(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Crc32_r64_rm64, dst, src)); } public void crc32(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Dword) { code = Code.Crc32_r32_rm32; } else if (src.Size == MemoryOperandSize.Word) { code = Code.Crc32_r32_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Crc32, dst, src); } code = Code.Crc32_r32_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void crc32(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Crc32_r64_rm64; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Crc32, dst, src); } code = Code.Crc32_r64_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void cvtdq2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtdq2pd_xmm_xmmm64, dst, src)); } public void cvtdq2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtdq2pd_xmm_xmmm64, register, in memory)); } public void cvtdq2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtdq2ps_xmm_xmmm128, dst, src)); } public void cvtdq2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtdq2ps_xmm_xmmm128, register, in memory)); } public void cvtpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtpd2dq_xmm_xmmm128, dst, src)); } public void cvtpd2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtpd2dq_xmm_xmmm128, register, in memory)); } public void cvtpd2pi(AssemblerRegisterMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtpd2pi_mm_xmmm128, dst, src)); } public void cvtpd2pi(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtpd2pi_mm_xmmm128, register, in memory)); } public void cvtpd2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtpd2ps_xmm_xmmm128, dst, src)); } public void cvtpd2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtpd2ps_xmm_xmmm128, register, in memory)); } public void cvtpi2pd(AssemblerRegisterXMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Cvtpi2pd_xmm_mmm64, dst, src)); } public void cvtpi2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtpi2pd_xmm_mmm64, register, in memory)); } public void cvtpi2ps(AssemblerRegisterXMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Cvtpi2ps_xmm_mmm64, dst, src)); } public void cvtpi2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtpi2ps_xmm_mmm64, register, in memory)); } public void cvtps2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtps2dq_xmm_xmmm128, dst, src)); } public void cvtps2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtps2dq_xmm_xmmm128, register, in memory)); } public void cvtps2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtps2pd_xmm_xmmm64, dst, src)); } public void cvtps2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtps2pd_xmm_xmmm64, register, in memory)); } public void cvtps2pi(AssemblerRegisterMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtps2pi_mm_xmmm64, dst, src)); } public void cvtps2pi(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtps2pi_mm_xmmm64, register, in memory)); } public void cvtsd2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtsd2si_r32_xmmm64, dst, src)); } public void cvtsd2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtsd2si_r64_xmmm64, dst, src)); } public void cvtsd2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtsd2si_r32_xmmm64, register, in memory)); } public void cvtsd2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtsd2si_r64_xmmm64, register, in memory)); } public void cvtsd2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtsd2ss_xmm_xmmm64, dst, src)); } public void cvtsd2ss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtsd2ss_xmm_xmmm64, register, in memory)); } public void cvtsi2sd(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cvtsi2sd_xmm_rm32, dst, src)); } public void cvtsi2sd(AssemblerRegisterXMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cvtsi2sd_xmm_rm64, dst, src)); } public void cvtsi2sd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Cvtsi2sd_xmm_rm64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Cvtsi2sd, dst, src); } code = Code.Cvtsi2sd_xmm_rm32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void cvtsi2ss(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Cvtsi2ss_xmm_rm32, dst, src)); } public void cvtsi2ss(AssemblerRegisterXMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Cvtsi2ss_xmm_rm64, dst, src)); } public void cvtsi2ss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Qword) { code = Code.Cvtsi2ss_xmm_rm64; } else { if (src.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Cvtsi2ss, dst, src); } code = Code.Cvtsi2ss_xmm_rm32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void cvtss2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtss2sd_xmm_xmmm32, dst, src)); } public void cvtss2sd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtss2sd_xmm_xmmm32, register, in memory)); } public void cvtss2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtss2si_r32_xmmm32, dst, src)); } public void cvtss2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvtss2si_r64_xmmm32, dst, src)); } public void cvtss2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtss2si_r32_xmmm32, register, in memory)); } public void cvtss2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvtss2si_r64_xmmm32, register, in memory)); } public void cvttpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttpd2dq_xmm_xmmm128, dst, src)); } public void cvttpd2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttpd2dq_xmm_xmmm128, register, in memory)); } public void cvttpd2pi(AssemblerRegisterMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttpd2pi_mm_xmmm128, dst, src)); } public void cvttpd2pi(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttpd2pi_mm_xmmm128, register, in memory)); } public void cvttps2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttps2dq_xmm_xmmm128, dst, src)); } public void cvttps2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttps2dq_xmm_xmmm128, register, in memory)); } public void cvttps2pi(AssemblerRegisterMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttps2pi_mm_xmmm64, dst, src)); } public void cvttps2pi(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttps2pi_mm_xmmm64, register, in memory)); } public void cvttsd2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttsd2si_r32_xmmm64, dst, src)); } public void cvttsd2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttsd2si_r64_xmmm64, dst, src)); } public void cvttsd2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttsd2si_r32_xmmm64, register, in memory)); } public void cvttsd2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttsd2si_r64_xmmm64, register, in memory)); } public void cvttss2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttss2si_r32_xmmm32, dst, src)); } public void cvttss2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Cvttss2si_r64_xmmm32, dst, src)); } public void cvttss2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttss2si_r32_xmmm32, register, in memory)); } public void cvttss2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Cvttss2si_r64_xmmm32, register, in memory)); } public void cwd() { AddInstruction(Instruction.Create(Code.Cwd)); } public void cwde() { AddInstruction(Instruction.Create(Code.Cwde)); } public void daa() { AddInstruction(Instruction.Create(Code.Daa)); } public void das() { AddInstruction(Instruction.Create(Code.Das)); } public void dec(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Dec_rm8, dst)); } public void dec(AssemblerRegister16 dst) { Code code = ((Bitness == 64) ? Code.Dec_rm16 : Code.Dec_r16); AddInstruction(Instruction.Create(code, dst)); } public void dec(AssemblerRegister32 dst) { Code code = ((Bitness == 64) ? Code.Dec_rm32 : Code.Dec_r32); AddInstruction(Instruction.Create(code, dst)); } public void dec(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Dec_rm64, dst)); } public void dec(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Dec_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Dec_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Dec_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Dec, dst); } code = Code.Dec_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void div(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Div_rm8, dst)); } public void div(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Div_rm16, dst)); } public void div(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Div_rm32, dst)); } public void div(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Div_rm64, dst)); } public void div(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Div_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Div_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Div_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Div, dst); } code = Code.Div_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void divpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Divpd_xmm_xmmm128, dst, src)); } public void divpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Divpd_xmm_xmmm128, register, in memory)); } public void divps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Divps_xmm_xmmm128, dst, src)); } public void divps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Divps_xmm_xmmm128, register, in memory)); } public void divsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Divsd_xmm_xmmm64, dst, src)); } public void divsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Divsd_xmm_xmmm64, register, in memory)); } public void divss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Divss_xmm_xmmm32, dst, src)); } public void divss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Divss_xmm_xmmm32, register, in memory)); } public void dmint() { AddInstruction(Instruction.Create(Code.Dmint)); } public void dppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Dppd_xmm_xmmm128_imm8, dst, src1, imm)); } public void dppd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Dppd_xmm_xmmm128_imm8, register, in memory, imm)); } public void dppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Dppd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void dppd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Dppd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void dpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Dpps_xmm_xmmm128_imm8, dst, src1, imm)); } public void dpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Dpps_xmm_xmmm128_imm8, register, in memory, imm)); } public void dpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Dpps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void dpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Dpps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void emms() { AddInstruction(Instruction.Create(Code.Emms)); } public void encls() { AddInstruction(Instruction.Create(Code.Encls)); } public void enclu() { AddInstruction(Instruction.Create(Code.Enclu)); } public void enclv() { AddInstruction(Instruction.Create(Code.Enclv)); } public void encodekey128(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Encodekey128_r32_r32, dst, src)); } public void encodekey256(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Encodekey256_r32_r32, dst, src)); } public void endbr32() { AddInstruction(Instruction.Create(Code.Endbr32)); } public void endbr64() { AddInstruction(Instruction.Create(Code.Endbr64)); } public void enqcmd(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmd_r16_m512, register, in memory)); } public void enqcmd(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmd_r32_m512, register, in memory)); } public void enqcmd(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmd_r64_m512, register, in memory)); } public void enqcmds(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmds_r16_m512, register, in memory)); } public void enqcmds(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmds_r32_m512, register, in memory)); } public void enqcmds(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Enqcmds_r64_m512, register, in memory)); } public void enter(short imm, sbyte imm1) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Enterd_imm16_imm8 : Code.Enterw_imm16_imm8) : Code.Enterq_imm16_imm8); AddInstruction(Instruction.Create(code, imm, imm1)); } public void enter(ushort imm, byte imm1) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Enterd_imm16_imm8 : Code.Enterw_imm16_imm8) : Code.Enterq_imm16_imm8); AddInstruction(Instruction.Create(code, (uint)imm, (uint)imm1)); } public void erets() { AddInstruction(Instruction.Create(Code.Erets)); } public void eretu() { AddInstruction(Instruction.Create(Code.Eretu)); } public void extractps(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Extractps_rm32_xmm_imm8, dst, src1, imm)); } public void extractps(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Extractps_r64m32_xmm_imm8, dst, src1, imm)); } public void extractps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Extractps_rm32_xmm_imm8, in memory, src1, imm)); } public void extractps(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Extractps_rm32_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void extractps(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Extractps_r64m32_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void extractps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Extractps_rm32_xmm_imm8, in memory, (Register)src1, (uint)imm)); } public void extrq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Extrq_xmm_xmm, dst, src)); } public void extrq(AssemblerRegisterXMM dst, sbyte imm, sbyte imm1) { AddInstruction(Instruction.Create(Code.Extrq_xmm_imm8_imm8, dst, imm, imm1)); } public void extrq(AssemblerRegisterXMM dst, byte imm, byte imm1) { AddInstruction(Instruction.Create(Code.Extrq_xmm_imm8_imm8, (Register)dst, (uint)imm, (uint)imm1)); } public void f2xm1() { AddInstruction(Instruction.Create(Code.F2xm1)); } public void fabs() { AddInstruction(Instruction.Create(Code.Fabs)); } public void fadd(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fadd_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fadd, dst); } code = Code.Fadd_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fadd(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fadd_st0_sti : Code.Fadd_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void faddp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Faddp_sti_st0, dst, src)); } public void fbld(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fbld_m80bcd, in memory)); } public void fbstp(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fbstp_m80bcd, in memory)); } public void fchs() { AddInstruction(Instruction.Create(Code.Fchs)); } public void fclex() { AddInstruction(Instruction.Create(Code.Fclex)); } public void fcmovb(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovb_st0_sti, dst, src)); } public void fcmovbe(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovbe_st0_sti, dst, src)); } public void fcmove(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmove_st0_sti, dst, src)); } public void fcmovnb(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovnb_st0_sti, dst, src)); } public void fcmovnbe(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovnbe_st0_sti, dst, src)); } public void fcmovne(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovne_st0_sti, dst, src)); } public void fcmovnu(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovnu_st0_sti, dst, src)); } public void fcmovu(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcmovu_st0_sti, dst, src)); } public void fcom(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fcom_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fcom, dst); } code = Code.Fcom_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fcom(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcom_st0_sti, dst, src)); } public void fcomi(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcomi_st0_sti, dst, src)); } public void fcomip(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcomip_st0_sti, dst, src)); } public void fcomp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fcomp_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fcomp, dst); } code = Code.Fcomp_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fcomp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fcomp_st0_sti, dst, src)); } public void fcompp() { AddInstruction(Instruction.Create(Code.Fcompp)); } public void fcos() { AddInstruction(Instruction.Create(Code.Fcos)); } public void fdecstp() { AddInstruction(Instruction.Create(Code.Fdecstp)); } public void fdisi() { AddInstruction(Instruction.Create(Code.Fdisi)); } public void fdiv(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fdiv_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fdiv, dst); } code = Code.Fdiv_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fdiv(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fdiv_st0_sti : Code.Fdiv_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void fdivp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fdivp_sti_st0, dst, src)); } public void fdivr(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fdivr_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fdivr, dst); } code = Code.Fdivr_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fdivr(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fdivr_st0_sti : Code.Fdivr_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void fdivrp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fdivrp_sti_st0, dst, src)); } public void femms() { AddInstruction(Instruction.Create(Code.Femms)); } public void feni() { AddInstruction(Instruction.Create(Code.Feni)); } public void ffree(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Ffree_sti, dst)); } public void ffreep(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Ffreep_sti, dst)); } public void fiadd(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fiadd_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fiadd, dst); } code = Code.Fiadd_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void ficom(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ficom_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Ficom, dst); } code = Code.Ficom_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void ficomp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ficomp_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Ficomp, dst); } code = Code.Ficomp_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fidiv(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fidiv_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fidiv, dst); } code = Code.Fidiv_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fidivr(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fidivr_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fidivr, dst); } code = Code.Fidivr_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fild(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fild_m64int; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fild_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fild, dst); } code = Code.Fild_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fimul(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fimul_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fimul, dst); } code = Code.Fimul_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fincstp() { AddInstruction(Instruction.Create(Code.Fincstp)); } public void finit() { AddInstruction(Instruction.Create(Code.Finit)); } public void fist(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fist_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fist, dst); } code = Code.Fist_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fistp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fistp_m64int; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fistp_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fistp, dst); } code = Code.Fistp_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fisttp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fisttp_m64int; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fisttp_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fisttp, dst); } code = Code.Fisttp_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fisub(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fisub_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fisub, dst); } code = Code.Fisub_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fisubr(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Fisubr_m32int; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Fisubr, dst); } code = Code.Fisubr_m16int; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fld(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Fld_sti, dst)); } public void fld(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Tbyte) { code = Code.Fld_m80fp; } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fld_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fld, dst); } code = Code.Fld_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fld1() { AddInstruction(Instruction.Create(Code.Fld1)); } public void fldcw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fldcw_m2byte, in memory)); } public void fldenv(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Fldenv_m28byte : Code.Fldenv_m14byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void fldl2e() { AddInstruction(Instruction.Create(Code.Fldl2e)); } public void fldl2t() { AddInstruction(Instruction.Create(Code.Fldl2t)); } public void fldlg2() { AddInstruction(Instruction.Create(Code.Fldlg2)); } public void fldln2() { AddInstruction(Instruction.Create(Code.Fldln2)); } public void fldpi() { AddInstruction(Instruction.Create(Code.Fldpi)); } public void fldz() { AddInstruction(Instruction.Create(Code.Fldz)); } public void fmul(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fmul_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fmul, dst); } code = Code.Fmul_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fmul(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fmul_st0_sti : Code.Fmul_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void fmulp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fmulp_sti_st0, dst, src)); } public void fnclex() { AddInstruction(Instruction.Create(Code.Fnclex)); } public void fndisi() { AddInstruction(Instruction.Create(Code.Fndisi)); } public void fneni() { AddInstruction(Instruction.Create(Code.Fneni)); } public void fninit() { AddInstruction(Instruction.Create(Code.Fninit)); } public void fnop() { AddInstruction(Instruction.Create(Code.Fnop)); } public void fnsave(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Fnsave_m108byte : Code.Fnsave_m94byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void fnsetpm() { AddInstruction(Instruction.Create(Code.Fnsetpm)); } public void fnstcw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fnstcw_m2byte, in memory)); } public void fnstdw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fnstdw_AX, dst)); } public void fnstenv(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Fnstenv_m28byte : Code.Fnstenv_m14byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void fnstsg(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fnstsg_AX, dst)); } public void fnstsw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fnstsw_AX, dst)); } public void fnstsw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fnstsw_m2byte, in memory)); } public void fpatan() { AddInstruction(Instruction.Create(Code.Fpatan)); } public void fprem() { AddInstruction(Instruction.Create(Code.Fprem)); } public void fprem1() { AddInstruction(Instruction.Create(Code.Fprem1)); } public void fptan() { AddInstruction(Instruction.Create(Code.Fptan)); } public void frndint() { AddInstruction(Instruction.Create(Code.Frndint)); } public void frstor(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Frstor_m108byte : Code.Frstor_m94byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void frstpm() { AddInstruction(Instruction.Create(Code.Frstpm)); } public void fsave(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Fsave_m108byte : Code.Fsave_m94byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void fscale() { AddInstruction(Instruction.Create(Code.Fscale)); } public void fsetpm() { AddInstruction(Instruction.Create(Code.Fsetpm)); } public void fsin() { AddInstruction(Instruction.Create(Code.Fsin)); } public void fsincos() { AddInstruction(Instruction.Create(Code.Fsincos)); } public void fsqrt() { AddInstruction(Instruction.Create(Code.Fsqrt)); } public void fst(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Fst_sti, dst)); } public void fst(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fst_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fst, dst); } code = Code.Fst_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fstcw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fstcw_m2byte, in memory)); } public void fstdw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fstdw_AX, dst)); } public void fstenv(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Fstenv_m28byte : Code.Fstenv_m14byte); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void fstp(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Fstp_sti, dst)); } public void fstp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Tbyte) { code = Code.Fstp_m80fp; } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fstp_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fstp, dst); } code = Code.Fstp_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fstpnce(AssemblerRegisterST dst) { AddInstruction(Instruction.Create(Code.Fstpnce_sti, dst)); } public void fstsg(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fstsg_AX, dst)); } public void fstsw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Fstsw_AX, dst)); } public void fstsw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fstsw_m2byte, in memory)); } public void fsub(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fsub_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fsub, dst); } code = Code.Fsub_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fsub(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fsub_st0_sti : Code.Fsub_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void fsubp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fsubp_sti_st0, dst, src)); } public void fsubr(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Fsubr_m64fp; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Fsubr, dst); } code = Code.Fsubr_m32fp; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void fsubr(AssemblerRegisterST dst, AssemblerRegisterST src) { Code code = (((Register)dst == Register.ST0) ? Code.Fsubr_st0_sti : Code.Fsubr_sti_st0); AddInstruction(Instruction.Create(code, dst, src)); } public void fsubrp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fsubrp_sti_st0, dst, src)); } public void ftst() { AddInstruction(Instruction.Create(Code.Ftst)); } public void fucom(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fucom_st0_sti, dst, src)); } public void fucomi(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fucomi_st0_sti, dst, src)); } public void fucomip(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fucomip_st0_sti, dst, src)); } public void fucomp(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fucomp_st0_sti, dst, src)); } public void fucompp() { AddInstruction(Instruction.Create(Code.Fucompp)); } public void fxam() { AddInstruction(Instruction.Create(Code.Fxam)); } public void fxch(AssemblerRegisterST dst, AssemblerRegisterST src) { AddInstruction(Instruction.Create(Code.Fxch_st0_sti, dst, src)); } public void fxrstor(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fxrstor_m512byte, in memory)); } public void fxrstor64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fxrstor64_m512byte, in memory)); } public void fxsave(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fxsave_m512byte, in memory)); } public void fxsave64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Fxsave64_m512byte, in memory)); } public void fxtract() { AddInstruction(Instruction.Create(Code.Fxtract)); } public void fyl2x() { AddInstruction(Instruction.Create(Code.Fyl2x)); } public void fyl2xp1() { AddInstruction(Instruction.Create(Code.Fyl2xp1)); } public void getsec() { AddInstruction(Instruction.Create(Code.Getsecd)); } public void getsecq() { AddInstruction(Instruction.Create(Code.Getsecq)); } public void gf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Gf2p8affineinvqb_xmm_xmmm128_imm8, dst, src1, imm)); } public void gf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Gf2p8affineinvqb_xmm_xmmm128_imm8, register, in memory, imm)); } public void gf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Gf2p8affineinvqb_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void gf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Gf2p8affineinvqb_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void gf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Gf2p8affineqb_xmm_xmmm128_imm8, dst, src1, imm)); } public void gf2p8affineqb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Gf2p8affineqb_xmm_xmmm128_imm8, register, in memory, imm)); } public void gf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Gf2p8affineqb_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void gf2p8affineqb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Gf2p8affineqb_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void gf2p8mulb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Gf2p8mulb_xmm_xmmm128, dst, src)); } public void gf2p8mulb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Gf2p8mulb_xmm_xmmm128, register, in memory)); } public void haddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Haddpd_xmm_xmmm128, dst, src)); } public void haddpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Haddpd_xmm_xmmm128, register, in memory)); } public void haddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Haddps_xmm_xmmm128, dst, src)); } public void haddps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Haddps_xmm_xmmm128, register, in memory)); } public void hlt() { AddInstruction(Instruction.Create(Code.Hlt)); } public void hreset(sbyte imm) { AddInstruction(Instruction.Create(Code.Hreset_imm8, imm)); } public void hreset(byte imm) { AddInstruction(Instruction.Create(Code.Hreset_imm8, (uint)imm)); } public void hsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Hsubpd_xmm_xmmm128, dst, src)); } public void hsubpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Hsubpd_xmm_xmmm128, register, in memory)); } public void hsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Hsubps_xmm_xmmm128, dst, src)); } public void hsubps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Hsubps_xmm_xmmm128, register, in memory)); } public void ibts(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Ibts_rm16_r16, dst, src)); } public void ibts(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ibts_rm16_r16, in memory, src)); } public void ibts(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Ibts_rm32_r32, dst, src)); } public void ibts(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ibts_rm32_r32, in memory, src)); } public void idiv(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Idiv_rm8, dst)); } public void idiv(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Idiv_rm16, dst)); } public void idiv(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Idiv_rm32, dst)); } public void idiv(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Idiv_rm64, dst)); } public void idiv(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Idiv_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Idiv_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Idiv_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Idiv, dst); } code = Code.Idiv_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void imul(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Imul_rm8, dst)); } public void imul(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Imul_rm16, dst)); } public void imul(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Imul_rm32, dst)); } public void imul(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Imul_rm64, dst)); } public void imul(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Imul_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Imul_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Imul_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Imul, dst); } code = Code.Imul_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void imul(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Imul_r16_rm16, dst, src)); } public void imul(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Imul_r32_rm32, dst, src)); } public void imul(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Imul_r64_rm64, dst, src)); } public void imul(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Imul_r16_rm16, register, in memory)); } public void imul(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Imul_r32_rm32, register, in memory)); } public void imul(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Imul_r64_rm64, register, in memory)); } public void imul(AssemblerRegister16 dst, AssemblerRegister16 src1, short imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r16_rm16_imm8 : Code.Imul_r16_rm16_imm16); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void imul(AssemblerRegister32 dst, AssemblerRegister32 src1, int imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r32_rm32_imm8 : Code.Imul_r32_rm32_imm32); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void imul(AssemblerRegister64 dst, AssemblerRegister64 src1, int imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r64_rm64_imm8 : Code.Imul_r64_rm64_imm32); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void imul(AssemblerRegister16 dst, AssemblerMemoryOperand src1, short imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r16_rm16_imm8 : Code.Imul_r16_rm16_imm16); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm)); } public void imul(AssemblerRegister32 dst, AssemblerMemoryOperand src1, int imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r32_rm32_imm8 : Code.Imul_r32_rm32_imm32); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm)); } public void imul(AssemblerRegister64 dst, AssemblerMemoryOperand src1, int imm) { Code code = ((imm >= -128 && imm <= 127) ? Code.Imul_r64_rm64_imm8 : Code.Imul_r64_rm64_imm32); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm)); } public void imul(AssemblerRegister16 dst, AssemblerRegister16 src1, ushort imm) { Code code = ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Imul_r16_rm16_imm8 : Code.Imul_r16_rm16_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void imul(AssemblerRegister32 dst, AssemblerRegister32 src1, uint imm) { Code code = ((imm <= 127 || 4294967168u <= imm) ? Code.Imul_r32_rm32_imm8 : Code.Imul_r32_rm32_imm32); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void imul(AssemblerRegister16 dst, AssemblerMemoryOperand src1, ushort imm) { Code code = ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Imul_r16_rm16_imm8 : Code.Imul_r16_rm16_imm16); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm)); } public void imul(AssemblerRegister32 dst, AssemblerMemoryOperand src1, uint imm) { Code code = ((imm <= 127 || 4294967168u <= imm) ? Code.Imul_r32_rm32_imm8 : Code.Imul_r32_rm32_imm32); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm)); } public void @in(AssemblerRegister8 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.In_AL_DX, dst, src)); } public void @in(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.In_AX_DX, dst, src)); } public void @in(AssemblerRegister32 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.In_EAX_DX, dst, src)); } public void @in(AssemblerRegister8 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.In_AL_imm8, dst, imm)); } public void @in(AssemblerRegister16 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.In_AX_imm8, dst, imm)); } public void @in(AssemblerRegister32 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.In_EAX_imm8, dst, imm)); } public void @in(AssemblerRegister8 dst, byte imm) { AddInstruction(Instruction.Create(Code.In_AL_imm8, (Register)dst, (uint)imm)); } public void @in(AssemblerRegister16 dst, byte imm) { AddInstruction(Instruction.Create(Code.In_AX_imm8, (Register)dst, (uint)imm)); } public void @in(AssemblerRegister32 dst, byte imm) { AddInstruction(Instruction.Create(Code.In_EAX_imm8, (Register)dst, (uint)imm)); } public void inc(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Inc_rm8, dst)); } public void inc(AssemblerRegister16 dst) { Code code = ((Bitness == 64) ? Code.Inc_rm16 : Code.Inc_r16); AddInstruction(Instruction.Create(code, dst)); } public void inc(AssemblerRegister32 dst) { Code code = ((Bitness == 64) ? Code.Inc_rm32 : Code.Inc_r32); AddInstruction(Instruction.Create(code, dst)); } public void inc(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Inc_rm64, dst)); } public void inc(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Inc_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Inc_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Inc_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Inc, dst); } code = Code.Inc_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void incsspd(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Incsspd_r32, dst)); } public void incsspq(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Incsspq_r64, dst)); } public void insb() { AddInstruction(Instruction.CreateInsb(Bitness)); } public void insd() { AddInstruction(Instruction.CreateInsd(Bitness)); } public void insertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Insertps_xmm_xmmm32_imm8, dst, src1, imm)); } public void insertps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Insertps_xmm_xmmm32_imm8, register, in memory, imm)); } public void insertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Insertps_xmm_xmmm32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void insertps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Insertps_xmm_xmmm32_imm8, register, in memory, (uint)imm)); } public void insertq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Insertq_xmm_xmm, dst, src)); } public void insertq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm, sbyte imm1) { AddInstruction(Instruction.Create(Code.Insertq_xmm_xmm_imm8_imm8, dst, src1, imm, imm1)); } public void insertq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm, byte imm1) { AddInstruction(Instruction.Create(Code.Insertq_xmm_xmm_imm8_imm8, (Register)dst, (Register)src1, (uint)imm, (uint)imm1)); } public void insw() { AddInstruction(Instruction.CreateInsw(Bitness)); } public void @int(sbyte imm) { AddInstruction(Instruction.Create(Code.Int_imm8, imm)); } public void @int(byte imm) { AddInstruction(Instruction.Create(Code.Int_imm8, (uint)imm)); } public void int1() { AddInstruction(Instruction.Create(Code.Int1)); } public void int3() { AddInstruction(Instruction.Create(Code.Int3)); } public void into() { AddInstruction(Instruction.Create(Code.Into)); } public void invd() { AddInstruction(Instruction.Create(Code.Invd)); } public void invept(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invept_r32_m128, register, in memory)); } public void invept(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invept_r64_m128, register, in memory)); } public void invlpg(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invlpg_m, in memory)); } public void invlpga() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Invlpgad : Code.Invlpgaw) : Code.Invlpgaq); AddInstruction(Instruction.Create(code)); } public void invlpgb() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Invlpgbd : Code.Invlpgbw) : Code.Invlpgbq); AddInstruction(Instruction.Create(code)); } public void invpcid(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invpcid_r32_m128, register, in memory)); } public void invpcid(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invpcid_r64_m128, register, in memory)); } public void invvpid(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invvpid_r32_m128, register, in memory)); } public void invvpid(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Invvpid_r64_m128, register, in memory)); } public void iret() { AddInstruction(Instruction.Create(Code.Iretw)); } public void iretd() { AddInstruction(Instruction.Create(Code.Iretd)); } public void iretq() { AddInstruction(Instruction.Create(Code.Iretq)); } public void ja(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel8_32 : Code.Ja_rel8_16) : Code.Ja_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel32_32 : Code.Ja_rel16) : Code.Ja_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void ja(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel8_32 : Code.Ja_rel8_16) : Code.Ja_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel32_32 : Code.Ja_rel16) : Code.Ja_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jae(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jae(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jb(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jb(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jbe(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel8_32 : Code.Jbe_rel8_16) : Code.Jbe_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel32_32 : Code.Jbe_rel16) : Code.Jbe_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jbe(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel8_32 : Code.Jbe_rel8_16) : Code.Jbe_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel32_32 : Code.Jbe_rel16) : Code.Jbe_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jc(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jc(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jcxz(Label dst) { AddInstruction(Instruction.CreateBranch(Code.Jcxz_rel8_16, dst.Id)); } public void jcxz(ulong dst) { AddInstruction(Instruction.CreateBranch(Code.Jcxz_rel8_16, dst)); } public void je(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel8_32 : Code.Je_rel8_16) : Code.Je_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel32_32 : Code.Je_rel16) : Code.Je_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void je(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel8_32 : Code.Je_rel8_16) : Code.Je_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel32_32 : Code.Je_rel16) : Code.Je_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jecxz(Label dst) { AddInstruction(Instruction.CreateBranch(Code.Jecxz_rel8_32, dst.Id)); } public void jecxz(ulong dst) { AddInstruction(Instruction.CreateBranch(Code.Jecxz_rel8_32, dst)); } public void jg(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel8_32 : Code.Jg_rel8_16) : Code.Jg_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel32_32 : Code.Jg_rel16) : Code.Jg_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jg(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel8_32 : Code.Jg_rel8_16) : Code.Jg_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel32_32 : Code.Jg_rel16) : Code.Jg_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jge(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel8_32 : Code.Jge_rel8_16) : Code.Jge_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel32_32 : Code.Jge_rel16) : Code.Jge_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jge(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel8_32 : Code.Jge_rel8_16) : Code.Jge_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel32_32 : Code.Jge_rel16) : Code.Jge_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jl(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel8_32 : Code.Jl_rel8_16) : Code.Jl_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel32_32 : Code.Jl_rel16) : Code.Jl_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jl(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel8_32 : Code.Jl_rel8_16) : Code.Jl_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel32_32 : Code.Jl_rel16) : Code.Jl_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jle(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel8_32 : Code.Jle_rel8_16) : Code.Jle_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel32_32 : Code.Jle_rel16) : Code.Jle_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jle(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel8_32 : Code.Jle_rel8_16) : Code.Jle_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel32_32 : Code.Jle_rel16) : Code.Jle_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jmp(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Jmp_rm16, dst)); } public void jmp(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Jmp_rm32, dst)); } public void jmp(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Jmp_rm64, dst)); } public void jmp(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Tbyte) { code = Code.Jmp_m1664; } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Jmp_rm64; } else if (dst.Size == MemoryOperandSize.Fword) { code = Code.Jmp_m1632; } else if (dst.Size == MemoryOperandSize.Dword) { code = ((Bitness >= 32) ? Code.Jmp_rm32 : Code.Jmp_m1616); } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Jmp, dst); } code = Code.Jmp_rm16; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void jmp(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jmp_rel8_32 : Code.Jmp_rel8_16) : Code.Jmp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jmp_rel32_32 : Code.Jmp_rel16) : Code.Jmp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jmp(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jmp_rel8_32 : Code.Jmp_rel8_16) : Code.Jmp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jmp_rel32_32 : Code.Jmp_rel16) : Code.Jmp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jmpe(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Jmpe_rm16, dst)); } public void jmpe(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Jmpe_rm32, dst)); } public void jmpe(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Jmpe_rm32 : Code.Jmpe_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void jmpe(Label dst) { Code code = ((Bitness >= 32) ? Code.Jmpe_disp32 : Code.Jmpe_disp16); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jmpe(ulong dst) { Code code = ((Bitness >= 32) ? Code.Jmpe_disp32 : Code.Jmpe_disp16); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jna(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel8_32 : Code.Jbe_rel8_16) : Code.Jbe_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel32_32 : Code.Jbe_rel16) : Code.Jbe_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jna(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel8_32 : Code.Jbe_rel8_16) : Code.Jbe_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jbe_rel32_32 : Code.Jbe_rel16) : Code.Jbe_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnae(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnae(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel8_32 : Code.Jb_rel8_16) : Code.Jb_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jb_rel32_32 : Code.Jb_rel16) : Code.Jb_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnb(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnb(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnbe(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel8_32 : Code.Ja_rel8_16) : Code.Ja_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel32_32 : Code.Ja_rel16) : Code.Ja_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnbe(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel8_32 : Code.Ja_rel8_16) : Code.Ja_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Ja_rel32_32 : Code.Ja_rel16) : Code.Ja_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnc(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnc(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel8_32 : Code.Jae_rel8_16) : Code.Jae_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jae_rel32_32 : Code.Jae_rel16) : Code.Jae_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jne(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel8_32 : Code.Jne_rel8_16) : Code.Jne_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel32_32 : Code.Jne_rel16) : Code.Jne_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jne(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel8_32 : Code.Jne_rel8_16) : Code.Jne_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel32_32 : Code.Jne_rel16) : Code.Jne_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jng(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel8_32 : Code.Jle_rel8_16) : Code.Jle_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel32_32 : Code.Jle_rel16) : Code.Jle_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jng(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel8_32 : Code.Jle_rel8_16) : Code.Jle_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jle_rel32_32 : Code.Jle_rel16) : Code.Jle_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnge(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel8_32 : Code.Jl_rel8_16) : Code.Jl_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel32_32 : Code.Jl_rel16) : Code.Jl_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnge(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel8_32 : Code.Jl_rel8_16) : Code.Jl_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jl_rel32_32 : Code.Jl_rel16) : Code.Jl_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnl(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel8_32 : Code.Jge_rel8_16) : Code.Jge_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel32_32 : Code.Jge_rel16) : Code.Jge_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnl(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel8_32 : Code.Jge_rel8_16) : Code.Jge_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jge_rel32_32 : Code.Jge_rel16) : Code.Jge_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnle(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel8_32 : Code.Jg_rel8_16) : Code.Jg_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel32_32 : Code.Jg_rel16) : Code.Jg_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnle(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel8_32 : Code.Jg_rel8_16) : Code.Jg_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jg_rel32_32 : Code.Jg_rel16) : Code.Jg_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jno(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jno_rel8_32 : Code.Jno_rel8_16) : Code.Jno_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jno_rel32_32 : Code.Jno_rel16) : Code.Jno_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jno(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jno_rel8_32 : Code.Jno_rel8_16) : Code.Jno_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jno_rel32_32 : Code.Jno_rel16) : Code.Jno_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnp(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel8_32 : Code.Jnp_rel8_16) : Code.Jnp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel32_32 : Code.Jnp_rel16) : Code.Jnp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnp(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel8_32 : Code.Jnp_rel8_16) : Code.Jnp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel32_32 : Code.Jnp_rel16) : Code.Jnp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jns(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jns_rel8_32 : Code.Jns_rel8_16) : Code.Jns_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jns_rel32_32 : Code.Jns_rel16) : Code.Jns_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jns(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jns_rel8_32 : Code.Jns_rel8_16) : Code.Jns_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jns_rel32_32 : Code.Jns_rel16) : Code.Jns_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jnz(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel8_32 : Code.Jne_rel8_16) : Code.Jne_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel32_32 : Code.Jne_rel16) : Code.Jne_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jnz(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel8_32 : Code.Jne_rel8_16) : Code.Jne_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jne_rel32_32 : Code.Jne_rel16) : Code.Jne_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jo(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jo_rel8_32 : Code.Jo_rel8_16) : Code.Jo_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jo_rel32_32 : Code.Jo_rel16) : Code.Jo_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jo(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jo_rel8_32 : Code.Jo_rel8_16) : Code.Jo_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jo_rel32_32 : Code.Jo_rel16) : Code.Jo_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jp(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel8_32 : Code.Jp_rel8_16) : Code.Jp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel32_32 : Code.Jp_rel16) : Code.Jp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jp(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel8_32 : Code.Jp_rel8_16) : Code.Jp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel32_32 : Code.Jp_rel16) : Code.Jp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jpe(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel8_32 : Code.Jp_rel8_16) : Code.Jp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel32_32 : Code.Jp_rel16) : Code.Jp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jpe(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel8_32 : Code.Jp_rel8_16) : Code.Jp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jp_rel32_32 : Code.Jp_rel16) : Code.Jp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jpo(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel8_32 : Code.Jnp_rel8_16) : Code.Jnp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel32_32 : Code.Jnp_rel16) : Code.Jnp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jpo(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel8_32 : Code.Jnp_rel8_16) : Code.Jnp_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Jnp_rel32_32 : Code.Jnp_rel16) : Code.Jnp_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jrcxz(Label dst) { AddInstruction(Instruction.CreateBranch(Code.Jrcxz_rel8_64, dst.Id)); } public void jrcxz(ulong dst) { AddInstruction(Instruction.CreateBranch(Code.Jrcxz_rel8_64, dst)); } public void js(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Js_rel8_32 : Code.Js_rel8_16) : Code.Js_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Js_rel32_32 : Code.Js_rel16) : Code.Js_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void js(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Js_rel8_32 : Code.Js_rel8_16) : Code.Js_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Js_rel32_32 : Code.Js_rel16) : Code.Js_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void jz(Label dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel8_32 : Code.Je_rel8_16) : Code.Je_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel32_32 : Code.Je_rel16) : Code.Je_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void jz(ulong dst) { Code code = (PreferShortBranch ? ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel8_32 : Code.Je_rel8_16) : Code.Je_rel8_64) : ((Bitness != 64) ? ((Bitness >= 32) ? Code.Je_rel32_32 : Code.Je_rel16) : Code.Je_rel32_64)); AddInstruction(Instruction.CreateBranch(code, dst)); } public void kaddb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kaddb_kr_kr_kr, dst, src1, src2)); } public void kaddd(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kaddd_kr_kr_kr, dst, src1, src2)); } public void kaddq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kaddq_kr_kr_kr, dst, src1, src2)); } public void kaddw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kaddw_kr_kr_kr, dst, src1, src2)); } public void kandb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandb_kr_kr_kr, dst, src1, src2)); } public void kandd(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandd_kr_kr_kr, dst, src1, src2)); } public void kandnb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandnb_kr_kr_kr, dst, src1, src2)); } public void kandnd(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandnd_kr_kr_kr, dst, src1, src2)); } public void kandnq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandnq_kr_kr_kr, dst, src1, src2)); } public void kandnw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandnw_kr_kr_kr, dst, src1, src2)); } public void kandq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandq_kr_kr_kr, dst, src1, src2)); } public void kandw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kandw_kr_kr_kr, dst, src1, src2)); } public void kmovb(AssemblerRegisterK dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Kmovb_kr_r32, dst, src)); } public void kmovb(AssemblerRegister32 dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovb_r32_kr, dst, src)); } public void kmovb(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovb_kr_km8, dst, src)); } public void kmovb(AssemblerMemoryOperand dst, AssemblerRegisterK src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovb_m8_kr, in memory, src)); } public void kmovb(AssemblerRegisterK dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovb_kr_km8, register, in memory)); } public void kmovd(AssemblerRegisterK dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Kmovd_kr_r32, dst, src)); } public void kmovd(AssemblerRegister32 dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovd_r32_kr, dst, src)); } public void kmovd(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovd_kr_km32, dst, src)); } public void kmovd(AssemblerMemoryOperand dst, AssemblerRegisterK src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovd_m32_kr, in memory, src)); } public void kmovd(AssemblerRegisterK dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovd_kr_km32, register, in memory)); } public void kmovq(AssemblerRegisterK dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.VEX_Kmovq_kr_r64, dst, src)); } public void kmovq(AssemblerRegister64 dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovq_r64_kr, dst, src)); } public void kmovq(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovq_kr_km64, dst, src)); } public void kmovq(AssemblerMemoryOperand dst, AssemblerRegisterK src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovq_m64_kr, in memory, src)); } public void kmovq(AssemblerRegisterK dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovq_kr_km64, register, in memory)); } public void kmovw(AssemblerRegisterK dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.VEX_Kmovw_kr_r32, dst, src)); } public void kmovw(AssemblerRegister32 dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovw_r32_kr, dst, src)); } public void kmovw(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kmovw_kr_km16, dst, src)); } public void kmovw(AssemblerMemoryOperand dst, AssemblerRegisterK src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovw_m16_kr, in memory, src)); } public void kmovw(AssemblerRegisterK dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Kmovw_kr_km16, register, in memory)); } public void knotb(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Knotb_kr_kr, dst, src)); } public void knotd(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Knotd_kr_kr, dst, src)); } public void knotq(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Knotq_kr_kr, dst, src)); } public void knotw(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Knotw_kr_kr, dst, src)); } public void korb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Korb_kr_kr_kr, dst, src1, src2)); } public void kord(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kord_kr_kr_kr, dst, src1, src2)); } public void korq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Korq_kr_kr_kr, dst, src1, src2)); } public void kortestb(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kortestb_kr_kr, dst, src)); } public void kortestd(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kortestd_kr_kr, dst, src)); } public void kortestq(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kortestq_kr_kr, dst, src)); } public void kortestw(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Kortestw_kr_kr, dst, src)); } public void korw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Korw_kr_kr_kr, dst, src1, src2)); } public void kshiftlb(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlb_kr_kr_imm8, dst, src1, imm)); } public void kshiftlb(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlb_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftld(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftld_kr_kr_imm8, dst, src1, imm)); } public void kshiftld(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftld_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftlq(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlq_kr_kr_imm8, dst, src1, imm)); } public void kshiftlq(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlq_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftlw(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlw_kr_kr_imm8, dst, src1, imm)); } public void kshiftlw(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftlw_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftrb(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrb_kr_kr_imm8, dst, src1, imm)); } public void kshiftrb(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrb_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftrd(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrd_kr_kr_imm8, dst, src1, imm)); } public void kshiftrd(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrd_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftrq(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrq_kr_kr_imm8, dst, src1, imm)); } public void kshiftrq(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrq_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void kshiftrw(AssemblerRegisterK dst, AssemblerRegisterK src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrw_kr_kr_imm8, dst, src1, imm)); } public void kshiftrw(AssemblerRegisterK dst, AssemblerRegisterK src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Kshiftrw_kr_kr_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void ktestb(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Ktestb_kr_kr, dst, src)); } public void ktestd(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Ktestd_kr_kr, dst, src)); } public void ktestq(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Ktestq_kr_kr, dst, src)); } public void ktestw(AssemblerRegisterK dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.VEX_Ktestw_kr_kr, dst, src)); } public void kunpckbw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kunpckbw_kr_kr_kr, dst, src1, src2)); } public void kunpckdq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kunpckdq_kr_kr_kr, dst, src1, src2)); } public void kunpckwd(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kunpckwd_kr_kr_kr, dst, src1, src2)); } public void kxnorb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxnorb_kr_kr_kr, dst, src1, src2)); } public void kxnord(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxnord_kr_kr_kr, dst, src1, src2)); } public void kxnorq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxnorq_kr_kr_kr, dst, src1, src2)); } public void kxnorw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxnorw_kr_kr_kr, dst, src1, src2)); } public void kxorb(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxorb_kr_kr_kr, dst, src1, src2)); } public void kxord(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxord_kr_kr_kr, dst, src1, src2)); } public void kxorq(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxorq_kr_kr_kr, dst, src1, src2)); } public void kxorw(AssemblerRegisterK dst, AssemblerRegisterK src1, AssemblerRegisterK src2) { AddInstruction(Instruction.Create(Code.VEX_Kxorw_kr_kr_kr, dst, src1, src2)); } public void lahf() { AddInstruction(Instruction.Create(Code.Lahf)); } public void lar(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Lar_r16_rm16, dst, src)); } public void lar(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Lar_r32_r32m16, dst, src)); } public void lar(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Lar_r64_r64m16, dst, src)); } public void lar(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lar_r16_rm16, register, in memory)); } public void lar(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lar_r32_r32m16, register, in memory)); } public void lddqu(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lddqu_xmm_m128, register, in memory)); } public void ldmxcsr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ldmxcsr_m32, in memory)); } public void lds(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lds_r16_m1616, register, in memory)); } public void lds(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lds_r32_m1632, register, in memory)); } public void ldtilecfg(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Ldtilecfg_m512, in memory)); } public void lea(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lea_r16_m, register, in memory)); } public void lea(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lea_r32_m, register, in memory)); } public void lea(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lea_r64_m, register, in memory)); } public void leave() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Leaved : Code.Leavew) : Code.Leaveq); AddInstruction(Instruction.Create(code)); } public void les(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Les_r16_m1616, register, in memory)); } public void les(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Les_r32_m1632, register, in memory)); } public void lfence() { AddInstruction(Instruction.Create(Code.Lfence)); } public void lfs(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lfs_r16_m1616, register, in memory)); } public void lfs(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lfs_r32_m1632, register, in memory)); } public void lfs(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lfs_r64_m1664, register, in memory)); } public void lgdt(AssemblerMemoryOperand dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Lgdt_m1632 : Code.Lgdt_m1632_16) : Code.Lgdt_m1664); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void lgs(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lgs_r16_m1616, register, in memory)); } public void lgs(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lgs_r32_m1632, register, in memory)); } public void lgs(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lgs_r64_m1664, register, in memory)); } public void lidt(AssemblerMemoryOperand dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Lidt_m1632 : Code.Lidt_m1632_16) : Code.Lidt_m1664); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void lkgs(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Lkgs_rm16, dst)); } public void lkgs(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Lkgs_r32m16, dst)); } public void lkgs(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Lkgs_r64m16, dst)); } public void lkgs(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Lkgs_r32m16 : Code.Lkgs_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void lldt(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Lldt_rm16, dst)); } public void lldt(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Lldt_r32m16, dst)); } public void lldt(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Lldt_r64m16, dst)); } public void lldt(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Lldt_r32m16 : Code.Lldt_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void llwpcb(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.XOP_Llwpcb_r32, dst)); } public void llwpcb(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.XOP_Llwpcb_r64, dst)); } public void lmsw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Lmsw_rm16, dst)); } public void lmsw(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Lmsw_r32m16, dst)); } public void lmsw(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Lmsw_r64m16, dst)); } public void lmsw(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Lmsw_r32m16 : Code.Lmsw_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void loadall() { AddInstruction(Instruction.Create(Code.Loadall386)); } public void loadiwkey(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Loadiwkey_xmm_xmm, dst, src)); } public void lodsb() { AddInstruction(Instruction.CreateLodsb(Bitness)); } public void lodsd() { AddInstruction(Instruction.CreateLodsd(Bitness)); } public void lodsq() { AddInstruction(Instruction.CreateLodsq(Bitness)); } public void lodsw() { AddInstruction(Instruction.CreateLodsw(Bitness)); } public void loop(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loop_rel8_32_ECX : Code.Loop_rel8_16_CX) : Code.Loop_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void loop(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loop_rel8_32_ECX : Code.Loop_rel8_16_CX) : Code.Loop_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst)); } public void loope(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loope_rel8_32_ECX : Code.Loope_rel8_16_CX) : Code.Loope_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void loope(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loope_rel8_32_ECX : Code.Loope_rel8_16_CX) : Code.Loope_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst)); } public void loopne(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loopne_rel8_32_ECX : Code.Loopne_rel8_16_CX) : Code.Loopne_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void loopne(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loopne_rel8_32_ECX : Code.Loopne_rel8_16_CX) : Code.Loopne_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst)); } public void loopnz(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loopne_rel8_32_ECX : Code.Loopne_rel8_16_CX) : Code.Loopne_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void loopnz(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loopne_rel8_32_ECX : Code.Loopne_rel8_16_CX) : Code.Loopne_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst)); } public void loopz(Label dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loope_rel8_32_ECX : Code.Loope_rel8_16_CX) : Code.Loope_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst.Id)); } public void loopz(ulong dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Loope_rel8_32_ECX : Code.Loope_rel8_16_CX) : Code.Loope_rel8_64_RCX); AddInstruction(Instruction.CreateBranch(code, dst)); } public void lsl(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Lsl_r16_rm16, dst, src)); } public void lsl(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Lsl_r32_r32m16, dst, src)); } public void lsl(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Lsl_r64_r64m16, dst, src)); } public void lsl(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lsl_r16_rm16, register, in memory)); } public void lsl(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lsl_r32_r32m16, register, in memory)); } public void lss(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lss_r16_m1616, register, in memory)); } public void lss(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lss_r32_m1632, register, in memory)); } public void lss(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lss_r64_m1664, register, in memory)); } public void ltr(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Ltr_rm16, dst)); } public void ltr(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Ltr_r32m16, dst)); } public void ltr(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Ltr_r64m16, dst)); } public void ltr(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Ltr_r32m16 : Code.Ltr_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void lwpins(AssemblerRegister32 dst, AssemblerRegister32 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpins_r32_rm32_imm32, dst, src1, imm)); } public void lwpins(AssemblerRegister64 dst, AssemblerRegister32 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpins_r64_rm32_imm32, dst, src1, imm)); } public void lwpins(AssemblerRegister32 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpins_r32_rm32_imm32, register, in memory, imm)); } public void lwpins(AssemblerRegister64 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpins_r64_rm32_imm32, register, in memory, imm)); } public void lwpins(AssemblerRegister32 dst, AssemblerRegister32 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpins_r32_rm32_imm32, dst, src1, imm)); } public void lwpins(AssemblerRegister64 dst, AssemblerRegister32 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpins_r64_rm32_imm32, dst, src1, imm)); } public void lwpins(AssemblerRegister32 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpins_r32_rm32_imm32, register, in memory, imm)); } public void lwpins(AssemblerRegister64 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpins_r64_rm32_imm32, register, in memory, imm)); } public void lwpval(AssemblerRegister32 dst, AssemblerRegister32 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpval_r32_rm32_imm32, dst, src1, imm)); } public void lwpval(AssemblerRegister64 dst, AssemblerRegister32 src1, int imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpval_r64_rm32_imm32, dst, src1, imm)); } public void lwpval(AssemblerRegister32 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpval_r32_rm32_imm32, register, in memory, imm)); } public void lwpval(AssemblerRegister64 dst, AssemblerMemoryOperand src1, int imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpval_r64_rm32_imm32, register, in memory, imm)); } public void lwpval(AssemblerRegister32 dst, AssemblerRegister32 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpval_r32_rm32_imm32, dst, src1, imm)); } public void lwpval(AssemblerRegister64 dst, AssemblerRegister32 src1, uint imm) { AddInstruction(Instruction.Create(Code.XOP_Lwpval_r64_rm32_imm32, dst, src1, imm)); } public void lwpval(AssemblerRegister32 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpval_r32_rm32_imm32, register, in memory, imm)); } public void lwpval(AssemblerRegister64 dst, AssemblerMemoryOperand src1, uint imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Lwpval_r64_rm32_imm32, register, in memory, imm)); } public void lzcnt(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Lzcnt_r16_rm16, dst, src)); } public void lzcnt(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Lzcnt_r32_rm32, dst, src)); } public void lzcnt(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Lzcnt_r64_rm64, dst, src)); } public void lzcnt(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lzcnt_r16_rm16, register, in memory)); } public void lzcnt(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lzcnt_r32_rm32, register, in memory)); } public void lzcnt(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Lzcnt_r64_rm64, register, in memory)); } public void maskmovdqu(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.CreateMaskmovdqu(Bitness, dst, src)); } public void maskmovq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.CreateMaskmovq(Bitness, dst, src)); } public void maxpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Maxpd_xmm_xmmm128, dst, src)); } public void maxpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Maxpd_xmm_xmmm128, register, in memory)); } public void maxps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Maxps_xmm_xmmm128, dst, src)); } public void maxps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Maxps_xmm_xmmm128, register, in memory)); } public void maxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Maxsd_xmm_xmmm64, dst, src)); } public void maxsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Maxsd_xmm_xmmm64, register, in memory)); } public void maxss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Maxss_xmm_xmmm32, dst, src)); } public void maxss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Maxss_xmm_xmmm32, register, in memory)); } public void mcommit() { AddInstruction(Instruction.Create(Code.Mcommit)); } public void mfence() { AddInstruction(Instruction.Create(Code.Mfence)); } public void minpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Minpd_xmm_xmmm128, dst, src)); } public void minpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Minpd_xmm_xmmm128, register, in memory)); } public void minps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Minps_xmm_xmmm128, dst, src)); } public void minps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Minps_xmm_xmmm128, register, in memory)); } public void minsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Minsd_xmm_xmmm64, dst, src)); } public void minsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Minsd_xmm_xmmm64, register, in memory)); } public void minss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Minss_xmm_xmmm32, dst, src)); } public void minss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Minss_xmm_xmmm32, register, in memory)); } public void monitor() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Monitord : Code.Monitorw) : Code.Monitorq); AddInstruction(Instruction.Create(code)); } public void monitorx() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Monitorxd : Code.Monitorxw) : Code.Monitorxq); AddInstruction(Instruction.Create(code)); } public void montmul() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Montmul_32 : Code.Montmul_16) : Code.Montmul_64); AddInstruction(Instruction.Create(code)); } public void mov(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Mov_rm8_r8, dst, src)); } public void mov(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code = ((src.Value != Register.AL || Bitness != 64 || !dst.IsDisplacementOnly) ? ((src.Value == Register.AL && Bitness < 64 && dst.IsDisplacementOnly) ? Code.Mov_moffs8_AL : Code.Mov_rm8_r8) : Code.Mov_moffs8_AL); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void mov(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Mov_rm16_r16, dst, src)); } public void mov(AssemblerRegisterSegment dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Mov_Sreg_rm16, dst, src)); } public void mov(AssemblerMemoryOperand dst, AssemblerRegister16 src) { Code code = ((src.Value != Register.AX || Bitness != 64 || !dst.IsDisplacementOnly) ? ((src.Value == Register.AX && Bitness < 64 && dst.IsDisplacementOnly) ? Code.Mov_moffs16_AX : Code.Mov_rm16_r16) : Code.Mov_moffs16_AX); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void mov(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Mov_rm32_r32, dst, src)); } public void mov(AssemblerRegisterSegment dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Mov_Sreg_r32m16, dst, src)); } public void mov(AssemblerRegisterCR dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Mov_cr_r32, dst, src)); } public void mov(AssemblerRegisterDR dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Mov_dr_r32, dst, src)); } public void mov(AssemblerRegisterTR dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Mov_tr_r32, dst, src)); } public void mov(AssemblerMemoryOperand dst, AssemblerRegister32 src) { Code code = ((src.Value != Register.EAX || Bitness != 64 || !dst.IsDisplacementOnly) ? ((src.Value == Register.EAX && Bitness < 64 && dst.IsDisplacementOnly) ? Code.Mov_moffs32_EAX : Code.Mov_rm32_r32) : Code.Mov_moffs32_EAX); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void mov(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Mov_rm64_r64, dst, src)); } public void mov(AssemblerRegisterSegment dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Mov_Sreg_r64m16, dst, src)); } public void mov(AssemblerRegisterCR dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Mov_cr_r64, dst, src)); } public void mov(AssemblerRegisterDR dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Mov_dr_r64, dst, src)); } public void mov(AssemblerMemoryOperand dst, AssemblerRegister64 src) { Code code = ((src.Value != Register.RAX || Bitness != 64 || !dst.IsDisplacementOnly) ? ((src.Value == Register.RAX && Bitness < 64 && dst.IsDisplacementOnly) ? Code.Mov_moffs64_RAX : Code.Mov_rm64_r64) : Code.Mov_moffs64_RAX); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void mov(AssemblerRegister16 dst, AssemblerRegisterSegment src) { AddInstruction(Instruction.Create(Code.Mov_rm16_Sreg, dst, src)); } public void mov(AssemblerRegister32 dst, AssemblerRegisterSegment src) { AddInstruction(Instruction.Create(Code.Mov_r32m16_Sreg, dst, src)); } public void mov(AssemblerRegister64 dst, AssemblerRegisterSegment src) { AddInstruction(Instruction.Create(Code.Mov_r64m16_Sreg, dst, src)); } public void mov(AssemblerMemoryOperand dst, AssemblerRegisterSegment src) { Code code = ((Bitness >= 32) ? Code.Mov_r32m16_Sreg : Code.Mov_rm16_Sreg); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void mov(AssemblerRegister32 dst, AssemblerRegisterCR src) { AddInstruction(Instruction.Create(Code.Mov_r32_cr, dst, src)); } public void mov(AssemblerRegister64 dst, AssemblerRegisterCR src) { AddInstruction(Instruction.Create(Code.Mov_r64_cr, dst, src)); } public void mov(AssemblerRegister32 dst, AssemblerRegisterDR src) { AddInstruction(Instruction.Create(Code.Mov_r32_dr, dst, src)); } public void mov(AssemblerRegister64 dst, AssemblerRegisterDR src) { AddInstruction(Instruction.Create(Code.Mov_r64_dr, dst, src)); } public void mov(AssemblerRegister32 dst, AssemblerRegisterTR src) { AddInstruction(Instruction.Create(Code.Mov_r32_tr, dst, src)); } public void mov(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Code code = ((dst.Value != Register.AL || Bitness != 64 || !src.IsDisplacementOnly) ? ((dst.Value == Register.AL && Bitness < 64 && src.IsDisplacementOnly) ? Code.Mov_AL_moffs8 : Code.Mov_r8_rm8) : Code.Mov_AL_moffs8); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void mov(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Code code = ((dst.Value != Register.AX || Bitness != 64 || !src.IsDisplacementOnly) ? ((dst.Value == Register.AX && Bitness < 64 && src.IsDisplacementOnly) ? Code.Mov_AX_moffs16 : Code.Mov_r16_rm16) : Code.Mov_AX_moffs16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void mov(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code = ((dst.Value != Register.EAX || Bitness != 64 || !src.IsDisplacementOnly) ? ((dst.Value == Register.EAX && Bitness < 64 && src.IsDisplacementOnly) ? Code.Mov_EAX_moffs32 : Code.Mov_r32_rm32) : Code.Mov_EAX_moffs32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void mov(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code = ((dst.Value != Register.RAX || Bitness != 64 || !src.IsDisplacementOnly) ? ((dst.Value == Register.RAX && Bitness < 64 && src.IsDisplacementOnly) ? Code.Mov_RAX_moffs64 : Code.Mov_r64_rm64) : Code.Mov_RAX_moffs64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void mov(AssemblerRegisterSegment dst, AssemblerMemoryOperand src) { Code code = ((Bitness >= 32) ? Code.Mov_Sreg_r32m16 : Code.Mov_Sreg_rm16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void mov(AssemblerRegister8 dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Mov_r8_imm8, dst, imm)); } public void mov(AssemblerRegister16 dst, short imm) { AddInstruction(Instruction.Create(Code.Mov_r16_imm16, dst, imm)); } public void mov(AssemblerRegister32 dst, int imm) { AddInstruction(Instruction.Create(Code.Mov_r32_imm32, dst, imm)); } public void mov(AssemblerRegister64 dst, long imm) { AddInstruction(Instruction.Create(Code.Mov_r64_imm64, dst, imm)); } public void mov(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Mov_rm64_imm32; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Mov_rm32_imm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Mov_rm16_imm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Mov, dst, imm); } code = Code.Mov_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void mov(AssemblerRegister8 dst, byte imm) { AddInstruction(Instruction.Create(Code.Mov_r8_imm8, (Register)dst, (uint)imm)); } public void mov(AssemblerRegister16 dst, ushort imm) { AddInstruction(Instruction.Create(Code.Mov_r16_imm16, (Register)dst, (uint)imm)); } public void mov(AssemblerRegister32 dst, uint imm) { AddInstruction(Instruction.Create(Code.Mov_r32_imm32, dst, imm)); } public void mov(AssemblerRegister64 dst, ulong imm) { AddInstruction(Instruction.Create(Code.Mov_r64_imm64, dst, imm)); } public void mov(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Mov_rm32_imm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Mov_rm16_imm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Mov, dst, imm); } code = Code.Mov_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void movapd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movapd_xmm_xmmm128, dst, src)); } public void movapd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movapd_xmmm128_xmm, in memory, src)); } public void movapd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movapd_xmm_xmmm128, register, in memory)); } public void movaps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movaps_xmm_xmmm128, dst, src)); } public void movaps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movaps_xmmm128_xmm, in memory, src)); } public void movaps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movaps_xmm_xmmm128, register, in memory)); } public void movbe(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_m16_r16, in memory, src)); } public void movbe(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_m32_r32, in memory, src)); } public void movbe(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_m64_r64, in memory, src)); } public void movbe(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_r16_m16, register, in memory)); } public void movbe(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_r32_m32, register, in memory)); } public void movbe(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movbe_r64_m64, register, in memory)); } public void movd(AssemblerRegisterMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Movd_mm_rm32, dst, src)); } public void movd(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Movd_xmm_rm32, dst, src)); } public void movd(AssemblerRegister32 dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Movd_rm32_mm, dst, src)); } public void movd(AssemblerMemoryOperand dst, AssemblerRegisterMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movd_rm32_mm, in memory, src)); } public void movd(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movd_rm32_xmm, dst, src)); } public void movd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movd_rm32_xmm, in memory, src)); } public void movd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movd_mm_rm32, register, in memory)); } public void movd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movd_xmm_rm32, register, in memory)); } public void movddup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movddup_xmm_xmmm64, dst, src)); } public void movddup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movddup_xmm_xmmm64, register, in memory)); } public void movdir64b(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdir64b_r16_m512, register, in memory)); } public void movdir64b(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdir64b_r32_m512, register, in memory)); } public void movdir64b(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdir64b_r64_m512, register, in memory)); } public void movdiri(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdiri_m32_r32, in memory, src)); } public void movdiri(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdiri_m64_r64, in memory, src)); } public void movdq2q(AssemblerRegisterMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movdq2q_mm_xmm, dst, src)); } public void movdqa(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movdqa_xmm_xmmm128, dst, src)); } public void movdqa(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdqa_xmmm128_xmm, in memory, src)); } public void movdqa(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdqa_xmm_xmmm128, register, in memory)); } public void movdqu(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movdqu_xmm_xmmm128, dst, src)); } public void movdqu(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdqu_xmmm128_xmm, in memory, src)); } public void movdqu(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movdqu_xmm_xmmm128, register, in memory)); } public void movhlps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movhlps_xmm_xmm, dst, src)); } public void movhpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movhpd_m64_xmm, in memory, src)); } public void movhpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movhpd_xmm_m64, register, in memory)); } public void movhps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movhps_m64_xmm, in memory, src)); } public void movhps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movhps_xmm_m64, register, in memory)); } public void movlhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movlhps_xmm_xmm, dst, src)); } public void movlpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movlpd_m64_xmm, in memory, src)); } public void movlpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movlpd_xmm_m64, register, in memory)); } public void movlps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movlps_m64_xmm, in memory, src)); } public void movlps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movlps_xmm_m64, register, in memory)); } public void movmskpd(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movmskpd_r32_xmm, dst, src)); } public void movmskpd(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movmskpd_r64_xmm, dst, src)); } public void movmskps(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movmskps_r32_xmm, dst, src)); } public void movmskps(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movmskps_r64_xmm, dst, src)); } public void movntdq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntdq_m128_xmm, in memory, src)); } public void movntdqa(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntdqa_xmm_m128, register, in memory)); } public void movnti(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movnti_m32_r32, in memory, src)); } public void movnti(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movnti_m64_r64, in memory, src)); } public void movntpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntpd_m128_xmm, in memory, src)); } public void movntps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntps_m128_xmm, in memory, src)); } public void movntq(AssemblerMemoryOperand dst, AssemblerRegisterMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntq_m64_mm, in memory, src)); } public void movntsd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntsd_m64_xmm, in memory, src)); } public void movntss(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movntss_m32_xmm, in memory, src)); } public void movq(AssemblerRegisterMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Movq_mm_rm64, dst, src)); } public void movq(AssemblerRegisterXMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Movq_xmm_rm64, dst, src)); } public void movq(AssemblerRegister64 dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Movq_rm64_mm, dst, src)); } public void movq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Movq_mm_mmm64, dst, src)); } public void movq(AssemblerMemoryOperand dst, AssemblerRegisterMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movq_mmm64_mm, in memory, src)); } public void movq(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movq_rm64_xmm, dst, src)); } public void movq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movq_xmm_xmmm64, dst, src)); } public void movq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movq_xmmm64_xmm, in memory, src)); } public void movq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movq_mm_mmm64, register, in memory)); } public void movq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movq_xmm_xmmm64, register, in memory)); } public void movq2dq(AssemblerRegisterXMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Movq2dq_xmm_mm, dst, src)); } public void movsb() { AddInstruction(Instruction.CreateMovsb(Bitness)); } public void movsd() { AddInstruction(Instruction.CreateMovsd(Bitness)); } public void movsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movsd_xmm_xmmm64, dst, src)); } public void movsd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsd_xmmm64_xmm, in memory, src)); } public void movsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsd_xmm_xmmm64, register, in memory)); } public void movshdup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movshdup_xmm_xmmm128, dst, src)); } public void movshdup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movshdup_xmm_xmmm128, register, in memory)); } public void movsldup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movsldup_xmm_xmmm128, dst, src)); } public void movsldup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsldup_xmm_xmmm128, register, in memory)); } public void movsq() { AddInstruction(Instruction.CreateMovsq(Bitness)); } public void movss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movss_xmm_xmmm32, dst, src)); } public void movss(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movss_xmmm32_xmm, in memory, src)); } public void movss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movss_xmm_xmmm32, register, in memory)); } public void movsw() { AddInstruction(Instruction.CreateMovsw(Bitness)); } public void movsx(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movsx_r16_rm8, dst, src)); } public void movsx(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movsx_r32_rm8, dst, src)); } public void movsx(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movsx_r64_rm8, dst, src)); } public void movsx(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movsx_r16_rm16, dst, src)); } public void movsx(AssemblerRegister32 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movsx_r32_rm16, dst, src)); } public void movsx(AssemblerRegister64 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movsx_r64_rm16, dst, src)); } public void movsx(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movsx_r16_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movsx, dst, src); } code = Code.Movsx_r16_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void movsx(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movsx_r32_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movsx, dst, src); } code = Code.Movsx_r32_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void movsx(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movsx_r64_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movsx, dst, src); } code = Code.Movsx_r64_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void movsxd(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movsxd_r16_rm16, dst, src)); } public void movsxd(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Movsxd_r32_rm32, dst, src)); } public void movsxd(AssemblerRegister64 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Movsxd_r64_rm32, dst, src)); } public void movsxd(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsxd_r16_rm16, register, in memory)); } public void movsxd(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsxd_r32_rm32, register, in memory)); } public void movsxd(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movsxd_r64_rm32, register, in memory)); } public void movupd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movupd_xmm_xmmm128, dst, src)); } public void movupd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movupd_xmmm128_xmm, in memory, src)); } public void movupd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movupd_xmm_xmmm128, register, in memory)); } public void movups(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Movups_xmm_xmmm128, dst, src)); } public void movups(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movups_xmmm128_xmm, in memory, src)); } public void movups(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Movups_xmm_xmmm128, register, in memory)); } public void movzx(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movzx_r16_rm8, dst, src)); } public void movzx(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movzx_r32_rm8, dst, src)); } public void movzx(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Movzx_r64_rm8, dst, src)); } public void movzx(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movzx_r16_rm16, dst, src)); } public void movzx(AssemblerRegister32 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movzx_r32_rm16, dst, src)); } public void movzx(AssemblerRegister64 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Movzx_r64_rm16, dst, src)); } public void movzx(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movzx_r16_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movzx, dst, src); } code = Code.Movzx_r16_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void movzx(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movzx_r32_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movzx, dst, src); } code = Code.Movzx_r32_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void movzx(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code; if (src.Size == MemoryOperandSize.Word) { code = Code.Movzx_r64_rm16; } else { if (src.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Movzx, dst, src); } code = Code.Movzx_r64_rm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory)); } public void mpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Mpsadbw_xmm_xmmm128_imm8, dst, src1, imm)); } public void mpsadbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mpsadbw_xmm_xmmm128_imm8, register, in memory, imm)); } public void mpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Mpsadbw_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void mpsadbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mpsadbw_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void mul(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Mul_rm8, dst)); } public void mul(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Mul_rm16, dst)); } public void mul(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Mul_rm32, dst)); } public void mul(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Mul_rm64, dst)); } public void mul(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Mul_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Mul_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Mul_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Mul, dst); } code = Code.Mul_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void mulpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Mulpd_xmm_xmmm128, dst, src)); } public void mulpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mulpd_xmm_xmmm128, register, in memory)); } public void mulps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Mulps_xmm_xmmm128, dst, src)); } public void mulps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mulps_xmm_xmmm128, register, in memory)); } public void mulsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Mulsd_xmm_xmmm64, dst, src)); } public void mulsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mulsd_xmm_xmmm64, register, in memory)); } public void mulss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Mulss_xmm_xmmm32, dst, src)); } public void mulss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Mulss_xmm_xmmm32, register, in memory)); } public void mulx(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Mulx_r32_r32_rm32, dst, src1, src2)); } public void mulx(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Mulx_r64_r64_rm64, dst, src1, src2)); } public void mulx(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Mulx_r32_r32_rm32, register, register2, in memory)); } public void mulx(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Mulx_r64_r64_rm64, register, register2, in memory)); } public void mwait() { AddInstruction(Instruction.Create(Code.Mwait)); } public void mwaitx() { AddInstruction(Instruction.Create(Code.Mwaitx)); } public void neg(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Neg_rm8, dst)); } public void neg(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Neg_rm16, dst)); } public void neg(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Neg_rm32, dst)); } public void neg(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Neg_rm64, dst)); } public void neg(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Neg_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Neg_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Neg_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Neg, dst); } code = Code.Neg_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void nop() { Code code = ((Bitness >= 32) ? Code.Nopd : Code.Nopw); AddInstruction(Instruction.Create(code)); } public void nop(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Nop_rm16, dst)); } public void nop(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Nop_rm32, dst)); } public void nop(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Nop_rm64, dst)); } public void nop(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Nop_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Nop_rm32; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Nop, dst); } code = Code.Nop_rm16; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void not(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Not_rm8, dst)); } public void not(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Not_rm16, dst)); } public void not(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Not_rm32, dst)); } public void not(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Not_rm64, dst)); } public void not(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Not_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Not_rm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Not_rm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Not, dst); } code = Code.Not_rm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void or(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Or_rm8_r8, dst, src)); } public void or(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_rm8_r8, in memory, src)); } public void or(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Or_rm16_r16, dst, src)); } public void or(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_rm16_r16, in memory, src)); } public void or(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Or_rm32_r32, dst, src)); } public void or(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_rm32_r32, in memory, src)); } public void or(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Or_rm64_r64, dst, src)); } public void or(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_rm64_r64, in memory, src)); } public void or(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_r8_rm8, register, in memory)); } public void or(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_r16_rm16, register, in memory)); } public void or(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_r32_rm32, register, in memory)); } public void or(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Or_r64_rm64, register, in memory)); } public void or(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Or_AL_imm8 : Code.Or_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void or(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Or_rm16_imm8 : Code.Or_rm16_imm16) : Code.Or_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void or(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Or_rm32_imm8 : Code.Or_rm32_imm32) : Code.Or_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void or(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Or_rm64_imm8 : Code.Or_rm64_imm32) : Code.Or_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void or(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Or_rm64_imm8 : Code.Or_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Or_rm32_imm8 : Code.Or_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Or_rm16_imm8 : Code.Or_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Or, dst, imm); } code = Code.Or_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void or(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Or_AL_imm8 : Code.Or_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void or(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Or_rm16_imm8 : Code.Or_rm16_imm16) : Code.Or_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void or(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Or_rm32_imm8 : Code.Or_rm32_imm32) : Code.Or_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void or(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Or_rm32_imm8 : Code.Or_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Or_rm16_imm8 : Code.Or_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Or, dst, imm); } code = Code.Or_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void orpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Orpd_xmm_xmmm128, dst, src)); } public void orpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Orpd_xmm_xmmm128, register, in memory)); } public void orps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Orps_xmm_xmmm128, dst, src)); } public void orps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Orps_xmm_xmmm128, register, in memory)); } public void @out(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Out_DX_AL, dst, src)); } public void @out(sbyte imm, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Out_imm8_AL, imm, src)); } public void @out(byte imm, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Out_imm8_AL, (uint)imm, (Register)src)); } public void @out(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Out_DX_AX, dst, src)); } public void @out(sbyte imm, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Out_imm8_AX, imm, src)); } public void @out(byte imm, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Out_imm8_AX, (uint)imm, (Register)src)); } public void @out(AssemblerRegister16 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Out_DX_EAX, dst, src)); } public void @out(sbyte imm, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Out_imm8_EAX, imm, src)); } public void @out(byte imm, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Out_imm8_EAX, (uint)imm, (Register)src)); } public void outsb() { AddInstruction(Instruction.CreateOutsb(Bitness)); } public void outsd() { AddInstruction(Instruction.CreateOutsd(Bitness)); } public void outsw() { AddInstruction(Instruction.CreateOutsw(Bitness)); } public void pabsb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pabsb_mm_mmm64, dst, src)); } public void pabsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pabsb_xmm_xmmm128, dst, src)); } public void pabsb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsb_mm_mmm64, register, in memory)); } public void pabsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsb_xmm_xmmm128, register, in memory)); } public void pabsd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pabsd_mm_mmm64, dst, src)); } public void pabsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pabsd_xmm_xmmm128, dst, src)); } public void pabsd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsd_mm_mmm64, register, in memory)); } public void pabsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsd_xmm_xmmm128, register, in memory)); } public void pabsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pabsw_mm_mmm64, dst, src)); } public void pabsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pabsw_xmm_xmmm128, dst, src)); } public void pabsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsw_mm_mmm64, register, in memory)); } public void pabsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pabsw_xmm_xmmm128, register, in memory)); } public void packssdw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Packssdw_mm_mmm64, dst, src)); } public void packssdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Packssdw_xmm_xmmm128, dst, src)); } public void packssdw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packssdw_mm_mmm64, register, in memory)); } public void packssdw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packssdw_xmm_xmmm128, register, in memory)); } public void packsswb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Packsswb_mm_mmm64, dst, src)); } public void packsswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Packsswb_xmm_xmmm128, dst, src)); } public void packsswb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packsswb_mm_mmm64, register, in memory)); } public void packsswb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packsswb_xmm_xmmm128, register, in memory)); } public void packusdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Packusdw_xmm_xmmm128, dst, src)); } public void packusdw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packusdw_xmm_xmmm128, register, in memory)); } public void packuswb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Packuswb_mm_mmm64, dst, src)); } public void packuswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Packuswb_xmm_xmmm128, dst, src)); } public void packuswb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packuswb_mm_mmm64, register, in memory)); } public void packuswb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Packuswb_xmm_xmmm128, register, in memory)); } public void paddb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddb_mm_mmm64, dst, src)); } public void paddb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddb_xmm_xmmm128, dst, src)); } public void paddb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddb_mm_mmm64, register, in memory)); } public void paddb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddb_xmm_xmmm128, register, in memory)); } public void paddd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddd_mm_mmm64, dst, src)); } public void paddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddd_xmm_xmmm128, dst, src)); } public void paddd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddd_mm_mmm64, register, in memory)); } public void paddd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddd_xmm_xmmm128, register, in memory)); } public void paddq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddq_mm_mmm64, dst, src)); } public void paddq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddq_xmm_xmmm128, dst, src)); } public void paddq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddq_mm_mmm64, register, in memory)); } public void paddq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddq_xmm_xmmm128, register, in memory)); } public void paddsb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddsb_mm_mmm64, dst, src)); } public void paddsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddsb_xmm_xmmm128, dst, src)); } public void paddsb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddsb_mm_mmm64, register, in memory)); } public void paddsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddsb_xmm_xmmm128, register, in memory)); } public void paddsiw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddsiw_mm_mmm64, dst, src)); } public void paddsiw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddsiw_mm_mmm64, register, in memory)); } public void paddsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddsw_mm_mmm64, dst, src)); } public void paddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddsw_xmm_xmmm128, dst, src)); } public void paddsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddsw_mm_mmm64, register, in memory)); } public void paddsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddsw_xmm_xmmm128, register, in memory)); } public void paddusb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddusb_mm_mmm64, dst, src)); } public void paddusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddusb_xmm_xmmm128, dst, src)); } public void paddusb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddusb_mm_mmm64, register, in memory)); } public void paddusb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddusb_xmm_xmmm128, register, in memory)); } public void paddusw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddusw_mm_mmm64, dst, src)); } public void paddusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddusw_xmm_xmmm128, dst, src)); } public void paddusw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddusw_mm_mmm64, register, in memory)); } public void paddusw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddusw_xmm_xmmm128, register, in memory)); } public void paddw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paddw_mm_mmm64, dst, src)); } public void paddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Paddw_xmm_xmmm128, dst, src)); } public void paddw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddw_mm_mmm64, register, in memory)); } public void paddw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paddw_xmm_xmmm128, register, in memory)); } public void palignr(AssemblerRegisterMM dst, AssemblerRegisterMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Palignr_mm_mmm64_imm8, dst, src1, imm)); } public void palignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Palignr_xmm_xmmm128_imm8, dst, src1, imm)); } public void palignr(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Palignr_mm_mmm64_imm8, register, in memory, imm)); } public void palignr(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Palignr_xmm_xmmm128_imm8, register, in memory, imm)); } public void palignr(AssemblerRegisterMM dst, AssemblerRegisterMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Palignr_mm_mmm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void palignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Palignr_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void palignr(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Palignr_mm_mmm64_imm8, register, in memory, (uint)imm)); } public void palignr(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Palignr_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pand(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pand_mm_mmm64, dst, src)); } public void pand(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pand_xmm_xmmm128, dst, src)); } public void pand(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pand_mm_mmm64, register, in memory)); } public void pand(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pand_xmm_xmmm128, register, in memory)); } public void pandn(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pandn_mm_mmm64, dst, src)); } public void pandn(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pandn_xmm_xmmm128, dst, src)); } public void pandn(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pandn_mm_mmm64, register, in memory)); } public void pandn(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pandn_xmm_xmmm128, register, in memory)); } public void pause() { AddInstruction(Instruction.Create(Code.Pause)); } public void paveb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Paveb_mm_mmm64, dst, src)); } public void paveb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Paveb_mm_mmm64, register, in memory)); } public void pavgb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pavgb_mm_mmm64, dst, src)); } public void pavgb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pavgb_xmm_xmmm128, dst, src)); } public void pavgb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pavgb_mm_mmm64, register, in memory)); } public void pavgb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pavgb_xmm_xmmm128, register, in memory)); } public void pavgusb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pavgusb_mm_mmm64, dst, src)); } public void pavgusb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pavgusb_mm_mmm64, register, in memory)); } public void pavgw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pavgw_mm_mmm64, dst, src)); } public void pavgw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pavgw_xmm_xmmm128, dst, src)); } public void pavgw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pavgw_mm_mmm64, register, in memory)); } public void pavgw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pavgw_xmm_xmmm128, register, in memory)); } public void pblendvb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pblendvb_xmm_xmmm128, dst, src)); } public void pblendvb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pblendvb_xmm_xmmm128, register, in memory)); } public void pblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pblendw_xmm_xmmm128_imm8, dst, src1, imm)); } public void pblendw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pblendw_xmm_xmmm128_imm8, register, in memory, imm)); } public void pblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pblendw_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pblendw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pblendw_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pclmulhqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { pclmulqdq(dst, src, 17); } public void pclmulhqhqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { pclmulqdq(dst, src, 17); } public void pclmulhqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { pclmulqdq(dst, src, 1); } public void pclmulhqlqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { pclmulqdq(dst, src, 1); } public void pclmullqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { pclmulqdq(dst, src, 16); } public void pclmullqhqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { pclmulqdq(dst, src, 16); } public void pclmullqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { pclmulqdq(dst, src, 0); } public void pclmullqlqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { pclmulqdq(dst, src, 0); } public void pclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pclmulqdq_xmm_xmmm128_imm8, dst, src1, imm)); } public void pclmulqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pclmulqdq_xmm_xmmm128_imm8, register, in memory, imm)); } public void pclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pclmulqdq_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pclmulqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pclmulqdq_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpeqb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqb_mm_mmm64, dst, src)); } public void pcmpeqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqb_xmm_xmmm128, dst, src)); } public void pcmpeqb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqb_mm_mmm64, register, in memory)); } public void pcmpeqb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqb_xmm_xmmm128, register, in memory)); } public void pcmpeqd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqd_mm_mmm64, dst, src)); } public void pcmpeqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqd_xmm_xmmm128, dst, src)); } public void pcmpeqd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqd_mm_mmm64, register, in memory)); } public void pcmpeqd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqd_xmm_xmmm128, register, in memory)); } public void pcmpeqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqq_xmm_xmmm128, dst, src)); } public void pcmpeqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqq_xmm_xmmm128, register, in memory)); } public void pcmpeqw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqw_mm_mmm64, dst, src)); } public void pcmpeqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpeqw_xmm_xmmm128, dst, src)); } public void pcmpeqw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqw_mm_mmm64, register, in memory)); } public void pcmpeqw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpeqw_xmm_xmmm128, register, in memory)); } public void pcmpestri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpestri_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpestri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestri_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpestri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpestri_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpestri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestri_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpestri64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpestri64_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpestri64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestri64_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpestri64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpestri64_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpestri64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestri64_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpestrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpestrm_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpestrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestrm_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpestrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpestrm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpestrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestrm_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpestrm64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpestrm64_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpestrm64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestrm64_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpestrm64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpestrm64_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpestrm64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpestrm64_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpgtb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtb_mm_mmm64, dst, src)); } public void pcmpgtb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtb_xmm_xmmm128, dst, src)); } public void pcmpgtb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtb_mm_mmm64, register, in memory)); } public void pcmpgtb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtb_xmm_xmmm128, register, in memory)); } public void pcmpgtd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtd_mm_mmm64, dst, src)); } public void pcmpgtd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtd_xmm_xmmm128, dst, src)); } public void pcmpgtd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtd_mm_mmm64, register, in memory)); } public void pcmpgtd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtd_xmm_xmmm128, register, in memory)); } public void pcmpgtq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtq_xmm_xmmm128, dst, src)); } public void pcmpgtq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtq_xmm_xmmm128, register, in memory)); } public void pcmpgtw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtw_mm_mmm64, dst, src)); } public void pcmpgtw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pcmpgtw_xmm_xmmm128, dst, src)); } public void pcmpgtw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtw_mm_mmm64, register, in memory)); } public void pcmpgtw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpgtw_xmm_xmmm128, register, in memory)); } public void pcmpistri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpistri_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpistri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpistri_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpistri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpistri_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpistri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpistri_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcmpistrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pcmpistrm_xmm_xmmm128_imm8, dst, src1, imm)); } public void pcmpistrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpistrm_xmm_xmmm128_imm8, register, in memory, imm)); } public void pcmpistrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pcmpistrm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pcmpistrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pcmpistrm_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pcommit() { AddInstruction(Instruction.Create(Code.Pcommit)); } public void pconfig() { AddInstruction(Instruction.Create(Code.Pconfig)); } public void pdep(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Pdep_r32_r32_rm32, dst, src1, src2)); } public void pdep(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Pdep_r64_r64_rm64, dst, src1, src2)); } public void pdep(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Pdep_r32_r32_rm32, register, register2, in memory)); } public void pdep(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Pdep_r64_r64_rm64, register, register2, in memory)); } public void pdistib(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pdistib_mm_m64, register, in memory)); } public void pext(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Pext_r32_r32_rm32, dst, src1, src2)); } public void pext(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Pext_r64_r64_rm64, dst, src1, src2)); } public void pext(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Pext_r32_r32_rm32, register, register2, in memory)); } public void pext(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Pext_r64_r64_rm64, register, register2, in memory)); } public void pextrb(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrb_r32m8_xmm_imm8, dst, src1, imm)); } public void pextrb(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrb_r64m8_xmm_imm8, dst, src1, imm)); } public void pextrb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrb_r32m8_xmm_imm8, in memory, src1, imm)); } public void pextrb(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrb_r32m8_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrb(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrb_r64m8_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrb_r32m8_xmm_imm8, in memory, (Register)src1, (uint)imm)); } public void pextrd(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrd_rm32_xmm_imm8, dst, src1, imm)); } public void pextrd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrd_rm32_xmm_imm8, in memory, src1, imm)); } public void pextrd(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrd_rm32_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrd_rm32_xmm_imm8, in memory, (Register)src1, (uint)imm)); } public void pextrq(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrq_rm64_xmm_imm8, dst, src1, imm)); } public void pextrq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrq_rm64_xmm_imm8, in memory, src1, imm)); } public void pextrq(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrq_rm64_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrq_rm64_xmm_imm8, in memory, (Register)src1, (uint)imm)); } public void pextrw(AssemblerRegister32 dst, AssemblerRegisterMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r32_mm_imm8, dst, src1, imm)); } public void pextrw(AssemblerRegister64 dst, AssemblerRegisterMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r64_mm_imm8, dst, src1, imm)); } public void pextrw(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r32_xmm_imm8, dst, src1, imm)); } public void pextrw(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r64_xmm_imm8, dst, src1, imm)); } public void pextrw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrw_r32m16_xmm_imm8, in memory, src1, imm)); } public void pextrw(AssemblerRegister32 dst, AssemblerRegisterMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r32_mm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrw(AssemblerRegister64 dst, AssemblerRegisterMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r64_mm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrw(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r32_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrw(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pextrw_r64_xmm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pextrw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pextrw_r32m16_xmm_imm8, in memory, (Register)src1, (uint)imm)); } public void pf2id(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pf2id_mm_mmm64, dst, src)); } public void pf2id(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pf2id_mm_mmm64, register, in memory)); } public void pf2iw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pf2iw_mm_mmm64, dst, src)); } public void pf2iw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pf2iw_mm_mmm64, register, in memory)); } public void pfacc(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfacc_mm_mmm64, dst, src)); } public void pfacc(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfacc_mm_mmm64, register, in memory)); } public void pfadd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfadd_mm_mmm64, dst, src)); } public void pfadd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfadd_mm_mmm64, register, in memory)); } public void pfcmpeq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpeq_mm_mmm64, dst, src)); } public void pfcmpeq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpeq_mm_mmm64, register, in memory)); } public void pfcmpge(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpge_mm_mmm64, dst, src)); } public void pfcmpge(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpge_mm_mmm64, register, in memory)); } public void pfcmpgt(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpgt_mm_mmm64, dst, src)); } public void pfcmpgt(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfcmpgt_mm_mmm64, register, in memory)); } public void pfmax(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfmax_mm_mmm64, dst, src)); } public void pfmax(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfmax_mm_mmm64, register, in memory)); } public void pfmin(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfmin_mm_mmm64, dst, src)); } public void pfmin(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfmin_mm_mmm64, register, in memory)); } public void pfmul(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfmul_mm_mmm64, dst, src)); } public void pfmul(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfmul_mm_mmm64, register, in memory)); } public void pfnacc(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfnacc_mm_mmm64, dst, src)); } public void pfnacc(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfnacc_mm_mmm64, register, in memory)); } public void pfpnacc(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfpnacc_mm_mmm64, dst, src)); } public void pfpnacc(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfpnacc_mm_mmm64, register, in memory)); } public void pfrcp(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrcp_mm_mmm64, dst, src)); } public void pfrcp(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrcp_mm_mmm64, register, in memory)); } public void pfrcpit1(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpit1_mm_mmm64, dst, src)); } public void pfrcpit1(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpit1_mm_mmm64, register, in memory)); } public void pfrcpit2(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpit2_mm_mmm64, dst, src)); } public void pfrcpit2(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpit2_mm_mmm64, register, in memory)); } public void pfrcpv(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpv_mm_mmm64, dst, src)); } public void pfrcpv(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrcpv_mm_mmm64, register, in memory)); } public void pfrsqit1(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqit1_mm_mmm64, dst, src)); } public void pfrsqit1(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqit1_mm_mmm64, register, in memory)); } public void pfrsqrt(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqrt_mm_mmm64, dst, src)); } public void pfrsqrt(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqrt_mm_mmm64, register, in memory)); } public void pfrsqrtv(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqrtv_mm_mmm64, dst, src)); } public void pfrsqrtv(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfrsqrtv_mm_mmm64, register, in memory)); } public void pfsub(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfsub_mm_mmm64, dst, src)); } public void pfsub(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfsub_mm_mmm64, register, in memory)); } public void pfsubr(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pfsubr_mm_mmm64, dst, src)); } public void pfsubr(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pfsubr_mm_mmm64, register, in memory)); } public void phaddd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phaddd_mm_mmm64, dst, src)); } public void phaddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phaddd_xmm_xmmm128, dst, src)); } public void phaddd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddd_mm_mmm64, register, in memory)); } public void phaddd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddd_xmm_xmmm128, register, in memory)); } public void phaddsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phaddsw_mm_mmm64, dst, src)); } public void phaddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phaddsw_xmm_xmmm128, dst, src)); } public void phaddsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddsw_mm_mmm64, register, in memory)); } public void phaddsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddsw_xmm_xmmm128, register, in memory)); } public void phaddw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phaddw_mm_mmm64, dst, src)); } public void phaddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phaddw_xmm_xmmm128, dst, src)); } public void phaddw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddw_mm_mmm64, register, in memory)); } public void phaddw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phaddw_xmm_xmmm128, register, in memory)); } public void phminposuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phminposuw_xmm_xmmm128, dst, src)); } public void phminposuw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phminposuw_xmm_xmmm128, register, in memory)); } public void phsubd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phsubd_mm_mmm64, dst, src)); } public void phsubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phsubd_xmm_xmmm128, dst, src)); } public void phsubd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubd_mm_mmm64, register, in memory)); } public void phsubd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubd_xmm_xmmm128, register, in memory)); } public void phsubsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phsubsw_mm_mmm64, dst, src)); } public void phsubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phsubsw_xmm_xmmm128, dst, src)); } public void phsubsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubsw_mm_mmm64, register, in memory)); } public void phsubsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubsw_xmm_xmmm128, register, in memory)); } public void phsubw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Phsubw_mm_mmm64, dst, src)); } public void phsubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Phsubw_xmm_xmmm128, dst, src)); } public void phsubw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubw_mm_mmm64, register, in memory)); } public void phsubw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Phsubw_xmm_xmmm128, register, in memory)); } public void pi2fd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pi2fd_mm_mmm64, dst, src)); } public void pi2fd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pi2fd_mm_mmm64, register, in memory)); } public void pi2fw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pi2fw_mm_mmm64, dst, src)); } public void pi2fw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pi2fw_mm_mmm64, register, in memory)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r32m8_imm8, dst, src1, imm)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r64m8_imm8, dst, src1, imm)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r32m8_imm8, register, in memory, imm)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r32m8_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r64m8_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrb_xmm_r32m8_imm8, register, in memory, (uint)imm)); } public void pinsrd(AssemblerRegisterXMM dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrd_xmm_rm32_imm8, dst, src1, imm)); } public void pinsrd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrd_xmm_rm32_imm8, register, in memory, imm)); } public void pinsrd(AssemblerRegisterXMM dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrd_xmm_rm32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrd_xmm_rm32_imm8, register, in memory, (uint)imm)); } public void pinsrq(AssemblerRegisterXMM dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrq_xmm_rm64_imm8, dst, src1, imm)); } public void pinsrq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrq_xmm_rm64_imm8, register, in memory, imm)); } public void pinsrq(AssemblerRegisterXMM dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrq_xmm_rm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrq_xmm_rm64_imm8, register, in memory, (uint)imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_mm_r32m16_imm8, dst, src1, imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r32m16_imm8, dst, src1, imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_mm_r64m16_imm8, dst, src1, imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r64m16_imm8, dst, src1, imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrw_mm_r32m16_imm8, register, in memory, imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r32m16_imm8, register, in memory, imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_mm_r32m16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r32m16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_mm_r64m16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r64m16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pinsrw(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrw_mm_r32m16_imm8, register, in memory, (uint)imm)); } public void pinsrw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pinsrw_xmm_r32m16_imm8, register, in memory, (uint)imm)); } public void pmachriw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmachriw_mm_m64, register, in memory)); } public void pmaddubsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmaddubsw_mm_mmm64, dst, src)); } public void pmaddubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaddubsw_xmm_xmmm128, dst, src)); } public void pmaddubsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaddubsw_mm_mmm64, register, in memory)); } public void pmaddubsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaddubsw_xmm_xmmm128, register, in memory)); } public void pmaddwd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmaddwd_mm_mmm64, dst, src)); } public void pmaddwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaddwd_xmm_xmmm128, dst, src)); } public void pmaddwd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaddwd_mm_mmm64, register, in memory)); } public void pmaddwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaddwd_xmm_xmmm128, register, in memory)); } public void pmagw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmagw_mm_mmm64, dst, src)); } public void pmagw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmagw_mm_mmm64, register, in memory)); } public void pmaxsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxsb_xmm_xmmm128, dst, src)); } public void pmaxsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxsb_xmm_xmmm128, register, in memory)); } public void pmaxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxsd_xmm_xmmm128, dst, src)); } public void pmaxsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxsd_xmm_xmmm128, register, in memory)); } public void pmaxsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmaxsw_mm_mmm64, dst, src)); } public void pmaxsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxsw_xmm_xmmm128, dst, src)); } public void pmaxsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxsw_mm_mmm64, register, in memory)); } public void pmaxsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxsw_xmm_xmmm128, register, in memory)); } public void pmaxub(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmaxub_mm_mmm64, dst, src)); } public void pmaxub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxub_xmm_xmmm128, dst, src)); } public void pmaxub(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxub_mm_mmm64, register, in memory)); } public void pmaxub(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxub_xmm_xmmm128, register, in memory)); } public void pmaxud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxud_xmm_xmmm128, dst, src)); } public void pmaxud(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxud_xmm_xmmm128, register, in memory)); } public void pmaxuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmaxuw_xmm_xmmm128, dst, src)); } public void pmaxuw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmaxuw_xmm_xmmm128, register, in memory)); } public void pminsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminsb_xmm_xmmm128, dst, src)); } public void pminsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminsb_xmm_xmmm128, register, in memory)); } public void pminsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminsd_xmm_xmmm128, dst, src)); } public void pminsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminsd_xmm_xmmm128, register, in memory)); } public void pminsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pminsw_mm_mmm64, dst, src)); } public void pminsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminsw_xmm_xmmm128, dst, src)); } public void pminsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminsw_mm_mmm64, register, in memory)); } public void pminsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminsw_xmm_xmmm128, register, in memory)); } public void pminub(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pminub_mm_mmm64, dst, src)); } public void pminub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminub_xmm_xmmm128, dst, src)); } public void pminub(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminub_mm_mmm64, register, in memory)); } public void pminub(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminub_xmm_xmmm128, register, in memory)); } public void pminud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminud_xmm_xmmm128, dst, src)); } public void pminud(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminud_xmm_xmmm128, register, in memory)); } public void pminuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pminuw_xmm_xmmm128, dst, src)); } public void pminuw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pminuw_xmm_xmmm128, register, in memory)); } public void pmovmskb(AssemblerRegister32 dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmovmskb_r32_mm, dst, src)); } public void pmovmskb(AssemblerRegister64 dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmovmskb_r64_mm, dst, src)); } public void pmovmskb(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovmskb_r32_xmm, dst, src)); } public void pmovmskb(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovmskb_r64_xmm, dst, src)); } public void pmovsxbd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxbd_xmm_xmmm32, dst, src)); } public void pmovsxbd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxbd_xmm_xmmm32, register, in memory)); } public void pmovsxbq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxbq_xmm_xmmm16, dst, src)); } public void pmovsxbq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxbq_xmm_xmmm16, register, in memory)); } public void pmovsxbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxbw_xmm_xmmm64, dst, src)); } public void pmovsxbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxbw_xmm_xmmm64, register, in memory)); } public void pmovsxdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxdq_xmm_xmmm64, dst, src)); } public void pmovsxdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxdq_xmm_xmmm64, register, in memory)); } public void pmovsxwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxwd_xmm_xmmm64, dst, src)); } public void pmovsxwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxwd_xmm_xmmm64, register, in memory)); } public void pmovsxwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovsxwq_xmm_xmmm32, dst, src)); } public void pmovsxwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovsxwq_xmm_xmmm32, register, in memory)); } public void pmovzxbd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxbd_xmm_xmmm32, dst, src)); } public void pmovzxbd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxbd_xmm_xmmm32, register, in memory)); } public void pmovzxbq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxbq_xmm_xmmm16, dst, src)); } public void pmovzxbq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxbq_xmm_xmmm16, register, in memory)); } public void pmovzxbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxbw_xmm_xmmm64, dst, src)); } public void pmovzxbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxbw_xmm_xmmm64, register, in memory)); } public void pmovzxdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxdq_xmm_xmmm64, dst, src)); } public void pmovzxdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxdq_xmm_xmmm64, register, in memory)); } public void pmovzxwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxwd_xmm_xmmm64, dst, src)); } public void pmovzxwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxwd_xmm_xmmm64, register, in memory)); } public void pmovzxwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmovzxwq_xmm_xmmm32, dst, src)); } public void pmovzxwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmovzxwq_xmm_xmmm32, register, in memory)); } public void pmuldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmuldq_xmm_xmmm128, dst, src)); } public void pmuldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmuldq_xmm_xmmm128, register, in memory)); } public void pmulhriw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmulhriw_mm_mmm64, dst, src)); } public void pmulhriw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhriw_mm_mmm64, register, in memory)); } public void pmulhrsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmulhrsw_mm_mmm64, dst, src)); } public void pmulhrsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmulhrsw_xmm_xmmm128, dst, src)); } public void pmulhrsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhrsw_mm_mmm64, register, in memory)); } public void pmulhrsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhrsw_xmm_xmmm128, register, in memory)); } public void pmulhrw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pmulhrw_mm_mmm64, dst, src)); } public void pmulhrw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pmulhrw_mm_mmm64, register, in memory)); } public void pmulhrw_cyrix(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmulhrw_mm_mmm64, dst, src)); } public void pmulhrw_cyrix(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhrw_mm_mmm64, register, in memory)); } public void pmulhuw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmulhuw_mm_mmm64, dst, src)); } public void pmulhuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmulhuw_xmm_xmmm128, dst, src)); } public void pmulhuw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhuw_mm_mmm64, register, in memory)); } public void pmulhuw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhuw_xmm_xmmm128, register, in memory)); } public void pmulhw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmulhw_mm_mmm64, dst, src)); } public void pmulhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmulhw_xmm_xmmm128, dst, src)); } public void pmulhw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhw_mm_mmm64, register, in memory)); } public void pmulhw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulhw_xmm_xmmm128, register, in memory)); } public void pmulld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmulld_xmm_xmmm128, dst, src)); } public void pmulld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmulld_xmm_xmmm128, register, in memory)); } public void pmullw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmullw_mm_mmm64, dst, src)); } public void pmullw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmullw_xmm_xmmm128, dst, src)); } public void pmullw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmullw_mm_mmm64, register, in memory)); } public void pmullw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmullw_xmm_xmmm128, register, in memory)); } public void pmuludq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pmuludq_mm_mmm64, dst, src)); } public void pmuludq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pmuludq_xmm_xmmm128, dst, src)); } public void pmuludq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmuludq_mm_mmm64, register, in memory)); } public void pmuludq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmuludq_xmm_xmmm128, register, in memory)); } public void pmvgezb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmvgezb_mm_m64, register, in memory)); } public void pmvlzb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmvlzb_mm_m64, register, in memory)); } public void pmvnzb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmvnzb_mm_m64, register, in memory)); } public void pmvzb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pmvzb_mm_m64, register, in memory)); } public void pop(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Pop_r16, dst)); } public void pop(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Pop_r32, dst)); } public void pop(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Pop_r64, dst)); } public void pop(AssemblerRegisterSegment dst) { Code code; if ((Register)dst == Register.FS) { code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Popd_FS : Code.Popw_FS) : Code.Popq_FS); } else if ((Register)dst == Register.GS) { code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Popd_GS : Code.Popw_GS) : Code.Popq_GS); } else if ((Register)dst == Register.ES) { code = ((Bitness >= 32) ? Code.Popd_ES : Code.Popw_ES); } else if ((Register)dst == Register.SS) { code = ((Bitness >= 32) ? Code.Popd_SS : Code.Popw_SS); } else { if ((Register)dst != Register.DS) { throw NoOpCodeFoundFor(Mnemonic.Pop, dst); } code = ((Bitness >= 32) ? Code.Popd_DS : Code.Popw_DS); } AddInstruction(Instruction.Create(code, dst)); } public void pop(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Pop_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Pop_rm32; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Pop, dst); } code = Code.Pop_rm16; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void popa() { AddInstruction(Instruction.Create(Code.Popaw)); } public void popad() { AddInstruction(Instruction.Create(Code.Popad)); } public void popcnt(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Popcnt_r16_rm16, dst, src)); } public void popcnt(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Popcnt_r32_rm32, dst, src)); } public void popcnt(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Popcnt_r64_rm64, dst, src)); } public void popcnt(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Popcnt_r16_rm16, register, in memory)); } public void popcnt(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Popcnt_r32_rm32, register, in memory)); } public void popcnt(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Popcnt_r64_rm64, register, in memory)); } public void popf() { AddInstruction(Instruction.Create(Code.Popfw)); } public void popfd() { AddInstruction(Instruction.Create(Code.Popfd)); } public void popfq() { AddInstruction(Instruction.Create(Code.Popfq)); } public void por(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Por_mm_mmm64, dst, src)); } public void por(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Por_xmm_xmmm128, dst, src)); } public void por(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Por_mm_mmm64, register, in memory)); } public void por(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Por_xmm_xmmm128, register, in memory)); } public void prefetch(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetch_m8, in memory)); } public void prefetchit0(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetchit0_m8, in memory)); } public void prefetchit1(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetchit1_m8, in memory)); } public void prefetchnta(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetchnta_m8, in memory)); } public void prefetcht0(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetcht0_m8, in memory)); } public void prefetcht1(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetcht1_m8, in memory)); } public void prefetcht2(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetcht2_m8, in memory)); } public void prefetchw(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetchw_m8, in memory)); } public void prefetchwt1(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Prefetchwt1_m8, in memory)); } public void psadbw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psadbw_mm_mmm64, dst, src)); } public void psadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psadbw_xmm_xmmm128, dst, src)); } public void psadbw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psadbw_mm_mmm64, register, in memory)); } public void psadbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psadbw_xmm_xmmm128, register, in memory)); } public void pshufb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pshufb_mm_mmm64, dst, src)); } public void pshufb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pshufb_xmm_xmmm128, dst, src)); } public void pshufb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufb_mm_mmm64, register, in memory)); } public void pshufb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufb_xmm_xmmm128, register, in memory)); } public void pshufd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pshufd_xmm_xmmm128_imm8, dst, src1, imm)); } public void pshufd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufd_xmm_xmmm128_imm8, register, in memory, imm)); } public void pshufd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pshufd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pshufd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pshufhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pshufhw_xmm_xmmm128_imm8, dst, src1, imm)); } public void pshufhw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufhw_xmm_xmmm128_imm8, register, in memory, imm)); } public void pshufhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pshufhw_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pshufhw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufhw_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pshuflw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pshuflw_xmm_xmmm128_imm8, dst, src1, imm)); } public void pshuflw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshuflw_xmm_xmmm128_imm8, register, in memory, imm)); } public void pshuflw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pshuflw_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pshuflw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshuflw_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void pshufw(AssemblerRegisterMM dst, AssemblerRegisterMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Pshufw_mm_mmm64_imm8, dst, src1, imm)); } public void pshufw(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufw_mm_mmm64_imm8, register, in memory, imm)); } public void pshufw(AssemblerRegisterMM dst, AssemblerRegisterMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Pshufw_mm_mmm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void pshufw(AssemblerRegisterMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pshufw_mm_mmm64_imm8, register, in memory, (uint)imm)); } public void psignb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psignb_mm_mmm64, dst, src)); } public void psignb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psignb_xmm_xmmm128, dst, src)); } public void psignb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignb_mm_mmm64, register, in memory)); } public void psignb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignb_xmm_xmmm128, register, in memory)); } public void psignd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psignd_mm_mmm64, dst, src)); } public void psignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psignd_xmm_xmmm128, dst, src)); } public void psignd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignd_mm_mmm64, register, in memory)); } public void psignd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignd_xmm_xmmm128, register, in memory)); } public void psignw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psignw_mm_mmm64, dst, src)); } public void psignw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psignw_xmm_xmmm128, dst, src)); } public void psignw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignw_mm_mmm64, register, in memory)); } public void psignw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psignw_xmm_xmmm128, register, in memory)); } public void pslld(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pslld_mm_mmm64, dst, src)); } public void pslld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pslld_xmm_xmmm128, dst, src)); } public void pslld(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pslld_mm_mmm64, register, in memory)); } public void pslld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pslld_xmm_xmmm128, register, in memory)); } public void pslld(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Pslld_mm_imm8, dst, imm)); } public void pslld(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Pslld_xmm_imm8, dst, imm)); } public void pslld(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Pslld_mm_imm8, (Register)dst, (uint)imm)); } public void pslld(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Pslld_xmm_imm8, (Register)dst, (uint)imm)); } public void pslldq(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Pslldq_xmm_imm8, dst, imm)); } public void pslldq(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Pslldq_xmm_imm8, (Register)dst, (uint)imm)); } public void psllq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psllq_mm_mmm64, dst, src)); } public void psllq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psllq_xmm_xmmm128, dst, src)); } public void psllq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psllq_mm_mmm64, register, in memory)); } public void psllq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psllq_xmm_xmmm128, register, in memory)); } public void psllq(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psllq_mm_imm8, dst, imm)); } public void psllq(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psllq_xmm_imm8, dst, imm)); } public void psllq(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psllq_mm_imm8, (Register)dst, (uint)imm)); } public void psllq(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psllq_xmm_imm8, (Register)dst, (uint)imm)); } public void psllw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psllw_mm_mmm64, dst, src)); } public void psllw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psllw_xmm_xmmm128, dst, src)); } public void psllw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psllw_mm_mmm64, register, in memory)); } public void psllw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psllw_xmm_xmmm128, register, in memory)); } public void psllw(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psllw_mm_imm8, dst, imm)); } public void psllw(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psllw_xmm_imm8, dst, imm)); } public void psllw(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psllw_mm_imm8, (Register)dst, (uint)imm)); } public void psllw(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psllw_xmm_imm8, (Register)dst, (uint)imm)); } public void psmash() { AddInstruction(Instruction.Create(Code.Psmash)); } public void psrad(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psrad_mm_mmm64, dst, src)); } public void psrad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psrad_xmm_xmmm128, dst, src)); } public void psrad(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrad_mm_mmm64, register, in memory)); } public void psrad(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrad_xmm_xmmm128, register, in memory)); } public void psrad(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrad_mm_imm8, dst, imm)); } public void psrad(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrad_xmm_imm8, dst, imm)); } public void psrad(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrad_mm_imm8, (Register)dst, (uint)imm)); } public void psrad(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrad_xmm_imm8, (Register)dst, (uint)imm)); } public void psraw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psraw_mm_mmm64, dst, src)); } public void psraw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psraw_xmm_xmmm128, dst, src)); } public void psraw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psraw_mm_mmm64, register, in memory)); } public void psraw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psraw_xmm_xmmm128, register, in memory)); } public void psraw(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psraw_mm_imm8, dst, imm)); } public void psraw(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psraw_xmm_imm8, dst, imm)); } public void psraw(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psraw_mm_imm8, (Register)dst, (uint)imm)); } public void psraw(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psraw_xmm_imm8, (Register)dst, (uint)imm)); } public void psrld(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psrld_mm_mmm64, dst, src)); } public void psrld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psrld_xmm_xmmm128, dst, src)); } public void psrld(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrld_mm_mmm64, register, in memory)); } public void psrld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrld_xmm_xmmm128, register, in memory)); } public void psrld(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrld_mm_imm8, dst, imm)); } public void psrld(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrld_xmm_imm8, dst, imm)); } public void psrld(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrld_mm_imm8, (Register)dst, (uint)imm)); } public void psrld(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrld_xmm_imm8, (Register)dst, (uint)imm)); } public void psrldq(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrldq_xmm_imm8, dst, imm)); } public void psrldq(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrldq_xmm_imm8, (Register)dst, (uint)imm)); } public void psrlq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psrlq_mm_mmm64, dst, src)); } public void psrlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psrlq_xmm_xmmm128, dst, src)); } public void psrlq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrlq_mm_mmm64, register, in memory)); } public void psrlq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrlq_xmm_xmmm128, register, in memory)); } public void psrlq(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrlq_mm_imm8, dst, imm)); } public void psrlq(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrlq_xmm_imm8, dst, imm)); } public void psrlq(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrlq_mm_imm8, (Register)dst, (uint)imm)); } public void psrlq(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrlq_xmm_imm8, (Register)dst, (uint)imm)); } public void psrlw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psrlw_mm_mmm64, dst, src)); } public void psrlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psrlw_xmm_xmmm128, dst, src)); } public void psrlw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrlw_mm_mmm64, register, in memory)); } public void psrlw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psrlw_xmm_xmmm128, register, in memory)); } public void psrlw(AssemblerRegisterMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrlw_mm_imm8, dst, imm)); } public void psrlw(AssemblerRegisterXMM dst, sbyte imm) { AddInstruction(Instruction.Create(Code.Psrlw_xmm_imm8, dst, imm)); } public void psrlw(AssemblerRegisterMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrlw_mm_imm8, (Register)dst, (uint)imm)); } public void psrlw(AssemblerRegisterXMM dst, byte imm) { AddInstruction(Instruction.Create(Code.Psrlw_xmm_imm8, (Register)dst, (uint)imm)); } public void psubb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubb_mm_mmm64, dst, src)); } public void psubb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubb_xmm_xmmm128, dst, src)); } public void psubb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubb_mm_mmm64, register, in memory)); } public void psubb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubb_xmm_xmmm128, register, in memory)); } public void psubd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubd_mm_mmm64, dst, src)); } public void psubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubd_xmm_xmmm128, dst, src)); } public void psubd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubd_mm_mmm64, register, in memory)); } public void psubd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubd_xmm_xmmm128, register, in memory)); } public void psubq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubq_mm_mmm64, dst, src)); } public void psubq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubq_xmm_xmmm128, dst, src)); } public void psubq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubq_mm_mmm64, register, in memory)); } public void psubq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubq_xmm_xmmm128, register, in memory)); } public void psubsb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubsb_mm_mmm64, dst, src)); } public void psubsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubsb_xmm_xmmm128, dst, src)); } public void psubsb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubsb_mm_mmm64, register, in memory)); } public void psubsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubsb_xmm_xmmm128, register, in memory)); } public void psubsiw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubsiw_mm_mmm64, dst, src)); } public void psubsiw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubsiw_mm_mmm64, register, in memory)); } public void psubsw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubsw_mm_mmm64, dst, src)); } public void psubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubsw_xmm_xmmm128, dst, src)); } public void psubsw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubsw_mm_mmm64, register, in memory)); } public void psubsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubsw_xmm_xmmm128, register, in memory)); } public void psubusb(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubusb_mm_mmm64, dst, src)); } public void psubusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubusb_xmm_xmmm128, dst, src)); } public void psubusb(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubusb_mm_mmm64, register, in memory)); } public void psubusb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubusb_xmm_xmmm128, register, in memory)); } public void psubusw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubusw_mm_mmm64, dst, src)); } public void psubusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubusw_xmm_xmmm128, dst, src)); } public void psubusw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubusw_mm_mmm64, register, in memory)); } public void psubusw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubusw_xmm_xmmm128, register, in memory)); } public void psubw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Psubw_mm_mmm64, dst, src)); } public void psubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Psubw_xmm_xmmm128, dst, src)); } public void psubw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubw_mm_mmm64, register, in memory)); } public void psubw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Psubw_xmm_xmmm128, register, in memory)); } public void pswapd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.D3NOW_Pswapd_mm_mmm64, dst, src)); } public void pswapd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.D3NOW_Pswapd_mm_mmm64, register, in memory)); } public void ptest(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Ptest_xmm_xmmm128, dst, src)); } public void ptest(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ptest_xmm_xmmm128, register, in memory)); } public void ptwrite(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Ptwrite_rm32, dst)); } public void ptwrite(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Ptwrite_rm64, dst)); } public void ptwrite(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ptwrite_rm64; } else { if (dst.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Ptwrite, dst); } code = Code.Ptwrite_rm32; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void punpckhbw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpckhbw_mm_mmm64, dst, src)); } public void punpckhbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpckhbw_xmm_xmmm128, dst, src)); } public void punpckhbw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhbw_mm_mmm64, register, in memory)); } public void punpckhbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhbw_xmm_xmmm128, register, in memory)); } public void punpckhdq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpckhdq_mm_mmm64, dst, src)); } public void punpckhdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpckhdq_xmm_xmmm128, dst, src)); } public void punpckhdq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhdq_mm_mmm64, register, in memory)); } public void punpckhdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhdq_xmm_xmmm128, register, in memory)); } public void punpckhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpckhqdq_xmm_xmmm128, dst, src)); } public void punpckhqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhqdq_xmm_xmmm128, register, in memory)); } public void punpckhwd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpckhwd_mm_mmm64, dst, src)); } public void punpckhwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpckhwd_xmm_xmmm128, dst, src)); } public void punpckhwd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhwd_mm_mmm64, register, in memory)); } public void punpckhwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckhwd_xmm_xmmm128, register, in memory)); } public void punpcklbw(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpcklbw_mm_mmm32, dst, src)); } public void punpcklbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpcklbw_xmm_xmmm128, dst, src)); } public void punpcklbw(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpcklbw_mm_mmm32, register, in memory)); } public void punpcklbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpcklbw_xmm_xmmm128, register, in memory)); } public void punpckldq(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpckldq_mm_mmm32, dst, src)); } public void punpckldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpckldq_xmm_xmmm128, dst, src)); } public void punpckldq(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckldq_mm_mmm32, register, in memory)); } public void punpckldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpckldq_xmm_xmmm128, register, in memory)); } public void punpcklqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpcklqdq_xmm_xmmm128, dst, src)); } public void punpcklqdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpcklqdq_xmm_xmmm128, register, in memory)); } public void punpcklwd(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Punpcklwd_mm_mmm32, dst, src)); } public void punpcklwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Punpcklwd_xmm_xmmm128, dst, src)); } public void punpcklwd(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpcklwd_mm_mmm32, register, in memory)); } public void punpcklwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Punpcklwd_xmm_xmmm128, register, in memory)); } public void push(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Push_r16, dst)); } public void push(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Push_r32, dst)); } public void push(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Push_r64, dst)); } public void push(AssemblerRegisterSegment dst) { Code code; if ((Register)dst == Register.FS) { code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Pushd_FS : Code.Pushw_FS) : Code.Pushq_FS); } else if ((Register)dst == Register.GS) { code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Pushd_GS : Code.Pushw_GS) : Code.Pushq_GS); } else if ((Register)dst == Register.ES) { code = ((Bitness >= 32) ? Code.Pushd_ES : Code.Pushw_ES); } else if ((Register)dst == Register.CS) { code = ((Bitness >= 32) ? Code.Pushd_CS : Code.Pushw_CS); } else if ((Register)dst == Register.SS) { code = ((Bitness >= 32) ? Code.Pushd_SS : Code.Pushw_SS); } else { if ((Register)dst != Register.DS) { throw NoOpCodeFoundFor(Mnemonic.Push, dst); } code = ((Bitness >= 32) ? Code.Pushd_DS : Code.Pushw_DS); } AddInstruction(Instruction.Create(code, dst)); } public void push(AssemblerMemoryOperand dst) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Push_rm64; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Push_rm32; } else { if (dst.Size != MemoryOperandSize.Word) { throw NoOpCodeFoundFor(Mnemonic.Push, dst); } code = Code.Push_rm16; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory)); } public void push(int imm) { Code code = ((Bitness == 64) ? ((imm >= -128 && imm <= 127) ? Code.Pushq_imm8 : Code.Pushq_imm32) : ((Bitness < 32) ? ((imm >= -128 && imm <= 127) ? Code.Pushw_imm8 : Code.Push_imm16) : ((imm >= -128 && imm <= 127) ? Code.Pushd_imm8 : Code.Pushd_imm32))); AddInstruction(Instruction.Create(code, imm)); } public void push(uint imm) { Code code = ((Bitness < 32) ? ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Pushw_imm8 : Code.Push_imm16) : ((imm <= 127 || 4294967168u <= imm) ? Code.Pushd_imm8 : Code.Pushd_imm32)); AddInstruction(Instruction.Create(code, imm)); } public void pusha() { AddInstruction(Instruction.Create(Code.Pushaw)); } public void pushad() { AddInstruction(Instruction.Create(Code.Pushad)); } public void pushf() { AddInstruction(Instruction.Create(Code.Pushfw)); } public void pushfd() { AddInstruction(Instruction.Create(Code.Pushfd)); } public void pushfq() { AddInstruction(Instruction.Create(Code.Pushfq)); } public void pvalidate() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Pvalidated : Code.Pvalidatew) : Code.Pvalidateq); AddInstruction(Instruction.Create(code)); } public void pxor(AssemblerRegisterMM dst, AssemblerRegisterMM src) { AddInstruction(Instruction.Create(Code.Pxor_mm_mmm64, dst, src)); } public void pxor(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Pxor_xmm_xmmm128, dst, src)); } public void pxor(AssemblerRegisterMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pxor_mm_mmm64, register, in memory)); } public void pxor(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Pxor_xmm_xmmm128, register, in memory)); } public void rcl(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcl_rm8_CL, dst, src)); } public void rcl(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcl_rm16_CL, dst, src)); } public void rcl(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcl_rm32_CL, dst, src)); } public void rcl(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcl_rm64_CL, dst, src)); } public void rcl(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcl_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcl_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcl_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcl, dst, src); } code = Code.Rcl_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void rcl(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcl_rm8_1 : Code.Rcl_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcl(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcl_rm16_1 : Code.Rcl_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcl(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcl_rm32_1 : Code.Rcl_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcl(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcl_rm64_1 : Code.Rcl_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcl(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcl_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcl_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcl_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcl, dst, imm); } code = Code.Rcl_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcl_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcl_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcl_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcl, dst, imm); } code = Code.Rcl_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void rcl(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcl_rm8_1 : Code.Rcl_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcl(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcl_rm16_1 : Code.Rcl_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcl(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcl_rm32_1 : Code.Rcl_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcl(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcl_rm64_1 : Code.Rcl_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcl(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcl_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcl_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcl_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcl, dst, imm); } code = Code.Rcl_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcl_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcl_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcl_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcl, dst, imm); } code = Code.Rcl_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void rcpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Rcpps_xmm_xmmm128, dst, src)); } public void rcpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rcpps_xmm_xmmm128, register, in memory)); } public void rcpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Rcpss_xmm_xmmm32, dst, src)); } public void rcpss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rcpss_xmm_xmmm32, register, in memory)); } public void rcr(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcr_rm8_CL, dst, src)); } public void rcr(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcr_rm16_CL, dst, src)); } public void rcr(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcr_rm32_CL, dst, src)); } public void rcr(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rcr_rm64_CL, dst, src)); } public void rcr(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcr_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcr_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcr_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcr, dst, src); } code = Code.Rcr_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void rcr(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcr_rm8_1 : Code.Rcr_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcr(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcr_rm16_1 : Code.Rcr_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcr(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcr_rm32_1 : Code.Rcr_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcr(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rcr_rm64_1 : Code.Rcr_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rcr(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcr_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcr_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcr_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcr, dst, imm); } code = Code.Rcr_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcr_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcr_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcr, dst, imm); } code = Code.Rcr_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void rcr(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcr_rm8_1 : Code.Rcr_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcr(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcr_rm16_1 : Code.Rcr_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcr(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcr_rm32_1 : Code.Rcr_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcr(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Rcr_rm64_1 : Code.Rcr_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rcr(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcr_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcr_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcr_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcr, dst, imm); } code = Code.Rcr_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rcr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rcr_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rcr_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rcr, dst, imm); } code = Code.Rcr_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void rdfsbase(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdfsbase_r32, dst)); } public void rdfsbase(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdfsbase_r64, dst)); } public void rdgsbase(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdgsbase_r32, dst)); } public void rdgsbase(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdgsbase_r64, dst)); } public void rdm() { AddInstruction(Instruction.Create(Code.Rdm)); } public void rdmsr() { AddInstruction(Instruction.Create(Code.Rdmsr)); } public void rdmsrlist() { AddInstruction(Instruction.Create(Code.Rdmsrlist)); } public void rdpid(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdpid_r32, dst)); } public void rdpid(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdpid_r64, dst)); } public void rdpkru() { AddInstruction(Instruction.Create(Code.Rdpkru)); } public void rdpmc() { AddInstruction(Instruction.Create(Code.Rdpmc)); } public void rdpru() { AddInstruction(Instruction.Create(Code.Rdpru)); } public void rdrand(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Rdrand_r16, dst)); } public void rdrand(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdrand_r32, dst)); } public void rdrand(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdrand_r64, dst)); } public void rdseed(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Rdseed_r16, dst)); } public void rdseed(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdseed_r32, dst)); } public void rdseed(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdseed_r64, dst)); } public void rdshr(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdshr_rm32, dst)); } public void rdshr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rdshr_rm32, in memory)); } public void rdsspd(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Rdsspd_r32, dst)); } public void rdsspq(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Rdsspq_r64, dst)); } public void rdtsc() { AddInstruction(Instruction.Create(Code.Rdtsc)); } public void rdtscp() { AddInstruction(Instruction.Create(Code.Rdtscp)); } public void rdudbg() { AddInstruction(Instruction.Create(Code.Rdudbg)); } public void reservednop_0f0d(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F0D, dst, src)); } public void reservednop_0f0d(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F0D, in memory, src)); } public void reservednop_0f0d(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F0D, dst, src)); } public void reservednop_0f0d(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F0D, in memory, src)); } public void reservednop_0f0d(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F0D, dst, src)); } public void reservednop_0f0d(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F0D, in memory, src)); } public void reservednop_0f18(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F18, dst, src)); } public void reservednop_0f18(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F18, in memory, src)); } public void reservednop_0f18(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F18, dst, src)); } public void reservednop_0f18(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F18, in memory, src)); } public void reservednop_0f18(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F18, dst, src)); } public void reservednop_0f18(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F18, in memory, src)); } public void reservednop_0f19(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F19, dst, src)); } public void reservednop_0f19(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F19, in memory, src)); } public void reservednop_0f19(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F19, dst, src)); } public void reservednop_0f19(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F19, in memory, src)); } public void reservednop_0f19(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F19, dst, src)); } public void reservednop_0f19(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F19, in memory, src)); } public void reservednop_0f1a(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1A, dst, src)); } public void reservednop_0f1a(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1A, in memory, src)); } public void reservednop_0f1a(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1A, dst, src)); } public void reservednop_0f1a(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1A, in memory, src)); } public void reservednop_0f1a(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1A, dst, src)); } public void reservednop_0f1a(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1A, in memory, src)); } public void reservednop_0f1b(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1B, dst, src)); } public void reservednop_0f1b(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1B, in memory, src)); } public void reservednop_0f1b(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1B, dst, src)); } public void reservednop_0f1b(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1B, in memory, src)); } public void reservednop_0f1b(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1B, dst, src)); } public void reservednop_0f1b(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1B, in memory, src)); } public void reservednop_0f1c(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1C, dst, src)); } public void reservednop_0f1c(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1C, in memory, src)); } public void reservednop_0f1c(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1C, dst, src)); } public void reservednop_0f1c(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1C, in memory, src)); } public void reservednop_0f1c(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1C, dst, src)); } public void reservednop_0f1c(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1C, in memory, src)); } public void reservednop_0f1d(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1D, dst, src)); } public void reservednop_0f1d(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1D, in memory, src)); } public void reservednop_0f1d(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1D, dst, src)); } public void reservednop_0f1d(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1D, in memory, src)); } public void reservednop_0f1d(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1D, dst, src)); } public void reservednop_0f1d(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1D, in memory, src)); } public void reservednop_0f1e(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1E, dst, src)); } public void reservednop_0f1e(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1E, in memory, src)); } public void reservednop_0f1e(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1E, dst, src)); } public void reservednop_0f1e(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1E, in memory, src)); } public void reservednop_0f1e(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1E, dst, src)); } public void reservednop_0f1e(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1E, in memory, src)); } public void reservednop_0f1f(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1F, dst, src)); } public void reservednop_0f1f(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm16_r16_0F1F, in memory, src)); } public void reservednop_0f1f(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1F, dst, src)); } public void reservednop_0f1f(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm32_r32_0F1F, in memory, src)); } public void reservednop_0f1f(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1F, dst, src)); } public void reservednop_0f1f(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Reservednop_rm64_r64_0F1F, in memory, src)); } public void ret() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retnd : Code.Retnw) : Code.Retnq); AddInstruction(Instruction.Create(code)); } public void ret(short imm) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retnd_imm16 : Code.Retnw_imm16) : Code.Retnq_imm16); AddInstruction(Instruction.Create(code, imm)); } public void ret(ushort imm) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retnd_imm16 : Code.Retnw_imm16) : Code.Retnq_imm16); AddInstruction(Instruction.Create(code, (uint)imm)); } public void retf() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retfd : Code.Retfw) : Code.Retfq); AddInstruction(Instruction.Create(code)); } public void retf(short imm) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retfd_imm16 : Code.Retfw_imm16) : Code.Retfq_imm16); AddInstruction(Instruction.Create(code, imm)); } public void retf(ushort imm) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Retfd_imm16 : Code.Retfw_imm16) : Code.Retfq_imm16); AddInstruction(Instruction.Create(code, (uint)imm)); } public void rmpadjust() { AddInstruction(Instruction.Create(Code.Rmpadjust)); } public void rmpquery() { AddInstruction(Instruction.Create(Code.Rmpquery)); } public void rmpupdate() { AddInstruction(Instruction.Create(Code.Rmpupdate)); } public void rol(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rol_rm8_CL, dst, src)); } public void rol(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rol_rm16_CL, dst, src)); } public void rol(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rol_rm32_CL, dst, src)); } public void rol(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Rol_rm64_CL, dst, src)); } public void rol(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rol_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rol_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rol_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rol, dst, src); } code = Code.Rol_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void rol(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rol_rm8_1 : Code.Rol_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rol(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rol_rm16_1 : Code.Rol_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rol(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rol_rm32_1 : Code.Rol_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rol(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Rol_rm64_1 : Code.Rol_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void rol(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rol_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rol_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rol_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rol, dst, imm); } code = Code.Rol_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rol_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rol_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rol_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rol, dst, imm); } code = Code.Rol_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void rol(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Rol_rm8_1 : Code.Rol_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rol(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Rol_rm16_1 : Code.Rol_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rol(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Rol_rm32_1 : Code.Rol_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rol(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Rol_rm64_1 : Code.Rol_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void rol(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rol_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rol_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rol_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rol, dst, imm); } code = Code.Rol_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Rol_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Rol_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Rol_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Rol, dst, imm); } code = Code.Rol_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void ror(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Ror_rm8_CL, dst, src)); } public void ror(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Ror_rm16_CL, dst, src)); } public void ror(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Ror_rm32_CL, dst, src)); } public void ror(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Ror_rm64_CL, dst, src)); } public void ror(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ror_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ror_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Ror_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Ror, dst, src); } code = Code.Ror_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void ror(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Ror_rm8_1 : Code.Ror_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void ror(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Ror_rm16_1 : Code.Ror_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void ror(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Ror_rm32_1 : Code.Ror_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void ror(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Ror_rm64_1 : Code.Ror_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void ror(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ror_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ror_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Ror_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Ror, dst, imm); } code = Code.Ror_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ror_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ror_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Ror_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Ror, dst, imm); } code = Code.Ror_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void ror(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Ror_rm8_1 : Code.Ror_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void ror(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Ror_rm16_1 : Code.Ror_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void ror(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Ror_rm32_1 : Code.Ror_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void ror(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Ror_rm64_1 : Code.Ror_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void ror(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ror_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ror_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Ror_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Ror, dst, imm); } code = Code.Ror_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Ror_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Ror_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Ror_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Ror, dst, imm); } code = Code.Ror_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void rorx(AssemblerRegister32 dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Rorx_r32_rm32_imm8, dst, src1, imm)); } public void rorx(AssemblerRegister64 dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Rorx_r64_rm64_imm8, dst, src1, imm)); } public void rorx(AssemblerRegister32 dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Rorx_r32_rm32_imm8, register, in memory, imm)); } public void rorx(AssemblerRegister64 dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Rorx_r64_rm64_imm8, register, in memory, imm)); } public void rorx(AssemblerRegister32 dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Rorx_r32_rm32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void rorx(AssemblerRegister64 dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Rorx_r64_rm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void rorx(AssemblerRegister32 dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Rorx_r32_rm32_imm8, register, in memory, (uint)imm)); } public void rorx(AssemblerRegister64 dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Rorx_r64_rm64_imm8, register, in memory, (uint)imm)); } public void roundpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Roundpd_xmm_xmmm128_imm8, dst, src1, imm)); } public void roundpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundpd_xmm_xmmm128_imm8, register, in memory, imm)); } public void roundpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Roundpd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void roundpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundpd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void roundps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Roundps_xmm_xmmm128_imm8, dst, src1, imm)); } public void roundps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundps_xmm_xmmm128_imm8, register, in memory, imm)); } public void roundps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Roundps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void roundps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void roundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Roundsd_xmm_xmmm64_imm8, dst, src1, imm)); } public void roundsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundsd_xmm_xmmm64_imm8, register, in memory, imm)); } public void roundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Roundsd_xmm_xmmm64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void roundsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundsd_xmm_xmmm64_imm8, register, in memory, (uint)imm)); } public void roundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Roundss_xmm_xmmm32_imm8, dst, src1, imm)); } public void roundss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundss_xmm_xmmm32_imm8, register, in memory, imm)); } public void roundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Roundss_xmm_xmmm32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void roundss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Roundss_xmm_xmmm32_imm8, register, in memory, (uint)imm)); } public void rsdc(AssemblerRegisterSegment dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rsdc_Sreg_m80, register, in memory)); } public void rsldt(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rsldt_m80, in memory)); } public void rsm() { AddInstruction(Instruction.Create(Code.Rsm)); } public void rsqrtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Rsqrtps_xmm_xmmm128, dst, src)); } public void rsqrtps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rsqrtps_xmm_xmmm128, register, in memory)); } public void rsqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Rsqrtss_xmm_xmmm32, dst, src)); } public void rsqrtss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rsqrtss_xmm_xmmm32, register, in memory)); } public void rstorssp(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rstorssp_m64, in memory)); } public void rsts(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Rsts_m80, in memory)); } public void sahf() { AddInstruction(Instruction.Create(Code.Sahf)); } public void sal(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sal_rm8_CL, dst, src)); } public void sal(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sal_rm16_CL, dst, src)); } public void sal(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sal_rm32_CL, dst, src)); } public void sal(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sal_rm64_CL, dst, src)); } public void sal(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sal_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sal_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sal_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sal, dst, src); } code = Code.Sal_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void sal(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sal_rm8_1 : Code.Sal_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sal(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sal_rm16_1 : Code.Sal_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sal(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sal_rm32_1 : Code.Sal_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sal(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sal_rm64_1 : Code.Sal_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sal(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sal_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sal_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sal_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sal, dst, imm); } code = Code.Sal_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sal_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sal_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sal_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sal, dst, imm); } code = Code.Sal_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void sal(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Sal_rm8_1 : Code.Sal_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sal(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Sal_rm16_1 : Code.Sal_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sal(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Sal_rm32_1 : Code.Sal_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sal(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Sal_rm64_1 : Code.Sal_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sal(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sal_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sal_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sal_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sal, dst, imm); } code = Code.Sal_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sal_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sal_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sal_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sal, dst, imm); } code = Code.Sal_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void salc() { AddInstruction(Instruction.Create(Code.Salc)); } public void sar(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sar_rm8_CL, dst, src)); } public void sar(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sar_rm16_CL, dst, src)); } public void sar(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sar_rm32_CL, dst, src)); } public void sar(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sar_rm64_CL, dst, src)); } public void sar(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sar_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sar_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sar_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sar, dst, src); } code = Code.Sar_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void sar(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sar_rm8_1 : Code.Sar_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sar(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sar_rm16_1 : Code.Sar_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sar(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sar_rm32_1 : Code.Sar_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sar(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Sar_rm64_1 : Code.Sar_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sar(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sar_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sar_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sar_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sar, dst, imm); } code = Code.Sar_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sar_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sar_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sar_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sar, dst, imm); } code = Code.Sar_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void sar(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Sar_rm8_1 : Code.Sar_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sar(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Sar_rm16_1 : Code.Sar_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sar(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Sar_rm32_1 : Code.Sar_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sar(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Sar_rm64_1 : Code.Sar_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sar(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sar_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sar_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sar_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sar, dst, imm); } code = Code.Sar_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Sar_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Sar_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Sar_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sar, dst, imm); } code = Code.Sar_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void sarx(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Sarx_r32_rm32_r32, dst, src1, src2)); } public void sarx(AssemblerRegister32 dst, AssemblerMemoryOperand src1, AssemblerRegister32 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Sarx_r32_rm32_r32, register, in memory, src2)); } public void sarx(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Sarx_r64_rm64_r64, dst, src1, src2)); } public void sarx(AssemblerRegister64 dst, AssemblerMemoryOperand src1, AssemblerRegister64 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Sarx_r64_rm64_r64, register, in memory, src2)); } public void saveprevssp() { AddInstruction(Instruction.Create(Code.Saveprevssp)); } public void sbb(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sbb_rm8_r8, dst, src)); } public void sbb(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_rm8_r8, in memory, src)); } public void sbb(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Sbb_rm16_r16, dst, src)); } public void sbb(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_rm16_r16, in memory, src)); } public void sbb(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Sbb_rm32_r32, dst, src)); } public void sbb(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_rm32_r32, in memory, src)); } public void sbb(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Sbb_rm64_r64, dst, src)); } public void sbb(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_rm64_r64, in memory, src)); } public void sbb(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_r8_rm8, register, in memory)); } public void sbb(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_r16_rm16, register, in memory)); } public void sbb(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_r32_rm32, register, in memory)); } public void sbb(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sbb_r64_rm64, register, in memory)); } public void sbb(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Sbb_AL_imm8 : Code.Sbb_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sbb(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Sbb_rm16_imm8 : Code.Sbb_rm16_imm16) : Code.Sbb_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void sbb(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Sbb_rm32_imm8 : Code.Sbb_rm32_imm32) : Code.Sbb_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sbb(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Sbb_rm64_imm8 : Code.Sbb_rm64_imm32) : Code.Sbb_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sbb(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Sbb_rm64_imm8 : Code.Sbb_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Sbb_rm32_imm8 : Code.Sbb_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Sbb_rm16_imm8 : Code.Sbb_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sbb, dst, imm); } code = Code.Sbb_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void sbb(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Sbb_AL_imm8 : Code.Sbb_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sbb(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Sbb_rm16_imm8 : Code.Sbb_rm16_imm16) : Code.Sbb_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sbb(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Sbb_rm32_imm8 : Code.Sbb_rm32_imm32) : Code.Sbb_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sbb(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Sbb_rm32_imm8 : Code.Sbb_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Sbb_rm16_imm8 : Code.Sbb_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sbb, dst, imm); } code = Code.Sbb_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void scasb() { AddInstruction(Instruction.CreateScasb(Bitness)); } public void scasd() { AddInstruction(Instruction.CreateScasd(Bitness)); } public void scasq() { AddInstruction(Instruction.CreateScasq(Bitness)); } public void scasw() { AddInstruction(Instruction.CreateScasw(Bitness)); } public void seamcall() { AddInstruction(Instruction.Create(Code.Seamcall)); } public void seamops() { AddInstruction(Instruction.Create(Code.Seamops)); } public void seamret() { AddInstruction(Instruction.Create(Code.Seamret)); } public void senduipi(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Senduipi_r64, dst)); } public void serialize() { AddInstruction(Instruction.Create(Code.Serialize)); } public void seta(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Seta_rm8, dst)); } public void seta(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Seta_rm8, in memory)); } public void setae(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setae_rm8, dst)); } public void setae(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setae_rm8, in memory)); } public void setb(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setb_rm8, dst)); } public void setb(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setb_rm8, in memory)); } public void setbe(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setbe_rm8, dst)); } public void setbe(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setbe_rm8, in memory)); } public void setc(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setb_rm8, dst)); } public void setc(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setb_rm8, in memory)); } public void sete(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Sete_rm8, dst)); } public void sete(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sete_rm8, in memory)); } public void setg(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setg_rm8, dst)); } public void setg(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setg_rm8, in memory)); } public void setge(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setge_rm8, dst)); } public void setge(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setge_rm8, in memory)); } public void setl(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setl_rm8, dst)); } public void setl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setl_rm8, in memory)); } public void setle(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setle_rm8, dst)); } public void setle(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setle_rm8, in memory)); } public void setna(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setbe_rm8, dst)); } public void setna(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setbe_rm8, in memory)); } public void setnae(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setb_rm8, dst)); } public void setnae(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setb_rm8, in memory)); } public void setnb(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setae_rm8, dst)); } public void setnb(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setae_rm8, in memory)); } public void setnbe(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Seta_rm8, dst)); } public void setnbe(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Seta_rm8, in memory)); } public void setnc(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setae_rm8, dst)); } public void setnc(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setae_rm8, in memory)); } public void setne(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setne_rm8, dst)); } public void setne(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setne_rm8, in memory)); } public void setng(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setle_rm8, dst)); } public void setng(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setle_rm8, in memory)); } public void setnge(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setl_rm8, dst)); } public void setnge(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setl_rm8, in memory)); } public void setnl(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setge_rm8, dst)); } public void setnl(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setge_rm8, in memory)); } public void setnle(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setg_rm8, dst)); } public void setnle(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setg_rm8, in memory)); } public void setno(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setno_rm8, dst)); } public void setno(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setno_rm8, in memory)); } public void setnp(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setnp_rm8, dst)); } public void setnp(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setnp_rm8, in memory)); } public void setns(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setns_rm8, dst)); } public void setns(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setns_rm8, in memory)); } public void setnz(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setne_rm8, dst)); } public void setnz(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setne_rm8, in memory)); } public void seto(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Seto_rm8, dst)); } public void seto(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Seto_rm8, in memory)); } public void setp(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setp_rm8, dst)); } public void setp(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setp_rm8, in memory)); } public void setpe(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setp_rm8, dst)); } public void setpe(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setp_rm8, in memory)); } public void setpo(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Setnp_rm8, dst)); } public void setpo(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Setnp_rm8, in memory)); } public void sets(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Sets_rm8, dst)); } public void sets(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sets_rm8, in memory)); } public void setssbsy() { AddInstruction(Instruction.Create(Code.Setssbsy)); } public void setz(AssemblerRegister8 dst) { AddInstruction(Instruction.Create(Code.Sete_rm8, dst)); } public void setz(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sete_rm8, in memory)); } public void sfence() { AddInstruction(Instruction.Create(Code.Sfence)); } public void sgdt(AssemblerMemoryOperand dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Sgdt_m1632 : Code.Sgdt_m1632_16) : Code.Sgdt_m1664); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void sha1msg1(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha1msg1_xmm_xmmm128, dst, src)); } public void sha1msg1(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha1msg1_xmm_xmmm128, register, in memory)); } public void sha1msg2(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha1msg2_xmm_xmmm128, dst, src)); } public void sha1msg2(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha1msg2_xmm_xmmm128, register, in memory)); } public void sha1nexte(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha1nexte_xmm_xmmm128, dst, src)); } public void sha1nexte(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha1nexte_xmm_xmmm128, register, in memory)); } public void sha1rnds4(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Sha1rnds4_xmm_xmmm128_imm8, dst, src1, imm)); } public void sha1rnds4(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha1rnds4_xmm_xmmm128_imm8, register, in memory, imm)); } public void sha1rnds4(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Sha1rnds4_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void sha1rnds4(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha1rnds4_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void sha256msg1(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha256msg1_xmm_xmmm128, dst, src)); } public void sha256msg1(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha256msg1_xmm_xmmm128, register, in memory)); } public void sha256msg2(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha256msg2_xmm_xmmm128, dst, src)); } public void sha256msg2(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha256msg2_xmm_xmmm128, register, in memory)); } public void sha256rnds2(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sha256rnds2_xmm_xmmm128, dst, src)); } public void sha256rnds2(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sha256rnds2_xmm_xmmm128, register, in memory)); } public void shl(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shl_rm8_CL, dst, src)); } public void shl(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shl_rm16_CL, dst, src)); } public void shl(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shl_rm32_CL, dst, src)); } public void shl(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shl_rm64_CL, dst, src)); } public void shl(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shl_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shl_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shl_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shl, dst, src); } code = Code.Shl_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void shl(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shl_rm8_1 : Code.Shl_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shl(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shl_rm16_1 : Code.Shl_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shl(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shl_rm32_1 : Code.Shl_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shl(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shl_rm64_1 : Code.Shl_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shl(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shl_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shl_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shl_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shl, dst, imm); } code = Code.Shl_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shl_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shl_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shl_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shl, dst, imm); } code = Code.Shl_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void shl(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Shl_rm8_1 : Code.Shl_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shl(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Shl_rm16_1 : Code.Shl_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shl(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Shl_rm32_1 : Code.Shl_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shl(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Shl_rm64_1 : Code.Shl_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shl(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shl_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shl_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shl_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shl, dst, imm); } code = Code.Shl_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shl_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shl_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shl_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shl, dst, imm); } code = Code.Shl_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void shld(AssemblerRegister16 dst, AssemblerRegister16 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shld_rm16_r16_CL, dst, src1, src2)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister16 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm16_r16_CL, in memory, src1, src2)); } public void shld(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shld_rm32_r32_CL, dst, src1, src2)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm32_r32_CL, in memory, src1, src2)); } public void shld(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shld_rm64_r64_CL, dst, src1, src2)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm64_r64_CL, in memory, src1, src2)); } public void shld(AssemblerRegister16 dst, AssemblerRegister16 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shld_rm16_r16_imm8, dst, src1, imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister16 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm16_r16_imm8, in memory, src1, imm)); } public void shld(AssemblerRegister32 dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shld_rm32_r32_imm8, dst, src1, imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister32 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm32_r32_imm8, in memory, src1, imm)); } public void shld(AssemblerRegister64 dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shld_rm64_r64_imm8, dst, src1, imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister64 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm64_r64_imm8, in memory, src1, imm)); } public void shld(AssemblerRegister16 dst, AssemblerRegister16 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shld_rm16_r16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister16 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm16_r16_imm8, in memory, (Register)src1, (uint)imm)); } public void shld(AssemblerRegister32 dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shld_rm32_r32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister32 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm32_r32_imm8, in memory, (Register)src1, (uint)imm)); } public void shld(AssemblerRegister64 dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shld_rm64_r64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shld(AssemblerMemoryOperand dst, AssemblerRegister64 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shld_rm64_r64_imm8, in memory, (Register)src1, (uint)imm)); } public void shlx(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Shlx_r32_rm32_r32, dst, src1, src2)); } public void shlx(AssemblerRegister32 dst, AssemblerMemoryOperand src1, AssemblerRegister32 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Shlx_r32_rm32_r32, register, in memory, src2)); } public void shlx(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Shlx_r64_rm64_r64, dst, src1, src2)); } public void shlx(AssemblerRegister64 dst, AssemblerMemoryOperand src1, AssemblerRegister64 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Shlx_r64_rm64_r64, register, in memory, src2)); } public void shr(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shr_rm8_CL, dst, src)); } public void shr(AssemblerRegister16 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shr_rm16_CL, dst, src)); } public void shr(AssemblerRegister32 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shr_rm32_CL, dst, src)); } public void shr(AssemblerRegister64 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Shr_rm64_CL, dst, src)); } public void shr(AssemblerMemoryOperand dst, AssemblerRegister8 src) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shr_rm64_CL; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shr_rm32_CL; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shr_rm16_CL; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shr, dst, src); } code = Code.Shr_rm8_CL; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src)); } public void shr(AssemblerRegister8 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shr_rm8_1 : Code.Shr_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shr(AssemblerRegister16 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shr_rm16_1 : Code.Shr_rm16_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shr(AssemblerRegister32 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shr_rm32_1 : Code.Shr_rm32_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shr(AssemblerRegister64 dst, sbyte imm) { Code code = ((imm == 1) ? Code.Shr_rm64_1 : Code.Shr_rm64_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void shr(AssemblerMemoryOperand dst, sbyte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shr_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shr_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shr_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shr, dst, imm); } code = Code.Shr_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shr_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shr_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shr, dst, imm); } code = Code.Shr_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void shr(AssemblerRegister8 dst, byte imm) { Code code = ((imm == 1) ? Code.Shr_rm8_1 : Code.Shr_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shr(AssemblerRegister16 dst, byte imm) { Code code = ((imm == 1) ? Code.Shr_rm16_1 : Code.Shr_rm16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shr(AssemblerRegister32 dst, byte imm) { Code code = ((imm == 1) ? Code.Shr_rm32_1 : Code.Shr_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shr(AssemblerRegister64 dst, byte imm) { Code code = ((imm == 1) ? Code.Shr_rm64_1 : Code.Shr_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void shr(AssemblerMemoryOperand dst, byte imm) { Code code; if (imm == 1) { if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shr_rm64_1; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shr_rm32_1; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shr_rm16_1; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shr, dst, imm); } code = Code.Shr_rm8_1; } } else if (dst.Size == MemoryOperandSize.Qword) { code = Code.Shr_rm64_imm8; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Shr_rm32_imm8; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Shr_rm16_imm8; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Shr, dst, imm); } code = Code.Shr_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, (uint)imm)); } public void shrd(AssemblerRegister16 dst, AssemblerRegister16 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_CL, dst, src1, src2)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister16 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_CL, in memory, src1, src2)); } public void shrd(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_CL, dst, src1, src2)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_CL, in memory, src1, src2)); } public void shrd(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister8 src2) { AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_CL, dst, src1, src2)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, AssemblerRegister8 src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_CL, in memory, src1, src2)); } public void shrd(AssemblerRegister16 dst, AssemblerRegister16 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_imm8, dst, src1, imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister16 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_imm8, in memory, src1, imm)); } public void shrd(AssemblerRegister32 dst, AssemblerRegister32 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_imm8, dst, src1, imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_imm8, in memory, src1, imm)); } public void shrd(AssemblerRegister64 dst, AssemblerRegister64 src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_imm8, dst, src1, imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_imm8, in memory, src1, imm)); } public void shrd(AssemblerRegister16 dst, AssemblerRegister16 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister16 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm16_r16_imm8, in memory, (Register)src1, (uint)imm)); } public void shrd(AssemblerRegister32 dst, AssemblerRegister32 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister32 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm32_r32_imm8, in memory, (Register)src1, (uint)imm)); } public void shrd(AssemblerRegister64 dst, AssemblerRegister64 src1, byte imm) { AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shrd(AssemblerMemoryOperand dst, AssemblerRegister64 src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shrd_rm64_r64_imm8, in memory, (Register)src1, (uint)imm)); } public void shrx(AssemblerRegister32 dst, AssemblerRegister32 src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.VEX_Shrx_r32_rm32_r32, dst, src1, src2)); } public void shrx(AssemblerRegister32 dst, AssemblerMemoryOperand src1, AssemblerRegister32 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Shrx_r32_rm32_r32, register, in memory, src2)); } public void shrx(AssemblerRegister64 dst, AssemblerRegister64 src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.VEX_Shrx_r64_rm64_r64, dst, src1, src2)); } public void shrx(AssemblerRegister64 dst, AssemblerMemoryOperand src1, AssemblerRegister64 src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Shrx_r64_rm64_r64, register, in memory, src2)); } public void shufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shufpd_xmm_xmmm128_imm8, dst, src1, imm)); } public void shufpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shufpd_xmm_xmmm128_imm8, register, in memory, imm)); } public void shufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Shufpd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shufpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shufpd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void shufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.Shufps_xmm_xmmm128_imm8, dst, src1, imm)); } public void shufps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shufps_xmm_xmmm128_imm8, register, in memory, imm)); } public void shufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.Shufps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void shufps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Shufps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void sidt(AssemblerMemoryOperand dst) { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Sidt_m1632 : Code.Sidt_m1632_16) : Code.Sidt_m1664); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void skinit() { AddInstruction(Instruction.Create(Code.Skinit)); } public void sldt(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Sldt_rm16, dst)); } public void sldt(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Sldt_r32m16, dst)); } public void sldt(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Sldt_r64m16, dst)); } public void sldt(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Sldt_r32m16 : Code.Sldt_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void slwpcb(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.XOP_Slwpcb_r32, dst)); } public void slwpcb(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.XOP_Slwpcb_r64, dst)); } public void smint() { AddInstruction(Instruction.Create(Code.Smint)); } public void smint_0f7e() { AddInstruction(Instruction.Create(Code.Smint_0F7E)); } public void smsw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Smsw_rm16, dst)); } public void smsw(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Smsw_r32m16, dst)); } public void smsw(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Smsw_r64m16, dst)); } public void smsw(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Smsw_r32m16 : Code.Smsw_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void sqrtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sqrtpd_xmm_xmmm128, dst, src)); } public void sqrtpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sqrtpd_xmm_xmmm128, register, in memory)); } public void sqrtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sqrtps_xmm_xmmm128, dst, src)); } public void sqrtps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sqrtps_xmm_xmmm128, register, in memory)); } public void sqrtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sqrtsd_xmm_xmmm64, dst, src)); } public void sqrtsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sqrtsd_xmm_xmmm64, register, in memory)); } public void sqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Sqrtss_xmm_xmmm32, dst, src)); } public void sqrtss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sqrtss_xmm_xmmm32, register, in memory)); } public void stac() { AddInstruction(Instruction.Create(Code.Stac)); } public void stc() { AddInstruction(Instruction.Create(Code.Stc)); } public void std() { AddInstruction(Instruction.Create(Code.Std)); } public void stgi() { AddInstruction(Instruction.Create(Code.Stgi)); } public void sti() { AddInstruction(Instruction.Create(Code.Sti)); } public void stmxcsr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Stmxcsr_m32, in memory)); } public void stosb() { AddInstruction(Instruction.CreateStosb(Bitness)); } public void stosd() { AddInstruction(Instruction.CreateStosd(Bitness)); } public void stosq() { AddInstruction(Instruction.CreateStosq(Bitness)); } public void stosw() { AddInstruction(Instruction.CreateStosw(Bitness)); } public void str(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Str_rm16, dst)); } public void str(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Str_r32m16, dst)); } public void str(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Str_r64m16, dst)); } public void str(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Str_r32m16 : Code.Str_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void sttilecfg(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Sttilecfg_m512, in memory)); } public void stui() { AddInstruction(Instruction.Create(Code.Stui)); } public void sub(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Sub_rm8_r8, dst, src)); } public void sub(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_rm8_r8, in memory, src)); } public void sub(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Sub_rm16_r16, dst, src)); } public void sub(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_rm16_r16, in memory, src)); } public void sub(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Sub_rm32_r32, dst, src)); } public void sub(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_rm32_r32, in memory, src)); } public void sub(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Sub_rm64_r64, dst, src)); } public void sub(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_rm64_r64, in memory, src)); } public void sub(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_r8_rm8, register, in memory)); } public void sub(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_r16_rm16, register, in memory)); } public void sub(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_r32_rm32, register, in memory)); } public void sub(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Sub_r64_rm64, register, in memory)); } public void sub(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Sub_AL_imm8 : Code.Sub_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void sub(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Sub_rm16_imm8 : Code.Sub_rm16_imm16) : Code.Sub_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void sub(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Sub_rm32_imm8 : Code.Sub_rm32_imm32) : Code.Sub_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sub(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Sub_rm64_imm8 : Code.Sub_rm64_imm32) : Code.Sub_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sub(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Sub_rm64_imm8 : Code.Sub_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Sub_rm32_imm8 : Code.Sub_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Sub_rm16_imm8 : Code.Sub_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sub, dst, imm); } code = Code.Sub_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void sub(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Sub_AL_imm8 : Code.Sub_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sub(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Sub_rm16_imm8 : Code.Sub_rm16_imm16) : Code.Sub_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void sub(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Sub_rm32_imm8 : Code.Sub_rm32_imm32) : Code.Sub_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void sub(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Sub_rm32_imm8 : Code.Sub_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Sub_rm16_imm8 : Code.Sub_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Sub, dst, imm); } code = Code.Sub_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void subpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Subpd_xmm_xmmm128, dst, src)); } public void subpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Subpd_xmm_xmmm128, register, in memory)); } public void subps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Subps_xmm_xmmm128, dst, src)); } public void subps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Subps_xmm_xmmm128, register, in memory)); } public void subsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Subsd_xmm_xmmm64, dst, src)); } public void subsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Subsd_xmm_xmmm64, register, in memory)); } public void subss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Subss_xmm_xmmm32, dst, src)); } public void subss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Subss_xmm_xmmm32, register, in memory)); } public void svdc(AssemblerMemoryOperand dst, AssemblerRegisterSegment src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Svdc_m80_Sreg, in memory, src)); } public void svldt(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Svldt_m80, in memory)); } public void svts(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Svts_m80, in memory)); } public void swapgs() { AddInstruction(Instruction.Create(Code.Swapgs)); } public void syscall() { AddInstruction(Instruction.Create(Code.Syscall)); } public void sysenter() { AddInstruction(Instruction.Create(Code.Sysenter)); } public void sysexit() { AddInstruction(Instruction.Create(Code.Sysexitd)); } public void sysexitq() { AddInstruction(Instruction.Create(Code.Sysexitq)); } public void sysret() { AddInstruction(Instruction.Create(Code.Sysretd)); } public void sysretq() { AddInstruction(Instruction.Create(Code.Sysretq)); } public void t1mskc(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_T1mskc_r32_rm32, dst, src)); } public void t1mskc(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_T1mskc_r64_rm64, dst, src)); } public void t1mskc(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_T1mskc_r32_rm32, register, in memory)); } public void t1mskc(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_T1mskc_r64_rm64, register, in memory)); } public void tdcall() { AddInstruction(Instruction.Create(Code.Tdcall)); } public void tdpbf16ps(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpbf16ps_tmm_tmm_tmm, dst, src1, src2)); } public void tdpbssd(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpbssd_tmm_tmm_tmm, dst, src1, src2)); } public void tdpbsud(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpbsud_tmm_tmm_tmm, dst, src1, src2)); } public void tdpbusd(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpbusd_tmm_tmm_tmm, dst, src1, src2)); } public void tdpbuud(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpbuud_tmm_tmm_tmm, dst, src1, src2)); } public void tdpfp16ps(AssemblerRegisterTMM dst, AssemblerRegisterTMM src1, AssemblerRegisterTMM src2) { AddInstruction(Instruction.Create(Code.VEX_Tdpfp16ps_tmm_tmm_tmm, dst, src1, src2)); } public void test(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Test_rm8_r8, dst, src)); } public void test(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Test_rm8_r8, in memory, src)); } public void test(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Test_rm16_r16, dst, src)); } public void test(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Test_rm16_r16, in memory, src)); } public void test(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Test_rm32_r32, dst, src)); } public void test(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Test_rm32_r32, in memory, src)); } public void test(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Test_rm64_r64, dst, src)); } public void test(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Test_rm64_r64, in memory, src)); } public void test(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Test_AL_imm8 : Code.Test_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void test(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst == Register.AX) ? Code.Test_AX_imm16 : Code.Test_rm16_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void test(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst == Register.EAX) ? Code.Test_EAX_imm32 : Code.Test_rm32_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void test(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst == Register.RAX) ? Code.Test_RAX_imm32 : Code.Test_rm64_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void test(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = Code.Test_rm64_imm32; } else if (dst.Size == MemoryOperandSize.Dword) { code = Code.Test_rm32_imm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Test_rm16_imm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Test, dst, imm); } code = Code.Test_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void test(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Test_AL_imm8 : Code.Test_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void test(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst == Register.AX) ? Code.Test_AX_imm16 : Code.Test_rm16_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void test(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst == Register.EAX) ? Code.Test_EAX_imm32 : Code.Test_rm32_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void test(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = Code.Test_rm32_imm32; } else if (dst.Size == MemoryOperandSize.Word) { code = Code.Test_rm16_imm16; } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Test, dst, imm); } code = Code.Test_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void testui() { AddInstruction(Instruction.Create(Code.Testui)); } public void tileloadd(AssemblerRegisterTMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Tileloadd_tmm_sibmem, register, in memory)); } public void tileloaddt1(AssemblerRegisterTMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Tileloaddt1_tmm_sibmem, register, in memory)); } public void tilerelease() { AddInstruction(Instruction.Create(Code.VEX_Tilerelease)); } public void tilestored(AssemblerMemoryOperand dst, AssemblerRegisterTMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Tilestored_sibmem_tmm, in memory, src)); } public void tilezero(AssemblerRegisterTMM dst) { AddInstruction(Instruction.Create(Code.VEX_Tilezero_tmm, dst)); } public void tlbsync() { AddInstruction(Instruction.Create(Code.Tlbsync)); } public void tpause(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Tpause_r32, dst)); } public void tpause(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Tpause_r64, dst)); } public void tzcnt(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Tzcnt_r16_rm16, dst, src)); } public void tzcnt(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Tzcnt_r32_rm32, dst, src)); } public void tzcnt(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Tzcnt_r64_rm64, dst, src)); } public void tzcnt(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Tzcnt_r16_rm16, register, in memory)); } public void tzcnt(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Tzcnt_r32_rm32, register, in memory)); } public void tzcnt(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Tzcnt_r64_rm64, register, in memory)); } public void tzmsk(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.XOP_Tzmsk_r32_rm32, dst, src)); } public void tzmsk(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.XOP_Tzmsk_r64_rm64, dst, src)); } public void tzmsk(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Tzmsk_r32_rm32, register, in memory)); } public void tzmsk(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Tzmsk_r64_rm64, register, in memory)); } public void ucomisd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Ucomisd_xmm_xmmm64, dst, src)); } public void ucomisd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ucomisd_xmm_xmmm64, register, in memory)); } public void ucomiss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Ucomiss_xmm_xmmm32, dst, src)); } public void ucomiss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ucomiss_xmm_xmmm32, register, in memory)); } public void ud0() { AddInstruction(Instruction.Create(Code.Ud0)); } public void ud0(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Ud0_r16_rm16, dst, src)); } public void ud0(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Ud0_r32_rm32, dst, src)); } public void ud0(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Ud0_r64_rm64, dst, src)); } public void ud0(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud0_r16_rm16, register, in memory)); } public void ud0(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud0_r32_rm32, register, in memory)); } public void ud0(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud0_r64_rm64, register, in memory)); } public void ud1(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Ud1_r16_rm16, dst, src)); } public void ud1(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Ud1_r32_rm32, dst, src)); } public void ud1(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Ud1_r64_rm64, dst, src)); } public void ud1(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud1_r16_rm16, register, in memory)); } public void ud1(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud1_r32_rm32, register, in memory)); } public void ud1(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Ud1_r64_rm64, register, in memory)); } public void ud2() { AddInstruction(Instruction.Create(Code.Ud2)); } public void uiret() { AddInstruction(Instruction.Create(Code.Uiret)); } public void umonitor(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Umonitor_r16, dst)); } public void umonitor(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Umonitor_r32, dst)); } public void umonitor(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Umonitor_r64, dst)); } public void umov(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Umov_rm8_r8, dst, src)); } public void umov(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_rm8_r8, in memory, src)); } public void umov(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Umov_rm16_r16, dst, src)); } public void umov(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_rm16_r16, in memory, src)); } public void umov(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Umov_rm32_r32, dst, src)); } public void umov(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_rm32_r32, in memory, src)); } public void umov(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_r8_rm8, register, in memory)); } public void umov(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_r16_rm16, register, in memory)); } public void umov(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Umov_r32_rm32, register, in memory)); } public void umwait(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Umwait_r32, dst)); } public void umwait(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Umwait_r64, dst)); } public void unpckhpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Unpckhpd_xmm_xmmm128, dst, src)); } public void unpckhpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Unpckhpd_xmm_xmmm128, register, in memory)); } public void unpckhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Unpckhps_xmm_xmmm128, dst, src)); } public void unpckhps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Unpckhps_xmm_xmmm128, register, in memory)); } public void unpcklpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Unpcklpd_xmm_xmmm128, dst, src)); } public void unpcklpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Unpcklpd_xmm_xmmm128, register, in memory)); } public void unpcklps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Unpcklps_xmm_xmmm128, dst, src)); } public void unpcklps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Unpcklps_xmm_xmmm128, register, in memory)); } public void v4fmaddps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_V4fmaddps_zmm_k1z_zmmp3_m128, register, register2, in memory), dst.Flags); } public void v4fmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_V4fmaddss_xmm_k1z_xmmp3_m128, register, register2, in memory), dst.Flags); } public void v4fnmaddps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_V4fnmaddps_zmm_k1z_zmmp3_m128, register, register2, in memory), dst.Flags); } public void v4fnmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_V4fnmaddss_xmm_k1z_xmmp3_m128, register, register2, in memory), dst.Flags); } public void vaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddpd_xmm_xmm_xmmm128 : Code.EVEX_Vaddpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddpd_ymm_ymm_ymmm256 : Code.EVEX_Vaddpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vaddpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddpd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vaddpd_xmm_xmm_xmmm128 : Code.EVEX_Vaddpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vaddpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vaddpd_ymm_ymm_ymmm256 : Code.EVEX_Vaddpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vaddpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddpd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vaddph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vaddph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddps_xmm_xmm_xmmm128 : Code.EVEX_Vaddps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddps_ymm_ymm_ymmm256 : Code.EVEX_Vaddps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vaddps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vaddps_xmm_xmm_xmmm128 : Code.EVEX_Vaddps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vaddps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vaddps_ymm_ymm_ymmm256 : Code.EVEX_Vaddps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vaddps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddsd_xmm_xmm_xmmm64 : Code.EVEX_Vaddsd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddsd_xmm_xmm_xmmm64 : Code.EVEX_Vaddsd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaddsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaddsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddss_xmm_xmm_xmmm32 : Code.EVEX_Vaddss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaddss_xmm_xmm_xmmm32 : Code.EVEX_Vaddss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vaddsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vaddsubpd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vaddsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vaddsubpd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vaddsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaddsubpd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vaddsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaddsubpd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vaddsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vaddsubps_xmm_xmm_xmmm128, dst, src1, src2)); } public void vaddsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vaddsubps_ymm_ymm_ymmm256, dst, src1, src2)); } public void vaddsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaddsubps_xmm_xmm_xmmm128, register, register2, in memory)); } public void vaddsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaddsubps_ymm_ymm_ymmm256, register, register2, in memory)); } public void vaesdec(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdec_xmm_xmm_xmmm128 : Code.EVEX_Vaesdec_xmm_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesdec(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdec_ymm_ymm_ymmm256 : Code.EVEX_Vaesdec_ymm_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesdec(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaesdec_zmm_zmm_zmmm512, dst, src1, src2)); } public void vaesdec(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdec_xmm_xmm_xmmm128 : Code.EVEX_Vaesdec_xmm_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesdec(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdec_ymm_ymm_ymmm256 : Code.EVEX_Vaesdec_ymm_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesdec(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaesdec_zmm_zmm_zmmm512, register, register2, in memory)); } public void vaesdeclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdeclast_xmm_xmm_xmmm128 : Code.EVEX_Vaesdeclast_xmm_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesdeclast(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdeclast_ymm_ymm_ymmm256 : Code.EVEX_Vaesdeclast_ymm_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesdeclast(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaesdeclast_zmm_zmm_zmmm512, dst, src1, src2)); } public void vaesdeclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdeclast_xmm_xmm_xmmm128 : Code.EVEX_Vaesdeclast_xmm_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesdeclast(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesdeclast_ymm_ymm_ymmm256 : Code.EVEX_Vaesdeclast_ymm_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesdeclast(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaesdeclast_zmm_zmm_zmmm512, register, register2, in memory)); } public void vaesenc(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenc_xmm_xmm_xmmm128 : Code.EVEX_Vaesenc_xmm_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesenc(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenc_ymm_ymm_ymmm256 : Code.EVEX_Vaesenc_ymm_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesenc(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaesenc_zmm_zmm_zmmm512, dst, src1, src2)); } public void vaesenc(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenc_xmm_xmm_xmmm128 : Code.EVEX_Vaesenc_xmm_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesenc(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenc_ymm_ymm_ymmm256 : Code.EVEX_Vaesenc_ymm_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesenc(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaesenc_zmm_zmm_zmmm512, register, register2, in memory)); } public void vaesenclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenclast_xmm_xmm_xmmm128 : Code.EVEX_Vaesenclast_xmm_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesenclast(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenclast_ymm_ymm_ymmm256 : Code.EVEX_Vaesenclast_ymm_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vaesenclast(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vaesenclast_zmm_zmm_zmmm512, dst, src1, src2)); } public void vaesenclast(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenclast_xmm_xmm_xmmm128 : Code.EVEX_Vaesenclast_xmm_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesenclast(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vaesenclast_ymm_ymm_ymmm256 : Code.EVEX_Vaesenclast_ymm_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vaesenclast(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vaesenclast_zmm_zmm_zmmm512, register, register2, in memory)); } public void vaesimc(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vaesimc_xmm_xmmm128, dst, src)); } public void vaesimc(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaesimc_xmm_xmmm128, register, in memory)); } public void vaeskeygenassist(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vaeskeygenassist_xmm_xmmm128_imm8, dst, src1, imm)); } public void vaeskeygenassist(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaeskeygenassist_xmm_xmmm128_imm8, register, in memory, imm)); } public void vaeskeygenassist(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vaeskeygenassist_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vaeskeygenassist(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vaeskeygenassist_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void valignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void valignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void valignd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void valignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignd_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void valignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void valignd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void valignq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void valignq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void valignq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Valignq_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void valignq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void valignq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Valignq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vandnpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandnpd_xmm_xmm_xmmm128 : Code.EVEX_Vandnpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandnpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandnpd_ymm_ymm_ymmm256 : Code.EVEX_Vandnpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandnpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vandnpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vandnpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandnpd_xmm_xmm_xmmm128 : Code.EVEX_Vandnpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vandnpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandnpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandnpd_ymm_ymm_ymmm256 : Code.EVEX_Vandnpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vandnpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandnpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vandnpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vandnps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandnps_xmm_xmm_xmmm128 : Code.EVEX_Vandnps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandnps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandnps_ymm_ymm_ymmm256 : Code.EVEX_Vandnps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandnps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vandnps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vandnps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandnps_xmm_xmm_xmmm128 : Code.EVEX_Vandnps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vandnps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandnps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandnps_ymm_ymm_ymmm256 : Code.EVEX_Vandnps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vandnps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandnps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vandnps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vandpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandpd_xmm_xmm_xmmm128 : Code.EVEX_Vandpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandpd_ymm_ymm_ymmm256 : Code.EVEX_Vandpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vandpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vandpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandpd_xmm_xmm_xmmm128 : Code.EVEX_Vandpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vandpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandpd_ymm_ymm_ymmm256 : Code.EVEX_Vandpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vandpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vandpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vandps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandps_xmm_xmm_xmmm128 : Code.EVEX_Vandps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vandps_ymm_ymm_ymmm256 : Code.EVEX_Vandps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vandps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vandps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vandps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandps_xmm_xmm_xmmm128 : Code.EVEX_Vandps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vandps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vandps_ymm_ymm_ymmm256 : Code.EVEX_Vandps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vandps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vandps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vandps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vbcstnebf162ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbcstnebf162ps_xmm_m16, register, in memory)); } public void vbcstnebf162ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbcstnebf162ps_ymm_m16, register, in memory)); } public void vbcstnesh2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbcstnesh2ps_xmm_m16, register, in memory)); } public void vbcstnesh2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbcstnesh2ps_ymm_m16, register, in memory)); } public void vblendmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vblendmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vblendmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vblendmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vblendmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vblendmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vblendmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vblendmps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vblendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendpd_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vblendpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendpd_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vblendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendpd_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vblendpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendpd_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vblendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendpd_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vblendpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendpd_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vblendpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendpd_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vblendpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendpd_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vblendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendps_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vblendps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendps_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vblendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendps_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vblendps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendps_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vblendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendps_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vblendps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vblendps_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vblendps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendps_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vblendps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendps_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vblendvpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vblendvpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vblendvpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendvpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vblendvpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vblendvpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vblendvpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendvpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vblendvps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vblendvps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vblendvps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendvps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vblendvps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vblendvps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vblendvps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vblendvps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vbroadcastf128(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbroadcastf128_ymm_m128, register, in memory)); } public void vbroadcastf32x2(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x2_ymm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcastf32x2(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x2_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcastf32x2(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x2_ymm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcastf32x2(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x2_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcastf32x4(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x4_ymm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcastf32x4(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x4_zmm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcastf32x8(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf32x8_zmm_k1z_m256, register, in memory), dst.Flags); } public void vbroadcastf64x2(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf64x2_ymm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcastf64x2(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf64x2_zmm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcastf64x4(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastf64x4_zmm_k1z_m256, register, in memory), dst.Flags); } public void vbroadcasti128(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vbroadcasti128_ymm_m128, register, in memory)); } public void vbroadcasti32x2(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_xmm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcasti32x2(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_ymm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcasti32x2(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcasti32x2(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_xmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcasti32x2(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_ymm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcasti32x2(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x2_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcasti32x4(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x4_ymm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcasti32x4(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x4_zmm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcasti32x8(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti32x8_zmm_k1z_m256, register, in memory), dst.Flags); } public void vbroadcasti64x2(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti64x2_ymm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcasti64x2(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti64x2_zmm_k1z_m128, register, in memory), dst.Flags); } public void vbroadcasti64x4(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcasti64x4_zmm_k1z_m256, register, in memory), dst.Flags); } public void vbroadcastsd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastsd_ymm_xmm : Code.EVEX_Vbroadcastsd_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vbroadcastsd(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastsd_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vbroadcastsd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastsd_ymm_m64 : Code.EVEX_Vbroadcastsd_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vbroadcastsd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastsd_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vbroadcastss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastss_xmm_xmm : Code.EVEX_Vbroadcastss_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vbroadcastss(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastss_ymm_xmm : Code.EVEX_Vbroadcastss_ymm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vbroadcastss(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastss_zmm_k1z_xmmm32, dst, src), dst.Flags); } public void vbroadcastss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastss_xmm_m32 : Code.EVEX_Vbroadcastss_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vbroadcastss(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vbroadcastss_ymm_m32 : Code.EVEX_Vbroadcastss_ymm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vbroadcastss(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vbroadcastss_zmm_k1z_xmmm32, register, in memory), dst.Flags); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 16); } public void vcmpeq_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 16); } public void vcmpeq_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 16); } public void vcmpeq_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 16); } public void vcmpeq_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 16); } public void vcmpeq_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 16); } public void vcmpeq_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 16); } public void vcmpeq_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 16); } public void vcmpeq_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 16); } public void vcmpeq_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 16); } public void vcmpeq_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 16); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 8); } public void vcmpeq_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 8); } public void vcmpeq_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 8); } public void vcmpeq_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 8); } public void vcmpeq_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 8); } public void vcmpeq_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 8); } public void vcmpeq_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 8); } public void vcmpeq_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 8); } public void vcmpeq_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 8); } public void vcmpeq_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 8); } public void vcmpeq_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 8); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 24); } public void vcmpeq_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 24); } public void vcmpeq_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 24); } public void vcmpeq_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 24); } public void vcmpeq_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 24); } public void vcmpeq_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 24); } public void vcmpeq_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 24); } public void vcmpeq_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 24); } public void vcmpeq_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 24); } public void vcmpeq_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 24); } public void vcmpeq_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 24); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 0); } public void vcmpeqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 0); } public void vcmpeqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 0); } public void vcmpeqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 0); } public void vcmpeqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 0); } public void vcmpeqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 0); } public void vcmpeqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 0); } public void vcmpeqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 0); } public void vcmpeqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 0); } public void vcmpeqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 0); } public void vcmpeqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 0); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 27); } public void vcmpfalse_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 27); } public void vcmpfalse_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 27); } public void vcmpfalse_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 27); } public void vcmpfalse_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 27); } public void vcmpfalse_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 27); } public void vcmpfalse_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 27); } public void vcmpfalse_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 27); } public void vcmpfalse_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 27); } public void vcmpfalse_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 27); } public void vcmpfalse_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 27); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalsepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalseps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 11); } public void vcmpfalsesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 11); } public void vcmpfalsesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 11); } public void vcmpfalsesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 11); } public void vcmpfalsesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 11); } public void vcmpfalsesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 11); } public void vcmpfalsesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 11); } public void vcmpfalsess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 11); } public void vcmpfalsess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 11); } public void vcmpfalsess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 11); } public void vcmpfalsess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 11); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 29); } public void vcmpge_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 29); } public void vcmpge_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 29); } public void vcmpge_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 29); } public void vcmpge_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 29); } public void vcmpge_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 29); } public void vcmpge_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 29); } public void vcmpge_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 29); } public void vcmpge_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 29); } public void vcmpge_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 29); } public void vcmpge_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 29); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgeps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 13); } public void vcmpgesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 13); } public void vcmpgesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 13); } public void vcmpgesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 13); } public void vcmpgesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 13); } public void vcmpgesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 13); } public void vcmpgesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 13); } public void vcmpgess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 13); } public void vcmpgess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 13); } public void vcmpgess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 13); } public void vcmpgess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 13); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 30); } public void vcmpgt_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 30); } public void vcmpgt_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 30); } public void vcmpgt_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 30); } public void vcmpgt_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 30); } public void vcmpgt_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 30); } public void vcmpgt_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 30); } public void vcmpgt_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 30); } public void vcmpgt_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 30); } public void vcmpgt_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 30); } public void vcmpgt_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 30); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 14); } public void vcmpgtsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 14); } public void vcmpgtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 14); } public void vcmpgtsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 14); } public void vcmpgtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 14); } public void vcmpgtsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 14); } public void vcmpgtsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 14); } public void vcmpgtss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 14); } public void vcmpgtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 14); } public void vcmpgtss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 14); } public void vcmpgtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 14); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 18); } public void vcmple_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 18); } public void vcmple_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 18); } public void vcmple_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 18); } public void vcmple_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 18); } public void vcmple_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 18); } public void vcmple_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 18); } public void vcmple_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 18); } public void vcmple_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 18); } public void vcmple_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 18); } public void vcmple_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 18); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 2); } public void vcmplepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 2); } public void vcmpleps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 2); } public void vcmplesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 2); } public void vcmplesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 2); } public void vcmplesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 2); } public void vcmplesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 2); } public void vcmplesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 2); } public void vcmplesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 2); } public void vcmpless(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 2); } public void vcmpless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 2); } public void vcmpless(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 2); } public void vcmpless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 2); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 17); } public void vcmplt_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 17); } public void vcmplt_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 17); } public void vcmplt_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 17); } public void vcmplt_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 17); } public void vcmplt_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 17); } public void vcmplt_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 17); } public void vcmplt_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 17); } public void vcmplt_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 17); } public void vcmplt_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 17); } public void vcmplt_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 17); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 1); } public void vcmpltsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 1); } public void vcmpltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 1); } public void vcmpltsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 1); } public void vcmpltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 1); } public void vcmpltsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 1); } public void vcmpltsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 1); } public void vcmpltss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 1); } public void vcmpltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 1); } public void vcmpltss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 1); } public void vcmpltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 1); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 12); } public void vcmpneq_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 12); } public void vcmpneq_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 12); } public void vcmpneq_oqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 12); } public void vcmpneq_oqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 12); } public void vcmpneq_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 12); } public void vcmpneq_oqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 12); } public void vcmpneq_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 12); } public void vcmpneq_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 12); } public void vcmpneq_oqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 12); } public void vcmpneq_oqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 12); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_ospd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_osps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 28); } public void vcmpneq_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 28); } public void vcmpneq_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 28); } public void vcmpneq_ossd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 28); } public void vcmpneq_ossd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 28); } public void vcmpneq_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 28); } public void vcmpneq_ossh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 28); } public void vcmpneq_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 28); } public void vcmpneq_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 28); } public void vcmpneq_osss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 28); } public void vcmpneq_osss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 28); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 20); } public void vcmpneq_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 20); } public void vcmpneq_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 20); } public void vcmpneq_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 20); } public void vcmpneq_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 20); } public void vcmpneq_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 20); } public void vcmpneq_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 20); } public void vcmpneq_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 20); } public void vcmpneq_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 20); } public void vcmpneq_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 20); } public void vcmpneq_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 20); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 4); } public void vcmpneqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 4); } public void vcmpneqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 4); } public void vcmpneqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 4); } public void vcmpneqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 4); } public void vcmpneqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 4); } public void vcmpneqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 4); } public void vcmpneqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 4); } public void vcmpneqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 4); } public void vcmpneqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 4); } public void vcmpneqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 4); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 25); } public void vcmpnge_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 25); } public void vcmpnge_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 25); } public void vcmpnge_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 25); } public void vcmpnge_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 25); } public void vcmpnge_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 25); } public void vcmpnge_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 25); } public void vcmpnge_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 25); } public void vcmpnge_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 25); } public void vcmpnge_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 25); } public void vcmpnge_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 25); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngeps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 9); } public void vcmpngesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 9); } public void vcmpngesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 9); } public void vcmpngesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 9); } public void vcmpngesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 9); } public void vcmpngesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 9); } public void vcmpngesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 9); } public void vcmpngess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 9); } public void vcmpngess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 9); } public void vcmpngess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 9); } public void vcmpngess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 9); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 26); } public void vcmpngt_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 26); } public void vcmpngt_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 26); } public void vcmpngt_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 26); } public void vcmpngt_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 26); } public void vcmpngt_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 26); } public void vcmpngt_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 26); } public void vcmpngt_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 26); } public void vcmpngt_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 26); } public void vcmpngt_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 26); } public void vcmpngt_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 26); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 10); } public void vcmpngtsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 10); } public void vcmpngtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 10); } public void vcmpngtsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 10); } public void vcmpngtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 10); } public void vcmpngtsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 10); } public void vcmpngtsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 10); } public void vcmpngtss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 10); } public void vcmpngtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 10); } public void vcmpngtss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 10); } public void vcmpngtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 10); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 22); } public void vcmpnle_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 22); } public void vcmpnle_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 22); } public void vcmpnle_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 22); } public void vcmpnle_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 22); } public void vcmpnle_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 22); } public void vcmpnle_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 22); } public void vcmpnle_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 22); } public void vcmpnle_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 22); } public void vcmpnle_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 22); } public void vcmpnle_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 22); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnlepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnleps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 6); } public void vcmpnlesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 6); } public void vcmpnlesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 6); } public void vcmpnlesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 6); } public void vcmpnlesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 6); } public void vcmpnlesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 6); } public void vcmpnlesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 6); } public void vcmpnless(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 6); } public void vcmpnless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 6); } public void vcmpnless(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 6); } public void vcmpnless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 6); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 21); } public void vcmpnlt_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 21); } public void vcmpnlt_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 21); } public void vcmpnlt_uqsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 21); } public void vcmpnlt_uqsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 21); } public void vcmpnlt_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 21); } public void vcmpnlt_uqsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 21); } public void vcmpnlt_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 21); } public void vcmpnlt_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 21); } public void vcmpnlt_uqss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 21); } public void vcmpnlt_uqss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 21); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 5); } public void vcmpnltsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 5); } public void vcmpnltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 5); } public void vcmpnltsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 5); } public void vcmpnltsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 5); } public void vcmpnltsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 5); } public void vcmpnltsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 5); } public void vcmpnltss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 5); } public void vcmpnltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 5); } public void vcmpnltss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 5); } public void vcmpnltss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 5); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_spd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_sps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 23); } public void vcmpord_ssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 23); } public void vcmpord_ssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 23); } public void vcmpord_ssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 23); } public void vcmpord_ssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 23); } public void vcmpord_ssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 23); } public void vcmpord_ssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 23); } public void vcmpord_sss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 23); } public void vcmpord_sss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 23); } public void vcmpord_sss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 23); } public void vcmpord_sss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 23); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 7); } public void vcmpordsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 7); } public void vcmpordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 7); } public void vcmpordsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 7); } public void vcmpordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 7); } public void vcmpordsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 7); } public void vcmpordsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 7); } public void vcmpordss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 7); } public void vcmpordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 7); } public void vcmpordss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 7); } public void vcmpordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 7); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmppd_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmppd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmppd_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_zmm_zmmm512b64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmppd_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmppd_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_zmm_zmmm512b64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmppd_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmppd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmppd_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_zmm_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmppd_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmppd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmppd_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vcmppd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmppd_kr_k1_zmm_zmmm512b64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_xmm_xmmm128b16_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_ymm_ymmm256b16_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_zmm_zmmm512b16_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_xmm_xmmm128b16_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_ymm_ymmm256b16_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_zmm_zmmm512b16_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_xmm_xmmm128b16_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_ymm_ymmm256b16_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_zmm_zmmm512b16_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_xmm_xmmm128b16_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_ymm_ymmm256b16_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpph_kr_k1_zmm_zmmm512b16_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpps_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vcmpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpps_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_zmm_zmmm512b32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpps_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpps_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_zmm_zmmm512b32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpps_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vcmpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpps_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_zmm_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpps_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpps_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vcmpps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpps_kr_k1_zmm_zmmm512b32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpsd_kr_k1_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpsd_xmm_xmm_xmmm64_imm8, dst, src1, src2, imm)); } public void vcmpsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpsd_kr_k1_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpsd_xmm_xmm_xmmm64_imm8, register, register2, in memory, imm)); } public void vcmpsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpsd_kr_k1_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpsd_xmm_xmm_xmmm64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmpsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpsd_kr_k1_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpsd_xmm_xmm_xmmm64_imm8, register, register2, in memory, (uint)imm)); } public void vcmpsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpsh_kr_k1_xmm_xmmm16_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmpsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpsh_kr_k1_xmm_xmmm16_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpsh_kr_k1_xmm_xmmm16_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmpsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpsh_kr_k1_xmm_xmmm16_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpss_kr_k1_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vcmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpss_xmm_xmm_xmmm32_imm8, dst, src1, src2, imm)); } public void vcmpss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpss_kr_k1_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vcmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpss_xmm_xmm_xmmm32_imm8, register, register2, in memory, imm)); } public void vcmpss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcmpss_kr_k1_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vcmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vcmpss_xmm_xmm_xmmm32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vcmpss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcmpss_kr_k1_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vcmpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcmpss_xmm_xmm_xmmm32_imm8, register, register2, in memory, (uint)imm)); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_uspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_usps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 31); } public void vcmptrue_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 31); } public void vcmptrue_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 31); } public void vcmptrue_ussd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 31); } public void vcmptrue_ussd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 31); } public void vcmptrue_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 31); } public void vcmptrue_ussh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 31); } public void vcmptrue_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 31); } public void vcmptrue_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 31); } public void vcmptrue_usss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 31); } public void vcmptrue_usss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 31); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 15); } public void vcmptruepd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 15); } public void vcmptrueps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 15); } public void vcmptruesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 15); } public void vcmptruesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 15); } public void vcmptruesd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 15); } public void vcmptruesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 15); } public void vcmptruesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 15); } public void vcmptruesh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 15); } public void vcmptruess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 15); } public void vcmptruess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 15); } public void vcmptruess(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 15); } public void vcmptruess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 15); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_spd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_sps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 19); } public void vcmpunord_ssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 19); } public void vcmpunord_ssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 19); } public void vcmpunord_ssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 19); } public void vcmpunord_ssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 19); } public void vcmpunord_ssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 19); } public void vcmpunord_ssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 19); } public void vcmpunord_sss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 19); } public void vcmpunord_sss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 19); } public void vcmpunord_sss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 19); } public void vcmpunord_sss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 19); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmppd(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpph(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vcmpps(dst, src1, src2, 3); } public void vcmpunordsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 3); } public void vcmpunordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsd(dst, src1, src2, 3); } public void vcmpunordsd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 3); } public void vcmpunordsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsd(dst, src1, src2, 3); } public void vcmpunordsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpsh(dst, src1, src2, 3); } public void vcmpunordsh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpsh(dst, src1, src2, 3); } public void vcmpunordss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 3); } public void vcmpunordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vcmpss(dst, src1, src2, 3); } public void vcmpunordss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 3); } public void vcmpunordss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vcmpss(dst, src1, src2, 3); } public void vcomisd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcomisd_xmm_xmmm64 : Code.EVEX_Vcomisd_xmm_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcomisd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcomisd_xmm_xmmm64 : Code.EVEX_Vcomisd_xmm_xmmm64_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcomish(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcomish_xmm_xmmm16_sae, dst, src), src.Flags); } public void vcomish(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcomish_xmm_xmmm16_sae, register, in memory), src.Flags); } public void vcomiss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcomiss_xmm_xmmm32 : Code.EVEX_Vcomiss_xmm_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcomiss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcomiss_xmm_xmmm32 : Code.EVEX_Vcomiss_xmm_xmmm32_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcompresspd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vcompresspd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vcompresspd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vcompresspd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vcompresspd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vcompresspd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompresspd_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vcompressps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vcompressps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vcompressps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vcompressps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vcompressps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vcompressps(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcompressps_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vcvtdq2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtdq2pd_xmm_xmmm64 : Code.EVEX_Vcvtdq2pd_xmm_k1z_xmmm64b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtdq2pd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtdq2pd_ymm_xmmm128 : Code.EVEX_Vcvtdq2pd_ymm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtdq2pd(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2pd_zmm_k1z_ymmm256b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtdq2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtdq2pd_xmm_xmmm64 : Code.EVEX_Vcvtdq2pd_xmm_k1z_xmmm64b32) : Code.EVEX_Vcvtdq2pd_xmm_k1z_xmmm64b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtdq2pd_ymm_xmmm128 : Code.EVEX_Vcvtdq2pd_ymm_k1z_xmmm128b32) : Code.EVEX_Vcvtdq2pd_ymm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2pd_zmm_k1z_ymmm256b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtdq2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_xmm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvtdq2ph(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_ymm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtdq2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtdq2ph_xmm_k1z_ymmm256b32; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtdq2ph_xmm_k1z_ymmm256b32; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtdq2ph, dst, src); } code = Code.EVEX_Vcvtdq2ph_xmm_k1z_xmmm128b32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2ph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_ymm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2phy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ph_xmm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtdq2ps_xmm_xmmm128 : Code.EVEX_Vcvtdq2ps_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtdq2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtdq2ps_ymm_ymmm256 : Code.EVEX_Vcvtdq2ps_ymm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtdq2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ps_zmm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtdq2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtdq2ps_xmm_xmmm128 : Code.EVEX_Vcvtdq2ps_xmm_k1z_xmmm128b32) : Code.EVEX_Vcvtdq2ps_xmm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtdq2ps_ymm_ymmm256 : Code.EVEX_Vcvtdq2ps_ymm_k1z_ymmm256b32) : Code.EVEX_Vcvtdq2ps_ymm_k1z_ymmm256b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtdq2ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtdq2ps_zmm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtne2ps2bf16(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtne2ps2bf16_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtneebf162ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneebf162ps_xmm_m128, register, in memory)); } public void vcvtneebf162ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneebf162ps_ymm_m256, register, in memory)); } public void vcvtneeph2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneeph2ps_xmm_m128, register, in memory)); } public void vcvtneeph2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneeph2ps_ymm_m256, register, in memory)); } public void vcvtneobf162ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneobf162ps_xmm_m128, register, in memory)); } public void vcvtneobf162ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneobf162ps_ymm_m256, register, in memory)); } public void vcvtneoph2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneoph2ps_xmm_m128, register, in memory)); } public void vcvtneoph2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vcvtneoph2ps_ymm_m256, register, in memory)); } public void vcvtneps2bf16(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtneps2bf16_xmm_xmmm128 : Code.EVEX_Vcvtneps2bf16_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtneps2bf16(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtneps2bf16_xmm_ymmm256 : Code.EVEX_Vcvtneps2bf16_xmm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtneps2bf16(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtneps2bf16_ymm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vcvtneps2bf16(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtneps2bf16_xmm_k1z_ymmm256b32; } else if (src.Size == MemoryOperandSize.Yword) { code = (InstructionPreferVex ? Code.VEX_Vcvtneps2bf16_xmm_ymmm256 : Code.EVEX_Vcvtneps2bf16_xmm_k1z_ymmm256b32); } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtneps2bf16, dst, src); } code = (InstructionPreferVex ? Code.VEX_Vcvtneps2bf16_xmm_xmmm128 : Code.EVEX_Vcvtneps2bf16_xmm_k1z_xmmm128b32); } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtneps2bf16(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtneps2bf16_ymm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vcvtneps2bf16x(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtneps2bf16_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtneps2bf16y(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtneps2bf16_xmm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtpd2dq_xmm_xmmm128 : Code.EVEX_Vcvtpd2dq_xmm_k1z_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtpd2dq_xmm_ymmm256 : Code.EVEX_Vcvtpd2dq_xmm_k1z_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtpd2dq(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2dq_ymm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtpd2dq_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = (InstructionPreferVex ? Code.VEX_Vcvtpd2dq_xmm_ymmm256 : Code.EVEX_Vcvtpd2dq_xmm_k1z_ymmm256b64); } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtpd2dq, dst, src); } code = (InstructionPreferVex ? Code.VEX_Vcvtpd2dq_xmm_xmmm128 : Code.EVEX_Vcvtpd2dq_xmm_k1z_xmmm128b64); } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2dq_ymm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2dqx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2dq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2dqy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2dq_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtpd2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtpd2ph(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtpd2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vcvtpd2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtpd2ph_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtpd2ph, dst, src); } code = Code.EVEX_Vcvtpd2ph_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2phy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2phz(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ph_xmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtpd2ps_xmm_xmmm128 : Code.EVEX_Vcvtpd2ps_xmm_k1z_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtpd2ps(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtpd2ps_xmm_ymmm256 : Code.EVEX_Vcvtpd2ps_xmm_k1z_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtpd2ps(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ps_ymm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtpd2ps_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = (InstructionPreferVex ? Code.VEX_Vcvtpd2ps_xmm_ymmm256 : Code.EVEX_Vcvtpd2ps_xmm_k1z_ymmm256b64); } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtpd2ps, dst, src); } code = (InstructionPreferVex ? Code.VEX_Vcvtpd2ps_xmm_xmmm128 : Code.EVEX_Vcvtpd2ps_xmm_k1z_xmmm128b64); } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ps_ymm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2psx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ps_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2psy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2ps_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtpd2qq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtpd2qq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_zmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2qq_zmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtpd2udq(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtpd2udq(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_ymm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtpd2udq_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtpd2udq_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtpd2udq, dst, src); } code = Code.EVEX_Vcvtpd2udq_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_ymm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2udqx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2udqy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2udq_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtpd2uqq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtpd2uqq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_zmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtpd2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtpd2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtpd2uqq_zmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_xmm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2dq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_ymm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtph2dq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_zmm_k1z_ymmm256b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_xmm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_ymm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2dq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2dq_zmm_k1z_ymmm256b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_xmm_k1z_xmmm32b16, dst, src), dst.Flags); } public void vcvtph2pd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_ymm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2pd(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_zmm_k1z_xmmm128b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvtph2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_xmm_k1z_xmmm32b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_ymm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2pd_zmm_k1z_xmmm128b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvtph2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtph2ps_xmm_xmmm64 : Code.EVEX_Vcvtph2ps_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtph2ps(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtph2ps_ymm_xmmm128 : Code.EVEX_Vcvtph2ps_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtph2ps(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2ps_zmm_k1z_ymmm256_sae, dst, src), dst.Flags | src.Flags); } public void vcvtph2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtph2ps_xmm_xmmm64 : Code.EVEX_Vcvtph2ps_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vcvtph2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtph2ps_ymm_xmmm128 : Code.EVEX_Vcvtph2ps_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vcvtph2ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2ps_zmm_k1z_ymmm256_sae, register, in memory), dst.Flags | src.Flags); } public void vcvtph2psx(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_xmm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2psx(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_ymm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtph2psx(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_zmm_k1z_ymmm256b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvtph2psx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_xmm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2psx(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_ymm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2psx(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2psx_zmm_k1z_ymmm256b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvtph2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_xmm_k1z_xmmm32b16, dst, src), dst.Flags); } public void vcvtph2qq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_ymm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2qq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_zmm_k1z_xmmm128b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_xmm_k1z_xmmm32b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_ymm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2qq_zmm_k1z_xmmm128b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_xmm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2udq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_ymm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtph2udq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_zmm_k1z_ymmm256b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_xmm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_ymm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2udq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2udq_zmm_k1z_ymmm256b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_xmm_k1z_xmmm32b16, dst, src), dst.Flags); } public void vcvtph2uqq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_ymm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvtph2uqq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_zmm_k1z_xmmm128b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_xmm_k1z_xmmm32b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_ymm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uqq_zmm_k1z_xmmm128b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtph2uw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvtph2uw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_zmm_k1z_zmmm512b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2uw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2uw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2uw_zmm_k1z_zmmm512b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtph2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtph2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvtph2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_zmm_k1z_zmmm512b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtph2w(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2w(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvtph2w(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtph2w_zmm_k1z_zmmm512b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtps2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2dq_xmm_xmmm128 : Code.EVEX_Vcvtps2dq_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtps2dq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2dq_ymm_ymmm256 : Code.EVEX_Vcvtps2dq_ymm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtps2dq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2dq_zmm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtps2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtps2dq_xmm_xmmm128 : Code.EVEX_Vcvtps2dq_xmm_k1z_xmmm128b32) : Code.EVEX_Vcvtps2dq_xmm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtps2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtps2dq_ymm_ymmm256 : Code.EVEX_Vcvtps2dq_ymm_k1z_ymmm256b32) : Code.EVEX_Vcvtps2dq_ymm_k1z_ymmm256b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtps2dq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2dq_zmm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtps2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2pd_xmm_xmmm64 : Code.EVEX_Vcvtps2pd_xmm_k1z_xmmm64b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtps2pd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2pd_ymm_xmmm128 : Code.EVEX_Vcvtps2pd_ymm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvtps2pd(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2pd_zmm_k1z_ymmm256b32_sae, dst, src), dst.Flags | src.Flags); } public void vcvtps2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtps2pd_xmm_xmmm64 : Code.EVEX_Vcvtps2pd_xmm_k1z_xmmm64b32) : Code.EVEX_Vcvtps2pd_xmm_k1z_xmmm64b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtps2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvtps2pd_ymm_xmmm128 : Code.EVEX_Vcvtps2pd_ymm_k1z_xmmm128b32) : Code.EVEX_Vcvtps2pd_ymm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvtps2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2pd_zmm_k1z_ymmm256b32_sae, register, in memory), dst.Flags | src.Flags); } public void vcvtps2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm64_xmm_imm8 : Code.EVEX_Vcvtps2ph_xmmm64_k1z_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm64_xmm_imm8 : Code.EVEX_Vcvtps2ph_xmmm64_k1z_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm), dst.Flags); } public void vcvtps2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm128_ymm_imm8 : Code.EVEX_Vcvtps2ph_xmmm128_k1z_ymm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm128_ymm_imm8 : Code.EVEX_Vcvtps2ph_xmmm128_k1z_ymm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm), dst.Flags); } public void vcvtps2ph(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2ph_ymmm256_k1z_zmm_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2ph_ymmm256_k1z_zmm_imm8_sae, in memory, src1, imm), dst.Flags | src1.Flags); } public void vcvtps2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm64_xmm_imm8 : Code.EVEX_Vcvtps2ph_xmmm64_k1z_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm64_xmm_imm8 : Code.EVEX_Vcvtps2ph_xmmm64_k1z_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vcvtps2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm128_ymm_imm8 : Code.EVEX_Vcvtps2ph_xmmm128_k1z_ymm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtps2ph_xmmm128_ymm_imm8 : Code.EVEX_Vcvtps2ph_xmmm128_k1z_ymm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vcvtps2ph(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2ph_ymmm256_k1z_zmm_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vcvtps2ph(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2ph_ymmm256_k1z_zmm_imm8_sae, in memory, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vcvtps2phx(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtps2phx(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_xmm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvtps2phx(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_ymm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtps2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtps2phx_xmm_k1z_ymmm256b32; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtps2phx_xmm_k1z_ymmm256b32; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtps2phx, dst, src); } code = Code.EVEX_Vcvtps2phx_xmm_k1z_xmmm128b32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtps2phx(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_ymm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtps2phxx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2phxy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2phx_xmm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_xmm_k1z_xmmm64b32, dst, src), dst.Flags); } public void vcvtps2qq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_ymm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtps2qq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_zmm_k1z_ymmm256b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtps2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_xmm_k1z_xmmm64b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_ymm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2qq_zmm_k1z_ymmm256b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtps2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtps2udq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvtps2udq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_zmm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtps2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2udq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2udq_zmm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtps2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_xmm_k1z_xmmm64b32, dst, src), dst.Flags); } public void vcvtps2uqq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_ymm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtps2uqq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_zmm_k1z_ymmm256b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtps2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_xmm_k1z_xmmm64b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_ymm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtps2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtps2uqq_zmm_k1z_ymmm256b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtqq2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtqq2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_zmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtqq2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2pd_zmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtqq2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtqq2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vcvtqq2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtqq2ph_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtqq2ph, dst, src); } code = Code.EVEX_Vcvtqq2ph_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2phy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2phz(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ph_xmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtqq2ps(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtqq2ps(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_ymm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtqq2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtqq2ps_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtqq2ps_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtqq2ps, dst, src); } code = Code.EVEX_Vcvtqq2ps_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_ymm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2psx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtqq2psy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtqq2ps_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtsd2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2sh_xmm_k1z_xmm_xmmm64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtsd2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2sh_xmm_k1z_xmm_xmmm64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtsd2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2si_r32_xmmm64 : Code.EVEX_Vcvtsd2si_r32_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvtsd2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2si_r64_xmmm64 : Code.EVEX_Vcvtsd2si_r64_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvtsd2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2si_r32_xmmm64 : Code.EVEX_Vcvtsd2si_r32_xmmm64_er); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvtsd2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2si_r64_xmmm64 : Code.EVEX_Vcvtsd2si_r64_xmmm64_er); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvtsd2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2ss_xmm_xmm_xmmm64 : Code.EVEX_Vcvtsd2ss_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtsd2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsd2ss_xmm_xmm_xmmm64 : Code.EVEX_Vcvtsd2ss_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtsd2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2usi_r32_xmmm64_er, dst, src), src.Flags); } public void vcvtsd2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2usi_r64_xmmm64_er, dst, src), src.Flags); } public void vcvtsd2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2usi_r32_xmmm64_er, register, in memory), src.Flags); } public void vcvtsd2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsd2usi_r64_xmmm64_er, register, in memory), src.Flags); } public void vcvtsh2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2sd_xmm_k1z_xmm_xmmm16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtsh2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2sd_xmm_k1z_xmm_xmmm16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtsh2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2si_r32_xmmm16_er, dst, src), src.Flags); } public void vcvtsh2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2si_r64_xmmm16_er, dst, src), src.Flags); } public void vcvtsh2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2si_r32_xmmm16_er, register, in memory), src.Flags); } public void vcvtsh2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2si_r64_xmmm16_er, register, in memory), src.Flags); } public void vcvtsh2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2ss_xmm_k1z_xmm_xmmm16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtsh2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2ss_xmm_k1z_xmm_xmmm16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtsh2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2usi_r32_xmmm16_er, dst, src), src.Flags); } public void vcvtsh2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2usi_r64_xmmm16_er, dst, src), src.Flags); } public void vcvtsh2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2usi_r32_xmmm16_er, register, in memory), src.Flags); } public void vcvtsh2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtsh2usi_r64_xmmm16_er, register, in memory), src.Flags); } public void vcvtsi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsi2sd_xmm_xmm_rm32 : Code.EVEX_Vcvtsi2sd_xmm_xmm_rm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), src2.Flags); } public void vcvtsi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsi2sd_xmm_xmm_rm64 : Code.EVEX_Vcvtsi2sd_xmm_xmm_rm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), src2.Flags); } public void vcvtsi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = (InstructionPreferVex ? Code.VEX_Vcvtsi2sd_xmm_xmm_rm64 : Code.EVEX_Vcvtsi2sd_xmm_xmm_rm64_er); } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtsi2sd, dst, src1, src2); } code = (InstructionPreferVex ? Code.VEX_Vcvtsi2sd_xmm_xmm_rm32 : Code.EVEX_Vcvtsi2sd_xmm_xmm_rm32_er); } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtsi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsi2sh_xmm_xmm_rm32_er, dst, src1, src2), src2.Flags); } public void vcvtsi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtsi2sh_xmm_xmm_rm64_er, dst, src1, src2), src2.Flags); } public void vcvtsi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = Code.EVEX_Vcvtsi2sh_xmm_xmm_rm64_er; } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtsi2sh, dst, src1, src2); } code = Code.EVEX_Vcvtsi2sh_xmm_xmm_rm32_er; } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtsi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsi2ss_xmm_xmm_rm32 : Code.EVEX_Vcvtsi2ss_xmm_xmm_rm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), src2.Flags); } public void vcvtsi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtsi2ss_xmm_xmm_rm64 : Code.EVEX_Vcvtsi2ss_xmm_xmm_rm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), src2.Flags); } public void vcvtsi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = (InstructionPreferVex ? Code.VEX_Vcvtsi2ss_xmm_xmm_rm64 : Code.EVEX_Vcvtsi2ss_xmm_xmm_rm64_er); } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtsi2ss, dst, src1, src2); } code = (InstructionPreferVex ? Code.VEX_Vcvtsi2ss_xmm_xmm_rm32 : Code.EVEX_Vcvtsi2ss_xmm_xmm_rm32_er); } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtss2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2sd_xmm_xmm_xmmm32 : Code.EVEX_Vcvtss2sd_xmm_k1z_xmm_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtss2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2sd_xmm_xmm_xmmm32 : Code.EVEX_Vcvtss2sd_xmm_k1z_xmm_xmmm32_sae); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtss2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2sh_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vcvtss2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2sh_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vcvtss2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2si_r32_xmmm32 : Code.EVEX_Vcvtss2si_r32_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvtss2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2si_r64_xmmm32 : Code.EVEX_Vcvtss2si_r64_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvtss2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2si_r32_xmmm32 : Code.EVEX_Vcvtss2si_r32_xmmm32_er); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvtss2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvtss2si_r64_xmmm32 : Code.EVEX_Vcvtss2si_r64_xmmm32_er); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvtss2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2usi_r32_xmmm32_er, dst, src), src.Flags); } public void vcvtss2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2usi_r64_xmmm32_er, dst, src), src.Flags); } public void vcvtss2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2usi_r32_xmmm32_er, register, in memory), src.Flags); } public void vcvtss2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtss2usi_r64_xmmm32_er, register, in memory), src.Flags); } public void vcvttpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttpd2dq_xmm_xmmm128 : Code.EVEX_Vcvttpd2dq_xmm_k1z_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvttpd2dq(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttpd2dq_xmm_ymmm256 : Code.EVEX_Vcvttpd2dq_xmm_k1z_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvttpd2dq(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2dq_ymm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vcvttpd2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvttpd2dq_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = (InstructionPreferVex ? Code.VEX_Vcvttpd2dq_xmm_ymmm256 : Code.EVEX_Vcvttpd2dq_xmm_k1z_ymmm256b64); } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvttpd2dq, dst, src); } code = (InstructionPreferVex ? Code.VEX_Vcvttpd2dq_xmm_xmmm128 : Code.EVEX_Vcvttpd2dq_xmm_k1z_xmmm128b64); } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2dq_ymm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2dqx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2dq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2dqy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2dq_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvttpd2qq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvttpd2qq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vcvttpd2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2qq_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvttpd2udq(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvttpd2udq(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_ymm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vcvttpd2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvttpd2udq_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvttpd2udq_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvttpd2udq, dst, src); } code = Code.EVEX_Vcvttpd2udq_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_ymm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2udqx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2udqy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2udq_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvttpd2uqq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvttpd2uqq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vcvttpd2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvttpd2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttpd2uqq_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_xmm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvttph2dq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_ymm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvttph2dq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_zmm_k1z_ymmm256b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_xmm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_ymm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2dq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2dq_zmm_k1z_ymmm256b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_xmm_k1z_xmmm32b16, dst, src), dst.Flags); } public void vcvttph2qq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_ymm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvttph2qq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_zmm_k1z_xmmm128b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_xmm_k1z_xmmm32b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_ymm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2qq_zmm_k1z_xmmm128b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_xmm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvttph2udq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_ymm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvttph2udq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_zmm_k1z_ymmm256b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_xmm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_ymm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2udq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2udq_zmm_k1z_ymmm256b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_xmm_k1z_xmmm32b16, dst, src), dst.Flags); } public void vcvttph2uqq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_ymm_k1z_xmmm64b16, dst, src), dst.Flags); } public void vcvttph2uqq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_zmm_k1z_xmmm128b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_xmm_k1z_xmmm32b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_ymm_k1z_xmmm64b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uqq_zmm_k1z_xmmm128b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvttph2uw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvttph2uw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_zmm_k1z_zmmm512b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2uw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2uw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2uw_zmm_k1z_zmmm512b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttph2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvttph2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvttph2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_zmm_k1z_zmmm512b16_sae, dst, src), dst.Flags | src.Flags); } public void vcvttph2w(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2w(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvttph2w(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttph2w_zmm_k1z_zmmm512b16_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttps2dq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttps2dq_xmm_xmmm128 : Code.EVEX_Vcvttps2dq_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvttps2dq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttps2dq_ymm_ymmm256 : Code.EVEX_Vcvttps2dq_ymm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vcvttps2dq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2dq_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vcvttps2dq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvttps2dq_xmm_xmmm128 : Code.EVEX_Vcvttps2dq_xmm_k1z_xmmm128b32) : Code.EVEX_Vcvttps2dq_xmm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvttps2dq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vcvttps2dq_ymm_ymmm256 : Code.EVEX_Vcvttps2dq_ymm_k1z_ymmm256b32) : Code.EVEX_Vcvttps2dq_ymm_k1z_ymmm256b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vcvttps2dq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2dq_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttps2qq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_xmm_k1z_xmmm64b32, dst, src), dst.Flags); } public void vcvttps2qq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_ymm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvttps2qq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_zmm_k1z_ymmm256b32_sae, dst, src), dst.Flags | src.Flags); } public void vcvttps2qq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_xmm_k1z_xmmm64b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2qq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_ymm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2qq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2qq_zmm_k1z_ymmm256b32_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttps2udq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvttps2udq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvttps2udq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vcvttps2udq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2udq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2udq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2udq_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttps2uqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_xmm_k1z_xmmm64b32, dst, src), dst.Flags); } public void vcvttps2uqq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_ymm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvttps2uqq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_zmm_k1z_ymmm256b32_sae, dst, src), dst.Flags | src.Flags); } public void vcvttps2uqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_xmm_k1z_xmmm64b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2uqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_ymm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvttps2uqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttps2uqq_zmm_k1z_ymmm256b32_sae, register, in memory), dst.Flags | src.Flags); } public void vcvttsd2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttsd2si_r32_xmmm64 : Code.EVEX_Vcvttsd2si_r32_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvttsd2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttsd2si_r64_xmmm64 : Code.EVEX_Vcvttsd2si_r64_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvttsd2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttsd2si_r32_xmmm64 : Code.EVEX_Vcvttsd2si_r32_xmmm64_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvttsd2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttsd2si_r64_xmmm64 : Code.EVEX_Vcvttsd2si_r64_xmmm64_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvttsd2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsd2usi_r32_xmmm64_sae, dst, src), src.Flags); } public void vcvttsd2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsd2usi_r64_xmmm64_sae, dst, src), src.Flags); } public void vcvttsd2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsd2usi_r32_xmmm64_sae, register, in memory), src.Flags); } public void vcvttsd2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsd2usi_r64_xmmm64_sae, register, in memory), src.Flags); } public void vcvttsh2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2si_r32_xmmm16_sae, dst, src), src.Flags); } public void vcvttsh2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2si_r64_xmmm16_sae, dst, src), src.Flags); } public void vcvttsh2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2si_r32_xmmm16_sae, register, in memory), src.Flags); } public void vcvttsh2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2si_r64_xmmm16_sae, register, in memory), src.Flags); } public void vcvttsh2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2usi_r32_xmmm16_sae, dst, src), src.Flags); } public void vcvttsh2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2usi_r64_xmmm16_sae, dst, src), src.Flags); } public void vcvttsh2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2usi_r32_xmmm16_sae, register, in memory), src.Flags); } public void vcvttsh2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttsh2usi_r64_xmmm16_sae, register, in memory), src.Flags); } public void vcvttss2si(AssemblerRegister32 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttss2si_r32_xmmm32 : Code.EVEX_Vcvttss2si_r32_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvttss2si(AssemblerRegister64 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttss2si_r64_xmmm32 : Code.EVEX_Vcvttss2si_r64_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vcvttss2si(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttss2si_r32_xmmm32 : Code.EVEX_Vcvttss2si_r32_xmmm32_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvttss2si(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vcvttss2si_r64_xmmm32 : Code.EVEX_Vcvttss2si_r64_xmmm32_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vcvttss2usi(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttss2usi_r32_xmmm32_sae, dst, src), src.Flags); } public void vcvttss2usi(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvttss2usi_r64_xmmm32_sae, dst, src), src.Flags); } public void vcvttss2usi(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttss2usi_r32_xmmm32_sae, register, in memory), src.Flags); } public void vcvttss2usi(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvttss2usi_r64_xmmm32_sae, register, in memory), src.Flags); } public void vcvtudq2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_xmm_k1z_xmmm64b32, dst, src), dst.Flags); } public void vcvtudq2pd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_ymm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtudq2pd(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_zmm_k1z_ymmm256b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtudq2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_xmm_k1z_xmmm64b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_ymm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2pd_zmm_k1z_ymmm256b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtudq2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_xmm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvtudq2ph(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_ymm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtudq2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtudq2ph_xmm_k1z_ymmm256b32; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtudq2ph_xmm_k1z_ymmm256b32; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtudq2ph, dst, src); } code = Code.EVEX_Vcvtudq2ph_xmm_k1z_xmmm128b32; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2ph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_ymm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2phy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ph_xmm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vcvtudq2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vcvtudq2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_zmm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vcvtudq2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vcvtudq2ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtudq2ps_zmm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtuqq2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtuqq2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_zmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtuqq2pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2pd_zmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtuqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtuqq2ph(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtuqq2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtuqq2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vcvtuqq2ph_xmm_k1z_zmmm512b64_er; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtuqq2ph_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtuqq2ph, dst, src); } code = Code.EVEX_Vcvtuqq2ph_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2phx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2phy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2phz(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ph_xmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vcvtuqq2ps(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_xmm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vcvtuqq2ps(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_ymm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vcvtuqq2ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.IsBroadcast) { code = Code.EVEX_Vcvtuqq2ps_xmm_k1z_ymmm256b64; } else if (src.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vcvtuqq2ps_xmm_k1z_ymmm256b64; } else { if (src.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtuqq2ps, dst, src); } code = Code.EVEX_Vcvtuqq2ps_xmm_k1z_xmmm128b64; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_ymm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2psx(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vcvtuqq2psy(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuqq2ps_xmm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vcvtusi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2sd_xmm_xmm_rm32_er, dst, src1, src2), src2.Flags); } public void vcvtusi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2sd_xmm_xmm_rm64_er, dst, src1, src2), src2.Flags); } public void vcvtusi2sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = Code.EVEX_Vcvtusi2sd_xmm_xmm_rm64_er; } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtusi2sd, dst, src1, src2); } code = Code.EVEX_Vcvtusi2sd_xmm_xmm_rm32_er; } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtusi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2sh_xmm_xmm_rm32_er, dst, src1, src2), src2.Flags); } public void vcvtusi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2sh_xmm_xmm_rm64_er, dst, src1, src2), src2.Flags); } public void vcvtusi2sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = Code.EVEX_Vcvtusi2sh_xmm_xmm_rm64_er; } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtusi2sh, dst, src1, src2); } code = Code.EVEX_Vcvtusi2sh_xmm_xmm_rm32_er; } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtusi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2ss_xmm_xmm_rm32_er, dst, src1, src2), src2.Flags); } public void vcvtusi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtusi2ss_xmm_xmm_rm64_er, dst, src1, src2), src2.Flags); } public void vcvtusi2ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code; if (src2.Size == MemoryOperandSize.Qword) { code = Code.EVEX_Vcvtusi2ss_xmm_xmm_rm64_er; } else { if (src2.Size != MemoryOperandSize.Dword) { throw NoOpCodeFoundFor(Mnemonic.Vcvtusi2ss, dst, src1, src2); } code = Code.EVEX_Vcvtusi2ss_xmm_xmm_rm32_er; } Code code2 = code; Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, register2, in memory), src2.Flags); } public void vcvtuw2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtuw2ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvtuw2ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_zmm_k1z_zmmm512b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtuw2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtuw2ph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvtuw2ph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtuw2ph_zmm_k1z_zmmm512b16_er, register, in memory), dst.Flags | src.Flags); } public void vcvtw2ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vcvtw2ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vcvtw2ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_zmm_k1z_zmmm512b16_er, dst, src), dst.Flags | src.Flags); } public void vcvtw2ph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vcvtw2ph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vcvtw2ph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vcvtw2ph_zmm_k1z_zmmm512b16_er, register, in memory), dst.Flags | src.Flags); } public void vdbpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_xmm_k1z_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_ymm_k1z_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_zmm_k1z_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_xmm_k1z_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_ymm_k1z_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_zmm_k1z_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vdbpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdbpsadbw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vdivpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivpd_xmm_xmm_xmmm128 : Code.EVEX_Vdivpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vdivpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivpd_ymm_ymm_ymmm256 : Code.EVEX_Vdivpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vdivpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivpd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vdivpd_xmm_xmm_xmmm128 : Code.EVEX_Vdivpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vdivpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vdivpd_ymm_ymm_ymmm256 : Code.EVEX_Vdivpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vdivpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivpd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vdivph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vdivph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivps_xmm_xmm_xmmm128 : Code.EVEX_Vdivps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vdivps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivps_ymm_ymm_ymmm256 : Code.EVEX_Vdivps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vdivps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vdivps_xmm_xmm_xmmm128 : Code.EVEX_Vdivps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vdivps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vdivps_ymm_ymm_ymmm256 : Code.EVEX_Vdivps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vdivps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivsd_xmm_xmm_xmmm64 : Code.EVEX_Vdivsd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivsd_xmm_xmm_xmmm64 : Code.EVEX_Vdivsd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdivsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdivsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vdivss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivss_xmm_xmm_xmmm32 : Code.EVEX_Vdivss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vdivss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vdivss_xmm_xmm_xmmm32 : Code.EVEX_Vdivss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vdpbf16ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vdpbf16ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vdpbf16ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vdpbf16ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vdpbf16ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vdpbf16ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vdpbf16ps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vdppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdppd_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vdppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdppd_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vdppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdppd_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vdppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdppd_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vdpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdpps_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vdpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdpps_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vdpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdpps_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vdpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdpps_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vdpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdpps_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vdpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vdpps_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vdpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdpps_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vdpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vdpps_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void verr(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Verr_rm16, dst)); } public void verr(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Verr_r32m16, dst)); } public void verr(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Verr_r64m16, dst)); } public void verr(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Verr_r32m16 : Code.Verr_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void verw(AssemblerRegister16 dst) { AddInstruction(Instruction.Create(Code.Verw_rm16, dst)); } public void verw(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Verw_r32m16, dst)); } public void verw(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Verw_r64m16, dst)); } public void verw(AssemblerMemoryOperand dst) { Code code = ((Bitness >= 32) ? Code.Verw_r32m16 : Code.Verw_rm16); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory)); } public void vexp2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexp2pd_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vexp2pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexp2pd_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vexp2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexp2ps_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vexp2ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexp2ps_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vexpandpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vexpandpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vexpandpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vexpandpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vexpandpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vexpandpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandpd_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vexpandps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vexpandps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vexpandps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vexpandps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vexpandps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vexpandps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vexpandps_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vextractf128(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vextractf128_xmmm128_ymm_imm8, dst, src1, imm)); } public void vextractf128(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vextractf128_xmmm128_ymm_imm8, in memory, src1, imm)); } public void vextractf128(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vextractf128_xmmm128_ymm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vextractf128(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vextractf128_xmmm128_ymm_imm8, in memory, (Register)src1, (uint)imm)); } public void vextractf32x4(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_ymm_imm8, dst, src1, imm), dst.Flags); } public void vextractf32x4(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_ymm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf32x4(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextractf32x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf32x4(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_ymm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf32x4(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_ymm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractf32x4(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf32x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x4_xmmm128_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractf32x8(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x8_ymmm256_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextractf32x8(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x8_ymmm256_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf32x8(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x8_ymmm256_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf32x8(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf32x8_ymmm256_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x2(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_ymm_imm8, dst, src1, imm), dst.Flags); } public void vextractf64x2(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_ymm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf64x2(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextractf64x2(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf64x2(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_ymm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x2(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_ymm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x2(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x2(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x2_xmmm128_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x4(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x4_ymmm256_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextractf64x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x4_ymmm256_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextractf64x4(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x4_ymmm256_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextractf64x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextractf64x4_ymmm256_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti128(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vextracti128_xmmm128_ymm_imm8, dst, src1, imm)); } public void vextracti128(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vextracti128_xmmm128_ymm_imm8, in memory, src1, imm)); } public void vextracti128(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vextracti128_xmmm128_ymm_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vextracti128(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vextracti128_xmmm128_ymm_imm8, in memory, (Register)src1, (uint)imm)); } public void vextracti32x4(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_ymm_imm8, dst, src1, imm), dst.Flags); } public void vextracti32x4(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_ymm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti32x4(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextracti32x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti32x4(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_ymm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti32x4(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_ymm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti32x4(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti32x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x4_xmmm128_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti32x8(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x8_ymmm256_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextracti32x8(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x8_ymmm256_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti32x8(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x8_ymmm256_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti32x8(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti32x8_ymmm256_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x2(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_ymm_imm8, dst, src1, imm), dst.Flags); } public void vextracti64x2(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_ymm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti64x2(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextracti64x2(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti64x2(AssemblerRegisterXMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_ymm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x2(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_ymm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x2(AssemblerRegisterXMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x2(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x2_xmmm128_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x4(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x4_ymmm256_k1z_zmm_imm8, dst, src1, imm), dst.Flags); } public void vextracti64x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, sbyte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x4_ymmm256_k1z_zmm_imm8, in memory, src1, imm), dst.Flags); } public void vextracti64x4(AssemblerRegisterYMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x4_ymmm256_k1z_zmm_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vextracti64x4(AssemblerMemoryOperand dst, AssemblerRegisterZMM src1, byte imm) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vextracti64x4_ymmm256_k1z_zmm_imm8, in memory, (Register)src1, (uint)imm), dst.Flags); } public void vextractps(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_rm32_xmm_imm8 : Code.EVEX_Vextractps_rm32_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vextractps(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_r64m32_xmm_imm8 : Code.EVEX_Vextractps_r64m32_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vextractps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_rm32_xmm_imm8 : Code.EVEX_Vextractps_rm32_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm)); } public void vextractps(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_rm32_xmm_imm8 : Code.EVEX_Vextractps_rm32_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vextractps(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_r64m32_xmm_imm8 : Code.EVEX_Vextractps_r64m32_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vextractps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vextractps_rm32_xmm_imm8 : Code.EVEX_Vextractps_rm32_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm)); } public void vfcmaddcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vfcmaddcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vfcmaddcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfcmaddcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmaddcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmaddcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcph_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmaddcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcsh_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfcmaddcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmaddcsh_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmulcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vfcmulcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vfcmulcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfcmulcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmulcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmulcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcph_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfcmulcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcsh_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfcmulcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfcmulcsh_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vfixupimmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vfixupimmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_zmm_k1z_zmm_zmmm512b64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_zmm_k1z_zmm_zmmm512b64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vfixupimmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vfixupimmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_zmm_k1z_zmm_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmpd_zmm_k1z_zmm_zmmm512b64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vfixupimmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vfixupimmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_zmm_k1z_zmm_zmmm512b32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_zmm_k1z_zmm_zmmm512b32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vfixupimmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vfixupimmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_zmm_k1z_zmm_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmps_zmm_k1z_zmm_zmmm512b32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmsd_xmm_k1z_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vfixupimmsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmsd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmsd_xmm_k1z_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmsd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmss_xmm_k1z_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vfixupimmss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmss_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vfixupimmss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmss_xmm_k1z_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vfixupimmss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfixupimmss_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vfmadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmadd132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmadd132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmadd132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmadd132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd132sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd132sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd132sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd132ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd132ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmadd213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmadd213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmadd213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmadd213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd213sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd213sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd213sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd213ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd213ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmadd231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmadd231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmadd231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmadd231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmadd231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmadd231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd231sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmadd231sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmadd231sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmadd231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd231ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmadd231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmadd231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmadd231ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vfmaddcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vfmaddcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcph_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcsh_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddcsh_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddsd_xmm_xmm_xmmm64_xmm, dst, src1, src2, src3)); } public void vfmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsd_xmm_xmm_xmmm64_xmm, register, register2, in memory, src3)); } public void vfmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsd_xmm_xmm_xmm_xmmm64, register, register2, register3, in memory)); } public void vfmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddss_xmm_xmm_xmmm32_xmm, dst, src1, src2, src3)); } public void vfmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddss_xmm_xmm_xmmm32_xmm, register, register2, in memory, src3)); } public void vfmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddss_xmm_xmm_xmm_xmmm32, register, register2, register3, in memory)); } public void vfmaddsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmaddsub132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmaddsub132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmaddsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmaddsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmaddsub132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmaddsub132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmaddsub213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmaddsub213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmaddsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmaddsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmaddsub213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmaddsub213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmaddsub231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmaddsub231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmaddsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmaddsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmaddsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmaddsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmaddsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmaddsub231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmaddsub231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmaddsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmaddsub231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmaddsub231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmaddsub231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmaddsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmaddsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmaddsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmaddsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmaddsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmaddsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmaddsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmaddsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmaddsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmaddsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmaddsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmaddsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmaddsubps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsub132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsub132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsub132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsub132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub132sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub132sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub132sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub132ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub132ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsub213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsub213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsub213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsub213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub213sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub213sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub213sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub213ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub213ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsub231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsub231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsub231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsub231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsub231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsub231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub231sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfmsub231sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsub231sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsub231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub231ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsub231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsub231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfmsub231ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsubadd132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsubadd132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsubadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsubadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsubadd132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsubadd132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsubadd213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsubadd213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsubadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsubadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsubadd213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsubadd213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfmsubadd231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfmsubadd231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfmsubadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfmsubadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfmsubadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfmsubadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmsubadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfmsubadd231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfmsubadd231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfmsubadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfmsubadd231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfmsubadd231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmsubadd231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmsubaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmsubaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmsubaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmsubaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmsubaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmsubaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmsubaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmsubaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmsubaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmsubaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmsubaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmsubaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubaddps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubsd_xmm_xmm_xmmm64_xmm, dst, src1, src2, src3)); } public void vfmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubsd_xmm_xmm_xmmm64_xmm, register, register2, in memory, src3)); } public void vfmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubsd_xmm_xmm_xmm_xmmm64, register, register2, register3, in memory)); } public void vfmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfmsubss_xmm_xmm_xmmm32_xmm, dst, src1, src2, src3)); } public void vfmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubss_xmm_xmm_xmmm32_xmm, register, register2, in memory, src3)); } public void vfmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfmsubss_xmm_xmm_xmm_xmmm32, register, register2, register3, in memory)); } public void vfmulcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vfmulcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vfmulcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmulcph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmulcph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmulcph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmulcph_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfmulcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfmulcsh_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfmulcsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfmulcsh_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmadd132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmadd132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmadd132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmadd132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd132sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd132sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd132sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd132ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd132ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmadd213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmadd213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmadd213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmadd213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd213sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd213sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd213sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd213ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd213ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmadd231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmadd231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmadd231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmadd231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmadd231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmadd231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmadd231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd231sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmadd231sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmadd231sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmadd231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd231ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmadd231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmadd231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmadd231ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfnmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfnmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfnmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfnmaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfnmaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfnmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfnmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfnmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfnmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfnmaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfnmaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfnmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddsd_xmm_xmm_xmmm64_xmm, dst, src1, src2, src3)); } public void vfnmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddsd_xmm_xmm_xmmm64_xmm, register, register2, in memory, src3)); } public void vfnmaddsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddsd_xmm_xmm_xmm_xmmm64, register, register2, register3, in memory)); } public void vfnmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmaddss_xmm_xmm_xmmm32_xmm, dst, src1, src2, src3)); } public void vfnmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddss_xmm_xmm_xmmm32_xmm, register, register2, in memory, src3)); } public void vfnmaddss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmaddss_xmm_xmm_xmm_xmmm32, register, register2, register3, in memory)); } public void vfnmsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub132pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub132pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub132pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub132pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmsub132pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub132pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub132pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmsub132pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub132ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub132ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub132ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub132ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmsub132ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub132ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub132ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmsub132ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub132sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub132sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub132sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub132ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub132ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub132ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub132ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub213pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub213pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub213pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub213pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmsub213pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub213pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub213pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmsub213pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub213ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub213ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub213ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub213ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmsub213ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub213ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub213ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmsub213ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub213sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub213sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub213sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub213ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub213ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub213ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub213ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub231pd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub231pd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231pd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub231pd_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub231pd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vfnmsub231pd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub231pd_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub231pd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vfnmsub231pd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231pd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vfnmsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vfnmsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231ph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub231ps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub231ps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vfnmsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub231ps_xmm_xmm_xmmm128 : Code.EVEX_Vfnmsub231ps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vfnmsub231ps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vfnmsub231ps_ymm_ymm_ymmm256 : Code.EVEX_Vfnmsub231ps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vfnmsub231ps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231ps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub231sd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231sd_xmm_xmm_xmmm64 : Code.EVEX_Vfnmsub231sd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231sh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231sh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfnmsub231sh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsub231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub231ss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vfnmsub231ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vfnmsub231ss_xmm_xmm_xmmm32 : Code.EVEX_Vfnmsub231ss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vfnmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfnmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfnmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfnmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfnmsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfnmsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubpd_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfnmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vfnmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vfnmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vfnmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vfnmsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vfnmsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubps_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vfnmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubsd_xmm_xmm_xmmm64_xmm, dst, src1, src2, src3)); } public void vfnmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubsd_xmm_xmm_xmmm64_xmm, register, register2, in memory, src3)); } public void vfnmsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubsd_xmm_xmm_xmm_xmmm64, register, register2, register3, in memory)); } public void vfnmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vfnmsubss_xmm_xmm_xmmm32_xmm, dst, src1, src2, src3)); } public void vfnmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubss_xmm_xmm_xmmm32_xmm, register, register2, in memory, src3)); } public void vfnmsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vfnmsubss_xmm_xmm_xmm_xmmm32, register, register2, register3, in memory)); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclasspd, dst, src1, imm); } code = Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclasspd(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclasspd, dst, src1, imm); } code = Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspdx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspdx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspdy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspdy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspdz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspdz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8, dst, src1, imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8, dst, src1, imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8, dst, src1, imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclassph, dst, src1, imm); } code = Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassph(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclassph, dst, src1, imm); } code = Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclassphx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclassphx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclassphy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclassphy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclassphz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclassphz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclassps, dst, src1, imm); } code = Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassps(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Code code; if (src1.IsBroadcast) { code = Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8; } else if (src1.Size == MemoryOperandSize.Zword) { code = Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8; } else if (src1.Size == MemoryOperandSize.Yword) { code = Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8; } else { if (src1.Size != MemoryOperandSize.Xword) { throw NoOpCodeFoundFor(Mnemonic.Vfpclassps, dst, src1, imm); } code = Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspsx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspsx(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspsy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspsy(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasspsz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vfpclasspsz(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vfpclasssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssd_kr_k1_xmmm64_imm8, dst, src1, imm), dst.Flags); } public void vfpclasssd(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssd_kr_k1_xmmm64_imm8, register, in memory, imm), dst.Flags); } public void vfpclasssd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssd_kr_k1_xmmm64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclasssd(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssd_kr_k1_xmmm64_imm8, register, in memory, (uint)imm), dst.Flags); } public void vfpclasssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssh_kr_k1_xmmm16_imm8, dst, src1, imm), dst.Flags); } public void vfpclasssh(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssh_kr_k1_xmmm16_imm8, register, in memory, imm), dst.Flags); } public void vfpclasssh(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssh_kr_k1_xmmm16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclasssh(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclasssh_kr_k1_xmmm16_imm8, register, in memory, (uint)imm), dst.Flags); } public void vfpclassss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassss_kr_k1_xmmm32_imm8, dst, src1, imm), dst.Flags); } public void vfpclassss(AssemblerRegisterK dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassss_kr_k1_xmmm32_imm8, register, in memory, imm), dst.Flags); } public void vfpclassss(AssemblerRegisterK dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vfpclassss_kr_k1_xmmm32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vfpclassss(AssemblerRegisterK dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vfpclassss_kr_k1_xmmm32_imm8, register, in memory, (uint)imm), dst.Flags); } public void vfrczpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczpd_xmm_xmmm128, dst, src)); } public void vfrczpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczpd_ymm_ymmm256, dst, src)); } public void vfrczpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczpd_xmm_xmmm128, register, in memory)); } public void vfrczpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczpd_ymm_ymmm256, register, in memory)); } public void vfrczps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczps_xmm_xmmm128, dst, src)); } public void vfrczps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczps_ymm_ymmm256, dst, src)); } public void vfrczps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczps_xmm_xmmm128, register, in memory)); } public void vfrczps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczps_ymm_ymmm256, register, in memory)); } public void vfrczsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczsd_xmm_xmmm64, dst, src)); } public void vfrczsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczsd_xmm_xmmm64, register, in memory)); } public void vfrczss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vfrczss_xmm_xmmm32, dst, src)); } public void vfrczss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vfrczss_xmm_xmmm32, register, in memory)); } public void vgatherdpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdpd_xmm_k1_vm32x, register, in memory), dst.Flags); } public void vgatherdpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdpd_ymm_k1_vm32x, register, in memory), dst.Flags); } public void vgatherdpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdpd_zmm_k1_vm32y, register, in memory), dst.Flags); } public void vgatherdpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherdpd_xmm_vm32x_xmm, register, in memory, src2)); } public void vgatherdpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherdpd_ymm_vm32x_ymm, register, in memory, src2)); } public void vgatherdps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdps_xmm_k1_vm32x, register, in memory), dst.Flags); } public void vgatherdps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdps_ymm_k1_vm32y, register, in memory), dst.Flags); } public void vgatherdps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherdps_zmm_k1_vm32z, register, in memory), dst.Flags); } public void vgatherdps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherdps_xmm_vm32x_xmm, register, in memory, src2)); } public void vgatherdps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherdps_ymm_vm32y_ymm, register, in memory, src2)); } public void vgatherpf0dpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf0dpd_vm32y_k1, in memory), dst.Flags); } public void vgatherpf0dps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf0dps_vm32z_k1, in memory), dst.Flags); } public void vgatherpf0qpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf0qpd_vm64z_k1, in memory), dst.Flags); } public void vgatherpf0qps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf0qps_vm64z_k1, in memory), dst.Flags); } public void vgatherpf1dpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf1dpd_vm32y_k1, in memory), dst.Flags); } public void vgatherpf1dps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf1dps_vm32z_k1, in memory), dst.Flags); } public void vgatherpf1qpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf1qpd_vm64z_k1, in memory), dst.Flags); } public void vgatherpf1qps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherpf1qps_vm64z_k1, in memory), dst.Flags); } public void vgatherqpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherqpd_xmm_k1_vm64x, register, in memory), dst.Flags); } public void vgatherqpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherqpd_ymm_k1_vm64y, register, in memory), dst.Flags); } public void vgatherqpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherqpd_zmm_k1_vm64z, register, in memory), dst.Flags); } public void vgatherqpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherqpd_xmm_vm64x_xmm, register, in memory, src2)); } public void vgatherqpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vgatherqpd_ymm_vm64y_ymm, register, in memory, src2)); } public void vgatherqps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.Index.IsXMM()) { code = Code.EVEX_Vgatherqps_xmm_k1_vm64x; } else { if (!src.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vgatherqps, dst, src); } code = Code.EVEX_Vgatherqps_xmm_k1_vm64y; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags); } public void vgatherqps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgatherqps_ymm_k1_vm64z, register, in memory), dst.Flags); } public void vgatherqps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Code code; if (src1.Index.IsXMM()) { code = Code.VEX_Vgatherqps_xmm_vm64x_xmm; } else { if (!src1.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vgatherqps, dst, src1, src2); } code = Code.VEX_Vgatherqps_xmm_vm64y_xmm; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, src2)); } public void vgetexppd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vgetexppd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vgetexppd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vgetexppd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vgetexppd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vgetexppd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexppd_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vgetexpph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vgetexpph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vgetexpph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_zmm_k1z_zmmm512b16_sae, dst, src), dst.Flags | src.Flags); } public void vgetexpph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vgetexpph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vgetexpph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpph_zmm_k1z_zmmm512b16_sae, register, in memory), dst.Flags | src.Flags); } public void vgetexpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vgetexpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vgetexpps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vgetexpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vgetexpps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vgetexpps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpps_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vgetexpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpsd_xmm_k1z_xmm_xmmm64_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vgetexpsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpsd_xmm_k1z_xmm_xmmm64_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vgetexpsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpsh_xmm_k1z_xmm_xmmm16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vgetexpsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpsh_xmm_k1z_xmm_xmmm16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vgetexpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vgetexpss_xmm_k1z_xmm_xmmm32_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vgetexpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetexpss_xmm_k1z_xmm_xmmm32_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vgetmantpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vgetmantpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vgetmantpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_zmm_k1z_zmmm512b64_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_zmm_k1z_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantpd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_xmm_k1z_xmmm128b16_imm8, dst, src1, imm), dst.Flags); } public void vgetmantph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_ymm_k1z_ymmm256b16_imm8, dst, src1, imm), dst.Flags); } public void vgetmantph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_zmm_k1z_zmmm512b16_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_xmm_k1z_xmmm128b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_ymm_k1z_ymmm256b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_xmm_k1z_xmmm128b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_ymm_k1z_ymmm256b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_zmm_k1z_zmmm512b16_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_xmm_k1z_xmmm128b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_ymm_k1z_ymmm256b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_xmm_k1z_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vgetmantps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_ymm_k1z_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vgetmantps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_zmm_k1z_zmmm512b32_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_xmm_k1z_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_ymm_k1z_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vgetmantps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_zmm_k1z_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vgetmantsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsd_xmm_k1z_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vgetmantsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgetmantsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsd_xmm_k1z_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vgetmantsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgetmantsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsh_xmm_k1z_xmm_xmmm16_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vgetmantsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgetmantsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsh_xmm_k1z_xmm_xmmm16_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vgetmantsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantsh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgetmantss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantss_xmm_k1z_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vgetmantss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantss_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgetmantss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgetmantss_xmm_k1z_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vgetmantss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgetmantss_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineinvqb_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineinvqb_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineinvqb_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineinvqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineinvqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineinvqb_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineqb_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineqb_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineqb_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vgf2p8affineqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vgf2p8affineqb_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8affineqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8affineqb_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vgf2p8mulb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8mulb_xmm_xmm_xmmm128 : Code.EVEX_Vgf2p8mulb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vgf2p8mulb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8mulb_ymm_ymm_ymmm256 : Code.EVEX_Vgf2p8mulb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vgf2p8mulb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8mulb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vgf2p8mulb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8mulb_xmm_xmm_xmmm128 : Code.EVEX_Vgf2p8mulb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vgf2p8mulb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vgf2p8mulb_ymm_ymm_ymmm256 : Code.EVEX_Vgf2p8mulb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vgf2p8mulb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vgf2p8mulb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vhaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhaddpd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vhaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhaddpd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vhaddpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhaddpd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vhaddpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhaddpd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vhaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhaddps_xmm_xmm_xmmm128, dst, src1, src2)); } public void vhaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhaddps_ymm_ymm_ymmm256, dst, src1, src2)); } public void vhaddps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhaddps_xmm_xmm_xmmm128, register, register2, in memory)); } public void vhaddps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhaddps_ymm_ymm_ymmm256, register, register2, in memory)); } public void vhsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhsubpd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vhsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhsubpd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vhsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhsubpd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vhsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhsubpd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vhsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhsubps_xmm_xmm_xmmm128, dst, src1, src2)); } public void vhsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vhsubps_ymm_ymm_ymmm256, dst, src1, src2)); } public void vhsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhsubps_xmm_xmm_xmmm128, register, register2, in memory)); } public void vhsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vhsubps_ymm_ymm_ymmm256, register, register2, in memory)); } public void vinsertf128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vinsertf128_ymm_ymm_xmmm128_imm8, dst, src1, src2, imm)); } public void vinsertf128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vinsertf128_ymm_ymm_xmmm128_imm8, register, register2, in memory, imm)); } public void vinsertf128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vinsertf128_ymm_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vinsertf128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vinsertf128_ymm_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vinsertf32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_ymm_k1z_ymm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_zmm_k1z_zmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_ymm_k1z_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_zmm_k1z_zmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertf32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x4_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertf32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x8_zmm_k1z_zmm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x8_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x8_zmm_k1z_zmm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf32x8_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_ymm_k1z_ymm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_zmm_k1z_zmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_ymm_k1z_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_zmm_k1z_zmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertf64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x2_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertf64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x4_zmm_k1z_zmm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vinsertf64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x4_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vinsertf64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x4_zmm_k1z_zmm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinsertf64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinsertf64x4_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vinserti128_ymm_ymm_xmmm128_imm8, dst, src1, src2, imm)); } public void vinserti128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vinserti128_ymm_ymm_xmmm128_imm8, register, register2, in memory, imm)); } public void vinserti128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vinserti128_ymm_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vinserti128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vinserti128_ymm_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vinserti32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_ymm_k1z_ymm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_zmm_k1z_zmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_ymm_k1z_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_zmm_k1z_zmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x4_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x8_zmm_k1z_zmm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x8_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x8_zmm_k1z_zmm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti32x8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti32x8_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_ymm_k1z_ymm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_zmm_k1z_zmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_ymm_k1z_ymm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_zmm_k1z_zmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_ymm_k1z_ymm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x2_zmm_k1z_zmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinserti64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x4_zmm_k1z_zmm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vinserti64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x4_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vinserti64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x4_zmm_k1z_zmm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vinserti64x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vinserti64x4_zmm_k1z_zmm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vinsertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vinsertps_xmm_xmm_xmmm32_imm8 : Code.EVEX_Vinsertps_xmm_xmm_xmmm32_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vinsertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vinsertps_xmm_xmm_xmmm32_imm8 : Code.EVEX_Vinsertps_xmm_xmm_xmmm32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vinsertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vinsertps_xmm_xmm_xmmm32_imm8 : Code.EVEX_Vinsertps_xmm_xmm_xmmm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vinsertps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vinsertps_xmm_xmm_xmmm32_imm8 : Code.EVEX_Vinsertps_xmm_xmm_xmmm32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vlddqu(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vlddqu_xmm_m128, register, in memory)); } public void vlddqu(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vlddqu_ymm_m256, register, in memory)); } public void vldmxcsr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vldmxcsr_m32, in memory)); } public void vmaskmovdqu(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.CreateVmaskmovdqu(Bitness, dst, src)); } public void vmaskmovpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovpd_m128_xmm_xmm, in memory, src1, src2)); } public void vmaskmovpd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovpd_m256_ymm_ymm, in memory, src1, src2)); } public void vmaskmovpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovpd_xmm_xmm_m128, register, register2, in memory)); } public void vmaskmovpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovpd_ymm_ymm_m256, register, register2, in memory)); } public void vmaskmovps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovps_m128_xmm_xmm, in memory, src1, src2)); } public void vmaskmovps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovps_m256_ymm_ymm, in memory, src1, src2)); } public void vmaskmovps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovps_xmm_xmm_m128, register, register2, in memory)); } public void vmaskmovps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmaskmovps_ymm_ymm_m256, register, register2, in memory)); } public void vmaxpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxpd_xmm_xmm_xmmm128 : Code.EVEX_Vmaxpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmaxpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxpd_ymm_ymm_ymmm256 : Code.EVEX_Vmaxpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmaxpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxpd_zmm_k1z_zmm_zmmm512b64_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmaxpd_xmm_xmm_xmmm128 : Code.EVEX_Vmaxpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vmaxpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmaxpd_ymm_ymm_ymmm256 : Code.EVEX_Vmaxpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vmaxpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxpd_zmm_k1z_zmm_zmmm512b64_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vmaxph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vmaxph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_zmm_k1z_zmm_zmmm512b16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxph_zmm_k1z_zmm_zmmm512b16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxps_xmm_xmm_xmmm128 : Code.EVEX_Vmaxps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmaxps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxps_ymm_ymm_ymmm256 : Code.EVEX_Vmaxps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmaxps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxps_zmm_k1z_zmm_zmmm512b32_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmaxps_xmm_xmm_xmmm128 : Code.EVEX_Vmaxps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vmaxps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmaxps_ymm_ymm_ymmm256 : Code.EVEX_Vmaxps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vmaxps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxps_zmm_k1z_zmm_zmmm512b32_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxsd_xmm_xmm_xmmm64 : Code.EVEX_Vmaxsd_xmm_k1z_xmm_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxsd_xmm_xmm_xmmm64 : Code.EVEX_Vmaxsd_xmm_k1z_xmm_xmmm64_sae); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmaxsh_xmm_k1z_xmm_xmmm16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmaxsh_xmm_k1z_xmm_xmmm16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vmaxss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxss_xmm_xmm_xmmm32 : Code.EVEX_Vmaxss_xmm_k1z_xmm_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vmaxss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmaxss_xmm_xmm_xmmm32 : Code.EVEX_Vmaxss_xmm_k1z_xmm_xmmm32_sae); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmcall() { AddInstruction(Instruction.Create(Code.Vmcall)); } public void vmclear(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmclear_m64, in memory)); } public void vmfunc() { AddInstruction(Instruction.Create(Code.Vmfunc)); } public void vmgexit() { AddInstruction(Instruction.Create(Code.Vmgexit)); } public void vminpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminpd_xmm_xmm_xmmm128 : Code.EVEX_Vminpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vminpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminpd_ymm_ymm_ymmm256 : Code.EVEX_Vminpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vminpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminpd_zmm_k1z_zmm_zmmm512b64_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vminpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vminpd_xmm_xmm_xmmm128 : Code.EVEX_Vminpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vminpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vminpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vminpd_ymm_ymm_ymmm256 : Code.EVEX_Vminpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vminpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vminpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminpd_zmm_k1z_zmm_zmmm512b64_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vminph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vminph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vminph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminph_zmm_k1z_zmm_zmmm512b16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vminph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vminph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vminph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminph_zmm_k1z_zmm_zmmm512b16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vminps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminps_xmm_xmm_xmmm128 : Code.EVEX_Vminps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vminps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminps_ymm_ymm_ymmm256 : Code.EVEX_Vminps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vminps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminps_zmm_k1z_zmm_zmmm512b32_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vminps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vminps_xmm_xmm_xmmm128 : Code.EVEX_Vminps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vminps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vminps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vminps_ymm_ymm_ymmm256 : Code.EVEX_Vminps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vminps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vminps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminps_zmm_k1z_zmm_zmmm512b32_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vminsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminsd_xmm_xmm_xmmm64 : Code.EVEX_Vminsd_xmm_k1z_xmm_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vminsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminsd_xmm_xmm_xmmm64 : Code.EVEX_Vminsd_xmm_k1z_xmm_xmmm64_sae); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vminsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vminsh_xmm_k1z_xmm_xmmm16_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vminsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vminsh_xmm_k1z_xmm_xmmm16_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vminss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminss_xmm_xmm_xmmm32 : Code.EVEX_Vminss_xmm_k1z_xmm_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vminss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vminss_xmm_xmm_xmmm32 : Code.EVEX_Vminss_xmm_k1z_xmm_xmmm32_sae); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmlaunch() { AddInstruction(Instruction.Create(Code.Vmlaunch)); } public void vmload() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Vmloadd : Code.Vmloadw) : Code.Vmloadq); AddInstruction(Instruction.Create(code)); } public void vmmcall() { AddInstruction(Instruction.Create(Code.Vmmcall)); } public void vmovapd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_xmm_xmmm128 : Code.EVEX_Vmovapd_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovapd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_xmmm128_xmm : Code.EVEX_Vmovapd_xmmm128_k1z_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovapd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_ymm_ymmm256 : Code.EVEX_Vmovapd_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovapd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_ymmm256_ymm : Code.EVEX_Vmovapd_ymmm256_k1z_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovapd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovapd_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovapd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovapd_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovapd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_xmm_xmmm128 : Code.EVEX_Vmovapd_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovapd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovapd_ymm_ymmm256 : Code.EVEX_Vmovapd_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovapd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovapd_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovaps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_xmm_xmmm128 : Code.EVEX_Vmovaps_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovaps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_xmmm128_xmm : Code.EVEX_Vmovaps_xmmm128_k1z_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovaps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_ymm_ymmm256 : Code.EVEX_Vmovaps_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovaps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_ymmm256_ymm : Code.EVEX_Vmovaps_ymmm256_k1z_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovaps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovaps_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovaps(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovaps_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovaps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_xmm_xmmm128 : Code.EVEX_Vmovaps_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovaps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovaps_ymm_ymmm256 : Code.EVEX_Vmovaps_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovaps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovaps_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovd(AssemblerRegisterXMM dst, AssemblerRegister32 src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovd_xmm_rm32 : Code.EVEX_Vmovd_xmm_rm32); AddInstruction(Instruction.Create(code, dst, src)); } public void vmovd(AssemblerRegister32 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovd_rm32_xmm : Code.EVEX_Vmovd_rm32_xmm); AddInstruction(Instruction.Create(code, dst, src)); } public void vmovd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovd_rm32_xmm : Code.EVEX_Vmovd_rm32_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovd_xmm_rm32 : Code.EVEX_Vmovd_xmm_rm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void vmovddup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovddup_xmm_xmmm64 : Code.EVEX_Vmovddup_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovddup(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovddup_ymm_ymmm256 : Code.EVEX_Vmovddup_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovddup(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovddup_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovddup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovddup_xmm_xmmm64 : Code.EVEX_Vmovddup_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovddup(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovddup_ymm_ymmm256 : Code.EVEX_Vmovddup_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovddup(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovddup_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqa(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_xmm_xmmm128, dst, src)); } public void vmovdqa(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_xmmm128_xmm, in memory, src)); } public void vmovdqa(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_ymm_ymmm256, dst, src)); } public void vmovdqa(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_ymmm256_ymm, in memory, src)); } public void vmovdqa(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_xmm_xmmm128, register, in memory)); } public void vmovdqa(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqa_ymm_ymmm256, register, in memory)); } public void vmovdqa32(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqa32(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqa32(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqa32(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqa32(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqa32(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqa32(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqa32(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqa32(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa32_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqa64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqa64(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqa64(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqa64(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqa64(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqa64(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqa64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqa64(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqa64(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqa64_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqu(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_xmm_xmmm128, dst, src)); } public void vmovdqu(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_xmmm128_xmm, in memory, src)); } public void vmovdqu(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_ymm_ymmm256, dst, src)); } public void vmovdqu(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_ymmm256_ymm, in memory, src)); } public void vmovdqu(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_xmm_xmmm128, register, in memory)); } public void vmovdqu(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmovdqu_ymm_ymmm256, register, in memory)); } public void vmovdqu16(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqu16(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqu16(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqu16(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqu16(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqu16(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqu16(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqu16(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqu16(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu16_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqu32(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqu32(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqu32(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqu32(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqu32(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqu32(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqu32(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqu32(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqu32(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu32_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqu64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqu64(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqu64(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqu64(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqu64(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqu64(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqu64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqu64(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqu64(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu64_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovdqu8(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vmovdqu8(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vmovdqu8(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vmovdqu8(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vmovdqu8(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovdqu8(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovdqu8(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vmovdqu8(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vmovdqu8(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovdqu8_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovhlps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovhlps_xmm_xmm_xmm : Code.EVEX_Vmovhlps_xmm_xmm_xmm); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vmovhpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovhpd_m64_xmm : Code.EVEX_Vmovhpd_m64_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovhpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovhpd_xmm_xmm_m64 : Code.EVEX_Vmovhpd_xmm_xmm_m64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vmovhps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovhps_m64_xmm : Code.EVEX_Vmovhps_m64_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovhps_xmm_xmm_m64 : Code.EVEX_Vmovhps_xmm_xmm_m64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vmovlhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovlhps_xmm_xmm_xmm : Code.EVEX_Vmovlhps_xmm_xmm_xmm); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vmovlpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovlpd_m64_xmm : Code.EVEX_Vmovlpd_m64_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovlpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovlpd_xmm_xmm_m64 : Code.EVEX_Vmovlpd_xmm_xmm_m64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vmovlps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovlps_m64_xmm : Code.EVEX_Vmovlps_m64_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovlps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovlps_xmm_xmm_m64 : Code.EVEX_Vmovlps_xmm_xmm_m64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vmovmskpd(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskpd_r32_xmm, dst, src)); } public void vmovmskpd(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskpd_r64_xmm, dst, src)); } public void vmovmskpd(AssemblerRegister32 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskpd_r32_ymm, dst, src)); } public void vmovmskpd(AssemblerRegister64 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskpd_r64_ymm, dst, src)); } public void vmovmskps(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskps_r32_xmm, dst, src)); } public void vmovmskps(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskps_r64_xmm, dst, src)); } public void vmovmskps(AssemblerRegister32 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskps_r32_ymm, dst, src)); } public void vmovmskps(AssemblerRegister64 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vmovmskps_r64_ymm, dst, src)); } public void vmovntdq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntdq_m128_xmm : Code.EVEX_Vmovntdq_m128_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntdq(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntdq_m256_ymm : Code.EVEX_Vmovntdq_m256_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntdq(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovntdq_m512_zmm, in memory, src)); } public void vmovntdqa(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntdqa_xmm_m128 : Code.EVEX_Vmovntdqa_xmm_m128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void vmovntdqa(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntdqa_ymm_m256 : Code.EVEX_Vmovntdqa_ymm_m256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void vmovntdqa(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovntdqa_zmm_m512, register, in memory)); } public void vmovntpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntpd_m128_xmm : Code.EVEX_Vmovntpd_m128_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntpd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntpd_m256_ymm : Code.EVEX_Vmovntpd_m256_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntpd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovntpd_m512_zmm, in memory, src)); } public void vmovntps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntps_m128_xmm : Code.EVEX_Vmovntps_m128_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovntps_m256_ymm : Code.EVEX_Vmovntps_m256_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovntps(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovntps_m512_zmm, in memory, src)); } public void vmovq(AssemblerRegisterXMM dst, AssemblerRegister64 src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovq_xmm_rm64 : Code.EVEX_Vmovq_xmm_rm64); AddInstruction(Instruction.Create(code, dst, src)); } public void vmovq(AssemblerRegister64 dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovq_rm64_xmm : Code.EVEX_Vmovq_rm64_xmm); AddInstruction(Instruction.Create(code, dst, src)); } public void vmovq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovq_xmm_xmmm64 : Code.EVEX_Vmovq_xmm_xmmm64); AddInstruction(Instruction.Create(code, dst, src)); } public void vmovq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovq_xmmm64_xmm : Code.EVEX_Vmovq_xmmm64_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src)); } public void vmovq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovq_xmm_xmmm64 : Code.EVEX_Vmovq_xmm_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory)); } public void vmovsd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsd_m64_xmm : Code.EVEX_Vmovsd_m64_k1_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsd_xmm_m64 : Code.EVEX_Vmovsd_xmm_k1z_m64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsd_xmm_xmm_xmm : Code.EVEX_Vmovsd_xmm_k1z_xmm_xmm); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmovsh(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovsh_m16_k1_xmm, in memory, src), dst.Flags); } public void vmovsh(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovsh_xmm_k1z_m16, register, in memory), dst.Flags); } public void vmovsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmovsh_xmm_k1z_xmm_xmm, dst, src1, src2), dst.Flags); } public void vmovshdup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovshdup_xmm_xmmm128 : Code.EVEX_Vmovshdup_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovshdup(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovshdup_ymm_ymmm256 : Code.EVEX_Vmovshdup_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovshdup(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovshdup_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovshdup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovshdup_xmm_xmmm128 : Code.EVEX_Vmovshdup_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovshdup(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovshdup_ymm_ymmm256 : Code.EVEX_Vmovshdup_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovshdup(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovshdup_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovsldup(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsldup_xmm_xmmm128 : Code.EVEX_Vmovsldup_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovsldup(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsldup_ymm_ymmm256 : Code.EVEX_Vmovsldup_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovsldup(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovsldup_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovsldup(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsldup_xmm_xmmm128 : Code.EVEX_Vmovsldup_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovsldup(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovsldup_ymm_ymmm256 : Code.EVEX_Vmovsldup_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovsldup(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovsldup_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovss(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovss_m32_xmm : Code.EVEX_Vmovss_m32_k1_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovss_xmm_m32 : Code.EVEX_Vmovss_xmm_k1z_m32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmovss_xmm_xmm_xmm : Code.EVEX_Vmovss_xmm_k1z_xmm_xmm); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmovupd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_xmm_xmmm128 : Code.EVEX_Vmovupd_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovupd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_xmmm128_xmm : Code.EVEX_Vmovupd_xmmm128_k1z_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovupd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_ymm_ymmm256 : Code.EVEX_Vmovupd_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovupd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_ymmm256_ymm : Code.EVEX_Vmovupd_ymmm256_k1z_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovupd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovupd_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovupd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovupd_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovupd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_xmm_xmmm128 : Code.EVEX_Vmovupd_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovupd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovupd_ymm_ymmm256 : Code.EVEX_Vmovupd_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovupd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovupd_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovups(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_xmm_xmmm128 : Code.EVEX_Vmovups_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovups(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_xmmm128_xmm : Code.EVEX_Vmovups_xmmm128_k1z_xmm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovups(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_ymm_ymmm256 : Code.EVEX_Vmovups_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vmovups(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_ymmm256_ymm : Code.EVEX_Vmovups_ymmm256_k1z_ymm); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src), dst.Flags); } public void vmovups(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovups_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vmovups(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovups_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vmovups(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_xmm_xmmm128 : Code.EVEX_Vmovups_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovups(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vmovups_ymm_ymmm256 : Code.EVEX_Vmovups_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vmovups(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovups_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vmovw(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovw_xmm_r32m16, dst, src)); } public void vmovw(AssemblerRegisterXMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovw_xmm_r64m16, dst, src)); } public void vmovw(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovw_r32m16_xmm, dst, src)); } public void vmovw(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vmovw_r64m16_xmm, dst, src)); } public void vmovw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovw_r32m16_xmm, in memory, src)); } public void vmovw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmovw_xmm_r32m16, register, in memory)); } public void vmpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vmpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vmpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vmpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vmpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vmpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vmpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vmpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vmpsadbw_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vmptrld(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmptrld_m64, in memory)); } public void vmptrst(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmptrst_m64, in memory)); } public void vmread(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Vmread_rm32_r32, dst, src)); } public void vmread(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmread_rm32_r32, in memory, src)); } public void vmread(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Vmread_rm64_r64, dst, src)); } public void vmread(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmread_rm64_r64, in memory, src)); } public void vmresume() { AddInstruction(Instruction.Create(Code.Vmresume)); } public void vmrun() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Vmrund : Code.Vmrunw) : Code.Vmrunq); AddInstruction(Instruction.Create(code)); } public void vmsave() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Vmsaved : Code.Vmsavew) : Code.Vmsaveq); AddInstruction(Instruction.Create(code)); } public void vmulpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulpd_xmm_xmm_xmmm128 : Code.EVEX_Vmulpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmulpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulpd_ymm_ymm_ymmm256 : Code.EVEX_Vmulpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmulpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulpd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmulpd_xmm_xmm_xmmm128 : Code.EVEX_Vmulpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vmulpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmulpd_ymm_ymm_ymmm256 : Code.EVEX_Vmulpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vmulpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulpd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vmulph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vmulph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulps_xmm_xmm_xmmm128 : Code.EVEX_Vmulps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmulps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulps_ymm_ymm_ymmm256 : Code.EVEX_Vmulps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vmulps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmulps_xmm_xmm_xmmm128 : Code.EVEX_Vmulps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vmulps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vmulps_ymm_ymm_ymmm256 : Code.EVEX_Vmulps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vmulps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulsd_xmm_xmm_xmmm64 : Code.EVEX_Vmulsd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulsd_xmm_xmm_xmmm64 : Code.EVEX_Vmulsd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vmulsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vmulsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vmulss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulss_xmm_xmm_xmmm32 : Code.EVEX_Vmulss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vmulss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vmulss_xmm_xmm_xmmm32 : Code.EVEX_Vmulss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vmwrite(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Vmwrite_r32_rm32, dst, src)); } public void vmwrite(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Vmwrite_r64_rm64, dst, src)); } public void vmwrite(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmwrite_r32_rm32, register, in memory)); } public void vmwrite(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmwrite_r64_rm64, register, in memory)); } public void vmxoff() { AddInstruction(Instruction.Create(Code.Vmxoff)); } public void vmxon(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Vmxon_m64, in memory)); } public void vorpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vorpd_xmm_xmm_xmmm128 : Code.EVEX_Vorpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vorpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vorpd_ymm_ymm_ymmm256 : Code.EVEX_Vorpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vorpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vorpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vorpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vorpd_xmm_xmm_xmmm128 : Code.EVEX_Vorpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vorpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vorpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vorpd_ymm_ymm_ymmm256 : Code.EVEX_Vorpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vorpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vorpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vorpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vorps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vorps_xmm_xmm_xmmm128 : Code.EVEX_Vorps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vorps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vorps_ymm_ymm_ymmm256 : Code.EVEX_Vorps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vorps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vorps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vorps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vorps_xmm_xmm_xmmm128 : Code.EVEX_Vorps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vorps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vorps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vorps_ymm_ymm_ymmm256 : Code.EVEX_Vorps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vorps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vorps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vorps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_xmm_xmmm128b32, dst, src1, src2)); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_ymm_ymmm256b32, dst, src1, src2)); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_zmm_zmmm512b32, dst, src1, src2)); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_xmm_xmmm128b32, register, register2, in memory), src2.Flags); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_ymm_ymmm256b32, register, register2, in memory), src2.Flags); } public void vp2intersectd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectd_kp1_zmm_zmmm512b32, register, register2, in memory), src2.Flags); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_xmm_xmmm128b64, dst, src1, src2)); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_ymm_ymmm256b64, dst, src1, src2)); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_zmm_zmmm512b64, dst, src1, src2)); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_xmm_xmmm128b64, register, register2, in memory), src2.Flags); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_ymm_ymmm256b64, register, register2, in memory), src2.Flags); } public void vp2intersectq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp2intersectq_kp1_zmm_zmmm512b64, register, register2, in memory), src2.Flags); } public void vp4dpwssd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp4dpwssd_zmm_k1z_zmmp3_m128, register, register2, in memory), dst.Flags); } public void vp4dpwssds(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vp4dpwssds_zmm_k1z_zmmp3_m128, register, register2, in memory), dst.Flags); } public void vpabsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsb_xmm_xmmm128 : Code.EVEX_Vpabsb_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsb_ymm_ymmm256 : Code.EVEX_Vpabsb_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsb_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpabsb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsb_xmm_xmmm128 : Code.EVEX_Vpabsb_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpabsb(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsb_ymm_ymmm256 : Code.EVEX_Vpabsb_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpabsb(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsb_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpabsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsd_xmm_xmmm128 : Code.EVEX_Vpabsd_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsd_ymm_ymmm256 : Code.EVEX_Vpabsd_ymm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsd_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vpabsd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpabsd_xmm_xmmm128 : Code.EVEX_Vpabsd_xmm_k1z_xmmm128b32) : Code.EVEX_Vpabsd_xmm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vpabsd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpabsd_ymm_ymmm256 : Code.EVEX_Vpabsd_ymm_k1z_ymmm256b32) : Code.EVEX_Vpabsd_ymm_k1z_ymmm256b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vpabsd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsd_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vpabsq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vpabsq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vpabsq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vpabsq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vpabsq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vpabsq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsq_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vpabsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsw_xmm_xmmm128 : Code.EVEX_Vpabsw_xmm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsw_ymm_ymmm256 : Code.EVEX_Vpabsw_ymm_k1z_ymmm256); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpabsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpabsw_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpabsw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsw_xmm_xmmm128 : Code.EVEX_Vpabsw_xmm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpabsw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpabsw_ymm_ymmm256 : Code.EVEX_Vpabsw_ymm_k1z_ymmm256); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpabsw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpabsw_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpackssdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackssdw_xmm_xmm_xmmm128 : Code.EVEX_Vpackssdw_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackssdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackssdw_ymm_ymm_ymmm256 : Code.EVEX_Vpackssdw_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackssdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpackssdw_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpackssdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpackssdw_xmm_xmm_xmmm128 : Code.EVEX_Vpackssdw_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpackssdw_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpackssdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpackssdw_ymm_ymm_ymmm256 : Code.EVEX_Vpackssdw_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpackssdw_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpackssdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpackssdw_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpacksswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpacksswb_xmm_xmm_xmmm128 : Code.EVEX_Vpacksswb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpacksswb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpacksswb_ymm_ymm_ymmm256 : Code.EVEX_Vpacksswb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpacksswb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpacksswb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpacksswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpacksswb_xmm_xmm_xmmm128 : Code.EVEX_Vpacksswb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpacksswb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpacksswb_ymm_ymm_ymmm256 : Code.EVEX_Vpacksswb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpacksswb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpacksswb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpackusdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackusdw_xmm_xmm_xmmm128 : Code.EVEX_Vpackusdw_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackusdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackusdw_ymm_ymm_ymmm256 : Code.EVEX_Vpackusdw_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackusdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpackusdw_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpackusdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpackusdw_xmm_xmm_xmmm128 : Code.EVEX_Vpackusdw_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpackusdw_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpackusdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpackusdw_ymm_ymm_ymmm256 : Code.EVEX_Vpackusdw_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpackusdw_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpackusdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpackusdw_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpackuswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackuswb_xmm_xmm_xmmm128 : Code.EVEX_Vpackuswb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackuswb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackuswb_ymm_ymm_ymmm256 : Code.EVEX_Vpackuswb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpackuswb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpackuswb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpackuswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackuswb_xmm_xmm_xmmm128 : Code.EVEX_Vpackuswb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpackuswb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpackuswb_ymm_ymm_ymmm256 : Code.EVEX_Vpackuswb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpackuswb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpackuswb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddd_xmm_xmm_xmmm128 : Code.EVEX_Vpaddd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddd_ymm_ymm_ymmm256 : Code.EVEX_Vpaddd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpaddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpaddd_xmm_xmm_xmmm128 : Code.EVEX_Vpaddd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpaddd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpaddd_ymm_ymm_ymmm256 : Code.EVEX_Vpaddd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpaddd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddq_xmm_xmm_xmmm128 : Code.EVEX_Vpaddq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddq_ymm_ymm_ymmm256 : Code.EVEX_Vpaddq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpaddq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpaddq_xmm_xmm_xmmm128 : Code.EVEX_Vpaddq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpaddq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpaddq_ymm_ymm_ymmm256 : Code.EVEX_Vpaddq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpaddq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpaddsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddsb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddsb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddsb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddsb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddsb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddsb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddsw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddusb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddusb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddusb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddusb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddusb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusb_xmm_xmm_xmmm128 : Code.EVEX_Vpaddusb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddusb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusb_ymm_ymm_ymmm256 : Code.EVEX_Vpaddusb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddusb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddusb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddusw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddusw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddusw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddusw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddusw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddusw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddusw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddusw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddusw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddusw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddusw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpaddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpaddw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpaddw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpaddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddw_xmm_xmm_xmmm128 : Code.EVEX_Vpaddw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpaddw_ymm_ymm_ymmm256 : Code.EVEX_Vpaddw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpaddw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpaddw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpalignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpalignr_xmm_k1z_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vpalignr(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpalignr_ymm_k1z_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vpalignr(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpalignr_zmm_k1z_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpalignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpalignr_xmm_k1z_xmm_xmmm128_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags); } public void vpalignr(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpalignr_ymm_k1z_ymm_ymmm256_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags); } public void vpalignr(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpalignr_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpalignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpalignr_xmm_k1z_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpalignr(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpalignr_ymm_k1z_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpalignr(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpalignr_zmm_k1z_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpalignr(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpalignr_xmm_k1z_xmm_xmmm128_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags); } public void vpalignr(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpalignr_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpalignr_ymm_k1z_ymm_ymmm256_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags); } public void vpalignr(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpalignr_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpand(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpand_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpand(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpand_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpand(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpand_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpand(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpand_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpandd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpandd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpandd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpandd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandn(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpandn_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpandn(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpandn_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpandn(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpandn_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpandn(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpandn_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpandnd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpandnd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpandnd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpandnd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandnd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandnd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandnq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpandnq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpandnq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpandnq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandnq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandnq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandnq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpandq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpandq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpandq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpandq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpandq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpandq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpavgb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgb_xmm_xmm_xmmm128 : Code.EVEX_Vpavgb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpavgb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgb_ymm_ymm_ymmm256 : Code.EVEX_Vpavgb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpavgb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpavgb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpavgb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgb_xmm_xmm_xmmm128 : Code.EVEX_Vpavgb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpavgb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgb_ymm_ymm_ymmm256 : Code.EVEX_Vpavgb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpavgb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpavgb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpavgw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgw_xmm_xmm_xmmm128 : Code.EVEX_Vpavgw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpavgw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgw_ymm_ymm_ymmm256 : Code.EVEX_Vpavgw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpavgw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpavgw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpavgw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgw_xmm_xmm_xmmm128 : Code.EVEX_Vpavgw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpavgw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpavgw_ymm_ymm_ymmm256 : Code.EVEX_Vpavgw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpavgw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpavgw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpblendd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendd_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpblendd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendd_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vpblendd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendd_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpblendd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendd_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vpblendd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendd_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpblendd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendd_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpblendd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendd_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpblendd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendd_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vpblendmb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpblendmb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpblendmb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpblendmb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpblendmb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpblendmb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpblendmd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpblendmd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpblendmd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpblendmd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpblendmq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpblendmq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpblendmq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpblendmw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpblendmw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpblendmw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpblendmw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpblendmw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpblendmw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpblendmw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpblendvb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vpblendvb_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpblendvb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendvb_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpblendvb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.VEX_Vpblendvb_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vpblendvb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendvb_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vpblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendw_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpblendw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendw_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vpblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendw_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpblendw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendw_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vpblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendw_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpblendw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpblendw_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpblendw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendw_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpblendw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpblendw_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vpbroadcastb(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastb_xmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterYMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastb_ymm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterZMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastb_zmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastb_xmm_xmmm8 : Code.EVEX_Vpbroadcastb_xmm_k1z_xmmm8); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastb_ymm_xmmm8 : Code.EVEX_Vpbroadcastb_ymm_k1z_xmmm8); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastb_zmm_k1z_xmmm8, dst, src), dst.Flags); } public void vpbroadcastb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastb_xmm_xmmm8 : Code.EVEX_Vpbroadcastb_xmm_k1z_xmmm8); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastb(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastb_ymm_xmmm8 : Code.EVEX_Vpbroadcastb_ymm_k1z_xmmm8); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastb(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastb_zmm_k1z_xmmm8, register, in memory), dst.Flags); } public void vpbroadcastd(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastd_xmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterYMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastd_ymm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterZMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastd_zmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastd_xmm_xmmm32 : Code.EVEX_Vpbroadcastd_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastd_ymm_xmmm32 : Code.EVEX_Vpbroadcastd_ymm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastd_zmm_k1z_xmmm32, dst, src), dst.Flags); } public void vpbroadcastd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastd_xmm_xmmm32 : Code.EVEX_Vpbroadcastd_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastd_ymm_xmmm32 : Code.EVEX_Vpbroadcastd_ymm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastd_zmm_k1z_xmmm32, register, in memory), dst.Flags); } public void vpbroadcastmb2q(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmb2q_xmm_kr, dst, src)); } public void vpbroadcastmb2q(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmb2q_ymm_kr, dst, src)); } public void vpbroadcastmb2q(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmb2q_zmm_kr, dst, src)); } public void vpbroadcastmw2d(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmw2d_xmm_kr, dst, src)); } public void vpbroadcastmw2d(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmw2d_ymm_kr, dst, src)); } public void vpbroadcastmw2d(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastmw2d_zmm_kr, dst, src)); } public void vpbroadcastq(AssemblerRegisterXMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastq_xmm_k1z_r64, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterYMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastq_ymm_k1z_r64, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterZMM dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastq_zmm_k1z_r64, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastq_xmm_xmmm64 : Code.EVEX_Vpbroadcastq_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastq_ymm_xmmm64 : Code.EVEX_Vpbroadcastq_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastq_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vpbroadcastq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastq_xmm_xmmm64 : Code.EVEX_Vpbroadcastq_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastq_ymm_xmmm64 : Code.EVEX_Vpbroadcastq_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastq_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vpbroadcastw(AssemblerRegisterXMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastw_xmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterYMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastw_ymm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterZMM dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastw_zmm_k1z_r32, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastw_xmm_xmmm16 : Code.EVEX_Vpbroadcastw_xmm_k1z_xmmm16); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastw_ymm_xmmm16 : Code.EVEX_Vpbroadcastw_ymm_k1z_xmmm16); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastw_zmm_k1z_xmmm16, dst, src), dst.Flags); } public void vpbroadcastw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastw_xmm_xmmm16 : Code.EVEX_Vpbroadcastw_xmm_k1z_xmmm16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpbroadcastw_ymm_xmmm16 : Code.EVEX_Vpbroadcastw_ymm_k1z_xmmm16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpbroadcastw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpbroadcastw_zmm_k1z_xmmm16, register, in memory), dst.Flags); } public void vpclmulhqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 17); } public void vpclmulhqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmulhqlqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmulhqlqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmulhqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmulhqlqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmulhqlqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 1); } public void vpclmullqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 16); } public void vpclmullqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmullqlqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmullqlqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmullqlqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmullqlqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmullqlqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpclmulqdq(dst, src1, src2, 0); } public void vpclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpclmulqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpclmulqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpclmulqdq_zmm_zmm_zmmm512_imm8, dst, src1, src2, imm)); } public void vpclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpclmulqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpclmulqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpclmulqdq_zmm_zmm_zmmm512_imm8, register, register2, in memory, imm)); } public void vpclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpclmulqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpclmulqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpclmulqdq_zmm_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpclmulqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vpclmulqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vpclmulqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpclmulqdq_zmm_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm)); } public void vpcmov(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpcmov_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpcmov(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcmov_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpcmov(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpcmov_ymm_ymm_ymmm256_ymm, dst, src1, src2, src3)); } public void vpcmov(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcmov_ymm_ymm_ymmm256_ymm, register, register2, in memory, src3)); } public void vpcmov(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcmov_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vpcmov(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcmov_ymm_ymm_ymm_ymmm256, register, register2, register3, in memory)); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpb_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpd_kr_k1_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpcmpeqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqb_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpcmpeqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqb_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpcmpeqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqb_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpcmpeqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqb_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpeqb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqb_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpcmpeqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpcmpeqd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpeqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpeqd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpeqd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqd_kr_k1_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpcmpeqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqq_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpcmpeqq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqq_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpeqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqq_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpeqq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqq_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpeqq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqq_kr_k1_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpequw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 0); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpcmpeqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpcmpeqw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpcmpeqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpcmpeqw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpeqw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpeqw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpeqw_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpcmpestri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpestri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpestri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpestri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpestri64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri64_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpestri64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri64_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpestri64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri64_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpestri64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestri64_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpestrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpestrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpestrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpestrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpestrm64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm64_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpestrm64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm64_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpestrm64(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm64_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpestrm64(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpestrm64_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalseb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalsed(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalseuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpfalsew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 3); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpcmpgtb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtb_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpcmpgtb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtb_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpcmpgtb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtb_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpcmpgtb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtb_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpgtb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtb_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpcmpgtd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpcmpgtd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpgtd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtd_kr_k1_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpcmpgtq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtq_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpcmpgtq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtq_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtq_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtq_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpgtq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtq_kr_k1_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpcmpgtw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpcmpgtw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpcmpgtw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpcmpgtw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpgtw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpcmpgtw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpgtw_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpcmpistri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpistri_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpistri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpistri_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpistri(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpistri_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpistri(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpistri_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpistrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpistrm_xmm_xmmm128_imm8, dst, src1, imm)); } public void vpcmpistrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpistrm_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpcmpistrm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpcmpistrm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpcmpistrm(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpcmpistrm_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpleb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpled(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmpleuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmplew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 2); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpltw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 1); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpneqq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpnequw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpneqw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 4); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnleb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnled(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnleuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnlew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 6); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpnltw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 5); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpq_kr_k1_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrueb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpb(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrued(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpd(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpq(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpub(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpud(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuq(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptrueuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpuw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmptruew(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { vpcmpw(dst, src1, src2, 7); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpub(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpub_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpud(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpud_kr_k1_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpuq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuq_kr_k1_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpuw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpuw_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcmpw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcmpw_kr_k1_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpcomb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomb_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomb_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomb_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomb_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomd_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomd_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomd_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomd_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomeqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 4); } public void vpcomeqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 4); } public void vpcomeqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 4); } public void vpcomeqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 4); } public void vpcomeqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 4); } public void vpcomeqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 4); } public void vpcomequb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 4); } public void vpcomequb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 4); } public void vpcomequd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 4); } public void vpcomequd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 4); } public void vpcomequq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 4); } public void vpcomequq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 4); } public void vpcomequw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 4); } public void vpcomequw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 4); } public void vpcomeqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 4); } public void vpcomeqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 4); } public void vpcomfalseb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 6); } public void vpcomfalseb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 6); } public void vpcomfalsed(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 6); } public void vpcomfalsed(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 6); } public void vpcomfalseq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 6); } public void vpcomfalseq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 6); } public void vpcomfalseub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 6); } public void vpcomfalseub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 6); } public void vpcomfalseud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 6); } public void vpcomfalseud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 6); } public void vpcomfalseuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 6); } public void vpcomfalseuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 6); } public void vpcomfalseuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 6); } public void vpcomfalseuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 6); } public void vpcomfalsew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 6); } public void vpcomfalsew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 6); } public void vpcomgeb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 3); } public void vpcomgeb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 3); } public void vpcomged(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 3); } public void vpcomged(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 3); } public void vpcomgeq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 3); } public void vpcomgeq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 3); } public void vpcomgeub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 3); } public void vpcomgeub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 3); } public void vpcomgeud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 3); } public void vpcomgeud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 3); } public void vpcomgeuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 3); } public void vpcomgeuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 3); } public void vpcomgeuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 3); } public void vpcomgeuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 3); } public void vpcomgew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 3); } public void vpcomgew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 3); } public void vpcomgtb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 2); } public void vpcomgtb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 2); } public void vpcomgtd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 2); } public void vpcomgtd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 2); } public void vpcomgtq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 2); } public void vpcomgtq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 2); } public void vpcomgtub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 2); } public void vpcomgtub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 2); } public void vpcomgtud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 2); } public void vpcomgtud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 2); } public void vpcomgtuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 2); } public void vpcomgtuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 2); } public void vpcomgtuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 2); } public void vpcomgtuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 2); } public void vpcomgtw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 2); } public void vpcomgtw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 2); } public void vpcomleb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 1); } public void vpcomleb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 1); } public void vpcomled(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 1); } public void vpcomled(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 1); } public void vpcomleq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 1); } public void vpcomleq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 1); } public void vpcomleub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 1); } public void vpcomleub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 1); } public void vpcomleud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 1); } public void vpcomleud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 1); } public void vpcomleuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 1); } public void vpcomleuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 1); } public void vpcomleuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 1); } public void vpcomleuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 1); } public void vpcomlew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 1); } public void vpcomlew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 1); } public void vpcomltb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 0); } public void vpcomltb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 0); } public void vpcomltd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 0); } public void vpcomltd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 0); } public void vpcomltq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 0); } public void vpcomltq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 0); } public void vpcomltub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 0); } public void vpcomltub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 0); } public void vpcomltud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 0); } public void vpcomltud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 0); } public void vpcomltuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 0); } public void vpcomltuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 0); } public void vpcomltuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 0); } public void vpcomltuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 0); } public void vpcomltw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 0); } public void vpcomltw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 0); } public void vpcomneqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 5); } public void vpcomneqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 5); } public void vpcomneqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 5); } public void vpcomneqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 5); } public void vpcomneqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 5); } public void vpcomneqq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 5); } public void vpcomnequb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 5); } public void vpcomnequb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 5); } public void vpcomnequd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 5); } public void vpcomnequd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 5); } public void vpcomnequq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 5); } public void vpcomnequq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 5); } public void vpcomnequw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 5); } public void vpcomnequw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 5); } public void vpcomneqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 5); } public void vpcomneqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 5); } public void vpcompressb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vpcompressb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vpcompressb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vpcompressb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vpcompressb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vpcompressb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressb_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vpcompressd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vpcompressd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vpcompressd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vpcompressd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vpcompressd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vpcompressd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressd_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vpcompressq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vpcompressq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vpcompressq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vpcompressq(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vpcompressq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vpcompressq(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressq_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vpcompressw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_xmmm128_k1z_xmm, dst, src), dst.Flags); } public void vpcompressw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_xmmm128_k1z_xmm, in memory, src), dst.Flags); } public void vpcompressw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_ymmm256_k1z_ymm, dst, src), dst.Flags); } public void vpcompressw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_ymmm256_k1z_ymm, in memory, src), dst.Flags); } public void vpcompressw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_zmmm512_k1z_zmm, dst, src), dst.Flags); } public void vpcompressw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpcompressw_zmmm512_k1z_zmm, in memory, src), dst.Flags); } public void vpcomq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomq_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomq_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomq_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomq_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomtrueb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomb(dst, src1, src2, 7); } public void vpcomtrueb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomb(dst, src1, src2, 7); } public void vpcomtrued(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomd(dst, src1, src2, 7); } public void vpcomtrued(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomd(dst, src1, src2, 7); } public void vpcomtrueq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomq(dst, src1, src2, 7); } public void vpcomtrueq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomq(dst, src1, src2, 7); } public void vpcomtrueub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomub(dst, src1, src2, 7); } public void vpcomtrueub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomub(dst, src1, src2, 7); } public void vpcomtrueud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomud(dst, src1, src2, 7); } public void vpcomtrueud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomud(dst, src1, src2, 7); } public void vpcomtrueuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuq(dst, src1, src2, 7); } public void vpcomtrueuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuq(dst, src1, src2, 7); } public void vpcomtrueuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomuw(dst, src1, src2, 7); } public void vpcomtrueuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomuw(dst, src1, src2, 7); } public void vpcomtruew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { vpcomw(dst, src1, src2, 7); } public void vpcomtruew(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { vpcomw(dst, src1, src2, 7); } public void vpcomub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomub_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomub_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomub_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomub_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomud_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomud_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomud_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomud_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomuq_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomuq_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomuq_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomuq_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomuw_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomuw_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomuw_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomuw_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpcomw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomw_xmm_xmm_xmmm128_imm8, dst, src1, src2, imm)); } public void vpcomw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomw_xmm_xmm_xmmm128_imm8, register, register2, in memory, imm)); } public void vpcomw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vpcomw_xmm_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpcomw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpcomw_xmm_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm)); } public void vpconflictd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vpconflictd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vpconflictd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vpconflictd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vpconflictd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vpconflictd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictd_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vpconflictq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vpconflictq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vpconflictq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vpconflictq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vpconflictq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vpconflictq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpconflictq_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vpdpbssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbssd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbssd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbssd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbssd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbssd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbssd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpbssds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbssds_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbssds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbssds_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbssds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbssds_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbssds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbssds_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpbsud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbsud_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbsud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbsud_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbsud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbsud_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbsud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbsud_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpbsuds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbsuds_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbsuds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbsuds_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbsuds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbsuds_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbsuds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbsuds_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpbusd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpbusd_xmm_xmm_xmmm128 : Code.EVEX_Vpdpbusd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpbusd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpbusd_ymm_ymm_ymmm256 : Code.EVEX_Vpdpbusd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpbusd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpdpbusd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpdpbusd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpbusd_xmm_xmm_xmmm128 : Code.EVEX_Vpdpbusd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpdpbusd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbusd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpbusd_ymm_ymm_ymmm256 : Code.EVEX_Vpdpbusd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpdpbusd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbusd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpdpbusd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbusds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpbusds_xmm_xmm_xmmm128 : Code.EVEX_Vpdpbusds_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpbusds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpbusds_ymm_ymm_ymmm256 : Code.EVEX_Vpdpbusds_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpbusds(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpdpbusds_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpdpbusds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpbusds_xmm_xmm_xmmm128 : Code.EVEX_Vpdpbusds_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpdpbusds_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbusds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpbusds_ymm_ymm_ymmm256 : Code.EVEX_Vpdpbusds_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpdpbusds_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbusds(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpdpbusds_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpbuud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbuud_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbuud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbuud_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbuud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbuud_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbuud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbuud_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpbuuds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbuuds_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpdpbuuds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpdpbuuds_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpdpbuuds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbuuds_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpdpbuuds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpdpbuuds_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpdpwssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpwssd_xmm_xmm_xmmm128 : Code.EVEX_Vpdpwssd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpwssd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpwssd_ymm_ymm_ymmm256 : Code.EVEX_Vpdpwssd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpwssd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpdpwssd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpdpwssd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpwssd_xmm_xmm_xmmm128 : Code.EVEX_Vpdpwssd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpdpwssd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpwssd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpwssd_ymm_ymm_ymmm256 : Code.EVEX_Vpdpwssd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpdpwssd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpwssd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpdpwssd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpwssds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpwssds_xmm_xmm_xmmm128 : Code.EVEX_Vpdpwssds_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpwssds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpdpwssds_ymm_ymm_ymmm256 : Code.EVEX_Vpdpwssds_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpdpwssds(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpdpwssds_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpdpwssds(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpwssds_xmm_xmm_xmmm128 : Code.EVEX_Vpdpwssds_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpdpwssds_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpwssds(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpdpwssds_ymm_ymm_ymmm256 : Code.EVEX_Vpdpwssds_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpdpwssds_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpdpwssds(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpdpwssds_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vperm2f128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vperm2f128_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vperm2f128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vperm2f128_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vperm2f128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vperm2f128_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vperm2f128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vperm2f128_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vperm2i128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vperm2i128_ymm_ymm_ymmm256_imm8, dst, src1, src2, imm)); } public void vperm2i128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vperm2i128_ymm_ymm_ymmm256_imm8, register, register2, in memory, imm)); } public void vperm2i128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vperm2i128_ymm_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vperm2i128(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vperm2i128_ymm_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm)); } public void vpermb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermb_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermb_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermb_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermb_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpermd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermd_ymm_ymm_ymmm256 : Code.EVEX_Vpermd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermd_ymm_ymm_ymmm256 : Code.EVEX_Vpermd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpermd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2b(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermi2b(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermi2b(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermi2b(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermi2b(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermi2b(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2b_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpermi2d(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpermi2d(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpermi2d(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermi2d(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2d(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2d(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2d_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpermi2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermi2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermi2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2pd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpermi2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpermi2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermi2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2ps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2q(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpermi2q(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermi2q(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermi2q(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2q(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2q(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2q_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermi2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermi2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermi2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermi2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermi2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermi2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermi2w_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmmm128_xmm_imm4, dst, src1, src2, src3, imm)); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmmm128_xmm_imm4, register, register2, in memory, src3, imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymmm256_ymm_imm4, dst, src1, src2, src3, imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymmm256_ymm_imm4, register, register2, in memory, src3, imm)); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3, sbyte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmm_xmmm128_imm4, register, register2, register3, in memory, imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3, sbyte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymm_ymmm256_imm4, register, register2, register3, in memory, imm)); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmmm128_xmm_imm4, (Register)dst, (Register)src1, (Register)src2, (Register)src3, (uint)imm)); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmmm128_xmm_imm4, register, register2, in memory, (Register)src3, (uint)imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymmm256_ymm_imm4, (Register)dst, (Register)src1, (Register)src2, (Register)src3, (uint)imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymmm256_ymm_imm4, register, register2, in memory, (Register)src3, (uint)imm)); } public void vpermil2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3, byte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_xmm_xmm_xmm_xmmm128_imm4, register, register2, register3, in memory, (uint)imm)); } public void vpermil2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3, byte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2pd_ymm_ymm_ymm_ymmm256_imm4, register, register2, register3, in memory, (uint)imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmmm128_xmm_imm4, dst, src1, src2, src3, imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmmm128_xmm_imm4, register, register2, in memory, src3, imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymmm256_ymm_imm4, dst, src1, src2, src3, imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymmm256_ymm_imm4, register, register2, in memory, src3, imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3, sbyte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmm_xmmm128_imm4, register, register2, register3, in memory, imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3, sbyte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymm_ymmm256_imm4, register, register2, register3, in memory, imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmmm128_xmm_imm4, (Register)dst, (Register)src1, (Register)src2, (Register)src3, (uint)imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmmm128_xmm_imm4, register, register2, in memory, (Register)src3, (uint)imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerRegisterYMM src3, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymmm256_ymm_imm4, (Register)dst, (Register)src1, (Register)src2, (Register)src3, (uint)imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, AssemblerRegisterYMM src3, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymmm256_ymm_imm4, register, register2, in memory, (Register)src3, (uint)imm)); } public void vpermil2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3, byte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_xmm_xmm_xmm_xmmm128_imm4, register, register2, register3, in memory, (uint)imm)); } public void vpermil2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, AssemblerMemoryOperand src3, byte imm) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpermil2ps_ymm_ymm_ymm_ymmm256_imm4, register, register2, register3, in memory, (uint)imm)); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmm_xmmm128 : Code.EVEX_Vpermilpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymm_ymmm256 : Code.EVEX_Vpermilpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmm_xmmm128 : Code.EVEX_Vpermilpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpermilpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymm_ymmm256 : Code.EVEX_Vpermilpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpermilpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmmm128_imm8 : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmmm128_imm8 : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8) : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmmm128_imm8 : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_xmm_xmmm128_imm8 : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8) : Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermilpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermilpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilpd_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmm_xmmm128 : Code.EVEX_Vpermilps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymm_ymmm256 : Code.EVEX_Vpermilps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmm_xmmm128 : Code.EVEX_Vpermilps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpermilps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymm_ymmm256 : Code.EVEX_Vpermilps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpermilps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmmm128_imm8 : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymmm256_imm8 : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmmm128_imm8 : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8) : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymmm256_imm8 : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8) : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmmm128_imm8 : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymmm256_imm8 : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermilps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_xmm_xmmm128_imm8 : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8) : Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermilps_ymm_ymmm256_imm8 : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8) : Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermilps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermilps_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermpd_ymm_ymmm256_imm8 : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermpd_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpermps_ymm_ymm_ymmm256 : Code.EVEX_Vpermps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpermps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermps_ymm_ymm_ymmm256 : Code.EVEX_Vpermps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpermps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermq_ymm_ymmm256_imm8 : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermq_ymm_ymmm256_imm8 : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpermq_ymm_ymmm256_imm8 : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpermq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpermq_ymm_ymmm256_imm8 : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8) : Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpermt2b(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermt2b(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermt2b(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermt2b(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermt2b(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermt2b(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2b_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpermt2d(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpermt2d(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpermt2d(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermt2d(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2d(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2d(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2d_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpermt2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermt2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermt2pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2pd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpermt2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpermt2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpermt2ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2ps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2q(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpermt2q(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpermt2q(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpermt2q(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2q(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2q(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2q_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpermt2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermt2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermt2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermt2w(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermt2w(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermt2w(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermt2w_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpermw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpermw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpermw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpermw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpermw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpermw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpermw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpermw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpexpandb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpexpandb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpexpandb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpexpandb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpexpandb(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpexpandb(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandb_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpexpandd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpexpandd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpexpandd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpexpandd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpexpandd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpexpandd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandd_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpexpandq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpexpandq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpexpandq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpexpandq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpexpandq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpexpandq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandq_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpexpandw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpexpandw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpexpandw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpexpandw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpexpandw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpexpandw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpexpandw_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpextrb(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r32m8_xmm_imm8 : Code.EVEX_Vpextrb_r32m8_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrb(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r64m8_xmm_imm8 : Code.EVEX_Vpextrb_r64m8_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r32m8_xmm_imm8 : Code.EVEX_Vpextrb_r32m8_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm)); } public void vpextrb(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r32m8_xmm_imm8 : Code.EVEX_Vpextrb_r32m8_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrb(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r64m8_xmm_imm8 : Code.EVEX_Vpextrb_r64m8_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrb_r32m8_xmm_imm8 : Code.EVEX_Vpextrb_r32m8_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm)); } public void vpextrd(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrd_rm32_xmm_imm8 : Code.EVEX_Vpextrd_rm32_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrd_rm32_xmm_imm8 : Code.EVEX_Vpextrd_rm32_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm)); } public void vpextrd(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrd_rm32_xmm_imm8 : Code.EVEX_Vpextrd_rm32_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrd_rm32_xmm_imm8 : Code.EVEX_Vpextrd_rm32_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm)); } public void vpextrq(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrq_rm64_xmm_imm8 : Code.EVEX_Vpextrq_rm64_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrq_rm64_xmm_imm8 : Code.EVEX_Vpextrq_rm64_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm)); } public void vpextrq(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrq_rm64_xmm_imm8 : Code.EVEX_Vpextrq_rm64_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrq_rm64_xmm_imm8 : Code.EVEX_Vpextrq_rm64_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm)); } public void vpextrw(AssemblerRegister32 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r32_xmm_imm8 : Code.EVEX_Vpextrw_r32_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrw(AssemblerRegister64 dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r64_xmm_imm8 : Code.EVEX_Vpextrw_r64_xmm_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpextrw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r32m16_xmm_imm8 : Code.EVEX_Vpextrw_r32m16_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, src1, imm)); } public void vpextrw(AssemblerRegister32 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r32_xmm_imm8 : Code.EVEX_Vpextrw_r32_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrw(AssemblerRegister64 dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r64_xmm_imm8 : Code.EVEX_Vpextrw_r64_xmm_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpextrw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpextrw_r32m16_xmm_imm8 : Code.EVEX_Vpextrw_r32m16_xmm_imm8); MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, in memory, (Register)src1, (uint)imm)); } public void vpgatherdd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdd_xmm_k1_vm32x, register, in memory), dst.Flags); } public void vpgatherdd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdd_ymm_k1_vm32y, register, in memory), dst.Flags); } public void vpgatherdd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdd_zmm_k1_vm32z, register, in memory), dst.Flags); } public void vpgatherdd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherdd_xmm_vm32x_xmm, register, in memory, src2)); } public void vpgatherdd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherdd_ymm_vm32y_ymm, register, in memory, src2)); } public void vpgatherdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdq_xmm_k1_vm32x, register, in memory), dst.Flags); } public void vpgatherdq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdq_ymm_k1_vm32x, register, in memory), dst.Flags); } public void vpgatherdq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherdq_zmm_k1_vm32y, register, in memory), dst.Flags); } public void vpgatherdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherdq_xmm_vm32x_xmm, register, in memory, src2)); } public void vpgatherdq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherdq_ymm_vm32x_ymm, register, in memory, src2)); } public void vpgatherqd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code; if (src.Index.IsXMM()) { code = Code.EVEX_Vpgatherqd_xmm_k1_vm64x; } else { if (!src.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vpgatherqd, dst, src); } code = Code.EVEX_Vpgatherqd_xmm_k1_vm64y; } Code code2 = code; Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory), dst.Flags); } public void vpgatherqd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherqd_ymm_k1_vm64z, register, in memory), dst.Flags); } public void vpgatherqd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Code code; if (src1.Index.IsXMM()) { code = Code.VEX_Vpgatherqd_xmm_vm64x_xmm; } else { if (!src1.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vpgatherqd, dst, src1, src2); } code = Code.VEX_Vpgatherqd_xmm_vm64y_xmm; } Code code2 = code; Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, register, in memory, src2)); } public void vpgatherqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherqq_xmm_k1_vm64x, register, in memory), dst.Flags); } public void vpgatherqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherqq_ymm_k1_vm64y, register, in memory), dst.Flags); } public void vpgatherqq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpgatherqq_zmm_k1_vm64z, register, in memory), dst.Flags); } public void vpgatherqq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherqq_xmm_vm64x_xmm, register, in memory, src2)); } public void vpgatherqq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, AssemblerRegisterYMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpgatherqq_ymm_vm64y_ymm, register, in memory, src2)); } public void vphaddbd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddbd_xmm_xmmm128, dst, src)); } public void vphaddbd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddbd_xmm_xmmm128, register, in memory)); } public void vphaddbq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddbq_xmm_xmmm128, dst, src)); } public void vphaddbq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddbq_xmm_xmmm128, register, in memory)); } public void vphaddbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddbw_xmm_xmmm128, dst, src)); } public void vphaddbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddbw_xmm_xmmm128, register, in memory)); } public void vphaddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphaddd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphaddd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphaddd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphadddq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphadddq_xmm_xmmm128, dst, src)); } public void vphadddq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphadddq_xmm_xmmm128, register, in memory)); } public void vphaddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddsw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphaddsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddsw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphaddsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddsw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphaddsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddsw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphaddubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddubd_xmm_xmmm128, dst, src)); } public void vphaddubd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddubd_xmm_xmmm128, register, in memory)); } public void vphaddubq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddubq_xmm_xmmm128, dst, src)); } public void vphaddubq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddubq_xmm_xmmm128, register, in memory)); } public void vphaddubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddubw_xmm_xmmm128, dst, src)); } public void vphaddubw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddubw_xmm_xmmm128, register, in memory)); } public void vphaddudq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddudq_xmm_xmmm128, dst, src)); } public void vphaddudq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddudq_xmm_xmmm128, register, in memory)); } public void vphadduwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphadduwd_xmm_xmmm128, dst, src)); } public void vphadduwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphadduwd_xmm_xmmm128, register, in memory)); } public void vphadduwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphadduwq_xmm_xmmm128, dst, src)); } public void vphadduwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphadduwq_xmm_xmmm128, register, in memory)); } public void vphaddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphaddw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphaddw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphaddw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphaddw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphaddw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphaddwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddwd_xmm_xmmm128, dst, src)); } public void vphaddwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddwd_xmm_xmmm128, register, in memory)); } public void vphaddwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphaddwq_xmm_xmmm128, dst, src)); } public void vphaddwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphaddwq_xmm_xmmm128, register, in memory)); } public void vphminposuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vphminposuw_xmm_xmmm128, dst, src)); } public void vphminposuw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphminposuw_xmm_xmmm128, register, in memory)); } public void vphsubbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphsubbw_xmm_xmmm128, dst, src)); } public void vphsubbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphsubbw_xmm_xmmm128, register, in memory)); } public void vphsubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphsubd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphsubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphsubd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphsubdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphsubdq_xmm_xmmm128, dst, src)); } public void vphsubdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphsubdq_xmm_xmmm128, register, in memory)); } public void vphsubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubsw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphsubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubsw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphsubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubsw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphsubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubsw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphsubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vphsubw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vphsubw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vphsubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vphsubw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vphsubw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vphsubwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.XOP_Vphsubwd_xmm_xmmm128, dst, src)); } public void vphsubwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vphsubwd_xmm_xmmm128, register, in memory)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r32m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r32m8_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r64m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r64m8_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r32m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r32m8_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r32m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r32m8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r64m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r64m8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrb_xmm_xmm_r32m8_imm8 : Code.EVEX_Vpinsrb_xmm_xmm_r32m8_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vpinsrd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrd_xmm_xmm_rm32_imm8 : Code.EVEX_Vpinsrd_xmm_xmm_rm32_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrd_xmm_xmm_rm32_imm8 : Code.EVEX_Vpinsrd_xmm_xmm_rm32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpinsrd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrd_xmm_xmm_rm32_imm8 : Code.EVEX_Vpinsrd_xmm_xmm_rm32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrd_xmm_xmm_rm32_imm8 : Code.EVEX_Vpinsrd_xmm_xmm_rm32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vpinsrq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrq_xmm_xmm_rm64_imm8 : Code.EVEX_Vpinsrq_xmm_xmm_rm64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrq_xmm_xmm_rm64_imm8 : Code.EVEX_Vpinsrq_xmm_xmm_rm64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpinsrq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrq_xmm_xmm_rm64_imm8 : Code.EVEX_Vpinsrq_xmm_xmm_rm64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrq_xmm_xmm_rm64_imm8 : Code.EVEX_Vpinsrq_xmm_xmm_rm64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r32m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r64m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r64m16_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r32m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister32 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r32m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegister64 src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r64m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r64m16_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vpinsrw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpinsrw_xmm_xmm_r32m16_imm8 : Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm)); } public void vplzcntd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vplzcntd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vplzcntd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vplzcntd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vplzcntd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vplzcntd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntd_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vplzcntq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vplzcntq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vplzcntq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vplzcntq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vplzcntq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vplzcntq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vplzcntq_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vpmacsdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacsdd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacsdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacsdd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacsdqh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacsdqh_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacsdqh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacsdqh_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacsdql(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacsdql_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacsdql(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacsdql_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacssdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacssdd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacssdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacssdd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacssdqh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacssdqh_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacssdqh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacssdqh_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacssdql(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacssdql_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacssdql(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacssdql_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacsswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacsswd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacsswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacsswd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacssww(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacssww_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacssww(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacssww_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacswd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacswd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmacsww(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmacsww_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmacsww(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmacsww_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmadcsswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmadcsswd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmadcsswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmadcsswd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmadcswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpmadcswd_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpmadcswd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpmadcswd_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpmadd52huq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmadd52huq_xmm_xmm_xmmm128 : Code.EVEX_Vpmadd52huq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmadd52huq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmadd52huq_ymm_ymm_ymmm256 : Code.EVEX_Vpmadd52huq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmadd52huq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmadd52huq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmadd52huq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmadd52huq_xmm_xmm_xmmm128 : Code.EVEX_Vpmadd52huq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpmadd52huq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmadd52huq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmadd52huq_ymm_ymm_ymmm256 : Code.EVEX_Vpmadd52huq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpmadd52huq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmadd52huq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmadd52huq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmadd52luq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmadd52luq_xmm_xmm_xmmm128 : Code.EVEX_Vpmadd52luq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmadd52luq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmadd52luq_ymm_ymm_ymmm256 : Code.EVEX_Vpmadd52luq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmadd52luq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmadd52luq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmadd52luq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmadd52luq_xmm_xmm_xmmm128 : Code.EVEX_Vpmadd52luq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpmadd52luq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmadd52luq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmadd52luq_ymm_ymm_ymmm256 : Code.EVEX_Vpmadd52luq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpmadd52luq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmadd52luq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmadd52luq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaddubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddubsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaddubsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaddubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddubsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaddubsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaddubsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaddubsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaddubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddubsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaddubsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaddubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddubsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaddubsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaddubsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaddubsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmaddwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddwd_xmm_xmm_xmmm128 : Code.EVEX_Vpmaddwd_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaddwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddwd_ymm_ymm_ymmm256 : Code.EVEX_Vpmaddwd_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaddwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaddwd_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaddwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddwd_xmm_xmm_xmmm128 : Code.EVEX_Vpmaddwd_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaddwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaddwd_ymm_ymm_ymmm256 : Code.EVEX_Vpmaddwd_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaddwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaddwd_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmaskmovd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovd_m128_xmm_xmm, in memory, src1, src2)); } public void vpmaskmovd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovd_m256_ymm_ymm, in memory, src1, src2)); } public void vpmaskmovd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovd_xmm_xmm_m128, register, register2, in memory)); } public void vpmaskmovd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovd_ymm_ymm_m256, register, register2, in memory)); } public void vpmaskmovq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovq_m128_xmm_xmm, in memory, src1, src2)); } public void vpmaskmovq(AssemblerMemoryOperand dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovq_m256_ymm_ymm, in memory, src1, src2)); } public void vpmaskmovq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovq_xmm_xmm_m128, register, register2, in memory)); } public void vpmaskmovq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpmaskmovq_ymm_ymm_m256, register, register2, in memory)); } public void vpmaxsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsb_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsb_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaxsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsb_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsb_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmaxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsd_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsd_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpmaxsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmaxsd_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpmaxsd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmaxsd_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpmaxsd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpmaxsq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpmaxsq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmaxsq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaxsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmaxub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxub_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxub_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxub(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxub_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxub_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxub(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxub_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaxub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxub_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxub_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxub(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxub_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxub_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxub(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxub_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmaxud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxud_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxud_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxud_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxud_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxud(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxud_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpmaxud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmaxud_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxud_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpmaxud_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmaxud_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxud_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpmaxud_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxud(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxud_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpmaxuq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpmaxuq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmaxuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxuq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxuq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmaxuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxuw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxuw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxuw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxuw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmaxuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmaxuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxuw_xmm_xmm_xmmm128 : Code.EVEX_Vpmaxuw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmaxuw_ymm_ymm_ymmm256 : Code.EVEX_Vpmaxuw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmaxuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmaxuw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpminsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsb_xmm_xmm_xmmm128 : Code.EVEX_Vpminsb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsb_ymm_ymm_ymmm256 : Code.EVEX_Vpminsb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpminsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsb_xmm_xmm_xmmm128 : Code.EVEX_Vpminsb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsb_ymm_ymm_ymmm256 : Code.EVEX_Vpminsb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpminsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsd_xmm_xmm_xmmm128 : Code.EVEX_Vpminsd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsd_ymm_ymm_ymmm256 : Code.EVEX_Vpminsd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpminsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpminsd_xmm_xmm_xmmm128 : Code.EVEX_Vpminsd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpminsd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpminsd_ymm_ymm_ymmm256 : Code.EVEX_Vpminsd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpminsd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpminsq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpminsq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpminsq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsw_xmm_xmm_xmmm128 : Code.EVEX_Vpminsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsw_ymm_ymm_ymmm256 : Code.EVEX_Vpminsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpminsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsw_xmm_xmm_xmmm128 : Code.EVEX_Vpminsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminsw_ymm_ymm_ymmm256 : Code.EVEX_Vpminsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpminub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminub_xmm_xmm_xmmm128 : Code.EVEX_Vpminub_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminub(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminub_ymm_ymm_ymmm256 : Code.EVEX_Vpminub_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminub(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminub_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpminub(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminub_xmm_xmm_xmmm128 : Code.EVEX_Vpminub_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminub(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminub_ymm_ymm_ymmm256 : Code.EVEX_Vpminub_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminub(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminub_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpminud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminud_xmm_xmm_xmmm128 : Code.EVEX_Vpminud_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminud_ymm_ymm_ymmm256 : Code.EVEX_Vpminud_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminud(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminud_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpminud(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpminud_xmm_xmm_xmmm128 : Code.EVEX_Vpminud_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpminud_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminud(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpminud_ymm_ymm_ymmm256 : Code.EVEX_Vpminud_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpminud_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminud(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminud_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpminuq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpminuq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpminuq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminuq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminuq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminuq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpminuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminuw_xmm_xmm_xmmm128 : Code.EVEX_Vpminuw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminuw_ymm_ymm_ymmm256 : Code.EVEX_Vpminuw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpminuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpminuw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpminuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminuw_xmm_xmm_xmmm128 : Code.EVEX_Vpminuw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpminuw_ymm_ymm_ymmm256 : Code.EVEX_Vpminuw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpminuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpminuw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmovb2m(AssemblerRegisterK dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovb2m_kr_xmm, dst, src)); } public void vpmovb2m(AssemblerRegisterK dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovb2m_kr_ymm, dst, src)); } public void vpmovb2m(AssemblerRegisterK dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovb2m_kr_zmm, dst, src)); } public void vpmovd2m(AssemblerRegisterK dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovd2m_kr_xmm, dst, src)); } public void vpmovd2m(AssemblerRegisterK dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovd2m_kr_ymm, dst, src)); } public void vpmovd2m(AssemblerRegisterK dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovd2m_kr_zmm, dst, src)); } public void vpmovdb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovdb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovdb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovdb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovdb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovdb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdb_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovdw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovdw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovdw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovdw(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovdw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovdw_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovm2b(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2b_xmm_kr, dst, src)); } public void vpmovm2b(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2b_ymm_kr, dst, src)); } public void vpmovm2b(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2b_zmm_kr, dst, src)); } public void vpmovm2d(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2d_xmm_kr, dst, src)); } public void vpmovm2d(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2d_ymm_kr, dst, src)); } public void vpmovm2d(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2d_zmm_kr, dst, src)); } public void vpmovm2q(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2q_xmm_kr, dst, src)); } public void vpmovm2q(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2q_ymm_kr, dst, src)); } public void vpmovm2q(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2q_zmm_kr, dst, src)); } public void vpmovm2w(AssemblerRegisterXMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2w_xmm_kr, dst, src)); } public void vpmovm2w(AssemblerRegisterYMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2w_ymm_kr, dst, src)); } public void vpmovm2w(AssemblerRegisterZMM dst, AssemblerRegisterK src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovm2w_zmm_kr, dst, src)); } public void vpmovmskb(AssemblerRegister32 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vpmovmskb_r32_xmm, dst, src)); } public void vpmovmskb(AssemblerRegister64 dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vpmovmskb_r64_xmm, dst, src)); } public void vpmovmskb(AssemblerRegister32 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vpmovmskb_r32_ymm, dst, src)); } public void vpmovmskb(AssemblerRegister64 dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vpmovmskb_r64_ymm, dst, src)); } public void vpmovq2m(AssemblerRegisterK dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovq2m_kr_xmm, dst, src)); } public void vpmovq2m(AssemblerRegisterK dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovq2m_kr_ymm, dst, src)); } public void vpmovq2m(AssemblerRegisterK dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovq2m_kr_zmm, dst, src)); } public void vpmovqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm16_k1z_xmm, dst, src), dst.Flags); } public void vpmovqb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm16_k1z_xmm, in memory, src), dst.Flags); } public void vpmovqb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm32_k1z_ymm, dst, src), dst.Flags); } public void vpmovqb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm32_k1z_ymm, in memory, src), dst.Flags); } public void vpmovqb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm64_k1z_zmm, dst, src), dst.Flags); } public void vpmovqb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqb_xmmm64_k1z_zmm, in memory, src), dst.Flags); } public void vpmovqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovqd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovqd(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovqd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovqd(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovqd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqd_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovqw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovqw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovqw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovqw(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovqw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovqw_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsdb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovsdb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovsdb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovsdb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovsdb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovsdb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdb_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovsdw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovsdw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovsdw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovsdw(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovsdw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsdw_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm16_k1z_xmm, dst, src), dst.Flags); } public void vpmovsqb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm16_k1z_xmm, in memory, src), dst.Flags); } public void vpmovsqb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm32_k1z_ymm, dst, src), dst.Flags); } public void vpmovsqb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm32_k1z_ymm, in memory, src), dst.Flags); } public void vpmovsqb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm64_k1z_zmm, dst, src), dst.Flags); } public void vpmovsqb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqb_xmmm64_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovsqd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovsqd(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovsqd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovsqd(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovsqd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqd_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovsqw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovsqw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovsqw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovsqw(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovsqw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsqw_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovswb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovswb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovswb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovswb(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovswb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovswb_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovsxbd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbd_xmm_xmmm32 : Code.EVEX_Vpmovsxbd_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbd_ymm_xmmm64 : Code.EVEX_Vpmovsxbd_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbd(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbd_zmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpmovsxbd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbd_xmm_xmmm32 : Code.EVEX_Vpmovsxbd_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbd_ymm_xmmm64 : Code.EVEX_Vpmovsxbd_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbd_zmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpmovsxbq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbq_xmm_xmmm16 : Code.EVEX_Vpmovsxbq_xmm_k1z_xmmm16); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbq_ymm_xmmm32 : Code.EVEX_Vpmovsxbq_ymm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbq_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vpmovsxbq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbq_xmm_xmmm16 : Code.EVEX_Vpmovsxbq_xmm_k1z_xmmm16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbq_ymm_xmmm32 : Code.EVEX_Vpmovsxbq_ymm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbq_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vpmovsxbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbw_xmm_xmmm64 : Code.EVEX_Vpmovsxbw_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbw(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbw_ymm_xmmm128 : Code.EVEX_Vpmovsxbw_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxbw(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbw_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovsxbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbw_xmm_xmmm64 : Code.EVEX_Vpmovsxbw_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxbw_ymm_xmmm128 : Code.EVEX_Vpmovsxbw_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxbw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxbw_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovsxdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxdq_xmm_xmmm64 : Code.EVEX_Vpmovsxdq_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxdq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxdq_ymm_xmmm128 : Code.EVEX_Vpmovsxdq_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxdq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxdq_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovsxdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxdq_xmm_xmmm64 : Code.EVEX_Vpmovsxdq_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxdq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxdq_ymm_xmmm128 : Code.EVEX_Vpmovsxdq_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxdq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxdq_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovsxwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwd_xmm_xmmm64 : Code.EVEX_Vpmovsxwd_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxwd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwd_ymm_xmmm128 : Code.EVEX_Vpmovsxwd_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxwd(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxwd_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovsxwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwd_xmm_xmmm64 : Code.EVEX_Vpmovsxwd_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxwd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwd_ymm_xmmm128 : Code.EVEX_Vpmovsxwd_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxwd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxwd_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovsxwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwq_xmm_xmmm32 : Code.EVEX_Vpmovsxwq_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxwq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwq_ymm_xmmm64 : Code.EVEX_Vpmovsxwq_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovsxwq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxwq_zmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpmovsxwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwq_xmm_xmmm32 : Code.EVEX_Vpmovsxwq_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxwq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovsxwq_ymm_xmmm64 : Code.EVEX_Vpmovsxwq_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovsxwq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovsxwq_zmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpmovusdb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovusdb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovusdb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovusdb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovusdb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovusdb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdb_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovusdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovusdw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovusdw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovusdw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovusdw(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovusdw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusdw_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovusqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm16_k1z_xmm, dst, src), dst.Flags); } public void vpmovusqb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm16_k1z_xmm, in memory, src), dst.Flags); } public void vpmovusqb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm32_k1z_ymm, dst, src), dst.Flags); } public void vpmovusqb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm32_k1z_ymm, in memory, src), dst.Flags); } public void vpmovusqb(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm64_k1z_zmm, dst, src), dst.Flags); } public void vpmovusqb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqb_xmmm64_k1z_zmm, in memory, src), dst.Flags); } public void vpmovusqd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovusqd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovusqd(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovusqd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovusqd(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovusqd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqd_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovusqw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm32_k1z_xmm, dst, src), dst.Flags); } public void vpmovusqw(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm32_k1z_xmm, in memory, src), dst.Flags); } public void vpmovusqw(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm64_k1z_ymm, dst, src), dst.Flags); } public void vpmovusqw(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm64_k1z_ymm, in memory, src), dst.Flags); } public void vpmovusqw(AssemblerRegisterXMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm128_k1z_zmm, dst, src), dst.Flags); } public void vpmovusqw(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovusqw_xmmm128_k1z_zmm, in memory, src), dst.Flags); } public void vpmovuswb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovuswb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovuswb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovuswb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovuswb(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovuswb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovuswb_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovw2m(AssemblerRegisterK dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovw2m_kr_xmm, dst, src)); } public void vpmovw2m(AssemblerRegisterK dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovw2m_kr_ymm, dst, src)); } public void vpmovw2m(AssemblerRegisterK dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovw2m_kr_zmm, dst, src)); } public void vpmovwb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_xmmm64_k1z_xmm, dst, src), dst.Flags); } public void vpmovwb(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_xmmm64_k1z_xmm, in memory, src), dst.Flags); } public void vpmovwb(AssemblerRegisterXMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_xmmm128_k1z_ymm, dst, src), dst.Flags); } public void vpmovwb(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_xmmm128_k1z_ymm, in memory, src), dst.Flags); } public void vpmovwb(AssemblerRegisterYMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_ymmm256_k1z_zmm, dst, src), dst.Flags); } public void vpmovwb(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovwb_ymmm256_k1z_zmm, in memory, src), dst.Flags); } public void vpmovzxbd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbd_xmm_xmmm32 : Code.EVEX_Vpmovzxbd_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbd_ymm_xmmm64 : Code.EVEX_Vpmovzxbd_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbd(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbd_zmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpmovzxbd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbd_xmm_xmmm32 : Code.EVEX_Vpmovzxbd_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbd_ymm_xmmm64 : Code.EVEX_Vpmovzxbd_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbd_zmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpmovzxbq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbq_xmm_xmmm16 : Code.EVEX_Vpmovzxbq_xmm_k1z_xmmm16); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbq_ymm_xmmm32 : Code.EVEX_Vpmovzxbq_ymm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbq_zmm_k1z_xmmm64, dst, src), dst.Flags); } public void vpmovzxbq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbq_xmm_xmmm16 : Code.EVEX_Vpmovzxbq_xmm_k1z_xmmm16); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbq_ymm_xmmm32 : Code.EVEX_Vpmovzxbq_ymm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbq_zmm_k1z_xmmm64, register, in memory), dst.Flags); } public void vpmovzxbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbw_xmm_xmmm64 : Code.EVEX_Vpmovzxbw_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbw(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbw_ymm_xmmm128 : Code.EVEX_Vpmovzxbw_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxbw(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbw_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovzxbw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbw_xmm_xmmm64 : Code.EVEX_Vpmovzxbw_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxbw_ymm_xmmm128 : Code.EVEX_Vpmovzxbw_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxbw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxbw_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovzxdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxdq_xmm_xmmm64 : Code.EVEX_Vpmovzxdq_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxdq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxdq_ymm_xmmm128 : Code.EVEX_Vpmovzxdq_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxdq(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxdq_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovzxdq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxdq_xmm_xmmm64 : Code.EVEX_Vpmovzxdq_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxdq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxdq_ymm_xmmm128 : Code.EVEX_Vpmovzxdq_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxdq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxdq_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovzxwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwd_xmm_xmmm64 : Code.EVEX_Vpmovzxwd_xmm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxwd(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwd_ymm_xmmm128 : Code.EVEX_Vpmovzxwd_ymm_k1z_xmmm128); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxwd(AssemblerRegisterZMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxwd_zmm_k1z_ymmm256, dst, src), dst.Flags); } public void vpmovzxwd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwd_xmm_xmmm64 : Code.EVEX_Vpmovzxwd_xmm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxwd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwd_ymm_xmmm128 : Code.EVEX_Vpmovzxwd_ymm_k1z_xmmm128); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxwd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxwd_zmm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpmovzxwq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwq_xmm_xmmm32 : Code.EVEX_Vpmovzxwq_xmm_k1z_xmmm32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxwq(AssemblerRegisterYMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwq_ymm_xmmm64 : Code.EVEX_Vpmovzxwq_ymm_k1z_xmmm64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vpmovzxwq(AssemblerRegisterZMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxwq_zmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpmovzxwq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwq_xmm_xmmm32 : Code.EVEX_Vpmovzxwq_xmm_k1z_xmmm32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxwq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vpmovzxwq_ymm_xmmm64 : Code.EVEX_Vpmovzxwq_ymm_k1z_xmmm64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags); } public void vpmovzxwq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmovzxwq_zmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpmuldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmuldq_xmm_xmm_xmmm128 : Code.EVEX_Vpmuldq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmuldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmuldq_ymm_ymm_ymmm256 : Code.EVEX_Vpmuldq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmuldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmuldq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmuldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmuldq_xmm_xmm_xmmm128 : Code.EVEX_Vpmuldq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpmuldq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmuldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmuldq_ymm_ymm_ymmm256 : Code.EVEX_Vpmuldq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpmuldq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmuldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmuldq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmulhrsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhrsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhrsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhrsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhrsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhrsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhrsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmulhrsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmulhrsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhrsw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhrsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhrsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhrsw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhrsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhrsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmulhrsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmulhuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhuw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhuw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhuw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhuw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmulhuw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmulhuw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhuw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhuw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhuw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhuw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhuw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhuw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmulhuw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmulhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulhw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmulhw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmulhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhw_xmm_xmm_xmmm128 : Code.EVEX_Vpmulhw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulhw_ymm_ymm_ymmm256 : Code.EVEX_Vpmulhw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmulhw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmulhw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmulld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulld_xmm_xmm_xmmm128 : Code.EVEX_Vpmulld_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmulld_ymm_ymm_ymmm256 : Code.EVEX_Vpmulld_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmulld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmulld_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpmulld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmulld_xmm_xmm_xmmm128 : Code.EVEX_Vpmulld_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpmulld_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmulld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmulld_ymm_ymm_ymmm256 : Code.EVEX_Vpmulld_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpmulld_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmulld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmulld_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmullq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpmullq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpmullq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmullq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmullq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmullq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmullq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmullw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmullw_xmm_xmm_xmmm128 : Code.EVEX_Vpmullw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmullw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmullw_ymm_ymm_ymmm256 : Code.EVEX_Vpmullw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmullw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmullw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpmullw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmullw_xmm_xmm_xmmm128 : Code.EVEX_Vpmullw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmullw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmullw_ymm_ymm_ymmm256 : Code.EVEX_Vpmullw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpmullw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmullw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpmultishiftqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpmultishiftqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpmultishiftqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmultishiftqb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmultishiftqb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmultishiftqb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmultishiftqb_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmuludq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmuludq_xmm_xmm_xmmm128 : Code.EVEX_Vpmuludq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmuludq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpmuludq_ymm_ymm_ymmm256 : Code.EVEX_Vpmuludq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpmuludq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpmuludq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpmuludq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmuludq_xmm_xmm_xmmm128 : Code.EVEX_Vpmuludq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpmuludq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmuludq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpmuludq_ymm_ymm_ymmm256 : Code.EVEX_Vpmuludq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpmuludq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpmuludq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpmuludq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpopcntb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpopcntb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpopcntb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpopcntb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpopcntb(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpopcntb(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntb_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpopcntd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vpopcntd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vpopcntd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vpopcntd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vpopcntd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vpopcntd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntd_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vpopcntq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vpopcntq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vpopcntq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vpopcntq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vpopcntq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vpopcntq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntq_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vpopcntw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_xmm_k1z_xmmm128, dst, src), dst.Flags); } public void vpopcntw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_ymm_k1z_ymmm256, dst, src), dst.Flags); } public void vpopcntw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_zmm_k1z_zmmm512, dst, src), dst.Flags); } public void vpopcntw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_xmm_k1z_xmmm128, register, in memory), dst.Flags); } public void vpopcntw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_ymm_k1z_ymmm256, register, in memory), dst.Flags); } public void vpopcntw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpopcntw_zmm_k1z_zmmm512, register, in memory), dst.Flags); } public void vpor(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpor_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpor(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpor_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpor(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpor_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpor(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpor_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpord_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpord_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpord_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpord_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpord_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpord_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vporq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vporq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vporq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vporq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vporq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vporq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vporq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vporq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vporq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vporq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vporq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vporq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpperm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerRegisterXMM src3) { AddInstruction(Instruction.Create(Code.XOP_Vpperm_xmm_xmm_xmmm128_xmm, dst, src1, src2, src3)); } public void vpperm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, AssemblerRegisterXMM src3) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpperm_xmm_xmm_xmmm128_xmm, register, register2, in memory, src3)); } public void vpperm(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, AssemblerMemoryOperand src3) { Register register = dst; Register register2 = src1; Register register3 = src2; MemoryOperand memory = src3.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpperm_xmm_xmm_xmm_xmmm128, register, register2, register3, in memory)); } public void vprold(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_xmm_k1z_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vprold(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_ymm_k1z_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vprold(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vprold(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprold(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprold(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprold(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_xmm_k1z_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprold(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_ymm_k1z_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprold(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprold_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprold(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprold(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprold(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprold_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vprolq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vprolq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vprolq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprolq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprolq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprolq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprolq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprolq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprolvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vprolvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vprolvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vprolvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprolvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprolvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprolvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vprolvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vprolvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vprolvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprolvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprolvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprolvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_xmm_k1z_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vprord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_ymm_k1z_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vprord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vprord(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprord(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprord(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_xmm_k1z_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_ymm_k1z_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprord_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprord(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprord(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprord(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprord_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vprorq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vprorq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vprorq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprorq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprorq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vprorq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vprorq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprorq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vprorvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vprorvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vprorvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vprorvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprorvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprorvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vprorvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vprorvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vprorvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vprorvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprorvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprorvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vprorvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vprotb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_xmm, dst, src1, src2)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_xmm, register, in memory, src2)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmm_xmmm128, register, register2, in memory)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_imm8, dst, src1, imm)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_imm8, register, in memory, imm)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vprotb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotb_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_xmm, dst, src1, src2)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_xmm, register, in memory, src2)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_imm8, dst, src1, imm)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_imm8, register, in memory, imm)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vprotd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_xmm, dst, src1, src2)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_xmm, register, in memory, src2)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmm_xmmm128, register, register2, in memory)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_imm8, dst, src1, imm)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_imm8, register, in memory, imm)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vprotq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotq_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_xmm, dst, src1, src2)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_xmm, register, in memory, src2)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_imm8, dst, src1, imm)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_imm8, register, in memory, imm)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vprotw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vprotw_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsadbw_xmm_xmm_xmmm128 : Code.EVEX_Vpsadbw_xmm_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsadbw_ymm_ymm_ymmm256 : Code.EVEX_Vpsadbw_ymm_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2)); } public void vpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsadbw_zmm_zmm_zmmm512, dst, src1, src2)); } public void vpsadbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsadbw_xmm_xmm_xmmm128 : Code.EVEX_Vpsadbw_xmm_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vpsadbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsadbw_ymm_ymm_ymmm256 : Code.EVEX_Vpsadbw_ymm_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory)); } public void vpsadbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsadbw_zmm_zmm_zmmm512, register, register2, in memory)); } public void vpscatterdd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdd_vm32x_k1_xmm, in memory, src), dst.Flags); } public void vpscatterdd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdd_vm32y_k1_ymm, in memory, src), dst.Flags); } public void vpscatterdd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdd_vm32z_k1_zmm, in memory, src), dst.Flags); } public void vpscatterdq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdq_vm32x_k1_xmm, in memory, src), dst.Flags); } public void vpscatterdq(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdq_vm32x_k1_ymm, in memory, src), dst.Flags); } public void vpscatterdq(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterdq_vm32y_k1_zmm, in memory, src), dst.Flags); } public void vpscatterqd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code; if (dst.Index.IsXMM()) { code = Code.EVEX_Vpscatterqd_vm64x_k1_xmm; } else { if (!dst.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vpscatterqd, dst, src); } code = Code.EVEX_Vpscatterqd_vm64y_k1_xmm; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src), dst.Flags); } public void vpscatterqd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterqd_vm64z_k1_ymm, in memory, src), dst.Flags); } public void vpscatterqq(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterqq_vm64x_k1_xmm, in memory, src), dst.Flags); } public void vpscatterqq(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterqq_vm64y_k1_ymm, in memory, src), dst.Flags); } public void vpscatterqq(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpscatterqq_vm64z_k1_zmm, in memory, src), dst.Flags); } public void vpshab(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshab_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshab(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshab_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshab(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshab_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshad_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshad(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshad_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshad_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshaq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshaq_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshaq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshaq_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshaq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshaq_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshaw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshaw_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshaw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshaw_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshaw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshaw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshlb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshlb_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshlb(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlb_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshlb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlb_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshld_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshld_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshld_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshldd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshldvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpshldvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpshldvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpshldvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpshldvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpshldvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpshldvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshldvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpshldvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpshldvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpshldvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpshldvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpshldvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldvw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpshldw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_xmm_k1z_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_ymm_k1z_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_zmm_k1z_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshldw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshldw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshldw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshldw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_xmm_k1z_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_ymm_k1z_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_zmm_k1z_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshldw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshldw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshldw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshldw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshlq_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshlq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlq_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlq_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.XOP_Vpshlw_xmm_xmmm128_xmm, dst, src1, src2)); } public void vpshlw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, AssemblerRegisterXMM src2) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlw_xmm_xmmm128_xmm, register, in memory, src2)); } public void vpshlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.XOP_Vpshlw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpshrdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpshrdvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpshrdvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpshrdvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpshrdvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpshrdvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpshrdvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpshrdvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpshrdvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpshrdvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpshrdvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpshrdvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpshrdvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpshrdvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdvw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpshrdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_xmm_k1z_xmm_xmmm128_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_ymm_k1z_ymm_ymmm256_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_zmm_k1z_zmm_zmmm512_imm8, dst, src1, src2, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, imm), dst.Flags); } public void vpshrdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_xmm_k1z_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_ymm_k1z_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_zmm_k1z_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpshrdw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_xmm_k1z_xmm_xmmm128_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshrdw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_ymm_k1z_ymm_ymmm256_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshrdw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshrdw_zmm_k1z_zmm_zmmm512_imm8, register, register2, in memory, (uint)imm), dst.Flags); } public void vpshufb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufb_xmm_xmm_xmmm128 : Code.EVEX_Vpshufb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpshufb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufb_ymm_ymm_ymmm256 : Code.EVEX_Vpshufb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpshufb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpshufb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufb_xmm_xmm_xmmm128 : Code.EVEX_Vpshufb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpshufb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufb_ymm_ymm_ymmm256 : Code.EVEX_Vpshufb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpshufb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpshufbitqmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufbitqmb_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpshufd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufd_xmm_xmmm128_imm8 : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshufd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufd_ymm_ymmm256_imm8 : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshufd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufd_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vpshufd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpshufd_xmm_xmmm128_imm8 : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8) : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpshufd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpshufd_ymm_ymmm256_imm8 : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8) : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags | src1.Flags); } public void vpshufd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufd_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpshufd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufd_xmm_xmmm128_imm8 : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufd_ymm_ymmm256_imm8 : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufd_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpshufd_xmm_xmmm128_imm8 : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8) : Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpshufd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = ((!src1.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpshufd_ymm_ymmm256_imm8 : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8) : Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpshufd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufd_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpshufhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_xmm_xmmm128_imm8 : Code.EVEX_Vpshufhw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_ymm_ymmm256_imm8 : Code.EVEX_Vpshufhw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufhw_zmm_k1z_zmmm512_imm8, dst, src1, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_xmm_xmmm128_imm8 : Code.EVEX_Vpshufhw_xmm_k1z_xmmm128_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_ymm_ymmm256_imm8 : Code.EVEX_Vpshufhw_ymm_k1z_ymmm256_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufhw_zmm_k1z_zmmm512_imm8, register, in memory, imm), dst.Flags); } public void vpshufhw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_xmm_xmmm128_imm8 : Code.EVEX_Vpshufhw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufhw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_ymm_ymmm256_imm8 : Code.EVEX_Vpshufhw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufhw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshufhw_zmm_k1z_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshufhw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_xmm_xmmm128_imm8 : Code.EVEX_Vpshufhw_xmm_k1z_xmmm128_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags); } public void vpshufhw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshufhw_ymm_ymmm256_imm8 : Code.EVEX_Vpshufhw_ymm_k1z_ymmm256_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags); } public void vpshufhw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshufhw_zmm_k1z_zmmm512_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_xmm_xmmm128_imm8 : Code.EVEX_Vpshuflw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_ymm_ymmm256_imm8 : Code.EVEX_Vpshuflw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshuflw_zmm_k1z_zmmm512_imm8, dst, src1, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_xmm_xmmm128_imm8 : Code.EVEX_Vpshuflw_xmm_k1z_xmmm128_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_ymm_ymmm256_imm8 : Code.EVEX_Vpshuflw_ymm_k1z_ymmm256_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshuflw_zmm_k1z_zmmm512_imm8, register, in memory, imm), dst.Flags); } public void vpshuflw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_xmm_xmmm128_imm8 : Code.EVEX_Vpshuflw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_ymm_ymmm256_imm8 : Code.EVEX_Vpshuflw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpshuflw_zmm_k1z_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_xmm_xmmm128_imm8 : Code.EVEX_Vpshuflw_xmm_k1z_xmmm128_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpshuflw_ymm_ymmm256_imm8 : Code.EVEX_Vpshuflw_ymm_k1z_ymmm256_imm8); Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory, (uint)imm), dst.Flags); } public void vpshuflw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpshuflw_zmm_k1z_zmmm512_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsignb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignb_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpsignb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignb_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpsignb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignb_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpsignb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignb_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpsignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignd_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpsignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignd_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpsignd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignd_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpsignd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignd_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpsignw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignw_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpsignw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpsignw_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpsignw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignw_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpsignw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpsignw_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpslld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_xmm_xmm_xmmm128 : Code.EVEX_Vpslld_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_ymm_ymm_xmmm128 : Code.EVEX_Vpslld_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpslld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_xmm_xmm_xmmm128 : Code.EVEX_Vpslld_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_ymm_ymm_xmmm128 : Code.EVEX_Vpslld_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpslld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_xmm_xmm_imm8 : Code.EVEX_Vpslld_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_ymm_ymm_imm8 : Code.EVEX_Vpslld_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vpslld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpslld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_xmm_xmm_imm8 : Code.EVEX_Vpslld_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslld_ymm_ymm_imm8 : Code.EVEX_Vpslld_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpslld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpslld(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpslld(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslld_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpslldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslldq_xmm_xmm_imm8 : Code.EVEX_Vpslldq_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpslldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslldq_ymm_ymm_imm8 : Code.EVEX_Vpslldq_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpslldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_zmm_zmmm512_imm8, dst, src1, imm)); } public void vpslldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpslldq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_ymm_ymmm256_imm8, register, in memory, imm)); } public void vpslldq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_zmm_zmmm512_imm8, register, in memory, imm)); } public void vpslldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslldq_xmm_xmm_imm8 : Code.EVEX_Vpslldq_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpslldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpslldq_ymm_ymm_imm8 : Code.EVEX_Vpslldq_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpslldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpslldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpslldq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_ymm_ymmm256_imm8, register, in memory, (uint)imm)); } public void vpslldq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpslldq_zmm_zmmm512_imm8, register, in memory, (uint)imm)); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_xmm_xmm_xmmm128 : Code.EVEX_Vpsllq_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_ymm_ymm_xmmm128 : Code.EVEX_Vpsllq_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_xmm_xmm_xmmm128 : Code.EVEX_Vpsllq_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_ymm_ymm_xmmm128 : Code.EVEX_Vpsllq_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_xmm_xmm_imm8 : Code.EVEX_Vpsllq_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_ymm_ymm_imm8 : Code.EVEX_Vpsllq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_xmm_xmm_imm8 : Code.EVEX_Vpsllq_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllq_ymm_ymm_imm8 : Code.EVEX_Vpsllq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsllq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsllq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsllvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllvd_xmm_xmm_xmmm128 : Code.EVEX_Vpsllvd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllvd_ymm_ymm_ymmm256 : Code.EVEX_Vpsllvd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpsllvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsllvd_xmm_xmm_xmmm128 : Code.EVEX_Vpsllvd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpsllvd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsllvd_ymm_ymm_ymmm256 : Code.EVEX_Vpsllvd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpsllvd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllvq_xmm_xmm_xmmm128 : Code.EVEX_Vpsllvq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllvq_ymm_ymm_ymmm256 : Code.EVEX_Vpsllvq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpsllvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsllvq_xmm_xmm_xmmm128 : Code.EVEX_Vpsllvq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpsllvq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsllvq_ymm_ymm_ymmm256 : Code.EVEX_Vpsllvq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpsllvq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsllvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsllvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpsllvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsllvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsllvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpsllvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllvw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_xmm_xmm_xmmm128 : Code.EVEX_Vpsllw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_ymm_ymm_xmmm128 : Code.EVEX_Vpsllw_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_xmm_xmm_xmmm128 : Code.EVEX_Vpsllw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_ymm_ymm_xmmm128 : Code.EVEX_Vpsllw_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_xmm_xmm_imm8 : Code.EVEX_Vpsllw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_ymm_ymm_imm8 : Code.EVEX_Vpsllw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmmm512_imm8, dst, src1, imm), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_xmm_k1z_xmmm128_imm8, register, in memory, imm), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_ymm_k1z_ymmm256_imm8, register, in memory, imm), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmmm512_imm8, register, in memory, imm), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_xmm_xmm_imm8 : Code.EVEX_Vpsllw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsllw_ymm_ymm_imm8 : Code.EVEX_Vpsllw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsllw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_xmm_k1z_xmmm128_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsllw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_ymm_k1z_ymmm256_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsllw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsllw_zmm_k1z_zmmm512_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_xmm_xmm_xmmm128 : Code.EVEX_Vpsrad_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_ymm_ymm_xmmm128 : Code.EVEX_Vpsrad_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_xmm_xmm_xmmm128 : Code.EVEX_Vpsrad_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_ymm_ymm_xmmm128 : Code.EVEX_Vpsrad_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_xmm_xmm_imm8 : Code.EVEX_Vpsrad_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_ymm_ymm_imm8 : Code.EVEX_Vpsrad_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_xmm_xmm_imm8 : Code.EVEX_Vpsrad_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrad_ymm_ymm_imm8 : Code.EVEX_Vpsrad_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrad(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrad(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrad(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrad_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsraq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsravd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsravd_xmm_xmm_xmmm128 : Code.EVEX_Vpsravd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsravd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsravd_ymm_ymm_ymmm256 : Code.EVEX_Vpsravd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsravd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpsravd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsravd_xmm_xmm_xmmm128 : Code.EVEX_Vpsravd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpsravd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsravd_ymm_ymm_ymmm256 : Code.EVEX_Vpsravd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpsravd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpsravq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpsravq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpsravq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsravw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsravw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpsravw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsravw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsravw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpsravw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsravw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_xmm_xmm_xmmm128 : Code.EVEX_Vpsraw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_ymm_ymm_xmmm128 : Code.EVEX_Vpsraw_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_xmm_xmm_xmmm128 : Code.EVEX_Vpsraw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_ymm_ymm_xmmm128 : Code.EVEX_Vpsraw_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_xmm_xmm_imm8 : Code.EVEX_Vpsraw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_ymm_ymm_imm8 : Code.EVEX_Vpsraw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmmm512_imm8, dst, src1, imm), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_xmm_k1z_xmmm128_imm8, register, in memory, imm), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_ymm_k1z_ymmm256_imm8, register, in memory, imm), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmmm512_imm8, register, in memory, imm), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_xmm_xmm_imm8 : Code.EVEX_Vpsraw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsraw_ymm_ymm_imm8 : Code.EVEX_Vpsraw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsraw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_xmm_k1z_xmmm128_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsraw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_ymm_k1z_ymmm256_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsraw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsraw_zmm_k1z_zmmm512_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_xmm_xmm_xmmm128 : Code.EVEX_Vpsrld_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_ymm_ymm_xmmm128 : Code.EVEX_Vpsrld_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_xmm_xmm_xmmm128 : Code.EVEX_Vpsrld_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_ymm_ymm_xmmm128 : Code.EVEX_Vpsrld_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_xmm_xmm_imm8 : Code.EVEX_Vpsrld_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_ymm_ymm_imm8 : Code.EVEX_Vpsrld_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmmm512b32_imm8, dst, src1, imm), dst.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmmm512b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_xmm_xmm_imm8 : Code.EVEX_Vpsrld_xmm_k1z_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrld_ymm_ymm_imm8 : Code.EVEX_Vpsrld_ymm_k1z_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmmm512b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrld(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrld(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrld(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrld_zmm_k1z_zmmm512b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrldq_xmm_xmm_imm8 : Code.EVEX_Vpsrldq_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpsrldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrldq_ymm_ymm_imm8 : Code.EVEX_Vpsrldq_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm)); } public void vpsrldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_zmm_zmmm512_imm8, dst, src1, imm)); } public void vpsrldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_xmm_xmmm128_imm8, register, in memory, imm)); } public void vpsrldq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_ymm_ymmm256_imm8, register, in memory, imm)); } public void vpsrldq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_zmm_zmmm512_imm8, register, in memory, imm)); } public void vpsrldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrldq_xmm_xmm_imm8 : Code.EVEX_Vpsrldq_xmm_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpsrldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrldq_ymm_ymm_imm8 : Code.EVEX_Vpsrldq_ymm_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm)); } public void vpsrldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_zmm_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vpsrldq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vpsrldq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_ymm_ymmm256_imm8, register, in memory, (uint)imm)); } public void vpsrldq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrldq_zmm_zmmm512_imm8, register, in memory, (uint)imm)); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlq_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_ymm_ymm_xmmm128 : Code.EVEX_Vpsrlq_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlq_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_ymm_ymm_xmmm128 : Code.EVEX_Vpsrlq_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_xmm_xmm_imm8 : Code.EVEX_Vpsrlq_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_ymm_ymm_imm8 : Code.EVEX_Vpsrlq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmmm512b64_imm8, dst, src1, imm), dst.Flags); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmmm512b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_xmm_xmm_imm8 : Code.EVEX_Vpsrlq_xmm_k1z_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlq_ymm_ymm_imm8 : Code.EVEX_Vpsrlq_ymm_k1z_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmmm512b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlq(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrlq(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrlq(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlq_zmm_k1z_zmmm512b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vpsrlvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlvd_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlvd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlvd_ymm_ymm_ymmm256 : Code.EVEX_Vpsrlvd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpsrlvd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsrlvd_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlvd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpsrlvd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsrlvd_ymm_ymm_ymmm256 : Code.EVEX_Vpsrlvd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpsrlvd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlvq_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlvq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlvq_ymm_ymm_ymmm256 : Code.EVEX_Vpsrlvq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpsrlvq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsrlvq_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlvq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpsrlvq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsrlvq_ymm_ymm_ymmm256 : Code.EVEX_Vpsrlvq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpsrlvq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsrlvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_xmm_k1z_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsrlvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_ymm_k1z_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vpsrlvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsrlvw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_xmm_k1z_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsrlvw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_ymm_k1z_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vpsrlvw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlvw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_ymm_ymm_xmmm128 : Code.EVEX_Vpsrlw_ymm_k1z_ymm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmm_xmmm128, dst, src1, src2), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_xmm_xmm_xmmm128 : Code.EVEX_Vpsrlw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_ymm_ymm_xmmm128 : Code.EVEX_Vpsrlw_ymm_k1z_ymm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmm_xmmm128, register, register2, in memory), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_xmm_xmm_imm8 : Code.EVEX_Vpsrlw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_ymm_ymm_imm8 : Code.EVEX_Vpsrlw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, dst, src1, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmmm512_imm8, dst, src1, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_xmm_k1z_xmmm128_imm8, register, in memory, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_ymm_k1z_ymmm256_imm8, register, in memory, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmmm512_imm8, register, in memory, imm), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_xmm_xmm_imm8 : Code.EVEX_Vpsrlw_xmm_k1z_xmmm128_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vpsrlw_ymm_ymm_imm8 : Code.EVEX_Vpsrlw_ymm_k1z_ymmm256_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmmm512_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vpsrlw(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_xmm_k1z_xmmm128_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsrlw(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_ymm_k1z_ymmm256_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsrlw(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsrlw_zmm_k1z_zmmm512_imm8, register, in memory, (uint)imm), dst.Flags); } public void vpsubb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubd_xmm_xmm_xmmm128 : Code.EVEX_Vpsubd_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubd_ymm_ymm_ymmm256 : Code.EVEX_Vpsubd_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubd_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpsubd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsubd_xmm_xmm_xmmm128 : Code.EVEX_Vpsubd_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpsubd_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsubd_ymm_ymm_ymmm256 : Code.EVEX_Vpsubd_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpsubd_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubd_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubq_xmm_xmm_xmmm128 : Code.EVEX_Vpsubq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubq_ymm_ymm_ymmm256 : Code.EVEX_Vpsubq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpsubq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsubq_xmm_xmm_xmmm128 : Code.EVEX_Vpsubq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpsubq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpsubq_ymm_ymm_ymmm256 : Code.EVEX_Vpsubq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpsubq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpsubsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubsb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubsb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubsb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubsb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubsb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubsb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubsb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubsb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubsb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubsw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubsw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubsw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubsw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubsw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubsw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubsw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubsw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubsw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubsw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsubusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubusb_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubusb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubusb_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubusb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubusb_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubusb(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusb_xmm_xmm_xmmm128 : Code.EVEX_Vpsubusb_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubusb(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusb_ymm_ymm_ymmm256 : Code.EVEX_Vpsubusb_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubusb(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubusb_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsubusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubusw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubusw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubusw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubusw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubusw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubusw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubusw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubusw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubusw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubusw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubusw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubusw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpsubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpsubw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpsubw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpsubw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubw_xmm_xmm_xmmm128 : Code.EVEX_Vpsubw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpsubw_ymm_ymm_ymmm256 : Code.EVEX_Vpsubw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpsubw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpsubw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpternlogd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpternlogd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpternlogd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogd_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vpternlogq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vpternlogq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vpternlogq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpternlogq_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vptest(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vptest_xmm_xmmm128, dst, src)); } public void vptest(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vptest_ymm_ymmm256, dst, src)); } public void vptest(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vptest_xmm_xmmm128, register, in memory)); } public void vptest(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vptest_ymm_ymmm256, register, in memory)); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vptestmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmb_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmd_kr_k1_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmq_kr_k1_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vptestmw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestmw_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vptestnmb(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmb_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmd(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmd_kr_k1_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmq(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmq_kr_k1_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_xmm_xmmm128, dst, src1, src2), dst.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_ymm_ymmm256, dst, src1, src2), dst.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_xmm_xmmm128, register, register2, in memory), dst.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_ymm_ymmm256, register, register2, in memory), dst.Flags); } public void vptestnmw(AssemblerRegisterK dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vptestnmw_kr_k1_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpunpckhbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhbw_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhbw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhbw_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhbw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhbw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpunpckhbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhbw_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhbw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpckhbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhbw_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhbw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpckhbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhbw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpunpckhdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhdq_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhdq_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhdq_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpunpckhdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckhdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhdq_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpunpckhdq_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckhdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhdq_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpunpckhdq_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhdq_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhqdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhqdq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhqdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhqdq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhqdq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpunpckhqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckhqdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhqdq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpunpckhqdq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckhqdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhqdq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpunpckhqdq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhqdq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckhwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhwd_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhwd_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhwd_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhwd_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckhwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhwd_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpunpckhwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhwd_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckhwd_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpckhwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckhwd_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckhwd_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpckhwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpckhwd_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpunpcklbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklbw_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklbw_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklbw_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklbw_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklbw_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpunpcklbw(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklbw_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklbw_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpcklbw(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklbw_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklbw_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpcklbw(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklbw_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpunpckldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckldq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckldq_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpckldq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckldq_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpckldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpckldq_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpunpckldq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckldq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpckldq_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vpunpckldq_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckldq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpckldq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpckldq_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vpunpckldq_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpckldq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpckldq_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpcklqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklqdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklqdq_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklqdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklqdq_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklqdq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpunpcklqdq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpcklqdq_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklqdq_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vpunpcklqdq_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpcklqdq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vpunpcklqdq_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklqdq_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vpunpcklqdq_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpcklqdq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklqdq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpunpcklwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklwd_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklwd_xmm_k1z_xmm_xmmm128); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklwd_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklwd_ymm_k1z_ymm_ymmm256); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vpunpcklwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklwd_zmm_k1z_zmm_zmmm512, dst, src1, src2), dst.Flags); } public void vpunpcklwd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklwd_xmm_xmm_xmmm128 : Code.EVEX_Vpunpcklwd_xmm_k1z_xmm_xmmm128); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpcklwd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vpunpcklwd_ymm_ymm_ymmm256 : Code.EVEX_Vpunpcklwd_ymm_k1z_ymm_ymmm256); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags); } public void vpunpcklwd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpunpcklwd_zmm_k1z_zmm_zmmm512, register, register2, in memory), dst.Flags); } public void vpxor(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpxor_xmm_xmm_xmmm128, dst, src1, src2)); } public void vpxor(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vpxor_ymm_ymm_ymmm256, dst, src1, src2)); } public void vpxor(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpxor_xmm_xmm_xmmm128, register, register2, in memory)); } public void vpxor(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vpxor_ymm_ymm_ymmm256, register, register2, in memory)); } public void vpxord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxord_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vpxord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxord_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vpxord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxord_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vpxord(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxord_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpxord(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxord_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpxord(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxord_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vpxorq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vpxorq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vpxorq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vpxorq(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpxorq(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vpxorq(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vpxorq_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_xmm_k1z_xmm_xmmm128b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vrangepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vrangepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_zmm_k1z_zmm_zmmm512b64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_zmm_k1z_zmm_zmmm512b64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_xmm_k1z_xmm_xmmm128b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vrangepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vrangepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_zmm_k1z_zmm_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_xmm_k1z_xmm_xmmm128b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangepd_zmm_k1z_zmm_zmmm512b64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_xmm_k1z_xmm_xmmm128b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vrangeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vrangeps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_zmm_k1z_zmm_zmmm512b32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_zmm_k1z_zmm_zmmm512b32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_xmm_k1z_xmm_xmmm128b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vrangeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vrangeps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_zmm_k1z_zmm_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_xmm_k1z_xmm_xmmm128b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangeps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangeps_zmm_k1z_zmm_zmmm512b32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangesd_xmm_k1z_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrangesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangesd_xmm_k1z_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrangesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrangess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangess_xmm_k1z_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrangess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangess_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrangess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrangess_xmm_k1z_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrangess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrangess_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrcp14pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vrcp14pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vrcp14pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vrcp14pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vrcp14pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vrcp14pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14pd_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vrcp14ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vrcp14ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vrcp14ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vrcp14ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vrcp14ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vrcp14ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ps_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vrcp14sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14sd_xmm_k1z_xmm_xmmm64, dst, src1, src2), dst.Flags); } public void vrcp14sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14sd_xmm_k1z_xmm_xmmm64, register, register2, in memory), dst.Flags); } public void vrcp14ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ss_xmm_k1z_xmm_xmmm32, dst, src1, src2), dst.Flags); } public void vrcp14ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp14ss_xmm_k1z_xmm_xmmm32, register, register2, in memory), dst.Flags); } public void vrcp28pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp28pd_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vrcp28pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp28pd_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vrcp28ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp28ps_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vrcp28ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp28ps_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vrcp28sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp28sd_xmm_k1z_xmm_xmmm64_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vrcp28sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp28sd_xmm_k1z_xmm_xmmm64_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vrcp28ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrcp28ss_xmm_k1z_xmm_xmmm32_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vrcp28ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcp28ss_xmm_k1z_xmm_xmmm32_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vrcpph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vrcpph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vrcpph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_zmm_k1z_zmmm512b16, dst, src), dst.Flags); } public void vrcpph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vrcpph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vrcpph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcpph_zmm_k1z_zmmm512b16, register, in memory), dst.Flags | src.Flags); } public void vrcpps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vrcpps_xmm_xmmm128, dst, src)); } public void vrcpps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vrcpps_ymm_ymmm256, dst, src)); } public void vrcpps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrcpps_xmm_xmmm128, register, in memory)); } public void vrcpps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrcpps_ymm_ymmm256, register, in memory)); } public void vrcpsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrcpsh_xmm_k1z_xmm_xmmm16, dst, src1, src2), dst.Flags); } public void vrcpsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrcpsh_xmm_k1z_xmm_xmmm16, register, register2, in memory), dst.Flags); } public void vrcpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vrcpss_xmm_xmm_xmmm32, dst, src1, src2)); } public void vrcpss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrcpss_xmm_xmm_xmmm32, register, register2, in memory)); } public void vreducepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vreducepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vreducepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_zmm_k1z_zmmm512b64_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreducepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreducepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_zmm_k1z_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreducepd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducepd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_xmm_k1z_xmmm128b16_imm8, dst, src1, imm), dst.Flags); } public void vreduceph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_ymm_k1z_ymmm256b16_imm8, dst, src1, imm), dst.Flags); } public void vreduceph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_zmm_k1z_zmmm512b16_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_xmm_k1z_xmmm128b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_ymm_k1z_ymmm256b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_xmm_k1z_xmmm128b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreduceph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_ymm_k1z_ymmm256b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreduceph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_zmm_k1z_zmmm512b16_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_xmm_k1z_xmmm128b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_ymm_k1z_ymmm256b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_xmm_k1z_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vreduceps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_ymm_k1z_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vreduceps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_zmm_k1z_zmmm512b32_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_xmm_k1z_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreduceps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_ymm_k1z_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vreduceps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_zmm_k1z_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreduceps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreduceps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vreducesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducesd_xmm_k1z_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vreducesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vreducesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducesd_xmm_k1z_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vreducesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vreducesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducesh_xmm_k1z_xmm_xmmm16_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vreducesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducesh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vreducesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducesh_xmm_k1z_xmm_xmmm16_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vreducesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducesh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vreducess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducess_xmm_k1z_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vreducess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducess_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vreducess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vreducess_xmm_k1z_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vreducess(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vreducess_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrndscalepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_xmm_k1z_xmmm128b64_imm8, dst, src1, imm), dst.Flags); } public void vrndscalepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_ymm_k1z_ymmm256b64_imm8, dst, src1, imm), dst.Flags); } public void vrndscalepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_zmm_k1z_zmmm512b64_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_xmm_k1z_xmmm128b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_ymm_k1z_ymmm256b64_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_xmm_k1z_xmmm128b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscalepd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_ymm_k1z_ymmm256b64_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscalepd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_zmm_k1z_zmmm512b64_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_xmm_k1z_xmmm128b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_ymm_k1z_ymmm256b64_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscalepd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalepd_zmm_k1z_zmmm512b64_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_xmm_k1z_xmmm128b16_imm8, dst, src1, imm), dst.Flags); } public void vrndscaleph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_ymm_k1z_ymmm256b16_imm8, dst, src1, imm), dst.Flags); } public void vrndscaleph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_zmm_k1z_zmmm512b16_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_xmm_k1z_xmmm128b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_ymm_k1z_ymmm256b16_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_xmm_k1z_xmmm128b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscaleph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_ymm_k1z_ymmm256b16_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscaleph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_zmm_k1z_zmmm512b16_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_xmm_k1z_xmmm128b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_ymm_k1z_ymmm256b16_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleph_zmm_k1z_zmmm512b16_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_xmm_k1z_xmmm128b32_imm8, dst, src1, imm), dst.Flags); } public void vrndscaleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_ymm_k1z_ymmm256b32_imm8, dst, src1, imm), dst.Flags); } public void vrndscaleps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_zmm_k1z_zmmm512b32_imm8_sae, dst, src1, imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_xmm_k1z_xmmm128b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_ymm_k1z_ymmm256b32_imm8, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_xmm_k1z_xmmm128b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscaleps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_ymm_k1z_ymmm256b32_imm8, (Register)dst, (Register)src1, (uint)imm), dst.Flags); } public void vrndscaleps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_zmm_k1z_zmmm512b32_imm8_sae, (Register)dst, (Register)src1, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_xmm_k1z_xmmm128b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_ymm_k1z_ymmm256b32_imm8, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscaleps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaleps_zmm_k1z_zmmm512b32_imm8_sae, register, in memory, (uint)imm), dst.Flags | src1.Flags); } public void vrndscalesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesd_xmm_k1z_xmm_xmmm64_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrndscalesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrndscalesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesd_xmm_k1z_xmm_xmmm64_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrndscalesd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesd_xmm_k1z_xmm_xmmm64_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrndscalesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesh_xmm_k1z_xmm_xmmm16_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrndscalesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrndscalesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesh_xmm_k1z_xmm_xmmm16_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrndscalesh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscalesh_xmm_k1z_xmm_xmmm16_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vrndscaless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaless_xmm_k1z_xmm_xmmm32_imm8_sae, dst, src1, src2, imm), dst.Flags | src2.Flags); } public void vrndscaless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaless_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vrndscaless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vrndscaless_xmm_k1z_xmm_xmmm32_imm8_sae, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags | src2.Flags); } public void vrndscaless(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrndscaless_xmm_k1z_xmm_xmmm32_imm8_sae, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vroundpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundpd_xmm_xmmm128_imm8, dst, src1, imm)); } public void vroundpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundpd_ymm_ymmm256_imm8, dst, src1, imm)); } public void vroundpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundpd_xmm_xmmm128_imm8, register, in memory, imm)); } public void vroundpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundpd_ymm_ymmm256_imm8, register, in memory, imm)); } public void vroundpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundpd_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vroundpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundpd_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vroundpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundpd_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vroundpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundpd_ymm_ymmm256_imm8, register, in memory, (uint)imm)); } public void vroundps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundps_xmm_xmmm128_imm8, dst, src1, imm)); } public void vroundps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundps_ymm_ymmm256_imm8, dst, src1, imm)); } public void vroundps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundps_xmm_xmmm128_imm8, register, in memory, imm)); } public void vroundps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, sbyte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundps_ymm_ymmm256_imm8, register, in memory, imm)); } public void vroundps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundps_xmm_xmmm128_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vroundps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundps_ymm_ymmm256_imm8, (Register)dst, (Register)src1, (uint)imm)); } public void vroundps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundps_xmm_xmmm128_imm8, register, in memory, (uint)imm)); } public void vroundps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src1, byte imm) { Register register = dst; MemoryOperand memory = src1.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundps_ymm_ymmm256_imm8, register, in memory, (uint)imm)); } public void vroundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundsd_xmm_xmm_xmmm64_imm8, dst, src1, src2, imm)); } public void vroundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundsd_xmm_xmm_xmmm64_imm8, register, register2, in memory, imm)); } public void vroundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundsd_xmm_xmm_xmmm64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vroundsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundsd_xmm_xmm_xmmm64_imm8, register, register2, in memory, (uint)imm)); } public void vroundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundss_xmm_xmm_xmmm32_imm8, dst, src1, src2, imm)); } public void vroundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundss_xmm_xmm_xmmm32_imm8, register, register2, in memory, imm)); } public void vroundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { AddInstruction(Instruction.Create(Code.VEX_Vroundss_xmm_xmm_xmmm32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm)); } public void vroundss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vroundss_xmm_xmm_xmmm32_imm8, register, register2, in memory, (uint)imm)); } public void vrsqrt14pd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_xmm_k1z_xmmm128b64, dst, src), dst.Flags); } public void vrsqrt14pd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_ymm_k1z_ymmm256b64, dst, src), dst.Flags); } public void vrsqrt14pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_zmm_k1z_zmmm512b64, dst, src), dst.Flags); } public void vrsqrt14pd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_xmm_k1z_xmmm128b64, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14pd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_ymm_k1z_ymmm256b64, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14pd_zmm_k1z_zmmm512b64, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14ps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_xmm_k1z_xmmm128b32, dst, src), dst.Flags); } public void vrsqrt14ps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_ymm_k1z_ymmm256b32, dst, src), dst.Flags); } public void vrsqrt14ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_zmm_k1z_zmmm512b32, dst, src), dst.Flags); } public void vrsqrt14ps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_xmm_k1z_xmmm128b32, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14ps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_ymm_k1z_ymmm256b32, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ps_zmm_k1z_zmmm512b32, register, in memory), dst.Flags | src.Flags); } public void vrsqrt14sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14sd_xmm_k1z_xmm_xmmm64, dst, src1, src2), dst.Flags); } public void vrsqrt14sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14sd_xmm_k1z_xmm_xmmm64, register, register2, in memory), dst.Flags); } public void vrsqrt14ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ss_xmm_k1z_xmm_xmmm32, dst, src1, src2), dst.Flags); } public void vrsqrt14ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt14ss_xmm_k1z_xmm_xmmm32, register, register2, in memory), dst.Flags); } public void vrsqrt28pd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28pd_zmm_k1z_zmmm512b64_sae, dst, src), dst.Flags | src.Flags); } public void vrsqrt28pd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28pd_zmm_k1z_zmmm512b64_sae, register, in memory), dst.Flags | src.Flags); } public void vrsqrt28ps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28ps_zmm_k1z_zmmm512b32_sae, dst, src), dst.Flags | src.Flags); } public void vrsqrt28ps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28ps_zmm_k1z_zmmm512b32_sae, register, in memory), dst.Flags | src.Flags); } public void vrsqrt28sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28sd_xmm_k1z_xmm_xmmm64_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vrsqrt28sd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28sd_xmm_k1z_xmm_xmmm64_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vrsqrt28ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28ss_xmm_k1z_xmm_xmmm32_sae, dst, src1, src2), dst.Flags | src2.Flags); } public void vrsqrt28ss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrt28ss_xmm_k1z_xmm_xmmm32_sae, register, register2, in memory), dst.Flags | src2.Flags); } public void vrsqrtph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vrsqrtph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vrsqrtph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_zmm_k1z_zmmm512b16, dst, src), dst.Flags); } public void vrsqrtph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vrsqrtph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vrsqrtph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtph_zmm_k1z_zmmm512b16, register, in memory), dst.Flags | src.Flags); } public void vrsqrtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vrsqrtps_xmm_xmmm128, dst, src)); } public void vrsqrtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vrsqrtps_ymm_ymmm256, dst, src)); } public void vrsqrtps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrsqrtps_xmm_xmmm128, register, in memory)); } public void vrsqrtps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrsqrtps_ymm_ymmm256, register, in memory)); } public void vrsqrtsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtsh_xmm_k1z_xmm_xmmm16, dst, src1, src2), dst.Flags); } public void vrsqrtsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vrsqrtsh_xmm_k1z_xmm_xmmm16, register, register2, in memory), dst.Flags); } public void vrsqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.VEX_Vrsqrtss_xmm_xmm_xmmm32, dst, src1, src2)); } public void vrsqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vrsqrtss_xmm_xmm_xmmm32, register, register2, in memory)); } public void vscalefpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_xmm_k1z_xmm_xmmm128b64, dst, src1, src2), dst.Flags); } public void vscalefpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_ymm_k1z_ymm_ymmm256b64, dst, src1, src2), dst.Flags); } public void vscalefpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_xmm_k1z_xmm_xmmm128b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_ymm_k1z_ymm_ymmm256b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefpd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vscalefph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vscalefph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_xmm_k1z_xmm_xmmm128b32, dst, src1, src2), dst.Flags); } public void vscalefps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_ymm_k1z_ymm_ymmm256b32, dst, src1, src2), dst.Flags); } public void vscalefps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_xmm_k1z_xmm_xmmm128b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_ymm_k1z_ymm_ymmm256b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefsd_xmm_k1z_xmm_xmmm64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefsd_xmm_k1z_xmm_xmmm64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscalefss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vscalefss_xmm_k1z_xmm_xmmm32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vscalefss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscalefss_xmm_k1z_xmm_xmmm32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vscatterdpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdpd_vm32x_k1_xmm, in memory, src), dst.Flags); } public void vscatterdpd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdpd_vm32x_k1_ymm, in memory, src), dst.Flags); } public void vscatterdpd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdpd_vm32y_k1_zmm, in memory, src), dst.Flags); } public void vscatterdps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdps_vm32x_k1_xmm, in memory, src), dst.Flags); } public void vscatterdps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdps_vm32y_k1_ymm, in memory, src), dst.Flags); } public void vscatterdps(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterdps_vm32z_k1_zmm, in memory, src), dst.Flags); } public void vscatterpf0dpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf0dpd_vm32y_k1, in memory), dst.Flags); } public void vscatterpf0dps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf0dps_vm32z_k1, in memory), dst.Flags); } public void vscatterpf0qpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf0qpd_vm64z_k1, in memory), dst.Flags); } public void vscatterpf0qps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf0qps_vm64z_k1, in memory), dst.Flags); } public void vscatterpf1dpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf1dpd_vm32y_k1, in memory), dst.Flags); } public void vscatterpf1dps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf1dps_vm32z_k1, in memory), dst.Flags); } public void vscatterpf1qpd(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf1qpd_vm64z_k1, in memory), dst.Flags); } public void vscatterpf1qps(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterpf1qps_vm64z_k1, in memory), dst.Flags); } public void vscatterqpd(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterqpd_vm64x_k1_xmm, in memory, src), dst.Flags); } public void vscatterqpd(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterqpd_vm64y_k1_ymm, in memory, src), dst.Flags); } public void vscatterqpd(AssemblerMemoryOperand dst, AssemblerRegisterZMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterqpd_vm64z_k1_zmm, in memory, src), dst.Flags); } public void vscatterqps(AssemblerMemoryOperand dst, AssemblerRegisterXMM src) { Code code; if (dst.Index.IsXMM()) { code = Code.EVEX_Vscatterqps_vm64x_k1_xmm; } else { if (!dst.Index.IsYMM()) { throw NoOpCodeFoundFor(Mnemonic.Vscatterqps, dst, src); } code = Code.EVEX_Vscatterqps_vm64y_k1_xmm; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, src), dst.Flags); } public void vscatterqps(AssemblerMemoryOperand dst, AssemblerRegisterYMM src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vscatterqps_vm64z_k1_ymm, in memory, src), dst.Flags); } public void vshuff32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vshuff32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vshuff32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshuff32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshuff32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshuff32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshuff32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshuff32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff32x4_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshuff64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vshuff64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vshuff64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshuff64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshuff64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshuff64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshuff64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshuff64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshuff64x2_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufi32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_ymm_k1z_ymm_ymmm256b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufi32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufi32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufi32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufi32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_ymm_k1z_ymm_ymmm256b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufi32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufi32x4(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_ymm_k1z_ymm_ymmm256b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufi32x4(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi32x4_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufi64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_ymm_k1z_ymm_ymmm256b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufi64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufi64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufi64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufi64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_ymm_k1z_ymm_ymmm256b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufi64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufi64x2(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_ymm_k1z_ymm_ymmm256b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufi64x2(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufi64x2_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufpd_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vshufpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufpd_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vshufpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufpd_zmm_k1z_zmm_zmmm512b64_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufpd_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufpd_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufpd_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufpd_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufpd_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufpd_zmm_k1z_zmm_zmmm512b64_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufpd_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8) : Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufpd_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8) : Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufpd_zmm_k1z_zmm_zmmm512b64_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufps_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vshufps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, sbyte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufps_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, dst, src1, src2, imm), dst.Flags); } public void vshufps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, sbyte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufps_zmm_k1z_zmm_zmmm512b32_imm8, dst, src1, src2, imm), dst.Flags); } public void vshufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufps_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8) : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, sbyte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufps_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8) : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, sbyte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufps_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufps_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2, byte imm) { Code code = (InstructionPreferVex ? Code.VEX_Vshufps_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2, byte imm) { AddInstruction(Instruction.Create(Code.EVEX_Vshufps_zmm_k1z_zmm_zmmm512b32_imm8, (Register)dst, (Register)src1, (Register)src2, (uint)imm), dst.Flags); } public void vshufps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufps_xmm_xmm_xmmm128_imm8 : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8) : Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2, byte imm) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vshufps_ymm_ymm_ymmm256_imm8 : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8) : Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vshufps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2, byte imm) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vshufps_zmm_k1z_zmm_zmmm512b32_imm8, register, register2, in memory, (uint)imm), dst.Flags | src2.Flags); } public void vsqrtpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtpd_xmm_xmmm128 : Code.EVEX_Vsqrtpd_xmm_k1z_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vsqrtpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtpd_ymm_ymmm256 : Code.EVEX_Vsqrtpd_ymm_k1z_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vsqrtpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtpd_zmm_k1z_zmmm512b64_er, dst, src), dst.Flags | src.Flags); } public void vsqrtpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsqrtpd_xmm_xmmm128 : Code.EVEX_Vsqrtpd_xmm_k1z_xmmm128b64) : Code.EVEX_Vsqrtpd_xmm_k1z_xmmm128b64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vsqrtpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsqrtpd_ymm_ymmm256 : Code.EVEX_Vsqrtpd_ymm_k1z_ymmm256b64) : Code.EVEX_Vsqrtpd_ymm_k1z_ymmm256b64); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vsqrtpd(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtpd_zmm_k1z_zmmm512b64_er, register, in memory), dst.Flags | src.Flags); } public void vsqrtph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_xmm_k1z_xmmm128b16, dst, src), dst.Flags); } public void vsqrtph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_ymm_k1z_ymmm256b16, dst, src), dst.Flags); } public void vsqrtph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_zmm_k1z_zmmm512b16_er, dst, src), dst.Flags | src.Flags); } public void vsqrtph(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_xmm_k1z_xmmm128b16, register, in memory), dst.Flags | src.Flags); } public void vsqrtph(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_ymm_k1z_ymmm256b16, register, in memory), dst.Flags | src.Flags); } public void vsqrtph(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtph_zmm_k1z_zmmm512b16_er, register, in memory), dst.Flags | src.Flags); } public void vsqrtps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtps_xmm_xmmm128 : Code.EVEX_Vsqrtps_xmm_k1z_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vsqrtps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtps_ymm_ymmm256 : Code.EVEX_Vsqrtps_ymm_k1z_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src), dst.Flags); } public void vsqrtps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtps_zmm_k1z_zmmm512b32_er, dst, src), dst.Flags | src.Flags); } public void vsqrtps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsqrtps_xmm_xmmm128 : Code.EVEX_Vsqrtps_xmm_k1z_xmmm128b32) : Code.EVEX_Vsqrtps_xmm_k1z_xmmm128b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vsqrtps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Code code = ((!src.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsqrtps_ymm_ymmm256 : Code.EVEX_Vsqrtps_ymm_k1z_ymmm256b32) : Code.EVEX_Vsqrtps_ymm_k1z_ymmm256b32); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), dst.Flags | src.Flags); } public void vsqrtps(AssemblerRegisterZMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtps_zmm_k1z_zmmm512b32_er, register, in memory), dst.Flags | src.Flags); } public void vsqrtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtsd_xmm_xmm_xmmm64 : Code.EVEX_Vsqrtsd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vsqrtsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtsd_xmm_xmm_xmmm64 : Code.EVEX_Vsqrtsd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsqrtsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsqrtsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vsqrtsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsqrtsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vsqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtss_xmm_xmm_xmmm32 : Code.EVEX_Vsqrtss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vsqrtss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsqrtss_xmm_xmm_xmmm32 : Code.EVEX_Vsqrtss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vstmxcsr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vstmxcsr_m32, in memory)); } public void vsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubpd_xmm_xmm_xmmm128 : Code.EVEX_Vsubpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubpd_ymm_ymm_ymmm256 : Code.EVEX_Vsubpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vsubpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubpd_zmm_k1z_zmm_zmmm512b64_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsubpd_xmm_xmm_xmmm128 : Code.EVEX_Vsubpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vsubpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsubpd_ymm_ymm_ymmm256 : Code.EVEX_Vsubpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vsubpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubpd_zmm_k1z_zmm_zmmm512b64_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubph_xmm_k1z_xmm_xmmm128b16, dst, src1, src2), dst.Flags); } public void vsubph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubph_ymm_k1z_ymm_ymmm256b16, dst, src1, src2), dst.Flags); } public void vsubph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubph_zmm_k1z_zmm_zmmm512b16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubph(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubph_xmm_k1z_xmm_xmmm128b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubph(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubph_ymm_k1z_ymm_ymmm256b16, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubph(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubph_zmm_k1z_zmm_zmmm512b16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubps_xmm_xmm_xmmm128 : Code.EVEX_Vsubps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubps_ymm_ymm_ymmm256 : Code.EVEX_Vsubps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vsubps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubps_zmm_k1z_zmm_zmmm512b32_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsubps_xmm_xmm_xmmm128 : Code.EVEX_Vsubps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vsubps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vsubps_ymm_ymm_ymmm256 : Code.EVEX_Vsubps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vsubps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubps_zmm_k1z_zmm_zmmm512b32_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubsd_xmm_xmm_xmmm64 : Code.EVEX_Vsubsd_xmm_k1z_xmm_xmmm64_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubsd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubsd_xmm_xmm_xmmm64 : Code.EVEX_Vsubsd_xmm_k1z_xmm_xmmm64_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vsubsh_xmm_k1z_xmm_xmmm16_er, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubsh(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vsubsh_xmm_k1z_xmm_xmmm16_er, register, register2, in memory), dst.Flags | src2.Flags); } public void vsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubss_xmm_xmm_xmmm32 : Code.EVEX_Vsubss_xmm_k1z_xmm_xmmm32_er); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags | src2.Flags); } public void vsubss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = (InstructionPreferVex ? Code.VEX_Vsubss_xmm_xmm_xmmm32 : Code.EVEX_Vsubss_xmm_k1z_xmm_xmmm32_er); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vtestpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vtestpd_xmm_xmmm128, dst, src)); } public void vtestpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vtestpd_ymm_ymmm256, dst, src)); } public void vtestpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vtestpd_xmm_xmmm128, register, in memory)); } public void vtestpd(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vtestpd_ymm_ymmm256, register, in memory)); } public void vtestps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.VEX_Vtestps_xmm_xmmm128, dst, src)); } public void vtestps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src) { AddInstruction(Instruction.Create(Code.VEX_Vtestps_ymm_ymmm256, dst, src)); } public void vtestps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vtestps_xmm_xmmm128, register, in memory)); } public void vtestps(AssemblerRegisterYMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.VEX_Vtestps_ymm_ymmm256, register, in memory)); } public void vucomisd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vucomisd_xmm_xmmm64 : Code.EVEX_Vucomisd_xmm_xmmm64_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vucomisd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vucomisd_xmm_xmmm64 : Code.EVEX_Vucomisd_xmm_xmmm64_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vucomish(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.EVEX_Vucomish_xmm_xmmm16_sae, dst, src), src.Flags); } public void vucomish(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vucomish_xmm_xmmm16_sae, register, in memory), src.Flags); } public void vucomiss(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { Code code = (InstructionPreferVex ? Code.VEX_Vucomiss_xmm_xmmm32 : Code.EVEX_Vucomiss_xmm_xmmm32_sae); AddInstruction(Instruction.Create(code, dst, src), src.Flags); } public void vucomiss(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Code code = (InstructionPreferVex ? Code.VEX_Vucomiss_xmm_xmmm32 : Code.EVEX_Vucomiss_xmm_xmmm32_sae); Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, in memory), src.Flags); } public void vunpckhpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpckhpd_xmm_xmm_xmmm128 : Code.EVEX_Vunpckhpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpckhpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpckhpd_ymm_ymm_ymmm256 : Code.EVEX_Vunpckhpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpckhpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vunpckhpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vunpckhpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpckhpd_xmm_xmm_xmmm128 : Code.EVEX_Vunpckhpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vunpckhpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpckhpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpckhpd_ymm_ymm_ymmm256 : Code.EVEX_Vunpckhpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vunpckhpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpckhpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vunpckhpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpckhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpckhps_xmm_xmm_xmmm128 : Code.EVEX_Vunpckhps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpckhps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpckhps_ymm_ymm_ymmm256 : Code.EVEX_Vunpckhps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpckhps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vunpckhps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vunpckhps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpckhps_xmm_xmm_xmmm128 : Code.EVEX_Vunpckhps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vunpckhps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpckhps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpckhps_ymm_ymm_ymmm256 : Code.EVEX_Vunpckhps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vunpckhps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpckhps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vunpckhps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpcklpd_xmm_xmm_xmmm128 : Code.EVEX_Vunpcklpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpcklpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpcklpd_ymm_ymm_ymmm256 : Code.EVEX_Vunpcklpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpcklpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vunpcklpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vunpcklpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpcklpd_xmm_xmm_xmmm128 : Code.EVEX_Vunpcklpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vunpcklpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpcklpd_ymm_ymm_ymmm256 : Code.EVEX_Vunpcklpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vunpcklpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vunpcklpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpcklps_xmm_xmm_xmmm128 : Code.EVEX_Vunpcklps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpcklps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vunpcklps_ymm_ymm_ymmm256 : Code.EVEX_Vunpcklps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vunpcklps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vunpcklps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vunpcklps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpcklps_xmm_xmm_xmmm128 : Code.EVEX_Vunpcklps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vunpcklps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vunpcklps_ymm_ymm_ymmm256 : Code.EVEX_Vunpcklps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vunpcklps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vunpcklps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vunpcklps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vxorpd_xmm_xmm_xmmm128 : Code.EVEX_Vxorpd_xmm_k1z_xmm_xmmm128b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vxorpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vxorpd_ymm_ymm_ymmm256 : Code.EVEX_Vxorpd_ymm_k1z_ymm_ymmm256b64); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vxorpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vxorpd_zmm_k1z_zmm_zmmm512b64, dst, src1, src2), dst.Flags); } public void vxorpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vxorpd_xmm_xmm_xmmm128 : Code.EVEX_Vxorpd_xmm_k1z_xmm_xmmm128b64) : Code.EVEX_Vxorpd_xmm_k1z_xmm_xmmm128b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorpd(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vxorpd_ymm_ymm_ymmm256 : Code.EVEX_Vxorpd_ymm_k1z_ymm_ymmm256b64) : Code.EVEX_Vxorpd_ymm_k1z_ymm_ymmm256b64); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorpd(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vxorpd_zmm_k1z_zmm_zmmm512b64, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerRegisterXMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vxorps_xmm_xmm_xmmm128 : Code.EVEX_Vxorps_xmm_k1z_xmm_xmmm128b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vxorps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerRegisterYMM src2) { Code code = (InstructionPreferVex ? Code.VEX_Vxorps_ymm_ymm_ymmm256 : Code.EVEX_Vxorps_ymm_k1z_ymm_ymmm256b32); AddInstruction(Instruction.Create(code, dst, src1, src2), dst.Flags); } public void vxorps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerRegisterZMM src2) { AddInstruction(Instruction.Create(Code.EVEX_Vxorps_zmm_k1z_zmm_zmmm512b32, dst, src1, src2), dst.Flags); } public void vxorps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vxorps_xmm_xmm_xmmm128 : Code.EVEX_Vxorps_xmm_k1z_xmm_xmmm128b32) : Code.EVEX_Vxorps_xmm_k1z_xmm_xmmm128b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorps(AssemblerRegisterYMM dst, AssemblerRegisterYMM src1, AssemblerMemoryOperand src2) { Code code = ((!src2.IsBroadcast) ? (InstructionPreferVex ? Code.VEX_Vxorps_ymm_ymm_ymmm256 : Code.EVEX_Vxorps_ymm_k1z_ymm_ymmm256b32) : Code.EVEX_Vxorps_ymm_k1z_ymm_ymmm256b32); Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code, register, register2, in memory), dst.Flags | src2.Flags); } public void vxorps(AssemblerRegisterZMM dst, AssemblerRegisterZMM src1, AssemblerMemoryOperand src2) { Register register = dst; Register register2 = src1; MemoryOperand memory = src2.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.EVEX_Vxorps_zmm_k1z_zmm_zmmm512b32, register, register2, in memory), dst.Flags | src2.Flags); } public void vzeroall() { AddInstruction(Instruction.Create(Code.VEX_Vzeroall)); } public void vzeroupper() { AddInstruction(Instruction.Create(Code.VEX_Vzeroupper)); } public void wait() { AddInstruction(Instruction.Create(Code.Wait)); } public void wbinvd() { AddInstruction(Instruction.Create(Code.Wbinvd)); } public void wbnoinvd() { AddInstruction(Instruction.Create(Code.Wbnoinvd)); } public void wrfsbase(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Wrfsbase_r32, dst)); } public void wrfsbase(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Wrfsbase_r64, dst)); } public void wrgsbase(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Wrgsbase_r32, dst)); } public void wrgsbase(AssemblerRegister64 dst) { AddInstruction(Instruction.Create(Code.Wrgsbase_r64, dst)); } public void wrmsr() { AddInstruction(Instruction.Create(Code.Wrmsr)); } public void wrmsrlist() { AddInstruction(Instruction.Create(Code.Wrmsrlist)); } public void wrmsrns() { AddInstruction(Instruction.Create(Code.Wrmsrns)); } public void wrpkru() { AddInstruction(Instruction.Create(Code.Wrpkru)); } public void wrshr(AssemblerRegister32 dst) { AddInstruction(Instruction.Create(Code.Wrshr_rm32, dst)); } public void wrshr(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Wrshr_rm32, in memory)); } public void wrssd(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Wrssd_m32_r32, in memory, src)); } public void wrssq(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Wrssq_m64_r64, in memory, src)); } public void wrudbg() { AddInstruction(Instruction.Create(Code.Wrudbg)); } public void wrussd(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Wrussd_m32_r32, in memory, src)); } public void wrussq(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Wrussq_m64_r64, in memory, src)); } public void xabort(sbyte imm) { AddInstruction(Instruction.Create(Code.Xabort_imm8, imm)); } public void xabort(byte imm) { AddInstruction(Instruction.Create(Code.Xabort_imm8, (uint)imm)); } public void xadd(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Xadd_rm8_r8, dst, src)); } public void xadd(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xadd_rm8_r8, in memory, src)); } public void xadd(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Xadd_rm16_r16, dst, src)); } public void xadd(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xadd_rm16_r16, in memory, src)); } public void xadd(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Xadd_rm32_r32, dst, src)); } public void xadd(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xadd_rm32_r32, in memory, src)); } public void xadd(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Xadd_rm64_r64, dst, src)); } public void xadd(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xadd_rm64_r64, in memory, src)); } public void xbegin(Label dst) { AddInstruction(Instruction.CreateXbegin(Bitness, dst.Id)); } public void xbegin(ulong dst) { AddInstruction(Instruction.CreateXbegin(Bitness, dst)); } public void xbts(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Xbts_r16_rm16, dst, src)); } public void xbts(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Xbts_r32_rm32, dst, src)); } public void xbts(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xbts_r16_rm16, register, in memory)); } public void xbts(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xbts_r32_rm32, register, in memory)); } public void xchg(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Xchg_rm8_r8, dst, src)); } public void xchg(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xchg_rm8_r8, in memory, src)); } public void xchg(AssemblerRegister16 dst, AssemblerRegister16 src) { Code code = (((Register)src == Register.AX) ? Code.Xchg_r16_AX : Code.Xchg_rm16_r16); AddInstruction(Instruction.Create(code, dst, src)); } public void xchg(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xchg_rm16_r16, in memory, src)); } public void xchg(AssemblerRegister32 dst, AssemblerRegister32 src) { Code code = (((Register)src == Register.EAX) ? Code.Xchg_r32_EAX : Code.Xchg_rm32_r32); AddInstruction(Instruction.Create(code, dst, src)); } public void xchg(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xchg_rm32_r32, in memory, src)); } public void xchg(AssemblerRegister64 dst, AssemblerRegister64 src) { Code code = (((Register)src == Register.RAX) ? Code.Xchg_r64_RAX : Code.Xchg_rm64_r64); AddInstruction(Instruction.Create(code, dst, src)); } public void xchg(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xchg_rm64_r64, in memory, src)); } public void xcryptcbc() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xcryptcbc_32 : Code.Xcryptcbc_16) : Code.Xcryptcbc_64); AddInstruction(Instruction.Create(code)); } public void xcryptcfb() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xcryptcfb_32 : Code.Xcryptcfb_16) : Code.Xcryptcfb_64); AddInstruction(Instruction.Create(code)); } public void xcryptctr() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xcryptctr_32 : Code.Xcryptctr_16) : Code.Xcryptctr_64); AddInstruction(Instruction.Create(code)); } public void xcryptecb() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xcryptecb_32 : Code.Xcryptecb_16) : Code.Xcryptecb_64); AddInstruction(Instruction.Create(code)); } public void xcryptofb() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xcryptofb_32 : Code.Xcryptofb_16) : Code.Xcryptofb_64); AddInstruction(Instruction.Create(code)); } public void xend() { AddInstruction(Instruction.Create(Code.Xend)); } public void xgetbv() { AddInstruction(Instruction.Create(Code.Xgetbv)); } public void xor(AssemblerRegister8 dst, AssemblerRegister8 src) { AddInstruction(Instruction.Create(Code.Xor_rm8_r8, dst, src)); } public void xor(AssemblerMemoryOperand dst, AssemblerRegister8 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_rm8_r8, in memory, src)); } public void xor(AssemblerRegister16 dst, AssemblerRegister16 src) { AddInstruction(Instruction.Create(Code.Xor_rm16_r16, dst, src)); } public void xor(AssemblerMemoryOperand dst, AssemblerRegister16 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_rm16_r16, in memory, src)); } public void xor(AssemblerRegister32 dst, AssemblerRegister32 src) { AddInstruction(Instruction.Create(Code.Xor_rm32_r32, dst, src)); } public void xor(AssemblerMemoryOperand dst, AssemblerRegister32 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_rm32_r32, in memory, src)); } public void xor(AssemblerRegister64 dst, AssemblerRegister64 src) { AddInstruction(Instruction.Create(Code.Xor_rm64_r64, dst, src)); } public void xor(AssemblerMemoryOperand dst, AssemblerRegister64 src) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_rm64_r64, in memory, src)); } public void xor(AssemblerRegister8 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_r8_rm8, register, in memory)); } public void xor(AssemblerRegister16 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_r16_rm16, register, in memory)); } public void xor(AssemblerRegister32 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_r32_rm32, register, in memory)); } public void xor(AssemblerRegister64 dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xor_r64_rm64, register, in memory)); } public void xor(AssemblerRegister8 dst, sbyte imm) { Code code = (((Register)dst == Register.AL) ? Code.Xor_AL_imm8 : Code.Xor_rm8_imm8); AddInstruction(Instruction.Create(code, dst, imm)); } public void xor(AssemblerRegister16 dst, short imm) { Code code = (((Register)dst != Register.AX) ? ((imm >= -128 && imm <= 127) ? Code.Xor_rm16_imm8 : Code.Xor_rm16_imm16) : Code.Xor_AX_imm16); AddInstruction(Instruction.Create(code, dst, imm)); } public void xor(AssemblerRegister32 dst, int imm) { Code code = (((Register)dst != Register.EAX) ? ((imm >= -128 && imm <= 127) ? Code.Xor_rm32_imm8 : Code.Xor_rm32_imm32) : Code.Xor_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void xor(AssemblerRegister64 dst, int imm) { Code code = (((Register)dst != Register.RAX) ? ((imm >= -128 && imm <= 127) ? Code.Xor_rm64_imm8 : Code.Xor_rm64_imm32) : Code.Xor_RAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void xor(AssemblerMemoryOperand dst, int imm) { Code code; if (dst.Size == MemoryOperandSize.Qword) { code = ((imm >= -128 && imm <= 127) ? Code.Xor_rm64_imm8 : Code.Xor_rm64_imm32); } else if (dst.Size == MemoryOperandSize.Dword) { code = ((imm >= -128 && imm <= 127) ? Code.Xor_rm32_imm8 : Code.Xor_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm >= -128 && imm <= 127) ? Code.Xor_rm16_imm8 : Code.Xor_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Xor, dst, imm); } code = Code.Xor_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void xor(AssemblerRegister8 dst, byte imm) { Code code = (((Register)dst == Register.AL) ? Code.Xor_AL_imm8 : Code.Xor_rm8_imm8); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void xor(AssemblerRegister16 dst, ushort imm) { Code code = (((Register)dst != Register.AX) ? ((imm <= 127 || (65408 <= imm && imm <= ushort.MaxValue)) ? Code.Xor_rm16_imm8 : Code.Xor_rm16_imm16) : Code.Xor_AX_imm16); AddInstruction(Instruction.Create(code, (Register)dst, (uint)imm)); } public void xor(AssemblerRegister32 dst, uint imm) { Code code = (((Register)dst != Register.EAX) ? ((imm <= 127 || 4294967168u <= imm) ? Code.Xor_rm32_imm8 : Code.Xor_rm32_imm32) : Code.Xor_EAX_imm32); AddInstruction(Instruction.Create(code, dst, imm)); } public void xor(AssemblerMemoryOperand dst, uint imm) { Code code; if (dst.Size == MemoryOperandSize.Dword) { code = ((imm <= 127 || 4294967168u <= imm) ? Code.Xor_rm32_imm8 : Code.Xor_rm32_imm32); } else if (dst.Size == MemoryOperandSize.Word) { code = ((imm <= 127 || (65408 <= imm && imm <= 65535)) ? Code.Xor_rm16_imm8 : Code.Xor_rm16_imm16); } else { if (dst.Size != MemoryOperandSize.Byte) { throw NoOpCodeFoundFor(Mnemonic.Xor, dst, imm); } code = Code.Xor_rm8_imm8; } Code code2 = code; MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(code2, in memory, imm)); } public void xorpd(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Xorpd_xmm_xmmm128, dst, src)); } public void xorpd(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xorpd_xmm_xmmm128, register, in memory)); } public void xorps(AssemblerRegisterXMM dst, AssemblerRegisterXMM src) { AddInstruction(Instruction.Create(Code.Xorps_xmm_xmmm128, dst, src)); } public void xorps(AssemblerRegisterXMM dst, AssemblerMemoryOperand src) { Register register = dst; MemoryOperand memory = src.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xorps_xmm_xmmm128, register, in memory)); } public void xresldtrk() { AddInstruction(Instruction.Create(Code.Xresldtrk)); } public void xrstor(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xrstor_mem, in memory)); } public void xrstor64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xrstor64_mem, in memory)); } public void xrstors(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xrstors_mem, in memory)); } public void xrstors64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xrstors64_mem, in memory)); } public void xsave(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsave_mem, in memory)); } public void xsave64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsave64_mem, in memory)); } public void xsavec(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsavec_mem, in memory)); } public void xsavec64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsavec64_mem, in memory)); } public void xsaveopt(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsaveopt_mem, in memory)); } public void xsaveopt64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsaveopt64_mem, in memory)); } public void xsaves(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsaves_mem, in memory)); } public void xsaves64(AssemblerMemoryOperand dst) { MemoryOperand memory = dst.ToMemoryOperand(Bitness); AddInstruction(Instruction.Create(Code.Xsaves64_mem, in memory)); } public void xsetbv() { AddInstruction(Instruction.Create(Code.Xsetbv)); } public void xsha1() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xsha1_32 : Code.Xsha1_16) : Code.Xsha1_64); AddInstruction(Instruction.Create(code)); } public void xsha256() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xsha256_32 : Code.Xsha256_16) : Code.Xsha256_64); AddInstruction(Instruction.Create(code)); } public void xsha512() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xsha512_32 : Code.Xsha512_16) : Code.Xsha512_64); AddInstruction(Instruction.Create(code)); } public void xsha512_alt() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xsha512_alt_32 : Code.Xsha512_alt_16) : Code.Xsha512_alt_64); AddInstruction(Instruction.Create(code)); } public void xstore() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xstore_32 : Code.Xstore_16) : Code.Xstore_64); AddInstruction(Instruction.Create(code)); } public void xstore_alt() { Code code = ((Bitness != 64) ? ((Bitness >= 32) ? Code.Xstore_alt_32 : Code.Xstore_alt_16) : Code.Xstore_alt_64); AddInstruction(Instruction.Create(code)); } public void xsusldtrk() { AddInstruction(Instruction.Create(Code.Xsusldtrk)); } public void xtest() { AddInstruction(Instruction.Create(Code.Xtest)); } public void zero_bytes() { AddInstruction(Instruction.Create(Code.Zero_bytes)); } public void db(byte imm0) { AddInstruction(Instruction.CreateDeclareByte(imm0)); } public void db(byte imm0, byte imm1) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1)); } public void db(byte imm0, byte imm1, byte imm2) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10, byte imm11) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10, imm11)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10, byte imm11, byte imm12) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10, imm11, imm12)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10, byte imm11, byte imm12, byte imm13) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10, imm11, imm12, imm13)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10, byte imm11, byte imm12, byte imm13, byte imm14) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10, imm11, imm12, imm13, imm14)); } public void db(byte imm0, byte imm1, byte imm2, byte imm3, byte imm4, byte imm5, byte imm6, byte imm7, byte imm8, byte imm9, byte imm10, byte imm11, byte imm12, byte imm13, byte imm14, byte imm15) { AddInstruction(Instruction.CreateDeclareByte(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7, imm8, imm9, imm10, imm11, imm12, imm13, imm14, imm15)); } public void db(sbyte imm0) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0)); } public void db(sbyte imm0, sbyte imm1) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10, sbyte imm11) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10, (byte)imm11)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10, sbyte imm11, sbyte imm12) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10, (byte)imm11, (byte)imm12)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10, sbyte imm11, sbyte imm12, sbyte imm13) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10, (byte)imm11, (byte)imm12, (byte)imm13)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10, sbyte imm11, sbyte imm12, sbyte imm13, sbyte imm14) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10, (byte)imm11, (byte)imm12, (byte)imm13, (byte)imm14)); } public void db(sbyte imm0, sbyte imm1, sbyte imm2, sbyte imm3, sbyte imm4, sbyte imm5, sbyte imm6, sbyte imm7, sbyte imm8, sbyte imm9, sbyte imm10, sbyte imm11, sbyte imm12, sbyte imm13, sbyte imm14, sbyte imm15) { AddInstruction(Instruction.CreateDeclareByte((byte)imm0, (byte)imm1, (byte)imm2, (byte)imm3, (byte)imm4, (byte)imm5, (byte)imm6, (byte)imm7, (byte)imm8, (byte)imm9, (byte)imm10, (byte)imm11, (byte)imm12, (byte)imm13, (byte)imm14, (byte)imm15)); } public void dw(ushort imm0) { AddInstruction(Instruction.CreateDeclareWord(imm0)); } public void dw(ushort imm0, ushort imm1) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1)); } public void dw(ushort imm0, ushort imm1, ushort imm2) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2)); } public void dw(ushort imm0, ushort imm1, ushort imm2, ushort imm3) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2, imm3)); } public void dw(ushort imm0, ushort imm1, ushort imm2, ushort imm3, ushort imm4) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2, imm3, imm4)); } public void dw(ushort imm0, ushort imm1, ushort imm2, ushort imm3, ushort imm4, ushort imm5) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2, imm3, imm4, imm5)); } public void dw(ushort imm0, ushort imm1, ushort imm2, ushort imm3, ushort imm4, ushort imm5, ushort imm6) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2, imm3, imm4, imm5, imm6)); } public void dw(ushort imm0, ushort imm1, ushort imm2, ushort imm3, ushort imm4, ushort imm5, ushort imm6, ushort imm7) { AddInstruction(Instruction.CreateDeclareWord(imm0, imm1, imm2, imm3, imm4, imm5, imm6, imm7)); } public void dw(short imm0) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0)); } public void dw(short imm0, short imm1) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1)); } public void dw(short imm0, short imm1, short imm2) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2)); } public void dw(short imm0, short imm1, short imm2, short imm3) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2, (ushort)imm3)); } public void dw(short imm0, short imm1, short imm2, short imm3, short imm4) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2, (ushort)imm3, (ushort)imm4)); } public void dw(short imm0, short imm1, short imm2, short imm3, short imm4, short imm5) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2, (ushort)imm3, (ushort)imm4, (ushort)imm5)); } public void dw(short imm0, short imm1, short imm2, short imm3, short imm4, short imm5, short imm6) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2, (ushort)imm3, (ushort)imm4, (ushort)imm5, (ushort)imm6)); } public void dw(short imm0, short imm1, short imm2, short imm3, short imm4, short imm5, short imm6, short imm7) { AddInstruction(Instruction.CreateDeclareWord((ushort)imm0, (ushort)imm1, (ushort)imm2, (ushort)imm3, (ushort)imm4, (ushort)imm5, (ushort)imm6, (ushort)imm7)); } public void dd(uint imm0) { AddInstruction(Instruction.CreateDeclareDword(imm0)); } public void dd(uint imm0, uint imm1) { AddInstruction(Instruction.CreateDeclareDword(imm0, imm1)); } public void dd(uint imm0, uint imm1, uint imm2) { AddInstruction(Instruction.CreateDeclareDword(imm0, imm1, imm2)); } public void dd(uint imm0, uint imm1, uint imm2, uint imm3) { AddInstruction(Instruction.CreateDeclareDword(imm0, imm1, imm2, imm3)); } public void dd(int imm0) { AddInstruction(Instruction.CreateDeclareDword((uint)imm0)); } public void dd(int imm0, int imm1) { AddInstruction(Instruction.CreateDeclareDword((uint)imm0, (uint)imm1)); } public void dd(int imm0, int imm1, int imm2) { AddInstruction(Instruction.CreateDeclareDword((uint)imm0, (uint)imm1, (uint)imm2)); } public void dd(int imm0, int imm1, int imm2, int imm3) { AddInstruction(Instruction.CreateDeclareDword((uint)imm0, (uint)imm1, (uint)imm2, (uint)imm3)); } public unsafe void dd(float imm0) { AddInstruction(Instruction.CreateDeclareDword(*(uint*)(&imm0))); } public unsafe void dd(float imm0, float imm1) { AddInstruction(Instruction.CreateDeclareDword(*(uint*)(&imm0), *(uint*)(&imm1))); } public unsafe void dd(float imm0, float imm1, float imm2) { AddInstruction(Instruction.CreateDeclareDword(*(uint*)(&imm0), *(uint*)(&imm1), *(uint*)(&imm2))); } public unsafe void dd(float imm0, float imm1, float imm2, float imm3) { AddInstruction(Instruction.CreateDeclareDword(*(uint*)(&imm0), *(uint*)(&imm1), *(uint*)(&imm2), *(uint*)(&imm3))); } public void dq(ulong imm0) { AddInstruction(Instruction.CreateDeclareQword(imm0)); } public void dq(ulong imm0, ulong imm1) { AddInstruction(Instruction.CreateDeclareQword(imm0, imm1)); } public void dq(long imm0) { AddInstruction(Instruction.CreateDeclareQword((ulong)imm0)); } public void dq(long imm0, long imm1) { AddInstruction(Instruction.CreateDeclareQword((ulong)imm0, (ulong)imm1)); } public unsafe void dq(double imm0) { AddInstruction(Instruction.CreateDeclareQword(*(ulong*)(&imm0))); } public unsafe void dq(double imm0, double imm1) { AddInstruction(Instruction.CreateDeclareQword(*(ulong*)(&imm0), *(ulong*)(&imm1))); } } [DebuggerDisplay("{Base} + {Index} * {Scale} + {Displacement}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerMemoryOperand : IEquatable { internal readonly MemoryOperandSize Size; public readonly Register Segment; public readonly Register Base; public readonly Register Index; public readonly int Scale; public readonly long Displacement; internal readonly AssemblerOperandFlags Flags; public bool IsBroadcast => (Flags & AssemblerOperandFlags.Broadcast) != 0; internal bool IsDisplacementOnly { get { if (Base == Register.None) { return Index == Register.None; } return false; } } public AssemblerMemoryOperand k1 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerMemoryOperand k2 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerMemoryOperand k3 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerMemoryOperand k4 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerMemoryOperand k5 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerMemoryOperand k6 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerMemoryOperand k7 => new AssemblerMemoryOperand(Size, Segment, Base, Index, Scale, Displacement, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); internal AssemblerMemoryOperand(MemoryOperandSize size, Register segment, Register @base, Register index, int scale, long displacement, AssemblerOperandFlags flags) { Size = size; Segment = segment; Base = @base; Index = index; Scale = scale; Displacement = displacement; Flags = flags; } public static AssemblerMemoryOperand operator +(AssemblerRegister16 left, AssemblerMemoryOperand right) { bool flag = right.Base != Register.None; return new AssemblerMemoryOperand(right.Size, Register.None, flag ? right.Base : left.Value, flag ? left.Value : right.Index, right.Scale, right.Displacement, right.Flags); } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, AssemblerMemoryOperand right) { bool flag = right.Base != Register.None; return new AssemblerMemoryOperand(right.Size, Register.None, flag ? right.Base : left.Value, flag ? left.Value : right.Index, right.Scale, right.Displacement, right.Flags); } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, AssemblerMemoryOperand right) { bool flag = right.Base != Register.None; return new AssemblerMemoryOperand(right.Size, Register.None, flag ? right.Base : left.Value, flag ? left.Value : right.Index, right.Scale, right.Displacement, right.Flags); } public static AssemblerMemoryOperand operator +(AssemblerMemoryOperand left, long displacement) { return new AssemblerMemoryOperand(left.Size, Register.None, left.Base, left.Index, left.Scale, left.Displacement + displacement, left.Flags); } public static AssemblerMemoryOperand operator -(AssemblerMemoryOperand left, long displacement) { return new AssemblerMemoryOperand(left.Size, Register.None, left.Base, left.Index, left.Scale, left.Displacement - displacement, left.Flags); } public MemoryOperand ToMemoryOperand(int bitness) { int displSize = 1; if (IsDisplacementOnly) { displSize = bitness / 8; } else if (Displacement == 0L) { displSize = 0; } return new MemoryOperand(Base, Index, Scale, Displacement, displSize, (Flags & AssemblerOperandFlags.Broadcast) != 0, Segment); } public bool Equals(AssemblerMemoryOperand other) { if (Size == other.Size && Segment == other.Segment && Base == other.Base && Index == other.Index && Scale == other.Scale && Displacement == other.Displacement) { return Flags == other.Flags; } return false; } public override bool Equals(object? obj) { if (obj is AssemblerMemoryOperand other) { return Equals(other); } return false; } public override int GetHashCode() { return (int)(((((((((((uint)((int)Size * 397) ^ (uint)Segment) * 397) ^ (uint)Base) * 397) ^ (uint)Index) * 397) ^ (uint)Scale) * 397) ^ (uint)Displacement.GetHashCode()) * 397) ^ (int)Flags; } public static bool operator ==(AssemblerMemoryOperand left, AssemblerMemoryOperand right) { return left.Equals(right); } public static bool operator !=(AssemblerMemoryOperand left, AssemblerMemoryOperand right) { return !left.Equals(right); } } [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerMemoryOperandFactory { internal readonly MemoryOperandSize Size; internal readonly Register Segment; internal readonly AssemblerOperandFlags Flags; public AssemblerMemoryOperandFactory es => new AssemblerMemoryOperandFactory(Size, Register.ES, Flags); public AssemblerMemoryOperandFactory cs => new AssemblerMemoryOperandFactory(Size, Register.CS, Flags); public AssemblerMemoryOperandFactory ss => new AssemblerMemoryOperandFactory(Size, Register.SS, Flags); public AssemblerMemoryOperandFactory ds => new AssemblerMemoryOperandFactory(Size, Register.DS, Flags); public AssemblerMemoryOperandFactory fs => new AssemblerMemoryOperandFactory(Size, Register.FS, Flags); public AssemblerMemoryOperandFactory gs => new AssemblerMemoryOperandFactory(Size, Register.GS, Flags); public AssemblerMemoryOperand this[AssemblerMemoryOperand operand] => new AssemblerMemoryOperand(Size, Segment, operand.Base, operand.Index, operand.Scale, operand.Displacement, Flags); public AssemblerMemoryOperand this[long offset] => new AssemblerMemoryOperand(Size, Segment, Register.None, Register.None, 1, offset, Flags); public AssemblerMemoryOperand this[ulong offset] => new AssemblerMemoryOperand(Size, Segment, Register.None, Register.None, 1, (long)offset, Flags); public AssemblerMemoryOperand this[Label label] => new AssemblerMemoryOperand(Size, Segment, Register.RIP, Register.None, 1, (long)label.Id, Flags); public AssemblerMemoryOperand this[AssemblerRegister16 register] => new AssemblerMemoryOperand(Size, Segment, register, Register.None, 1, 0L, Flags); public AssemblerMemoryOperand this[AssemblerRegister32 register] => new AssemblerMemoryOperand(Size, Segment, register, Register.None, 1, 0L, Flags); public AssemblerMemoryOperand this[AssemblerRegister64 register] => new AssemblerMemoryOperand(Size, Segment, register, Register.None, 1, 0L, Flags); internal AssemblerMemoryOperandFactory(MemoryOperandSize size) { Segment = Register.None; Size = size; Flags = AssemblerOperandFlags.None; } internal AssemblerMemoryOperandFactory(MemoryOperandSize size, Register segment, AssemblerOperandFlags flags) { Size = size; Segment = segment; Flags = flags; } } [Flags] public enum AssemblerOperandFlags { None = 0, Broadcast = 1, Zeroing = 2, SuppressAllExceptions = 4, RoundToNearest = 8, RoundDown = 0x10, RoundUp = 0x18, RoundTowardZero = 0x20, RoundingControlMask = 0x38, K1 = 0x40, K2 = 0x80, K3 = 0xC0, K4 = 0x100, K5 = 0x140, K6 = 0x180, K7 = 0x1C0, RegisterMask = 0x1C0 } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegister8 : IEquatable { public readonly Register Value; public AssemblerRegister8(Register value) { if (!value.IsGPR8()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR8 register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegister8 reg) { return reg.Value; } public bool Equals(AssemblerRegister8 other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegister8 other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegister8 left, AssemblerRegister8 right) { return left.Equals(right); } public static bool operator !=(AssemblerRegister8 left, AssemblerRegister8 right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegister16 : IEquatable { public readonly Register Value; public AssemblerRegister16(Register value) { if (!value.IsGPR16()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR16 register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegister16 reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegister16 left, AssemblerRegister16 right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister16 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegister16 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegister16 left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegister16 other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegister16 other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegister16 left, AssemblerRegister16 right) { return left.Equals(right); } public static bool operator !=(AssemblerRegister16 left, AssemblerRegister16 right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegister32 : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegister32 k1 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegister32 k2 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegister32 k3 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegister32 k4 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegister32 k5 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegister32 k6 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegister32 k7 => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegister32 z => new AssemblerRegister32(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegister32 sae => new AssemblerRegister32(Value, Flags | AssemblerOperandFlags.SuppressAllExceptions); public AssemblerRegister32 rn_sae => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundToNearest); public AssemblerRegister32 rd_sae => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundDown); public AssemblerRegister32 ru_sae => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundUp); public AssemblerRegister32 rz_sae => new AssemblerRegister32(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundTowardZero); public AssemblerRegister32(Register value) { if (!value.IsGPR32()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR32 register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegister32(Register value, AssemblerOperandFlags flags) { if (!value.IsGPR32()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR32 register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegister32 reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, AssemblerRegister32 right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, AssemblerRegisterXMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, AssemblerRegisterYMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, AssemblerRegisterZMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister32 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegister32 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegister32 left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegister32 other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegister32 other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegister32 left, AssemblerRegister32 right) { return left.Equals(right); } public static bool operator !=(AssemblerRegister32 left, AssemblerRegister32 right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegister64 : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegister64 k1 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegister64 k2 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegister64 k3 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegister64 k4 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegister64 k5 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegister64 k6 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegister64 k7 => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegister64 z => new AssemblerRegister64(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegister64 sae => new AssemblerRegister64(Value, Flags | AssemblerOperandFlags.SuppressAllExceptions); public AssemblerRegister64 rn_sae => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundToNearest); public AssemblerRegister64 rd_sae => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundDown); public AssemblerRegister64 ru_sae => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundUp); public AssemblerRegister64 rz_sae => new AssemblerRegister64(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundTowardZero); public AssemblerRegister64(Register value) { if (!value.IsGPR64()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR64 register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegister64(Register value, AssemblerOperandFlags flags) { if (!value.IsGPR64()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a GPR64 register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegister64 reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, AssemblerRegister64 right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, AssemblerRegisterXMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, AssemblerRegisterYMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, AssemblerRegisterZMM right) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, right, 1, 0L, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator +(AssemblerRegister64 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegister64 left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, left, Register.None, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegister64 left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegister64 other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegister64 other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegister64 left, AssemblerRegister64 right) { return left.Equals(right); } public static bool operator !=(AssemblerRegister64 left, AssemblerRegister64 right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterSegment : IEquatable { public readonly Register Value; public AssemblerRegisterSegment(Register value) { if (!value.IsSegmentRegister()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a SegmentRegister register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterSegment reg) { return reg.Value; } public bool Equals(AssemblerRegisterSegment other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterSegment other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterSegment left, AssemblerRegisterSegment right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterSegment left, AssemblerRegisterSegment right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterCR : IEquatable { public readonly Register Value; public AssemblerRegisterCR(Register value) { if (!value.IsCR()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a CR register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterCR reg) { return reg.Value; } public bool Equals(AssemblerRegisterCR other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterCR other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterCR left, AssemblerRegisterCR right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterCR left, AssemblerRegisterCR right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterDR : IEquatable { public readonly Register Value; public AssemblerRegisterDR(Register value) { if (!value.IsDR()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a DR register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterDR reg) { return reg.Value; } public bool Equals(AssemblerRegisterDR other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterDR other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterDR left, AssemblerRegisterDR right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterDR left, AssemblerRegisterDR right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterTR : IEquatable { public readonly Register Value; public AssemblerRegisterTR(Register value) { if (!value.IsTR()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a TR register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterTR reg) { return reg.Value; } public bool Equals(AssemblerRegisterTR other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterTR other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterTR left, AssemblerRegisterTR right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterTR left, AssemblerRegisterTR right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterST : IEquatable { public readonly Register Value; public AssemblerRegisterST(Register value) { if (!value.IsST()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a ST register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterST reg) { return reg.Value; } public bool Equals(AssemblerRegisterST other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterST other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterST left, AssemblerRegisterST right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterST left, AssemblerRegisterST right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterMM : IEquatable { public readonly Register Value; public AssemblerRegisterMM(Register value) { if (!value.IsMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a MM register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterMM reg) { return reg.Value; } public bool Equals(AssemblerRegisterMM other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterMM other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterMM left, AssemblerRegisterMM right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterMM left, AssemblerRegisterMM right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterXMM : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegisterXMM k1 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegisterXMM k2 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegisterXMM k3 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegisterXMM k4 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegisterXMM k5 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegisterXMM k6 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegisterXMM k7 => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegisterXMM z => new AssemblerRegisterXMM(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegisterXMM sae => new AssemblerRegisterXMM(Value, Flags | AssemblerOperandFlags.SuppressAllExceptions); public AssemblerRegisterXMM rn_sae => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundToNearest); public AssemblerRegisterXMM rd_sae => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundDown); public AssemblerRegisterXMM ru_sae => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundUp); public AssemblerRegisterXMM rz_sae => new AssemblerRegisterXMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundTowardZero); public AssemblerRegisterXMM(Register value) { if (!value.IsXMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a XMM register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegisterXMM(Register value, AssemblerOperandFlags flags) { if (!value.IsXMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a XMM register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegisterXMM reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegisterXMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegisterXMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegisterXMM left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegisterXMM other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterXMM other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterXMM left, AssemblerRegisterXMM right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterXMM left, AssemblerRegisterXMM right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterYMM : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegisterYMM k1 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegisterYMM k2 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegisterYMM k3 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegisterYMM k4 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegisterYMM k5 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegisterYMM k6 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegisterYMM k7 => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegisterYMM z => new AssemblerRegisterYMM(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegisterYMM sae => new AssemblerRegisterYMM(Value, Flags | AssemblerOperandFlags.SuppressAllExceptions); public AssemblerRegisterYMM rn_sae => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundToNearest); public AssemblerRegisterYMM rd_sae => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundDown); public AssemblerRegisterYMM ru_sae => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundUp); public AssemblerRegisterYMM rz_sae => new AssemblerRegisterYMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundTowardZero); public AssemblerRegisterYMM(Register value) { if (!value.IsYMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a YMM register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegisterYMM(Register value, AssemblerOperandFlags flags) { if (!value.IsYMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a YMM register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegisterYMM reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegisterYMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegisterYMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegisterYMM left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegisterYMM other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterYMM other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterYMM left, AssemblerRegisterYMM right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterYMM left, AssemblerRegisterYMM right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterZMM : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegisterZMM k1 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegisterZMM k2 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegisterZMM k3 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegisterZMM k4 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegisterZMM k5 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegisterZMM k6 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegisterZMM k7 => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegisterZMM z => new AssemblerRegisterZMM(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegisterZMM sae => new AssemblerRegisterZMM(Value, Flags | AssemblerOperandFlags.SuppressAllExceptions); public AssemblerRegisterZMM rn_sae => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundToNearest); public AssemblerRegisterZMM rd_sae => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundDown); public AssemblerRegisterZMM ru_sae => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundUp); public AssemblerRegisterZMM rz_sae => new AssemblerRegisterZMM(Value, (Flags & ~AssemblerOperandFlags.RoundingControlMask) | AssemblerOperandFlags.RoundTowardZero); public AssemblerRegisterZMM(Register value) { if (!value.IsZMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a ZMM register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegisterZMM(Register value, AssemblerOperandFlags flags) { if (!value.IsZMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a ZMM register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegisterZMM reg) { return reg.Value; } public static AssemblerMemoryOperand operator +(AssemblerRegisterZMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator -(AssemblerRegisterZMM left, long displacement) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, 1, -displacement, AssemblerOperandFlags.None); } public static AssemblerMemoryOperand operator *(AssemblerRegisterZMM left, int scale) { return new AssemblerMemoryOperand(MemoryOperandSize.None, Register.None, Register.None, left, scale, 0L, AssemblerOperandFlags.None); } public bool Equals(AssemblerRegisterZMM other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterZMM other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterZMM left, AssemblerRegisterZMM right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterZMM left, AssemblerRegisterZMM right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterTMM : IEquatable { public readonly Register Value; public AssemblerRegisterTMM(Register value) { if (!value.IsTMM()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a TMM register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterTMM reg) { return reg.Value; } public bool Equals(AssemblerRegisterTMM other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterTMM other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterTMM left, AssemblerRegisterTMM right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterTMM left, AssemblerRegisterTMM right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterK : IEquatable { public readonly Register Value; internal readonly AssemblerOperandFlags Flags; public AssemblerRegisterK k1 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K1); public AssemblerRegisterK k2 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K2); public AssemblerRegisterK k3 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K3); public AssemblerRegisterK k4 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K4); public AssemblerRegisterK k5 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K5); public AssemblerRegisterK k6 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K6); public AssemblerRegisterK k7 => new AssemblerRegisterK(Value, (Flags & ~AssemblerOperandFlags.K7) | AssemblerOperandFlags.K7); public AssemblerRegisterK z => new AssemblerRegisterK(Value, Flags | AssemblerOperandFlags.Zeroing); public AssemblerRegisterK(Register value) { if (!value.IsK()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a K register", "value"); } Value = value; Flags = AssemblerOperandFlags.None; } public AssemblerRegisterK(Register value, AssemblerOperandFlags flags) { if (!value.IsK()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a K register", "value"); } Value = value; Flags = flags; } public static implicit operator Register(AssemblerRegisterK reg) { return reg.Value; } public bool Equals(AssemblerRegisterK other) { if (Value == other.Value) { return Flags == other.Flags; } return false; } public override int GetHashCode() { return ((int)Value * 397) ^ (int)Flags; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterK other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterK left, AssemblerRegisterK right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterK left, AssemblerRegisterK right) { return !left.Equals(right); } } [DebuggerDisplay("{Value}")] [EditorBrowsable(EditorBrowsableState.Never)] public readonly struct AssemblerRegisterBND : IEquatable { public readonly Register Value; public AssemblerRegisterBND(Register value) { if (!value.IsBND()) { throw new ArgumentOutOfRangeException($"Invalid register {value}. Must be a BND register", "value"); } Value = value; } public static implicit operator Register(AssemblerRegisterBND reg) { return reg.Value; } public bool Equals(AssemblerRegisterBND other) { return Value == other.Value; } public override int GetHashCode() { return (int)Value; } public override bool Equals(object? obj) { if (obj is AssemblerRegisterBND other) { return Equals(other); } return false; } public static bool operator ==(AssemblerRegisterBND left, AssemblerRegisterBND right) { return left.Equals(right); } public static bool operator !=(AssemblerRegisterBND left, AssemblerRegisterBND right) { return !left.Equals(right); } } public static class AssemblerRegisters { public static readonly AssemblerRegister8 al = new AssemblerRegister8(Register.AL); public static readonly AssemblerRegister8 cl = new AssemblerRegister8(Register.CL); public static readonly AssemblerRegister8 dl = new AssemblerRegister8(Register.DL); public static readonly AssemblerRegister8 bl = new AssemblerRegister8(Register.BL); public static readonly AssemblerRegister8 ah = new AssemblerRegister8(Register.AH); public static readonly AssemblerRegister8 ch = new AssemblerRegister8(Register.CH); public static readonly AssemblerRegister8 dh = new AssemblerRegister8(Register.DH); public static readonly AssemblerRegister8 bh = new AssemblerRegister8(Register.BH); public static readonly AssemblerRegister8 spl = new AssemblerRegister8(Register.SPL); public static readonly AssemblerRegister8 bpl = new AssemblerRegister8(Register.BPL); public static readonly AssemblerRegister8 sil = new AssemblerRegister8(Register.SIL); public static readonly AssemblerRegister8 dil = new AssemblerRegister8(Register.DIL); public static readonly AssemblerRegister8 r8b = new AssemblerRegister8(Register.R8L); public static readonly AssemblerRegister8 r9b = new AssemblerRegister8(Register.R9L); public static readonly AssemblerRegister8 r10b = new AssemblerRegister8(Register.R10L); public static readonly AssemblerRegister8 r11b = new AssemblerRegister8(Register.R11L); public static readonly AssemblerRegister8 r12b = new AssemblerRegister8(Register.R12L); public static readonly AssemblerRegister8 r13b = new AssemblerRegister8(Register.R13L); public static readonly AssemblerRegister8 r14b = new AssemblerRegister8(Register.R14L); public static readonly AssemblerRegister8 r15b = new AssemblerRegister8(Register.R15L); public static readonly AssemblerRegister16 ax = new AssemblerRegister16(Register.AX); public static readonly AssemblerRegister16 cx = new AssemblerRegister16(Register.CX); public static readonly AssemblerRegister16 dx = new AssemblerRegister16(Register.DX); public static readonly AssemblerRegister16 bx = new AssemblerRegister16(Register.BX); public static readonly AssemblerRegister16 sp = new AssemblerRegister16(Register.SP); public static readonly AssemblerRegister16 bp = new AssemblerRegister16(Register.BP); public static readonly AssemblerRegister16 si = new AssemblerRegister16(Register.SI); public static readonly AssemblerRegister16 di = new AssemblerRegister16(Register.DI); public static readonly AssemblerRegister16 r8w = new AssemblerRegister16(Register.R8W); public static readonly AssemblerRegister16 r9w = new AssemblerRegister16(Register.R9W); public static readonly AssemblerRegister16 r10w = new AssemblerRegister16(Register.R10W); public static readonly AssemblerRegister16 r11w = new AssemblerRegister16(Register.R11W); public static readonly AssemblerRegister16 r12w = new AssemblerRegister16(Register.R12W); public static readonly AssemblerRegister16 r13w = new AssemblerRegister16(Register.R13W); public static readonly AssemblerRegister16 r14w = new AssemblerRegister16(Register.R14W); public static readonly AssemblerRegister16 r15w = new AssemblerRegister16(Register.R15W); public static readonly AssemblerRegister32 eax = new AssemblerRegister32(Register.EAX); public static readonly AssemblerRegister32 ecx = new AssemblerRegister32(Register.ECX); public static readonly AssemblerRegister32 edx = new AssemblerRegister32(Register.EDX); public static readonly AssemblerRegister32 ebx = new AssemblerRegister32(Register.EBX); public static readonly AssemblerRegister32 esp = new AssemblerRegister32(Register.ESP); public static readonly AssemblerRegister32 ebp = new AssemblerRegister32(Register.EBP); public static readonly AssemblerRegister32 esi = new AssemblerRegister32(Register.ESI); public static readonly AssemblerRegister32 edi = new AssemblerRegister32(Register.EDI); public static readonly AssemblerRegister32 r8d = new AssemblerRegister32(Register.R8D); public static readonly AssemblerRegister32 r9d = new AssemblerRegister32(Register.R9D); public static readonly AssemblerRegister32 r10d = new AssemblerRegister32(Register.R10D); public static readonly AssemblerRegister32 r11d = new AssemblerRegister32(Register.R11D); public static readonly AssemblerRegister32 r12d = new AssemblerRegister32(Register.R12D); public static readonly AssemblerRegister32 r13d = new AssemblerRegister32(Register.R13D); public static readonly AssemblerRegister32 r14d = new AssemblerRegister32(Register.R14D); public static readonly AssemblerRegister32 r15d = new AssemblerRegister32(Register.R15D); public static readonly AssemblerRegister64 rax = new AssemblerRegister64(Register.RAX); public static readonly AssemblerRegister64 rcx = new AssemblerRegister64(Register.RCX); public static readonly AssemblerRegister64 rdx = new AssemblerRegister64(Register.RDX); public static readonly AssemblerRegister64 rbx = new AssemblerRegister64(Register.RBX); public static readonly AssemblerRegister64 rsp = new AssemblerRegister64(Register.RSP); public static readonly AssemblerRegister64 rbp = new AssemblerRegister64(Register.RBP); public static readonly AssemblerRegister64 rsi = new AssemblerRegister64(Register.RSI); public static readonly AssemblerRegister64 rdi = new AssemblerRegister64(Register.RDI); public static readonly AssemblerRegister64 r8 = new AssemblerRegister64(Register.R8); public static readonly AssemblerRegister64 r9 = new AssemblerRegister64(Register.R9); public static readonly AssemblerRegister64 r10 = new AssemblerRegister64(Register.R10); public static readonly AssemblerRegister64 r11 = new AssemblerRegister64(Register.R11); public static readonly AssemblerRegister64 r12 = new AssemblerRegister64(Register.R12); public static readonly AssemblerRegister64 r13 = new AssemblerRegister64(Register.R13); public static readonly AssemblerRegister64 r14 = new AssemblerRegister64(Register.R14); public static readonly AssemblerRegister64 r15 = new AssemblerRegister64(Register.R15); public static readonly AssemblerRegisterSegment es = new AssemblerRegisterSegment(Register.ES); public static readonly AssemblerRegisterSegment cs = new AssemblerRegisterSegment(Register.CS); public static readonly AssemblerRegisterSegment ss = new AssemblerRegisterSegment(Register.SS); public static readonly AssemblerRegisterSegment ds = new AssemblerRegisterSegment(Register.DS); public static readonly AssemblerRegisterSegment fs = new AssemblerRegisterSegment(Register.FS); public static readonly AssemblerRegisterSegment gs = new AssemblerRegisterSegment(Register.GS); public static readonly AssemblerRegisterST st0 = new AssemblerRegisterST(Register.ST0); public static readonly AssemblerRegisterST st1 = new AssemblerRegisterST(Register.ST1); public static readonly AssemblerRegisterST st2 = new AssemblerRegisterST(Register.ST2); public static readonly AssemblerRegisterST st3 = new AssemblerRegisterST(Register.ST3); public static readonly AssemblerRegisterST st4 = new AssemblerRegisterST(Register.ST4); public static readonly AssemblerRegisterST st5 = new AssemblerRegisterST(Register.ST5); public static readonly AssemblerRegisterST st6 = new AssemblerRegisterST(Register.ST6); public static readonly AssemblerRegisterST st7 = new AssemblerRegisterST(Register.ST7); public static readonly AssemblerRegisterCR cr0 = new AssemblerRegisterCR(Register.CR0); public static readonly AssemblerRegisterCR cr1 = new AssemblerRegisterCR(Register.CR1); public static readonly AssemblerRegisterCR cr2 = new AssemblerRegisterCR(Register.CR2); public static readonly AssemblerRegisterCR cr3 = new AssemblerRegisterCR(Register.CR3); public static readonly AssemblerRegisterCR cr4 = new AssemblerRegisterCR(Register.CR4); public static readonly AssemblerRegisterCR cr5 = new AssemblerRegisterCR(Register.CR5); public static readonly AssemblerRegisterCR cr6 = new AssemblerRegisterCR(Register.CR6); public static readonly AssemblerRegisterCR cr7 = new AssemblerRegisterCR(Register.CR7); public static readonly AssemblerRegisterCR cr8 = new AssemblerRegisterCR(Register.CR8); public static readonly AssemblerRegisterCR cr9 = new AssemblerRegisterCR(Register.CR9); public static readonly AssemblerRegisterCR cr10 = new AssemblerRegisterCR(Register.CR10); public static readonly AssemblerRegisterCR cr11 = new AssemblerRegisterCR(Register.CR11); public static readonly AssemblerRegisterCR cr12 = new AssemblerRegisterCR(Register.CR12); public static readonly AssemblerRegisterCR cr13 = new AssemblerRegisterCR(Register.CR13); public static readonly AssemblerRegisterCR cr14 = new AssemblerRegisterCR(Register.CR14); public static readonly AssemblerRegisterCR cr15 = new AssemblerRegisterCR(Register.CR15); public static readonly AssemblerRegisterDR dr0 = new AssemblerRegisterDR(Register.DR0); public static readonly AssemblerRegisterDR dr1 = new AssemblerRegisterDR(Register.DR1); public static readonly AssemblerRegisterDR dr2 = new AssemblerRegisterDR(Register.DR2); public static readonly AssemblerRegisterDR dr3 = new AssemblerRegisterDR(Register.DR3); public static readonly AssemblerRegisterDR dr4 = new AssemblerRegisterDR(Register.DR4); public static readonly AssemblerRegisterDR dr5 = new AssemblerRegisterDR(Register.DR5); public static readonly AssemblerRegisterDR dr6 = new AssemblerRegisterDR(Register.DR6); public static readonly AssemblerRegisterDR dr7 = new AssemblerRegisterDR(Register.DR7); public static readonly AssemblerRegisterDR dr8 = new AssemblerRegisterDR(Register.DR8); public static readonly AssemblerRegisterDR dr9 = new AssemblerRegisterDR(Register.DR9); public static readonly AssemblerRegisterDR dr10 = new AssemblerRegisterDR(Register.DR10); public static readonly AssemblerRegisterDR dr11 = new AssemblerRegisterDR(Register.DR11); public static readonly AssemblerRegisterDR dr12 = new AssemblerRegisterDR(Register.DR12); public static readonly AssemblerRegisterDR dr13 = new AssemblerRegisterDR(Register.DR13); public static readonly AssemblerRegisterDR dr14 = new AssemblerRegisterDR(Register.DR14); public static readonly AssemblerRegisterDR dr15 = new AssemblerRegisterDR(Register.DR15); public static readonly AssemblerRegisterTR tr0 = new AssemblerRegisterTR(Register.TR0); public static readonly AssemblerRegisterTR tr1 = new AssemblerRegisterTR(Register.TR1); public static readonly AssemblerRegisterTR tr2 = new AssemblerRegisterTR(Register.TR2); public static readonly AssemblerRegisterTR tr3 = new AssemblerRegisterTR(Register.TR3); public static readonly AssemblerRegisterTR tr4 = new AssemblerRegisterTR(Register.TR4); public static readonly AssemblerRegisterTR tr5 = new AssemblerRegisterTR(Register.TR5); public static readonly AssemblerRegisterTR tr6 = new AssemblerRegisterTR(Register.TR6); public static readonly AssemblerRegisterTR tr7 = new AssemblerRegisterTR(Register.TR7); public static readonly AssemblerRegisterBND bnd0 = new AssemblerRegisterBND(Register.BND0); public static readonly AssemblerRegisterBND bnd1 = new AssemblerRegisterBND(Register.BND1); public static readonly AssemblerRegisterBND bnd2 = new AssemblerRegisterBND(Register.BND2); public static readonly AssemblerRegisterBND bnd3 = new AssemblerRegisterBND(Register.BND3); public static readonly AssemblerRegisterK k0 = new AssemblerRegisterK(Register.K0); public static readonly AssemblerRegisterK k1 = new AssemblerRegisterK(Register.K1); public static readonly AssemblerRegisterK k2 = new AssemblerRegisterK(Register.K2); public static readonly AssemblerRegisterK k3 = new AssemblerRegisterK(Register.K3); public static readonly AssemblerRegisterK k4 = new AssemblerRegisterK(Register.K4); public static readonly AssemblerRegisterK k5 = new AssemblerRegisterK(Register.K5); public static readonly AssemblerRegisterK k6 = new AssemblerRegisterK(Register.K6); public static readonly AssemblerRegisterK k7 = new AssemblerRegisterK(Register.K7); public static readonly AssemblerRegisterMM mm0 = new AssemblerRegisterMM(Register.MM0); public static readonly AssemblerRegisterMM mm1 = new AssemblerRegisterMM(Register.MM1); public static readonly AssemblerRegisterMM mm2 = new AssemblerRegisterMM(Register.MM2); public static readonly AssemblerRegisterMM mm3 = new AssemblerRegisterMM(Register.MM3); public static readonly AssemblerRegisterMM mm4 = new AssemblerRegisterMM(Register.MM4); public static readonly AssemblerRegisterMM mm5 = new AssemblerRegisterMM(Register.MM5); public static readonly AssemblerRegisterMM mm6 = new AssemblerRegisterMM(Register.MM6); public static readonly AssemblerRegisterMM mm7 = new AssemblerRegisterMM(Register.MM7); public static readonly AssemblerRegisterXMM xmm0 = new AssemblerRegisterXMM(Register.XMM0); public static readonly AssemblerRegisterXMM xmm1 = new AssemblerRegisterXMM(Register.XMM1); public static readonly AssemblerRegisterXMM xmm2 = new AssemblerRegisterXMM(Register.XMM2); public static readonly AssemblerRegisterXMM xmm3 = new AssemblerRegisterXMM(Register.XMM3); public static readonly AssemblerRegisterXMM xmm4 = new AssemblerRegisterXMM(Register.XMM4); public static readonly AssemblerRegisterXMM xmm5 = new AssemblerRegisterXMM(Register.XMM5); public static readonly AssemblerRegisterXMM xmm6 = new AssemblerRegisterXMM(Register.XMM6); public static readonly AssemblerRegisterXMM xmm7 = new AssemblerRegisterXMM(Register.XMM7); public static readonly AssemblerRegisterXMM xmm8 = new AssemblerRegisterXMM(Register.XMM8); public static readonly AssemblerRegisterXMM xmm9 = new AssemblerRegisterXMM(Register.XMM9); public static readonly AssemblerRegisterXMM xmm10 = new AssemblerRegisterXMM(Register.XMM10); public static readonly AssemblerRegisterXMM xmm11 = new AssemblerRegisterXMM(Register.XMM11); public static readonly AssemblerRegisterXMM xmm12 = new AssemblerRegisterXMM(Register.XMM12); public static readonly AssemblerRegisterXMM xmm13 = new AssemblerRegisterXMM(Register.XMM13); public static readonly AssemblerRegisterXMM xmm14 = new AssemblerRegisterXMM(Register.XMM14); public static readonly AssemblerRegisterXMM xmm15 = new AssemblerRegisterXMM(Register.XMM15); public static readonly AssemblerRegisterXMM xmm16 = new AssemblerRegisterXMM(Register.XMM16); public static readonly AssemblerRegisterXMM xmm17 = new AssemblerRegisterXMM(Register.XMM17); public static readonly AssemblerRegisterXMM xmm18 = new AssemblerRegisterXMM(Register.XMM18); public static readonly AssemblerRegisterXMM xmm19 = new AssemblerRegisterXMM(Register.XMM19); public static readonly AssemblerRegisterXMM xmm20 = new AssemblerRegisterXMM(Register.XMM20); public static readonly AssemblerRegisterXMM xmm21 = new AssemblerRegisterXMM(Register.XMM21); public static readonly AssemblerRegisterXMM xmm22 = new AssemblerRegisterXMM(Register.XMM22); public static readonly AssemblerRegisterXMM xmm23 = new AssemblerRegisterXMM(Register.XMM23); public static readonly AssemblerRegisterXMM xmm24 = new AssemblerRegisterXMM(Register.XMM24); public static readonly AssemblerRegisterXMM xmm25 = new AssemblerRegisterXMM(Register.XMM25); public static readonly AssemblerRegisterXMM xmm26 = new AssemblerRegisterXMM(Register.XMM26); public static readonly AssemblerRegisterXMM xmm27 = new AssemblerRegisterXMM(Register.XMM27); public static readonly AssemblerRegisterXMM xmm28 = new AssemblerRegisterXMM(Register.XMM28); public static readonly AssemblerRegisterXMM xmm29 = new AssemblerRegisterXMM(Register.XMM29); public static readonly AssemblerRegisterXMM xmm30 = new AssemblerRegisterXMM(Register.XMM30); public static readonly AssemblerRegisterXMM xmm31 = new AssemblerRegisterXMM(Register.XMM31); public static readonly AssemblerRegisterYMM ymm0 = new AssemblerRegisterYMM(Register.YMM0); public static readonly AssemblerRegisterYMM ymm1 = new AssemblerRegisterYMM(Register.YMM1); public static readonly AssemblerRegisterYMM ymm2 = new AssemblerRegisterYMM(Register.YMM2); public static readonly AssemblerRegisterYMM ymm3 = new AssemblerRegisterYMM(Register.YMM3); public static readonly AssemblerRegisterYMM ymm4 = new AssemblerRegisterYMM(Register.YMM4); public static readonly AssemblerRegisterYMM ymm5 = new AssemblerRegisterYMM(Register.YMM5); public static readonly AssemblerRegisterYMM ymm6 = new AssemblerRegisterYMM(Register.YMM6); public static readonly AssemblerRegisterYMM ymm7 = new AssemblerRegisterYMM(Register.YMM7); public static readonly AssemblerRegisterYMM ymm8 = new AssemblerRegisterYMM(Register.YMM8); public static readonly AssemblerRegisterYMM ymm9 = new AssemblerRegisterYMM(Register.YMM9); public static readonly AssemblerRegisterYMM ymm10 = new AssemblerRegisterYMM(Register.YMM10); public static readonly AssemblerRegisterYMM ymm11 = new AssemblerRegisterYMM(Register.YMM11); public static readonly AssemblerRegisterYMM ymm12 = new AssemblerRegisterYMM(Register.YMM12); public static readonly AssemblerRegisterYMM ymm13 = new AssemblerRegisterYMM(Register.YMM13); public static readonly AssemblerRegisterYMM ymm14 = new AssemblerRegisterYMM(Register.YMM14); public static readonly AssemblerRegisterYMM ymm15 = new AssemblerRegisterYMM(Register.YMM15); public static readonly AssemblerRegisterYMM ymm16 = new AssemblerRegisterYMM(Register.YMM16); public static readonly AssemblerRegisterYMM ymm17 = new AssemblerRegisterYMM(Register.YMM17); public static readonly AssemblerRegisterYMM ymm18 = new AssemblerRegisterYMM(Register.YMM18); public static readonly AssemblerRegisterYMM ymm19 = new AssemblerRegisterYMM(Register.YMM19); public static readonly AssemblerRegisterYMM ymm20 = new AssemblerRegisterYMM(Register.YMM20); public static readonly AssemblerRegisterYMM ymm21 = new AssemblerRegisterYMM(Register.YMM21); public static readonly AssemblerRegisterYMM ymm22 = new AssemblerRegisterYMM(Register.YMM22); public static readonly AssemblerRegisterYMM ymm23 = new AssemblerRegisterYMM(Register.YMM23); public static readonly AssemblerRegisterYMM ymm24 = new AssemblerRegisterYMM(Register.YMM24); public static readonly AssemblerRegisterYMM ymm25 = new AssemblerRegisterYMM(Register.YMM25); public static readonly AssemblerRegisterYMM ymm26 = new AssemblerRegisterYMM(Register.YMM26); public static readonly AssemblerRegisterYMM ymm27 = new AssemblerRegisterYMM(Register.YMM27); public static readonly AssemblerRegisterYMM ymm28 = new AssemblerRegisterYMM(Register.YMM28); public static readonly AssemblerRegisterYMM ymm29 = new AssemblerRegisterYMM(Register.YMM29); public static readonly AssemblerRegisterYMM ymm30 = new AssemblerRegisterYMM(Register.YMM30); public static readonly AssemblerRegisterYMM ymm31 = new AssemblerRegisterYMM(Register.YMM31); public static readonly AssemblerRegisterZMM zmm0 = new AssemblerRegisterZMM(Register.ZMM0); public static readonly AssemblerRegisterZMM zmm1 = new AssemblerRegisterZMM(Register.ZMM1); public static readonly AssemblerRegisterZMM zmm2 = new AssemblerRegisterZMM(Register.ZMM2); public static readonly AssemblerRegisterZMM zmm3 = new AssemblerRegisterZMM(Register.ZMM3); public static readonly AssemblerRegisterZMM zmm4 = new AssemblerRegisterZMM(Register.ZMM4); public static readonly AssemblerRegisterZMM zmm5 = new AssemblerRegisterZMM(Register.ZMM5); public static readonly AssemblerRegisterZMM zmm6 = new AssemblerRegisterZMM(Register.ZMM6); public static readonly AssemblerRegisterZMM zmm7 = new AssemblerRegisterZMM(Register.ZMM7); public static readonly AssemblerRegisterZMM zmm8 = new AssemblerRegisterZMM(Register.ZMM8); public static readonly AssemblerRegisterZMM zmm9 = new AssemblerRegisterZMM(Register.ZMM9); public static readonly AssemblerRegisterZMM zmm10 = new AssemblerRegisterZMM(Register.ZMM10); public static readonly AssemblerRegisterZMM zmm11 = new AssemblerRegisterZMM(Register.ZMM11); public static readonly AssemblerRegisterZMM zmm12 = new AssemblerRegisterZMM(Register.ZMM12); public static readonly AssemblerRegisterZMM zmm13 = new AssemblerRegisterZMM(Register.ZMM13); public static readonly AssemblerRegisterZMM zmm14 = new AssemblerRegisterZMM(Register.ZMM14); public static readonly AssemblerRegisterZMM zmm15 = new AssemblerRegisterZMM(Register.ZMM15); public static readonly AssemblerRegisterZMM zmm16 = new AssemblerRegisterZMM(Register.ZMM16); public static readonly AssemblerRegisterZMM zmm17 = new AssemblerRegisterZMM(Register.ZMM17); public static readonly AssemblerRegisterZMM zmm18 = new AssemblerRegisterZMM(Register.ZMM18); public static readonly AssemblerRegisterZMM zmm19 = new AssemblerRegisterZMM(Register.ZMM19); public static readonly AssemblerRegisterZMM zmm20 = new AssemblerRegisterZMM(Register.ZMM20); public static readonly AssemblerRegisterZMM zmm21 = new AssemblerRegisterZMM(Register.ZMM21); public static readonly AssemblerRegisterZMM zmm22 = new AssemblerRegisterZMM(Register.ZMM22); public static readonly AssemblerRegisterZMM zmm23 = new AssemblerRegisterZMM(Register.ZMM23); public static readonly AssemblerRegisterZMM zmm24 = new AssemblerRegisterZMM(Register.ZMM24); public static readonly AssemblerRegisterZMM zmm25 = new AssemblerRegisterZMM(Register.ZMM25); public static readonly AssemblerRegisterZMM zmm26 = new AssemblerRegisterZMM(Register.ZMM26); public static readonly AssemblerRegisterZMM zmm27 = new AssemblerRegisterZMM(Register.ZMM27); public static readonly AssemblerRegisterZMM zmm28 = new AssemblerRegisterZMM(Register.ZMM28); public static readonly AssemblerRegisterZMM zmm29 = new AssemblerRegisterZMM(Register.ZMM29); public static readonly AssemblerRegisterZMM zmm30 = new AssemblerRegisterZMM(Register.ZMM30); public static readonly AssemblerRegisterZMM zmm31 = new AssemblerRegisterZMM(Register.ZMM31); public static readonly AssemblerRegisterTMM tmm0 = new AssemblerRegisterTMM(Register.TMM0); public static readonly AssemblerRegisterTMM tmm1 = new AssemblerRegisterTMM(Register.TMM1); public static readonly AssemblerRegisterTMM tmm2 = new AssemblerRegisterTMM(Register.TMM2); public static readonly AssemblerRegisterTMM tmm3 = new AssemblerRegisterTMM(Register.TMM3); public static readonly AssemblerRegisterTMM tmm4 = new AssemblerRegisterTMM(Register.TMM4); public static readonly AssemblerRegisterTMM tmm5 = new AssemblerRegisterTMM(Register.TMM5); public static readonly AssemblerRegisterTMM tmm6 = new AssemblerRegisterTMM(Register.TMM6); public static readonly AssemblerRegisterTMM tmm7 = new AssemblerRegisterTMM(Register.TMM7); public static readonly AssemblerMemoryOperandFactory __ = new AssemblerMemoryOperandFactory(MemoryOperandSize.None); public static readonly AssemblerMemoryOperandFactory __byte_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Byte); public static readonly AssemblerMemoryOperandFactory __word_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Word); public static readonly AssemblerMemoryOperandFactory __dword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Dword); public static readonly AssemblerMemoryOperandFactory __qword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Qword); public static readonly AssemblerMemoryOperandFactory __mmword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Qword); public static readonly AssemblerMemoryOperandFactory __tbyte_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Tbyte); public static readonly AssemblerMemoryOperandFactory __tword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Tbyte); public static readonly AssemblerMemoryOperandFactory __fword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Fword); public static readonly AssemblerMemoryOperandFactory __oword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Xword); public static readonly AssemblerMemoryOperandFactory __xmmword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Xword); public static readonly AssemblerMemoryOperandFactory __ymmword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Yword); public static readonly AssemblerMemoryOperandFactory __zmmword_ptr = new AssemblerMemoryOperandFactory(MemoryOperandSize.Zword); public static readonly AssemblerMemoryOperandFactory __bcst = new AssemblerMemoryOperandFactory(MemoryOperandSize.None, Register.None, AssemblerOperandFlags.Broadcast); public static readonly AssemblerMemoryOperandFactory __word_bcst = new AssemblerMemoryOperandFactory(MemoryOperandSize.Word, Register.None, AssemblerOperandFlags.Broadcast); public static readonly AssemblerMemoryOperandFactory __dword_bcst = new AssemblerMemoryOperandFactory(MemoryOperandSize.Dword, Register.None, AssemblerOperandFlags.Broadcast); public static readonly AssemblerMemoryOperandFactory __qword_bcst = new AssemblerMemoryOperandFactory(MemoryOperandSize.Qword, Register.None, AssemblerOperandFlags.Broadcast); } public readonly struct AssemblerResult { public readonly BlockEncoderResult[] Result; internal AssemblerResult(BlockEncoderResult[] result) { Result = result; } public ulong GetLabelRIP(in Label label, int index = 0) { if (label.IsEmpty) { throw new ArgumentException("Invalid label. Must be created via Assembler.CreateLabel", "label"); } if (label.InstructionIndex < 0) { throw new ArgumentException("The label is not associated with an instruction index. It must be emitted via Assembler.Label.", "label"); } if (Result == null || (uint)index >= (uint)Result.Length) { throw new ArgumentOutOfRangeException("index"); } BlockEncoderResult blockEncoderResult = Result[index]; if (blockEncoderResult.NewInstructionOffsets == null || label.InstructionIndex >= blockEncoderResult.NewInstructionOffsets.Length) { object[] obj = new object[7] { label.InstructionIndex, null, null, null, null, null, null }; uint[] newInstructionOffsets = blockEncoderResult.NewInstructionOffsets; obj[1] = ((newInstructionOffsets != null) ? newInstructionOffsets.Length : 0); obj[2] = "BlockEncoderOptions"; obj[3] = "ReturnNewInstructionOffsets"; obj[4] = "Assembler"; obj[5] = "Assemble"; obj[6] = "TryAssemble"; throw new ArgumentOutOfRangeException("label", string.Format("The label instruction index {0} is out of range of the instruction offsets results {1}. Did you forget to pass {2}.{3} to {4}.{5}/{6}?", obj)); } return blockEncoderResult.RIP + blockEncoderResult.NewInstructionOffsets[label.InstructionIndex]; } } public struct Label : IEquatable